Spelen met de Blockchain

Om een gevoel te krijgen hoe de Blockchain werkt is het belangrijk om te weten waar de blockchain op werkt. Hashes, sleutels, chains, signing en dat verdeeld over de verschillende nodes met een consensus model.

Laten we starten wat er allemaal nodig is om een Blockchain een blockchain te kunnen zijn. De techniek van Blockchain kan opgedeeld worden in drie verschillende dingen. Distributed Ledger Technology (DLT), Smart Contracts en Blockchains. DLT is zeg maar de database die wordt gekopieerd naar verschillende servers. Smart Contracts is een digitale tegenhanger van een juridisch contarct met input, acties en output. Blockchains past alle technieken toe die nodig zijn en zorgt voor de koppeling van gegevens mbv blocken, de ketting van blokken.

De techniek achter DLT, Smart Contracts en Blockchains

Je hebt hashes nodig, iets wat in 1957 al bedacht is en al die tijd nog eigenlijk hetzelfde is gebleven. Verschil is wel dat er nieuwere en sterkere algoritmes zijn bedacht en we nu met SHA-256 of hoger te maken hebben. met hashen van data genereer je een unieke sleutel die voor elk blok data anders is, hoe klein of groot het blok data ook is. Als de data groot genoeg is, kun je nooit van de hash terug rekenen naar de data.

Tweede wat je nodig hebt zijn digitale handtekeningen met publieke en private sleutles om zekerheden in te bouwen dat iets niet zomaar veranderd kan worden. Een techniek die in 1976 al bedacht is door Diffie en Hellman en tot de dag van vandaag nog niet door iets beters is vervangen (zie ook deze Youtube film).

Hashtree en Merkletree (1979). Een hashtree kan worden gebruikt om gegevens (data) veilig tussen twee computers te sturen. Een techniek die vaak onder water gebruikt wordt en door de gebruiker niet gezien wordt.

Proof of Work (1993-1999) is een techniek die er voor zorgt dat bepaalde acties niet zomaar een tweede keer gedaan kan worden. Je kunt het een beetje vergelijken met Captcha, je doet iets wat moeite kost en niet ‘even’ door een ander gedaan kan worden. Er zijn in al die jaren diverse algoritmes bedacht om Proof of Work te bepalen. Bij blockchains is dat het minen van de blocken.

Triple Entry Accounting (1994/2005), een afgeleide van Triple Entry Bookkeeping. Dit is noodzakelijk om dubbele uitgaves tegen te gaan en wordt in veel boekhoudingen gebruikt. Eigenlijk komt het er op neer dat elke transactie door een derde wordt ondertekend zodat een bepaalde bedrag niet twee keer uitgegeven kan worden.

Blockchain (2008) is de laatste. Een blockchain is een systeem dat gebruikt kan worden om gegevens op dermate manier vast te leggen dat ze niet meer aangepast kunnen worden. Een blockchain gebruikt eigenlijk alle bovengenoemde technieken om gegevens in ketens vast te leggen en niet meer veranderd kunnen worden.

Spelen met de techniek

Om te zien hoe de techniek van bovenstaande daadwerkelijk werkt heb ik de software van Anders Brownworth op mijn eigen server in de AWS cloud geïnstalleerd. Hij heeft twee gedeeltes gebouwd om de techniek wat makkelijker te kunnen weergeven.

De eerste deel is hoe de Blockchain werkt. Met hashes, mining, blokken en Distributed Ledger Technology. Zie: https://blockchain.hroling.nl

De tweede deel is hoe publieke en private sleutels gebruikt worden en hoe digitale ondertekening wordt toegepast. Zie: https://sleutels.hroling.nl

Beide sites bevatten een film met uitleg en rechtsboven kun je met de verschillende technieken zelf spelen.