Our shared list of notes with the new coins written in needs two basic properties: they should be in order, and once we write on them, they shouldn’t be possible to rewrite. Why? Well, the order part is important, since a user cannot give money they hadn’t received first. Very logical. So our papers have to be in order. And if users could rewrite old papers, they could just send money to pay for something, get it, and then go back and rewrite that transaction and for example give that money to themselves. Such a feature won’t get our money too adopted.
It’s like you having a time machine to give yourself information about the future so you can bet and make money. If you’re the only one who can do it, you’d be rich, but if everybody could do it, nobody would bet.
In order to link our notes in order, we can add the results of hashing to the end of each post-it, and then copy it at the beginning of the following note. See the pattern? The first block has a number at the end, and then another block has that number at the beginning, if we see such block, we know it’s the second! And so with the third, forth, etc.
And the thing we could hash, instead of a random number, could be the sum of all the written transactions in that post-it or block, so if we change just a single digit or one of the transactions on it, the hash would change. So a paper has let’s say 10 transactions written on it. We add them all up, then hash them out. We write the hash at the end of the paper. Then we add another paper, and the first thing we write is the lash hash from the previous paper. Then we write all the new transactions that fit on the paper, add them all up including that hash at the beginning, and we hash that. We have a new hashing result, we write it at the end of our paper, and grab a new one.
If someone wants to grab any of the older post-its, and change anything, all the following hashes would be different. And if we all have a copy of that chain of post-its, we’ll notice that, and call that modified paper fake. Problem solved.
But not so fast. How can we ensure that we all have the same list and not just a bunch of confusing different copies? To put it fancy: How can we reach consensus about which one is the one true list?