Bij een blockchain zoals die van de Bitcoin is het voor iedereen mogelijk om mee te doen als miner. De meeste miners zullen elkaar niet kennen en hebben daarmee ook geen vertrouwensrelatie. Hoe zorgen we er dan voor dat alles eerlijk verloopt?
Het is nagenoeg onmogelijk om de blockchain te manipuleren. We kennen namelijk de proof of work die met een cryptografisch algoritme de blokken versleutelt. Toch kan het gebeuren dat een miner een block berekend met daarin een transactie van persoon A naar persoon B terwijl op het zelfde moment een andere miner een block berekend waarbij dezelfde transactie van persoon A wordt verstuurd naar persoon C.
Dit noemen we een collision (een botsing) en die worden automatisch door het netwerk opgelost. Zodra een miner een nonce heeft berekend en een block toevoegd aan de blockchain stuurt hij dit naar alle andere miners op het netwerk. Deze controleren het block en voegen na goedkeuring deze ook toe aan hun lokaal opgeslagen versie van de blockchain en worden de bijbehorende transacties verwijderd uit de lijst met uit te voeren transacties. Vervolgens ontvangt de miner nieuwe transacties om het volgende block te berekenen.
Mocht een miner 2 geldige blocks ontvangen dan kiest hij zelf welke hij toevoegd en dus gebruikt om het volgende block te berekenen. Op deze manier kan er dus een aftakking van de blockchain ontstaan en dat noemen we een fork. Vroeg of laat wordt 1 van de aftakkingen de langste, het netwerk zorgt automatisch dat de langste overblijft. De kortere tak word verwijderd en alle transacties die hebben plaatsgevonden in deze aftakking worden ongedaan gemaakt. Ook de beloning van de miners word verwijderd.
Fraude is onmogelijk
Op termijn wint dus de tak met de meeste miners en de meeste rekenkracht, want daarmee wordt het de langste tak. Zo is het nooit mogelijk voor 1 of meerdere miners om de blockchain te manipuleren voor langer als een hele korte tijd. Om zeker te zijn dat een transactie is toegevoegd aan de blockchain gaan de meeste deelnemers ervan uit dat een transactie definitief is als er ten minste 6 blocks zijn toegevoegd na het block waar de transactie in zit.
En dit is hoe vertrouwen zit ingebouwd in het blockchain netwerk, zonder elkaar te kennen worden alle miners gedwongen zich te houden aan de geldende regels omdat manipulatie niet geaccepteerd word door het netwerk.