No Universal Time: block height on your smart watch
We normally see the time in terms of year, month, day, hour, minute, second. But how about something more universal — more fundamental?
Imagine having the current time on your Apple Watch, not as “11:24 PM”, but as “352,739” — that is, the current block height.
The Bitcoin block chain height increases by 1 approximately every 10 minutes. Difficulty automatically adjusts so that this always remains roughly true. It’s a Poisson distribution.
From Andrew Poelstra’s paper On Stake and Consensus:
3.4 No Universal Time
Notice that in the previous section we used the number of hash-function calls as our cost function, which is roughly proportional to the number of computations, which in turn is roughly proportional to the amount of heat dissipated, which finally is roughly proportional to the economic and environmental cost of producing these signatures.
An obvious question is whether we can use a cost function which is “cheaper†to satisfy; in particular, why can’t we directly use clock time? For that matter, why are we creating chains of DMMS-signed blocks instead of just directly ordering transactions in time, always resolving conflicts in favor of the first?
The answer is that there is no well-defined clock time in a distributed system. Network latency gives a finite speed of information propagation, which we know from special relativity means different observers cannot agree on the time-ordering of events that occur closely in time.
If this were the only problem, requiring transactions to be spaced out by several seconds would be sufficient (if conflicting transactions occur too close together, both are thrown out; but by waiting a few seconds after each transaction all parties can be assured that this won’t happen). However, the situation is worse than this for two reasons:
• “Network latency†is not something that can be bounded in an adversarial setting. An attacker may be able to slow systems by arbitrary amounts using denial-of-service measures, and may be able to physically partition the network by other means.
In relativistic terms, this means that there is no amount of waiting that will assure somebody that they are no longer spacelike separated from other participants in the network.
• Users who are new to the network or have been offline recently need access to historical data. But there is no way to verify after-the-fact what order transactions occurred in, so they cannot be assured that the transactions they are receiving actually occurred before any conflicting ones.
Leave a Reply