Basiskennis blockchain
Inleiding
Blockchain-technologie is een revolutionaire manier om data op te slaan en bij te houden, en die data tegelijk voor iedereen toegankelijk te maken. Het is een manier om data te ordenen in één publieke lijst van alle historische transacties, die iedereen kan bekijken maar niemand kan aanpassen. Deze publieke lijst van transacties staat samen bekend als het grootboek van de blockchain.
Na het verkennen van de lagen van een blockchain begrijp je de structuur die een blockchain-tool genaamd een block explorer weergeeft: de lijst van blokken, de transacties in die blokken en de details van elke individuele transactie. Wil je het in actie zien? Probeer Etherscan, een populaire block explorer voor Ethereum.
Blockchain-structuur
De term blockchain kan een zelfstandig naamwoord zijn (de Bitcoin-blockchain) of een bijvoeglijk naamwoord (blockchain-technologie). In beide gevallen verwijst blockchain naar de volledige structuur waarop cryptovaluta's zijn gebouwd.
Van buiten naar binnen ingezoomd heeft een blockchain 3 structuurniveaus:
- De totale
blockchainbestaat uit blokken die in volgorde aan elkaar zijn gekoppeld Blokkenbestaan uit groepen transacties die zijn samengevoegdTransactieszijn overdrachten van waarde, of instructies aan programma's, tussenadressenop het netwerk
Deze drielaagse structuur vormt samen een cryptografisch grootboek: een onveranderbare geschiedenis van alle transacties op het netwerk.
Kennischeck 1
Wat is een blockchain?
-
[ ] Georganiseerde groepen transacties, blokken genoemd
-
[ ] Een gedeeld register dat iedereen kan zien maar niemand kan aanpassen
-
[ ] Blokken die in volgorde aan elkaar zijn gekoppeld
-
[ ] Alle bovenstaande antwoorden
Het grootboek bekijken
In gangbare geldsystemen vertrouwen we op derde partijen zoals banken om bij te houden hoeveel geld iedereen heeft. Maar om echt Bankless te zijn, willen we een systeem waarbij we niet één partij hoeven te vertrouwen om het grootboek te beheren.
Het grootboek is de lijst van ALLE transacties die ooit op een blockchain zijn gedaan, en bij blockchains die publiek zijn kan iedereen die lijst bekijken. Afzonderlijke groepen transacties uit het grootboek vormen de blokken die samen de blockchain maken.
Wanneer nieuwe transacties aan het grootboek worden toegevoegd, worden de saldi op elk adres bijgewerkt; eerdere transacties kunnen niet worden gewijzigd. Het is alsof iedereen op elk moment de volledige transactiegeschiedenis van ieders bankrekening kan inzien.
Transacties in het grootboek
Laten we een paar voorbeeldtransacties bekijken:
- Alice stuurt 5 ETH naar Bob
- Bob stuurt 2 ETH naar Charlie
Individuele transacties tonen de verandering in de hoeveelheid cryptovaluta per adres, dus het totale resultaat van alle transacties IS de hoeveelheid cryptovaluta die elk adres heeft.
⇒ Alice is 5 ETH kwijtgeraakt
⇒ Bob heeft er in totaal 3 ETH bij (5 ontvangen, 2 verstuurd)
⇒ Charlie heeft er 2 ETH bij
Kennischeck 2
Wat is waar voor publieke blockchain-grootboeken?
-
[ ] Transacties zijn publiek en kunnen achteraf niet worden gewijzigd
-
[ ] Het grootboek houdt bij hoeveel cryptovaluta elk adres nu heeft
-
[ ] Het grootboek groeit als er nieuwe transacties worden toegevoegd
-
[ ] Alle bovenstaande antwoorden
Decentralisatie
Transacties in een blockchain-grootboek zijn niet alleen onveranderbaar, ze worden ook gedeeld en verspreid over een groot netwerk van computers. Om te zorgen dat geen enkele partij de macht heeft om de data te wijzigen, worden kopieën van het blockchain-grootboek opgeslagen op veel computers in het netwerk, nodes genoemd.
Deze gedeelde data maakt het blockchain-grootboek gedecentraliseerd. Geen enkele autoriteit of partij heeft de controle over de data. Blockchains zoals Ethereum zijn ook publiek, omdat iedereen het grootboek kan bekijken.
Onthoud voor deze les vooral dat de grootboekdata wordt gedeeld over de vele computers die het Ethereum-netwerk draaien.
Kennischeck 3
Wat maakt een blockchain gedecentraliseerd?
-
[ ] Slechts één partij kan naar de blockchain schrijven
-
[ ] Hij voldoet aan decentralisatie-eisen van de overheid
-
[ ] Geen partij beheert het grootboek; het staat op veel computers
-
[ ] Het grootboek staat op één beveiligde server
Anatomie van een blok
Een belangrijke eigenschap van blockchains is dat eerdere transactiedata niet meer kan worden gewijzigd nadat die in een blok is opgenomen. Dat komt doordat elk blok een unieke blokhash heeft, als een vingerafdruk, die wordt gebruikt om de blokken één voor één aan elkaar te koppelen. Niemand kan eerdere transacties wijzigen zonder die vingerafdruk te veranderen, plus de vingerafdruk van ELK blok dat erna komt, want elke vingerafdruk hangt af van de vorige.
Elk blok is dus simpelweg een groep transacties, plus een unieke vingerafdruk (de blokhash) die wordt berekend uit de inhoud van het blok. De blokken vormen een keten doordat elk blok verwijst naar de unieke vingerafdruk van het vorige blok: samen één verbonden blockchain.
Kennischeck 4
Wat is het doel van een blokhash?
-
[ ] Blokdata versleutelen zodat niemand die kan lezen
-
[ ] Blokken koppelen en eerdere transactiedata onveranderbaar houden
-
[ ] Zorgen dat transacties naar het juiste adres gaan
-
[ ] Zorgen dat de blockchain gedecentraliseerd blijft
In een blok
Onthoud: blok-data is gewoon een groep samengevoegde transacties. Als we binnen één blok kijken, zien we een lijst transacties en wat data over wie het blok heeft gemaakt.
Denk aan ons eerdere voorbeeld bij het blockchain-grootboek: die twee transacties kunnen samen in één blok zitten, of verspreid zijn over meerdere blokken in de tijd. Maar in welk blok ze ook worden opgenomen, uiteindelijk worden ze allemaal toegevoegd aan het totale blockchain-grootboek.
- Alice stuurt 5 ETH naar Bob
- Bob stuurt 2 ETH naar Charlie
Onthoud dat elk blok ook moet verwijzen naar de blokhash van het vorige blok om de blockchain aan elkaar te koppelen.
Kennischeck 5
Welke informatie zit er in een blok?
-
[ ] Alle informatie uit eerdere blokken
-
[ ] Alles wat relevant is voor de blockchain, want blokken zijn onbeperkt
-
[ ] Transactiedata en een verwijzing naar het vorige blok
-
[ ] Alle transactiedata uit een vaste tijdsperiode
Individuele transacties
De data op elke blockchain is simpelweg een lijst van transacties: registraties van valuta die tussen gebruikers wordt verplaatst. Elke transactie moet zijn ondertekend met de digitale handtekening van de verzender om geldig te zijn.
Dit is wat je doet wanneer je een transactie bevestigt met een wallet: je ondertekent met je digitale handtekening om de transactie goed te keuren. Zie het als de digitale versie van het ondertekenen van een cheque, bon of creditcardbetaling.
Transacties kunnen simpel zijn, zoals crypto-assets versturen, of complexer, zoals crypto-assets swappen of zelfs speciale code plaatsen die wordt uitgevoerd zodra die wordt aangeroepen: smart contracts.
Tot slot heeft elke transactie een unieke digitale identificatie, de transactiehash, die geen enkele andere transactie heeft. Zo kun je later makkelijk naar één specifieke transactie verwijzen en kunnen de details ervan achteraf niet worden gewijzigd.
Kennischeck 6
Data op een blockchain is simpelweg een lijst transacties, gegroepeerd in blokken. Voorbeelden van zulke transacties zijn:
-
[ ] Crypto-assets versturen of ontvangen
-
[ ] De grootte van het blok aanpassen
-
[ ] Eerdere blockchain-data bewerken
-
[ ] Alle bovenstaande antwoorden
Gebruikersadressen
Een adres is een publieke identificatie die iedereen op de blockchain kan opzoeken. Net als bij een e-mailadres kan iedereen er geld naartoe sturen, maar alleen wie de privésleutel beheert, kan het geld op dat adres ontgrendelen en gebruiken.
Op Ethereum begint een adres altijd met _0x__________ en bestaat het uit 42 tekens (cijfers en letters), afgeleid van de publieke sleutel van dat adres.
Als we één transactie bekijken in een block explorer, zien we de From: en To: adressen. Dit vertelt ons niet wie de mensen zijn die deze adressen beheren, maar zo kan elke gebruiker de beweging van cryptovaluta door het hele blockchain-grootboek volgen.
Kennischeck 7
Wat is waar over blockchain-adressen?
-
[ ] Het zijn publieke identificaties van partijen op een blockchain
-
[ ] Op Ethereum beginnen ze altijd met 0x
-
[ ] Wie de privésleutel beheert, kan het geld op dat adres gebruiken
-
[ ] Alle bovenstaande antwoorden