Live data from Hacker News

Proof-Of-Work is a Decentralized Clock

grisha.org

31–40 of 130 posts

Re: Proof-Of-Work is a Decentralized Clock

#31
post #19

> The Bitcoin Difficulty adjusts dynamically so that a proper hash is found on average once every ten minutes. So here, the bitcoin network needs to defer to the actual time. The difficulty is adjusted every 2016 blocks. Then, the time it took to create those blocks is determined by looking at actual time stamps of the blocks. That is, time stamps that purport to be the time in UTC when the block was created. I never…

The recalculation window is substantially larger than the permitted clock drift window, so it would take a large number of consistently malicious actors to affect difficulty. Even then all you'd get is a difficulty adjustment, so it's not a catastrophic attack.

Re: Proof-Of-Work is a Decentralized Clock

#32

The article references "orphans" in blockchain, what becomes of those orphans? My understanding is that nodes compete to solve the hash - then the "winning" node has its transactions from the preceding 10 minutes added to the blockchain. What about all the other (thousands?) of nodes that didn't win - their transactions must not vanish into the ether, but what becomes of them? They must get added to the blockchain at…

Those orphans are treated like someone trying to 'fork' the blockchain by working on an older block, and trying to get a longer chain.

Well behaved Miners will always mine on the longest chain, and get to pick if there are two chains of equal length. Most probably pick the first they saw, because it gives them more time to work on that block.

So if an orphan comes along, people ignore it. Like other have said, all nodes know about almost all transactions, so the next miner will just see those transactions as still being 'up for grabs' and might include them in the next block they are attempting.

Re: Proof-Of-Work is a Decentralized Clock

#33
post #31
post #19

> The Bitcoin Difficulty adjusts dynamically so that a proper hash is found on average once every ten minutes. So here, the bitcoin network needs to defer to the actual time. The difficulty is adjusted every 2016 blocks. Then, the time it took to create those blocks is determined by looking at actual time stamps of the blocks. That is, time stamps that purport to be the time in UTC when the block was created. I never…

The recalculation window is substantially larger than the permitted clock drift window, so it would take a large number of consistently malicious actors to affect difficulty. Even then all you'd get is a difficulty adjustment, so it's not a catastrophic attack.

Is there a way to use clock drift to exclude certain miners? That is, change the time-stamp in such a way that honest miners using an actual time-stamp might get their blocks denied?

Re: Proof-Of-Work is a Decentralized Clock

#34
post #30

I think some of this is kind of wrong. Mostly the claim that "The Difficulty is Intergalactic" is just flat wrong. Consider a miner on mars with 10% of the hash-rate on earth. Lets say the light delay from earth to mars is 10 minutes (it is 14 on average). Now, suppose mars has last seen block B_0 and it was mined on earth (as would happen most often due to 90% of the hash rate being there). We will call E_1 the next…

Now, I suppose if the hash-rate is more spread-out over multiple planets, and one planet isn't dominating things might work out. But we might also see consensus break down.

I'm no expert, but wouldn't it just be a matter of increasing the target time to solve each block? An solar-system-wide blockchain might need to take a few hours rather than ten minutes between each block, but it should still work.

Re: Proof-Of-Work is a Decentralized Clock

#35
post #33
post #31

Earlier quoted context omitted.

The recalculation window is substantially larger than the permitted clock drift window, so it would take a large number of consistently malicious actors to affect difficulty. Even then all you'd get is a difficulty adjustment, so it's not a catastrophic attack.

Is there a way to use clock drift to exclude certain miners? That is, change the time-stamp in such a way that honest miners using an actual time-stamp might get their blocks denied?

you can already exclude certain miners by not building ontop of their blocks.

Re: Proof-Of-Work is a Decentralized Clock

#36
post #30

I think some of this is kind of wrong. Mostly the claim that "The Difficulty is Intergalactic" is just flat wrong. Consider a miner on mars with 10% of the hash-rate on earth. Lets say the light delay from earth to mars is 10 minutes (it is 14 on average). Now, suppose mars has last seen block B_0 and it was mined on earth (as would happen most often due to 90% of the hash rate being there). We will call E_1 the next…

Now, I suppose if the hash-rate is more spread-out over multiple planets, and one planet isn't dominating things might work out. But we might also see consensus break down. I'm no expert, but wouldn't it just be a matter of increasing the target time to solve each block? An solar-system-wide blockchain might need to take a few hours rather than ten minutes between each block, but it should still work.

Yeah, but it is quite interesting what the relevant target times are.

Does a 10 minute delay require something like a 10 or 20 minute target time to keep consensus or is it more like 2 hours or even a day? How does is this effected by the ratio of hash-rates over the planets? What happens when you have clusters (say earth - moon and mars - phobos)?

In any case, if the target times need to increase by too much, things become infeasible. And I'd guess that at any given target time, there is distance from earth where computations no longer contribute to the hash-rate on earth. Thus, the claim that 'the hash-rate is universal' would be false.

Re: Proof-Of-Work is a Decentralized Clock

#37
post #2

Can someone who knows the technical details of bitcoin answer the following questions? Suppose initially A owns 1BTC and B owns 0BTC. Suppose A publishes a signed transaction that would give 1BTC to B, and simultaneously B publishes a signed transaction that would give 1BTC to C. If a miner includes both transactions in a block, is the block valid? Does it depend on the order of the transactions within the block (A's…

No. In bitcoin, you don't spend from an account. You spend "unspent transaction output" or UTXO. There is no unspent transaction that B owns, so any transaction B creates to send money to C is invalid.

They can't actually do it simultaneously but after A sends to B, B can create a transaction spending that output to C and both transactions can occur in the same block.

Re: Proof-Of-Work is a Decentralized Clock

#38
post #7

But it isn’t a clock because it doesn’t tell us how much time has passed. PoW allows for the creation of an ordering. I’m not sure these metaphors are helpful.

It tells you the time in number of blocks. Block height is the unix timestamp of blockchain-based timestamp servers.

Re: Proof-Of-Work is a Decentralized Clock

#39
post #30

I think some of this is kind of wrong. Mostly the claim that "The Difficulty is Intergalactic" is just flat wrong. Consider a miner on mars with 10% of the hash-rate on earth. Lets say the light delay from earth to mars is 10 minutes (it is 14 on average). Now, suppose mars has last seen block B_0 and it was mined on earth (as would happen most often due to 90% of the hash rate being there). We will call E_1 the next…

>> Mostly the claim that "The Difficulty is Intergalactic" is just flat wrong.

(I wrote the article) - I see your point, but I think the article is still correct. Now communicating the winning block is a problem, as you pointed out, so as a miner on Mars you're at a disadvantage, but that statistically the probability of solving the puzzle remains same regardless of your location in the universe is still true.

As someone else pointed out - for the intergalactic version we'd need an interval much longer than 10 minutes.

This is why 10 minutes was chosen by Satoshi probably - it's plenty of time for everyone to communicate the solved block, yet not too terribly long in "human time".

Post reply on HN