3 ms·
Well in a distributed system you are in a way always out of sync. The primary achievement of Bitcoin was taking already exiting pieces (hash cash, Merkle trees,
by hdhzy 9y ago
Well in a distributed system you are in a way always out of sync. The primary achievement of Bitcoin was taking already exiting pieces (hash cash, Merkle trees, signatures etc.) and assembling them in a way that solves consensus in such a system (see [0]). What's interesting is the combination of these pieces. They were known a long time before. Actually I had CS lessons where we were creating virtual currencies with these exact elements long before Bitcoin happened (of course no one got Bitcoin in the process :(... or maybe they did but never told me :) ).
How to know Bitcoin better? The best approach is the same as with everything else: reverse engineer and recreate a small coin in your language of choice (chain using hashes plus a simple proof of work using N leading 0s). Remember Satoshi's genius was in assembling pieces in a way nobody thought of, you just need to copy a small version of that. It's not that difficult.
For me the most interesting aspect is smart contracts [1]. That's the one underutilized element of the system that is quite versatile.
[0]: https://en.m.wikipedia.org/wiki/Byzantine_fault_tolerance#Byzantine_Generals.27_Problem https://en.m.wikipedia.org/wiki/Byzantine_fault_tolerance#By...
[1]: https://en.bitcoin.it/wiki/Contract https://en.bitcoin.it/wiki/Contract