Search content
Sort by

Showing 20 of 45 results by xmready
Post
Topic
Board Development & Technical Discussion
Re: Strange Timestamp Argument
by
xmready
on 30/07/2021, 02:57:31 UTC
What do you mean by erroneous?

The protocol requires that timestamps be greater than the median of the last 11 blocks and less then 2 hours into the future from your own perspective.  If you get a block more than 2 hours in the future you won't accept it until its within 2 hours.  Any timestamp that passes these criteria is valid, anything else will be ignored.

Quote
If yes, can these timestamps have a negative effect on the inflation schedule or locktimes?
Time based locktimes aren't based on the time on the current block anymore, but instead are based on the median of the last 11 blocks (the lowest timestamp the block could have).

The allowed 2 hour difference on the blocks timestamp allows a one time 2hr/2week = 0.5% difference in inflation, -- utterly irrelevant and well below the noise.


Once again I have learned something. Happy days, thank you.
Post
Topic
Board Development & Technical Discussion
Re: Strange Timestamp Argument
by
xmready
on 30/07/2021, 02:29:44 UTC
Bitcoin's requirement for accurate time is *extremely* loose.  A sundial and an almanac is pretty much sufficient.


Quote
People talk as if blockchains can function as trustless clocks, but this is simply not the case.
It's likely that the person you're quoting is confusing multiple different uses of the word 'clock'.

Bitcoin only has a timestamp in it at all to keep the inflation schedule on track and make the infrequently used time-relative locktimes work.  If we didn't care about those features it could just exclude the timestamp entirely-- and it would still be a clock, one that just ticks in the form of blocks.

I see, thank you for that insight. But you haven't denied whether these "erroneous" timestamps are possible. So let me ask you directly:

Is it possible for miners to include erroneous timestamps, regardless of how important they are?

If yes, can these timestamps have a negative effect on the inflation schedule or locktimes?
Post
Topic
Board Development & Technical Discussion
Merits 2 from 1 user
Topic OP
Strange Timestamp Argument
by
xmready
on 30/07/2021, 01:13:40 UTC
⭐ Merited by vapourminer (2)
I found someone trying to argue there is a timestamp vulnerability in Bitcoin. The post seemed off to me, but I don't have the technical vocabulary or experience to formulate a rebuttal. Can a dev or someone with intimate knowledge please address this in detail? Here is the post:

Quote
The idea of Bitcoin is that anyone who has knowledge of the protocol can log on and determine the correct state of the ledger trustlessly. I ask my peers for the current blockchain and choose the one that is both valid and has the most work.

However, this ideal is not entirely achieved. A block is only valid if its timestamp is close enough to the actual time. This means that malicious miners can confirm blocks with erroneous timestamps, and there would be no way for someone logging on for the first time to detect that this has happened. This is in stark contrast to the case of malicious miners confirming blocks with erroneous transactions, for these erroneous transactions can be detected using only the information internal to the blockchain.

Malicious miners can validate a block with an erroneous timestamp. If they are in the majority, their chain will have the most work. Anyone logging onto the network for the first time will not be able to detect that the time stamps are erroneous. There may be nodes running with no downtime who claim that the time stamps are indeed erroneous, but there is no way to confirm who is telling the truth.

The implication is precisely that the timestamps may have been forged and there is no way to detect this trustlessly. People talk as if blockchains can function as trustless clocks, but this is simply not the case.
Post
Topic
Board Development & Technical Discussion
Re: Taproot proposal
by
xmready
on 18/06/2021, 23:52:58 UTC
My spy filtered node counts 36% of its peers as taproot supporting right now, FWIW.

(earlier I was confused that this was _lower_ than the above figure-- I expected it be higher, but I missed that kano had apparently overcounted by including 0.21.0 and now all is clear! Smiley )

How did over-counting make the percentage lower? I want to follow..
Post
Topic
Board Electrum
Re: Can I use a 12 word seed extension and store it separately?
by
xmready
on 16/06/2021, 08:10:57 UTC
Let me put it this way:
We simply have a key derivation function that takes 2 inputs, A and B. If A is created from a 128 (or 132) bits of entropy and B has 0 entropy (no extension word) then your KDF is deriving its keys using that much entropy. If B also has 128 (or 132) bits of entropy then your KDF is deriving its keys using A + B bits of entropy.
Additionally we can say that in order to brute force this to get the BIP32 seed you'll have to generate and check both A and B so the entropy size is A+B.

If A + B = bits of entropy used by the key derivation function, then using a 256 bit seed = using a 128 bit seed + a 12 word extension. The resulting private keys are all 128 bits regardless.

Am I correct?
Post
Topic
Board Electrum
Re: Can I use a 12 word seed extension and store it separately?
by
xmready
on 16/06/2021, 02:40:51 UTC
@xmready, I've used a 12-word seed as an extension in the past.  When I was a younger bitcoiner I thought that would double my entropy, but I've since learned that it does not.  Take a look at hosseinimr93's post above, he is showing you how to generate an honest-to-goodness 24-word seed with double the entropy of a standard 12-word seed.  I also advise against using the same pool of words (i.e. Bip39 word list) for your extension, just to add an extra level of security.

My main motivation behind this post is to split the seed into two pieces in the case of a physical intrusion. A 24 word seed with higher entropy has no benefit over a 12 word seed if the physical backup is stolen. If I break the 24 word weed with 256 bits into two 12 word parts, can I safely store them in two separate locations like I can with the seed extension?
Post
Topic
Board Electrum
Re: Can I use a 12 word seed extension and store it separately?
by
xmready
on 15/06/2021, 22:34:10 UTC
So you mean you want them to split and have two seeds generated for two owners of the wallet?

I never mentioned anything about another wallet owner. This thread is regarding a single owner setup.
Post
Topic
Board Electrum
Re: Can I use a 12 word seed extension and store it separately?
by
xmready
on 15/06/2021, 21:48:48 UTC
Is there any specific reason why you want that method? Goin' with electrum's 136 bits is more than fine.

My reasoning is: if my 12 words are compromised via a physical intrusion, the extension stored in a separate location will guarantee that my wallet is not compromised. Simply splitting the 12 words in half and storing 6 words separately makes a brute force attack easier (I think). That is why I ask.

Each electrum seed is already extended with the word “electrum”, if you choose to extend it more with another seed phrase it'd become “electrum<seed_phrase>”.

If each Electrum seed is already extended with the word "electrum", then why don't we have to input that as a seed extension when recovering a wallet with Electrum or another Electrum compliant wallet?

So it doesn't double the entropy, instead, the entropy remains the same. What it does change is a salt. Once you're done with the seed generation and salt selection, the result is being put through a key derivation function called “PBKDF2”. But, you can of course do it, it'll provide around the same security for a human being.

Are you saying that an attacker would try to brute force the output of the PBKDF2 key derivation function, thus it would be the same difficulty? I would imagine if the attacker were trying to guess words and extension words, then it does double the difficulty.
Post
Topic
Board Electrum
Merits 2 from 1 user
Topic OP
Can I use a 12 word seed extension and store it separately?
by
xmready
on 15/06/2021, 18:07:07 UTC
⭐ Merited by o_e_l_e_o (2)
  • If I use Electrum to generate a 12 word seed, and then generate a new wallet with a different seed, can I use the first 12 words as the seed extension for the new wallet? Would this effectively double my entropy?
  • Can I store the 12 word seed and the 12 word seed extension in two different places safely?
  • Are there any major flaws in this method?
  • Would using a multisig wallet be better?
Post
Topic
Board Development & Technical Discussion
Merits 1 from 1 user
Re: Taproot proposal
by
xmready
on 07/06/2021, 01:02:30 UTC
⭐ Merited by gmaxwell (1)
MARA Pool has signaled for two blocks   Smiley
Post
Topic
Board Development & Technical Discussion
Re: Why exactly is Bitcoin clinging to PoW?
by
xmready
on 18/05/2021, 17:08:56 UTC

Post
Topic
Board Development & Technical Discussion
Re: Taproot proposal
by
xmready
on 05/05/2021, 04:07:16 UTC
what do y'all think? Before or after?

I say before cooked bird day
Post
Topic
Board Development & Technical Discussion
Re: Taproot proposal
by
xmready
on 03/05/2021, 19:55:20 UTC
Some miners try to save a tiny amount of time by "spying" on other miners. For example they connect a fake miner to the other mining pools and as the other pool finds a new block their fake miner receives that "hash" of that block which is small (32 bytes only) then the "spy" miner builds their next block based on that hash alone without verifying if the block that was found by the other pool was valid or not (which it may not be valid and during a upgrade/fork the chances of it are higher and that would create a longer stale chain with 2 blocks in it, if more miners do the same this stale chain can become longer).

Do miners do this to try and get a head start on finding the next block and getting a reward? Do these empty blocks live on the shared blockchain if they don't become stale?

If anyone is ignoring the community, it's luke

