De doorgewinterde blockchainliefhebber kent inmiddels grofweg het verschil tussen proof of work en proof of stake, maar intussen nestelt zich een ander consensusalgoritme in de blockchainwereld via Neo, namelijk delegated Byzantinef fault tolerance. Hoe werkt dBFT en wat is de missie van Neo?
Aan de basis van publieke blockchains zoals die van Bitcoin en Ethereum ligt een blockchainnetwerk waar via consensus één versie van de waarheid wordt onderhouden. Voor we dit hele proces nogmaals uit de doeken doen, Computable-expert Victor van der Hulst legt dit helder uit in een blog over de werking van de Bitcoin-blockchain, samen met de werking van proof of work of pow. In een tweede blog legt hij proof of stake of pos uit, samen met een korte uitleg over drie verschillende Byzantine fault tolerance-systemen.
Allereerst: waarom is Neo interessant? Neo, ook wel de ‘Chinese Ethereum’ genoemd, is net als Ethereum een platform voor dapps of gedecentraliseerde applicaties. Samen met smart contracts wordt dit ook wel het ‘nieuwe internet’ genoemd. Smart contracts op de Neo-blockchain kunnen in verschillende, bestaande programmeertalen geschreven worden, zoals Python en C++. Bij Ethereum is dit alleen in de eigen taal Solidity mogelijk.
Neo ziet als belangrijk onderdeel van zijn systeem het laten bestaan van digitale identiteit waarbij zogenaamde boekhouders naast hun digitale identiteit ook een identiteit in de echte wereld hebben. Deze digitale identiteit is gebaseerd op de pki X.509-standaard waarbij pk voor public key infrastructure staat. Daarmee is het mogelijk zo’n boekhoud-node daadwerkelijk aan te spreken mocht dit noodzakelijk zijn.
Hoe zich dat gaat verhouden tot eindgebruikers in bezit van Neo en Neogas (Gas), dat is nog niet duidelijk. Een deel van de crypto-gemeenschap zal hier bezwaren tegen hebben. Gelukkig is voor elk probleem wel een blockchain te verzinnen. De ideologische discussie is wellicht voer voor de toekomst.
dBFT
Bij pow is een enorme hoeveelheid energie nodig, elke node in het netwerk berekent immers hetzelfde waarbij de snelste wint, en bij pos is het de houder die de meeste tokens inzet (stake) in een tijdelijk smart contract degene die de hoogste beloning krijgt. dBft is eigenlijk een aanpassing van het pos-protocol waardoor de nadelen, namelijk wie de meeste tokens bezit, krijgt het meeste uitgekeerd, zijn weggevaagd. Groot nadeel aan dBft is dat decentralisatie lastig is, al is er discussie mogelijk over de werkelijke decentralisatie van andere grote cryptovaluta en -assets.
Het grootste deel van de nodes van Neo zijn normale nodes. Deze doen niet mee aan het valideren van blokken. Dat doen alleen de gedelegeerden, ofwel de boekhouder- of bookkeeping nodes. Zo’n bookkeeping-node moet voldoen aan bepaalde eisen, zoals een vaste internetverbinding, minimale snelheid, bepaalde hardware en een minimale hoeveelheid Gas. In Nederland draait KPN (of gaat draaien) een Neo-node.
Bij dBft wordt het netwerk dus veilig gehouden door bookkeepers die de blokken aan de blockchain toevoegen. Deze boekhouders of consensus nodes zijn afwisselend speaker of delegate. Om een blok toe te voegen, moet 66 procent van de delegates het eens zijn met de speaker. Als 66 procent of meer het eens is met de speaker, dan wordt het blok goedgekeurd. Er bestaat binnen de Neo-blockchain dus niet zoiets als een fork, want die blokken worden niet aangenomen.
Elke delegate berekent ook het volgende blok en als minder dan 66 procent het met de berekening van de speaker eens is, dan wordt een nieuwe speaker geselecteerd en begint het proces opnieuw. Een speaker kan fouten maken door bijvoorbeeld hardware-falen, maar ook door bewuste fraude.
Iedere bezitter van Neo-tokens krijgt een klein beetje Gas uitgekeerd. Dat Gas is ook werkelijk een andere token. Bij Ethereum is het gebruikte Gss gewoon een stukje ether. Neo kan dan ook niet onderverdeeld worden en bestaat alleen in hele getallen. Je kunt Neo ook zien als een aandeel in het netwerk. Gas, de brandstof van het netwerk om de smart contracts te draaien, kan verhandeld of gebruikt worden in kleine stukjes. In totaal zijn er honderd miljoen Neo-tokens. De Gas-tokens worden 22 jaar lang bij elk block gegenereerd en uitgekeerd aan Neo-bezitters tot een totaal van honderd miljoen.
Door de opzet van het netwerk zijn theoretisch tienduizend transacties per seconde mogelijk, maar dat ligt momenteel rond de duizend. Bij Ethereum zijn theoretisch dertig transacties per seconde mogelijk en dat ligt momenteel rond de vijftien.
De NeoVM, ofwel Neo virtual machine, kan theoretisch ook naar andere blockchains of niet-blockchains geport worden om het gebruik van de Neo-smart contracts te verhogen.
Cross-chain-interoperability werkt via NeoX, opgedeeld in cross-chain-assets-exchange-protocol en cross-chain-distributed-transaction-protocol. En last but not least is er ook nog een bestandssysteem NeoFS dat via gedistibueerde hash tables decentrale opslag ondersteunt.