2 ms·
You can do that with a plain old hash chain without any mining of blocks. Certificate Transparency does this - each monitor adds records to their ledger and si
by geofft 6y ago
You can do that with a plain old hash chain without any mining of blocks.
Certificate Transparency does this - each monitor adds records to their ledger and signs them, and the latest record includes a hash of all previous records (via a Merkle tree). Auditors trust any hash they see which is signed by a monitor. If they see two ledgers where one is not a subset of the other, they trust all the data in both ledgers. If this persists, they have cryptographic proof that the monitor is trying to not include some record it previously included.
Git does this. Each commit object has the hash of the parent commit objects. You can walk through a commit object and see what the ancestry is. If you push to a server, it can make sure that your new history includes all the old history, and similarly, if you pull from a server, you can do the same check.
- johnisgood 6y agoYes, but he said that it only solves a singular problem, and did not mention this property of the blockchain. Blockchain provides this, does it not? I have been looking around https://github.com/google/trillian https://github.com/google/trillian, looks interesting.
- geofft 6y agoI think the only meaningful definition of the term "blockchain" requires the idea of mining blocks / addressing double-spend somehow. Otherwise it's just a chain, a data structure we've had for decades. The term was introduced with Nakamoto's paper, and the insight of that paper was mining / proof-of-work, not hash chains. It is technically true that one application of blockchains is solving problems that can be solved by regular chains, just like it is technically true that one application of self-driving cars is the ability to turn off the automation and let a human drive. But if someone asks about the applications of self-driving cars and you say "Driving on the open road is fun," I think most people would not accept that as answering the question asked. (And I'm not just being pedantic: blockchains have a significant computational/environmental cost, so if you don't need the block mining feature, you will get many orders of magnitude faster performance and run many of orders of magnitude cheaper and cause fewer negative externalities if you just use a plain old hash chain.)