I've seen luke on reddit getting angry at laymen for not understanding complex coder concepts. Seems like a nice guy /s
Post
Topic
Board Development & Technical Discussion
Re: Taproot proposal
by
xmready
on 03/05/2021, 05:06:37 UTC
In many prior activations at some point after the rules became active some broken miner managed to mine a rule violating block and some other miners who weren't broken but were just not updated yet produced blocks that continued after the invalid one.

Everyone who is updated, including correctly upgraded miners*, will just ignore those blocks like they never happened.  So the invalid block and its descendants will all become stale blocks.

If you aren't upgraded you may see confirmations that go away during such an events, and if you're a miner and not upgraded you will lose money by mining on a doomed fork during such an event.

If *many* people don't upgrade such an instance could be disruptive to the ecosystem, with various services accepting transactions on the invalid fork that will be lost when the valid fork overtakes it.

If for some reason you can't upgrade before activation it would be best to make sure your node(s) connect to the public network exclusively via an upgraded node so the upgraded node will act as a bad block filter.  This works for mining too, since older standard software won't introduce invalidity, only follow it if someone else introduces it.

If you can't even do that but are actively accepting payments, then you should require more confirmations before considering a transaction irreversible.  An extra ten might be a good starting point, depending on how quickly you'd respond do an incident.

If you're not accepting payments it's less critical to upgrade, but its still good to do so that your node can participate in helping the propagation of valid blocks and not propagating invalid blocks.

Thank you for this detailed explanation! I will upgrade before activation to show my support and help the network filter out rule violating blocks.


(*) A number of large miners engage in validationless mining-- they will mine empty blocks after a block without validating it. So confirmation by a string of empty or nearly empty blocks shouldn't treated as confirmation.  The emptyness is actually not a fundamental property but its easiest to implement that way so for now its a reasonable indicator that the miner hasn't actually validated anything.

I don't quite understand this. It feels like I'm missing prerequisite knowledge about what validation is exactly. I wonder if these empty blocks become stale or are part of the official block chain, and why do miners do it. Where can I learn more so as to decipher the meaning of this?
Post
Topic
Board Development & Technical Discussion
Re: Taproot proposal
by
xmready
on 02/05/2021, 20:43:14 UTC
although if the soft fork is confirmed you will need to upgrade before November when it activates to be safe

What happens if the soft fork is confirmed and I upgrade after November? Why is it unsafe?
Post
Topic
Board Development & Technical Discussion
Re: Taproot proposal
by
xmready
on 02/05/2021, 19:39:07 UTC
How will I benefit from upgrading to 0.21.1 if I am not a miner?
Post
Topic
Board Development & Technical Discussion
Re: Taproot proposal
by
xmready
on 07/03/2021, 18:06:59 UTC
This thread is about Taproot implementation

All hail the one true thread
Post
Topic
Board Development & Technical Discussion
Merits 1 from 1 user
Re: Taproot proposal
by
xmready
on 07/03/2021, 05:29:58 UTC
⭐ Merited by JayJuanGee (1)
Russell O'Connor has proposed an interesting BIP8 false "succeed or fail fast" alternative.
https://www.mail-archive.com/bitcoin-dev@lists.linuxfoundation.org/msg09604.html
Post
Topic
Board Development & Technical Discussion
Merits 1 from 1 user
Re: Taproot proposal
by
xmready
on 03/03/2021, 17:55:01 UTC
⭐ Merited by JayJuanGee (1)
This upgrade is becoming more, and more complex

Getting rid of signaling, percentages, and LOT would be less complex. Activating non-contentious upgrades using a flag day seems simpler to my lizard brain. But maybe I ate too many paint chips as a kid.
Post
Topic
Board Development & Technical Discussion
Re: [Taproot softfork] lukejr removing option to lock-in on timeout... :D
by
xmready
on 02/03/2021, 15:55:33 UTC
I think that it was clear in my post as 14 people were fine with either choice  Smiley

someone (Matt Corallo, a Bitcoin dev) suggested that. But his proposal was just to activate the fork the simplest way: Bitcoin 0.21.1 would just start enforcing the fork after August 1st 2022. No signals, no percentages. Either you're running the new code or you're not.

I agree with this actually. I don't see the need for signaling if you can just choose to run the code or not. I'm not a coder, but I understand the concept of simplistic code being better. Running the code should be the signal. This whole signaling after you install the update makes no sense to me and seems over engineered. If you don't run the new code, then you are signaling you don't support the changes.

Very well said, I could not have found a better way to express that, which is what I think too. Only problem I see is the very long wait: August 2022 is too far way, too many things can happen in this huge timeframe.

If date August 2022 is arbitrary, what is stopping core from making it January 1st 2022 or some other date?