We wrote earlier about the interesting tricks you can do with the Bitcoin blockchain. Adjustments to the source code of the Bitcoin Core client are now also immortalized in the Bitcoin blockchain by means of a timestamp.
Permanent vastleggen van data
Wladimir van der Laan recently announced via a tweet that all git merges of the Bitcoin Core source code will now be placed in the Bitcoin blockchain with a timestamp. OpenTimestamps is used for this. This is a project by Peter Todd that makes it possible to prove that certain data existed at a certain moment in time. For example, OpenTimestamps has already been used to put the entire Internet Archive in the Bitcoin blockchain.
Git is a version control system for software. Developers can make local changes to the code and publish it so that everyone can see the changes. A commit is created per piece of modified code. Then the published changes can be merged with the product version of the code. That merge yields a merge-commit
Voor altijd controleerbaar
Wladimir van der Laan is Lead Maintainer of the Bitcoin source code on GitHub and, together with other developers, fulfills an important role as gatekeeper for the quality of the source code. Thanks to his initiative to perpetuate changes to the code in the Bitcoin blockchain, these historical changes can always be verified as authentic in the future. This makes sure that changes from the past have not been modified by an attacker - after all, it is not possible to travel back in time - and you can check that you are using the correct version of the code.
Simply put, OpenTimestamps works by taking a hash of certain data and publishing it on the Bitcoin blockchain by adding the hash to a transaction. This transaction is unchangeable, as is the hash of the data that has been added. This allows you to re-create the original data yourself at a later time in time and check that the outcome is the same as that registered in the blockchain. By applying this to the merge commits of the Bitcoin source code, it becomes possible to verify that a commit is authentic and has not recently corrupted. Wladimir says that it can also serve as proof of plagiarism, when a commit appears somewhere under a different name.