Hacker News new | past | comments | ask | show | jobs | submit login

To be less glib, I think the article makes it clear just how inordinately difficult blockchains make their lives when they have to build, from scratch, a reliable definition of time.

If you could have a trusted time source, you could at a stroke get rid of one of the most egregious flaws in bitcoin, its vast wastage of energy, because of its 'proof of work' mining. Bitcoin miners are running at full pelt 24/7, picking random numbers and doing math on them in the hope of striking lucky and discovering the next block. The mining difficult is artificially picked so that blocks are discovered about every ten minutes.

However, imagine if bitcoin miners could all declare a cease-fire, for 9m59s of those ten minutes, i.e. they just do nothing for that long, consuming virtually no energy, and then they all furiously mine at full speed for the last second (with the difficulty adjusted so the global mining should take a second). This process would be just as fair as the current one; if you have more/faster hardware, you will still mine more, in the same proportion as before. The total energy usage would be reduced 600-fold!

But - the reason you can't do this is that there's no way of stopping cheating. Who can tell if the other miners are really idling for those 9:59? This is where the time source comes in. Imagine you have a trusted time source: it could, every ten minutes, broadcast a random number. Miners would have to listen for this number, then mine a block containing it, to prove that they didn't start work early. Problem solved!

Back to the real world: just about everyone can agree on time; we have NTP and can even use certificates to authenticate clock sources, we can even use multiple sources to make it harder for time to be faked. So why can't blockchains do the same thing? Why don't they use multiple time oracles to stop the colossal energy wastage?

And, when bitcoiners tell you that relying on a centralised source, or even a quorum of sources, is completely unacceptable, why then are the same people happy to use smart contracts where the use of centralised oracles is apparently both acceptable and commonplace?




> The total energy usage would be reduced 600-fold!

It wouldn't. If X$ worth of bitcoin is handed out every block, then miners competing for that prize are willing to collectively spend up to X$ per block on average.

If they could only mine for part of the time, then they'd simply acquire more hardware and mine at a higher hashrate during the shorter time.


Good point! We'd be living in a world where the lights flicker every ten minutes as gigawatts of power are momentarily switched on and off :) Or miners would have to install gigantic capacitors to fill with charge, just to power their machines for the brief instant of usage!

My example is also missing the obvious next step though - once you are using a trusted source of data (or even a wide selection of trusted sources), the whole blockchain idea becomes pointless, you don't need to do any mining at all, you can let the trusted sources run a distributed database...


This is correct.


> And, when bitcoiners tell you that relying on a centralised source, or even a quorum of sources, is completely unacceptable, why then are the same people happy to use smart contracts where the use of centralised oracles is apparently both acceptable and commonplace?

I think you're largely describing two separate camps within bitcoin hodlers. Some are 'gold-bug' types that value security and individual liberty above all else, and so are very conservative in their attitude towards Bitcoin development. Others are 'cyberpunk' types that value technological capability and functionality, and are much more liberal and exploratory in what they'd like to see Bitcoin become.

When you say "same people", I think they are rare, and this statement makes a bit of a false lack-of-dichotomy.


This is the problem claimed to be solved by Solana blockchain; proof of ordering, proof of time:

https://solana.com/solana-whitepaper.pdf

The core insight, I think, is this:

> Proof of History is a sequence of computation that can provide a way to cryptographically verify passage of time between two events. It uses a cryp- tographically secure function written so that output cannot be predicted from the input, and must be completely executed to generate the output. The function is run in a sequence on a single core, its previous output as the current input, periodically recording the current output, and how many times its been called. The output can then be re-computed and verified by external computers in parallel by checking each sequence segment on a separate core. Data can be timestamped into this sequence by appending the data (or a hash of some data) into the state of the function. The recording of the state, index and data as it was appended into the sequences provides a timestamp that can guarantee that the data was created sometime before the next hash was generated in the sequence. This design also supports horizontal scaling as multiple generators can synchronize amongst each other by mixing their state into each others sequences. Horizontal scaling is discussed in depth in Section 4.4


I think you’re right on, but good luck with provable timestamps. You’re trying to coordinate and validate a measurement which in itself denies the reality of space time physics at least subtly. Time precision across space is hard enough, but adding bad actors and gravitational time dilation into the equation means... well I wouldn’t want that to keep track of my assets.


On the bright side, if approaching the speed of light would give you a viable attack on the bitcoin blockchain I'm sure our space propulsion technology would transform overnight!


The nice thing about relativity (special and general) is that all of the weird seeming-paradoxes 'sort themselves out' eventually. In particular, whilst we lose a total ordering for events, we never lose causality; i.e. two events can only appear in a different order to different observers if those two events are independent (no information has travelled between them, and hence neither one can influence the other).

It's reasonably straightforward to build systems under such constraints; e.g. see https://en.wikipedia.org/wiki/Relativistic_programming


> why then are the same people happy to use smart contracts where the use of centralised oracles is apparently both acceptable and commonplace?

This just isn’t true. Only a vanishingly small fraction of these people has ever touched smart contracts.


False, smart contracts have so much demand that Ethereum gas prices have skyrocketed in the past year




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: