Ripple’s cryptocurrency, XRP, is zowel één van de meest geliefde als één van de meest bekritiseerde cryptocurrencies van dit moment. De kritiek is voornamelijk gericht op het feit dat de cryptocurrency niet gedecentraliseerd is, zoals Ethereum (ETH) en Bitcoin (BTC) dat wél zijn.
Nu is er echter een interessant artikel online gekomen waarin het netwerk van XRP formeel geanalyseerd werd. Het artikel heeft echter geconcludeerd dat er “geen consensus is in het Ripple-netwerk”. Het geeft het volgende aan:
“Het protocol van Ripple bereikt geen consensus en kan de veiligheid en levendigheid schenden, zelfs onder extreem milde vijandige omstandigheden. In het bijzonder kan het netwerk afsplitsen onder de standaardconditie op UNL-overlapping zoals aangegeven door Ripple en in de aanwezigheid van slechts een zeer kleine fractie van kwaadaardige nodes.”
Zoals je misschien weet, wordt er consensus op bijvoorbeeld het Bitcoin-netwerk bereikt via Proof of Work. Je hebt hier geen toestemming voor nodig en iedereen kan het netwerk dus toetreden of verlaten, op voorwaarde dat ze voldoende hash kracht aanleveren.
In Byzantijnse fouttolerante systemen is toegang over het algemeen niet toestemmingloos omdat het systeem niet goed bestand is tegen kwaadwillende actoren. Bij Ripple proberen ze een tussenoplossing te gebruiken, waarbij gebruikers de set nodes kiezen die ze willen volgen, de Unique Node List (UNL). Dit artikel laat echter zien hoe het netwerk in staat is om te breken door een zeer eenvoudige aanval. Het artikel zegt hier het volgende over:
“Het belangrijkste idee is dat een Byzantijnse node (4) zijn gedrag verandert afhankelijk van de groep nodes waarmee het communiceert. Het zorgt ervoor dat node 1, 2 en 3 (wit) een transactie tx en nodes 5, 6 en 7 (zwart) een transactie tx0 voorstellen voor het volgende grootboek. Er bestaat geen andere transactie. Het Byzantijnse node (4) volgt het protocol alsof het de tx had voorgesteld bij interactie met de witte nodes en gedraagt zich alsof het de tx0 had voorgesteld bij interactie met de zwarte nodes.
Elke correcte node ontvangt vervolgens vijf validatieberichten, van alle nodes in zijn UNL, en constateert dat 80% daarvan hetzelfde grootboek bevat (L141). Merk op dat geen enkele node zijn voorkeursgrootboek wijzigt na het aanroepen van getPreferred. Dit houdt in dat nodes 1, 2 en 3 L volledig valideren en de tx uitvoeren, terwijl nodes 5, 6 en 7 L 0 volledig valideren en de tx0 uitvoeren. Daarom wordt de overeengekomen voorwaarde van consensus geschonden.”
Kortom, hierdoor ontstaat er een fork-scenario met twee netwerken die tegelijkertijd werken zonder dat het protocol een manier heeft om ze weer in elkaar te zetten. Dat is in tegenstelling tot Bitcoin, waar hoewel er sprake is van fork, ze altijd erg kort zijn en meestal binnen een blok opgelost worden, aangezien miners de langste keten kiezen met het meeste ‘Proof of Work’, waardoor een dergelijke fork onbenullig is.
Bij XRP is er echter geen goede netwerkbrede validatie van wat er wordt gecommuniceerd, noch een manier om tegenstrijdige informatie met elkaar te verzoenen. De auteurs geven het volgende hierover aan:
“Het consensusprotocol van het Ripple-netwerk is broos en slaagt er niet in om consensus te verzekeren zoals algemeen wordt begrepen in de informatica en onder blockchain-beoefenaars.”
Ze gingen verder met zeggen dat dit werk werd uitgevoerd door naar de eigen code van XRP te kijken en deze te analyseren op basis van de aannames die Ripple zelf maakt. Zelfs onder die omstandigheden is dit echter niet bestand tegen eenvoudige aanvallen.
“Dit werk heeft relatief eenvoudige gevallen aan het licht gebracht, waarin het protocol mogelijk de veiligheid en/of levendigheid schendt en die verwoestende effecten zal hebben op de gezondheid van het netwerk.”
Een live-aanval op XRP is tot nu toe niet gezien, echter suggereren de auteurs dat wat uit de academische wereld komt, zijn weg zal vinden naar de praktijk. Bovendien zeggen de auteurs dat alle validators de standaard UNL gebruiken die door Ripple Labs wordt geleverd, met als reden dat er “goede redenen zijn om aan te dringen op een dergelijke gecentraliseerde structuur in het Ripple-netwerk [aangezien] als nodes de vertrouwde validators zelf zouden kunnen selecteren, de consensus veel gemakkelijker kan worden geschonden.”
Emin Gün Sirer, hoogleraar gedistribueerde netwerken bij Cornell, verklaarde dat in dit artikel “formele analyse aantoont dat het consensusprotocol dat in Ripple / XRP wordt gebruikt, de veiligheid en levendigheid niet behoudt, zelfs niet wanneer hun genoemde aannames worden gehandhaafd.”
Terwijl Christian Cachin, een cryptograaf aan de Universiteit van Bern, verklaarde dat de “nieuwe analyse van Ripple’s zogenaamde blockchain-consensusprotocol achter XRP laat zien dat het volgens de genoemde aannames niet veilig of live is.”
Dit maakt het in feite de meest overgewaardeerde database ter wereld, omdat er geen consensus kan worden bereikt met zelfs maar “een heel klein deel van de kwaadwillende nodes”.