Broncode vereeuwigd in de Bitcoin blockchain

We schreven al eerder over de interessante trucjes die je kan uithalen met de Bitcoin blockchain. Aanpassingen aan de broncode van de Bitcoin Core client worden voortaan ook vereeuwigd in de Bitcoin blockchain door middel van een timestamp.

Permanent vastleggen van data

Wladimir van der Laan liet onlangs via een tweet weten dat alle git merges van de Bitcoin Core broncode voortaan met een timestamp in de Bitcoin blockchain gezet worden. Hiervoor wordt OpenTimestamps gebruikt. Dit is een project van Peter Todd dat het mogelijk maakt om te bewijzen dat bepaalde data op een bepaald moment in de tijd bestond. Zo is OpenTimestamps bijvoorbeeld al gebruikt om het hele Internet Archive in de Bitcoin blockchain te zetten.

Git is een systeem voor versiebeheer van software. Ontwikkelaars kunnen lokaal wijzigingen aan de code aanbrengen en deze publiceren zodat iedereen de wijzigingen kan zien. Per stuk gewijzigde code wordt een commit gemaakt. Vervolgens kunnen de gepubliceerde wijzigingen met de productversie van de code worden samengevoegd. Die samenvoeging levert een merge-commit op.

Voor altijd controleerbaar

Wladimir van der Laan is Lead Maintainer van de Bitcoin broncode op GitHub en vervult daarmee, samen met andere ontwikkelaars, een belangrijke rol als poortwachter voor de kwaliteit van de broncode. Door zijn initiatief om aanpassingen aan de code voortaan te vereeuwigen in de Bitcoin blockchain zijn deze historische wijzingen in de toekomst altijd te verifiëren als authentiek. Hierdoor kun je zeker weten dat wijzigingen uit het verleden niet zijn aangepast door een aanvaller - het is immers niet mogelijk om terug in de tijd te reizen - en kun je controleren dat je de juiste versie van de code gebruikt.

Simpel gezegd werkt OpenTimestamps door een hash van bepaalde data te nemen en deze te publiceren op de Bitcoin blockchain door de hash toe te voegen aan een transactie. Deze transactie is onwijzigbaar, evenals de hash van de data die is toegevoegd. Zo kun je op een later moment in de tijd de originele data zelf opnieuw hashen en controleren dat de uitkomst hetzelfde is als die geregistreerd is in de blockchain. Door dit toe te passen op de merge-commits van de Bitcoin broncode wordt het mogelijk om te verifiëren dat een commit authentiek is en geen recent vervalste. Wladimir laat weten dat het tevens kan dienen als bewijs van plagiaat, wanneer een commit ergens onder een andere naam verschijnt.


Belangrijke thema’s in dit artikel. Klik op een thema en ontdek meer.