Wetenschap
Professor Sebastiaan Faust, expert in cryptografieprocessen. Krediet:Katrin Binner
Blockchains beloven wijdverbreide open internettoepassingen die decentraal zijn georganiseerd, maar dit gaat ten koste van trage prestaties voor elke transactie die door het systeem wordt verwerkt. Cryptografie-onderzoekers die samenwerken met professor Sebastian Faust hebben wereldwijd bekendheid gekregen met hun benadering van het faciliteren van realtime transacties met behulp van blockchains zoals Ethereum.
Betalen met creditcard is een snel proces:de geldoverdracht is slechts enkele seconden nadat klanten een kaart in een lezer hebben geplaatst of hun gegevens online hebben ingevoerd, voltooid. Dit proces stelt een centraal georganiseerd bedrijf als Visa in staat om meer dan 50, 000 transacties per seconde op piekmomenten. Met behulp van een cryptocurrency zoals Bitcoin, waar transacties lokaal worden verwerkt via een blockchain, er kunnen maximaal zeven transacties per seconde worden verwerkt – een enorm verschil dat de toepasbaarheid van de technologie enorm belemmert. Nog erger, het kan ook enkele minuten duren om een enkele transactie te verwerken. Deze nadelen gelden niet alleen voor Bitcoin. Nog complexere applicaties die worden verwerkt met behulp van slimme contracten via Ethereum zijn ook duur en traag.
Toch is de blockchain ontworpen voor alleen deze gevallen. Elke gebruiker kan iets uploaden en distribueren via een blockchain, en iedereen kan er deel van uitmaken. Het is gedecentraliseerd, neutraal en effectief de perfecte combinatie van tussenpersoon en rechter – maar het is ook traag. Er voordelig en in realtime mee omgaan – dat is de visie van Sebastian Faust, Hoogleraar Toegepaste Cryptografie, en zijn team. De uitdaging is dat de prestatieverhoging niet ten koste mag gaan van de veiligheid. Het onderzoek maakt deel uit van het Collaborative Research Centre CROSSING, die wordt ondersteund door de Duitse Research Foundation.
Een blockchain is een keten van blokken die de status van het gedecentraliseerde systeem bevat. In het geval van een valuta zoals Bitcoin, dit zijn betalingstransacties:wie betaalt wie hoeveel. Elk blok bevat ook een zogenaamde hash van alle gegevens in het blok, een soort vingerafdruk van de gegevens. Als er gegevens worden gewijzigd, dit verandert de hash-waarde. Verder, elk blok bevat een cryptografische hash van het vorige blok. Dit resulteert in een gekoppelde keten. Gemiddeld elke tien minuten wordt er door een netwerkdeelnemer – een miner genoemd – een nieuw Bitcoin-blok aangemaakt. Dit blok wordt vervolgens gecontroleerd door alle andere deelnemers en geaccepteerd als een nieuw blok in de keten als alle transacties en berekeningen correct zijn. Hierdoor wordt het blok onderdeel van de blockchain, op basis waarvan alle mijnwerkers proberen het volgende blok te vinden. Als het blok onjuist is, wordt het genegeerd. Een transactie in een blok wordt alleen geaccepteerd als deze in de blockchain is gepubliceerd en idealiter door meerdere blokken is bevestigd, meestal zes. Dit voorkomt dat een aanvaller onjuiste transacties of blokkeringen kan publiceren. Hoewel dit proces sterke veiligheidsgaranties biedt, is een van de belangrijkste tekortkomingen dat gebruikers mogelijk tot 60 minuten moeten wachten op bevestiging van nieuwe transacties.
Complexere transacties met slimme contracten
Met slimme contracten kunnen deelnemers transacties uitvoeren die aanzienlijk complexer zijn dan eenvoudige betalingen. Deze complexe regels kunnen in een programmeertaal zijn geschreven, waar vervolgens betalingen worden uitgevoerd afhankelijk van de uitvoering van de code. "Dit zijn contracten die worden verwerkt door de blockchain, " legt Sebastian Faust uit. "Slim betekent dat de contracten logische voorwaarden bevatten. Indien, bijvoorbeeld, iemand wil een bestand online verkopen, dan bevat het slimme contract de voorwaarde dat het geld pas wordt uitbetaald als het juiste bestand is aangeleverd." Dit gebeurt automatisch, wat voor beide partijen veilig is. Het geld blijft in de blockchain totdat het bestand is verzonden, maar de verkoper kan het niet ergens anders uitgeven.
Een ander voorbeeld van slimme contracten zijn toepassingen voor communicatie tussen autonome voertuigen. Sommige vrachtwagens kunnen autonoom op de weg rijden. Echter, ze zijn duur omdat ze veel sensortechnologie vereisen. Een semi-autonome vrachtwagen kan niet zelf rijden, maar kan mede worden bestuurd door een autonome. Om dit te laten werken, de chauffeur van de semi-autonome vrachtwagen zou een contract moeten aangaan met de autonome. De bestuurder kon gedurende deze tijd slapen zonder dat hij daarvoor een pauze hoefde te nemen. Een smart contract zou dit allemaal kunnen als er niet het probleem zou zijn dat de blockchain momenteel te traag is voor snelle transacties onderweg.
"Ons idee is niet om alles naar de blockchain te verplaatsen, ", zegt Faust. Dit betekent dat contracten eerst rechtstreeks tussen de betrokken partijen worden uitgevoerd en pas in geval van geschil de partijen het dure blockchain-mechanisme gebruiken." "Het is een beetje alsof je in de rechtbank zit, ", zegt Faust. "Omdat de processen in de rechtbank traag en kostbaar zijn, partijen gaan er alleen heen als ze het onderling niet eens kunnen worden.” Het voordeel van deze aanpak is schaalbaarheid. Aangezien geschillen een uitzondering zijn in het normale dagelijkse leven, duizenden contracten konden in realtime worden uitgevoerd, waardoor de belasting van de blockchain aanzienlijk wordt verminderd.
Complexe computerprogramma's kunnen ook fatale beveiligingsproblemen bevatten. "Slimme contracten worden vaak verkeerd uitgevoerd, wat het moeilijk maakt om te garanderen dat ze correct zullen werken als ze eenmaal in een groter systeem zijn geïntegreerd, ", zegt Sebastian Faust. Een prominent voorbeeld is het geval van het slimme contract "The DAO". In "The DAO" kon een hacker een programmeerfout gebruiken om cryptocurrency ter waarde van 50 miljoen dollar te stelen. Een van de hoofddoelen van de onderzoek dat wordt uitgevoerd aan de TU Darmstadt is bedoeld om de efficiëntie van blockchain-systemen te verbeteren en tegelijkertijd sterke veiligheidsgaranties te bieden.
Het ontwikkelen van de cryptografische protocollen voor deze processen is een complexe onderneming. De onderzoekers moeten de protocollen van de verschillende partijen definiëren, evenals de onderliggende slimme contracten. Een bijzondere uitdaging is om de interactie met de blockchain te minimaliseren, terwijl tegelijkertijd de veiligheid van het protocol moet worden gegarandeerd. Met behulp van formele modellen uit de cryptografie hebben de onderzoekers de veiligheid van de protocollen bevestigd. De volgende stappen zijn nu om het Perun-systeem vrij te geven als open source software, en integreer blockchain-systemen die verschillen van Ethereum.
Het systeem heet Perun - naar de Slavische god van donder en licht. En ze hadden impact:de resultaten kregen brede aandacht, zowel van de academische beveiligingsgemeenschap als van bedrijven als Bosch en de Ethereum Foundation, waarvan de blockchain slimme contracten ondersteunt.
Wetenschap © https://nl.scienceaq.com