UTreeXO: lichtgewicht 'compact nodes'

UTreeXO introduceert een nieuw soort lichtgewicht Bitcoin node: de 'compact node'. Anders dan Bitcoin full nodes hoeven UTreeXO compact nodes geen gigabytes aan UTXO's op te slaan, maar slechts een klein cryptografisch bewijs van minder dan een kilobyte. Compact nodes zouden desondanks dezelfde mate van veiligheid en privacy bieden als full nodes.

"Don't trust. Verify." klinkt het vaak in de Bitcoincommunity. Eén van de kernconcepten van Bitcoin is dat iedere gebruiker zelfstandig en onafhankelijk in staat moet zijn de geldigheid van transacties op de blockchain te verifiëren.

Bitcoin nodes downloaden en controleren daarvoor de Proof-of-Work van de blockchain, maar ook een lijst met unspent transaction outputs (UTXO's) waaruit de transactiegeschiedenis is op te maken. Naar mate de tijd verstrijkt en het netwerk intensiever wordt gebruikt neemt de grootte van beide toe.

Er zijn zorgen dat de hardware-vereisten voor het draaien van een Bitcoin node hierdoor op den duur te hoog worden voor normale gebruikers en dat dit ten koste zal gaan van de decentralisatie van het netwerk.

Gigabytes

De blockchain is op dit moment bijna 300 gigabytes groot en dat groeit met een gemiddelde block time van tien minuten gestaag, maar voorspelbaar verder. Een deel van deze data kan na controle eventueel worden verwijderd via 'pruning' (snoeien), een proces waarbij alleen de meest recente data wordt behouden.

De lijst van inmiddels 60 miljoen UTXO's is met zo'n 4 gigabytes daarentegen kleiner, maar groeit veel onvoorspelbaarder. Aangezien activiteit op de blockchain uit UTXO's bestaat en iedere nieuwe gebruiker vermoedelijk een veelheid aan nieuwe UTXO's oplevert, kan de benodigde ruimte op den duur een probleem worden.

Er valt bovendien ook nauwelijks in de informatie te snoeien, want om de balansen uit te rekenen en om te controleren of fondsen niet dubbel zijn uitgegeven is de complete transactiegeschiedenis nodig.

UTreeXO

Met UTreeXO denkt Bitcoinontwikkelaar Thaddeus 'Tadge' Dryja echter een oplossing te hebben bedacht. Dryja is werkzaam voor het Digital Currency Initiative van MIT Media Lab en verwierf onder andere bekendheid als medeauteur van de Lightning Network white paper.

UTreeXO is een nieuwe manier om de UTXO-lijst te verifiëren met behulp van van cryptografische accumulators. Daarbij wordt niet de gehele lijst met UTXO's bewaard, maar slechts een cryptografisch bewijs waaruit de benodigde informatie is te ontcijferen. In plaats van gigabytes past de informatie op die manier in minder dan één kilobyte. Bijna niets dus. 'Compact nodes' noemt Dryja dit soort Bitcoin nodes.

UTreeXO en compact nodes zijn optioneel en vereisen geen hard fork. UTreeXO heeft in principe dus geen consequenties voor normale full nodes en de werking van het netwerk.

Bridge nodes

Wanneer compact nodes nieuwe UTXO's onderling uitwisselen kunnen ze de geldigheid verifiëren door de uitkomsten van hun cryptografische accumulators met elkaar te vergelijken: die moeten gelijk zijn. Voor de extra data die tijdens dit proces wordt uitgewisseld is zo'n 20% meer bandbreedte nodig. Bitcoin full nodes hebben de meegeleverde cryptografische bewijzen niet nodig en kunnen de transacties van compact nodes gewoon als vanouds verifiëren.

Als een compact node echter een transactie van een full nodes wil verifiëren is dat wel een probleem, want de cryptografische bewijzen die compact nodes ter verificatie nodig hebben ontbreken dan. Iets of iemand zal in dat geval alsnog via een accumulator een cryptografisch bewijs moeten genereren aan de hand waarvan compact nodes kunnen verifiëren.

Daarvoor is een nieuw soort Bitcoin node nodig: Bridge nodes. Zoals de naam al doet vermoeden vervult een Bridge node een soort brug-functie tussen de twee soorten nodes. Bridge nodes zijn eigenlijk full nodes die daarnaast óók cryptografische bewijzen uit een accumulator meeleveren met transacties. Op die manier kunnen transacties van normale full nodes via bridge nodes onder de compact nodes worden verspreid.

Er is wel een addertje onder het gras: het vereist namelijk dat sommige mensen er vrijwillig voor kiezen om een bridge node op te zetten. Of dat vaak het geval zal zijn is nog maar de vraag want bridge nodes verbruiken vanwege hun dubbelrol juist iets méér opslagruimte en bandbreedte dan traditionele full nodes, terwijl daar geen voordelen tegenover staan.

Onder ontwikkeling

Vooralsnog is UTreeXO niet af en wordt er nog volop aan gewerkt. Tadge Dryja doet dat overigens niet alleen, maar wordt daarbij geholpen door andere open source ontwikkelaars via github. Daar kan je eventueel ook zelf de ontwikkeling volgen of een bijdrage leveren.

Het project kreeg onlangs nog een leuke impuls van de 100x Group van bitcoinbeurs BitMex. Die verstrekte een aantal beurzen aan bitcoinontwikkelaars waaronder ook Calvin Kim, die eveneens aan UTreeXO werkt. Om zijn open source werkzaamheden voor het UTreeXO-project het komende jaar voort te zetten ontving hij een bedrag van $40.000 (+/- €34.000).


Meer lezen over UTreeXO? Lees dan ook eens de aankondiging van Tadge Dryja, de toelichting van Calvin Kim of duik direct de white paper in.


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