science >> Wetenschap >  >> Elektronica

SimBlock:een simulator voor het testen van verbeteringen aan real-world blockchain-netwerken

Figuur 1. Visualisatie van een blockchain-netwerk. Krediet:OpenStreetMap-bijdragers

Kazuyuki Shudo, Zijn collega's, en het Cybersecurity Research Center van het Tokyo Institute of Technology (Tokyo Tech) ontwikkelde een openbare blockchain-simulator genaamd "SimBlock" voor gebruik bij het testen van de prestaties en beveiliging van blockchain. De software kan op één pc draaien. Het is nu publiekelijk beschikbaar als open source.

Met SimBlock kan een gebruiker een blockchain-netwerk simuleren dat bestaat uit een groot aantal knooppunten (servers), en wijzig het gedrag van de knooppunten om effecten op prestaties en beveiliging te testen. Gebruikers kunnen de impact van wijzigingen in een bestaande blockchain simuleren, zoals Bitcoin, of naar een blockchain van hun eigen ontwerp.

Blockchain werd voor het eerst geïmplementeerd voor cryptocurrency, die als basis dienen voor het Bitcoin-netwerk, die in 2009 begon te werken. Maar nu worden andere potentiële toepassingen gevonden op gebieden zoals resource- en rechtenbeheer, product (bijv. voedsel) traceerbaarheid, stemmen, en automatisering van bedrijfsprocessen.

Tegenwoordig, een aantal conferenties over blockchaintechnologie worden gehouden, inclusief IEEE ICBC, CryBlock, en IEEE-blockchain. Maar ondanks de bedrijvigheid in het veld, het was bijna onmogelijk om verbeteringen te testen op een real-world blockchain-netwerk. Een dergelijk experiment vereist het bijwerken van de software van alle knooppunten, wat niet praktisch is voor een werkend netwerk vanwege het risico op verstoringen. Zelfs in gevallen waarin een blockchain een probleem heeft dat moet worden opgelost, het testen van de fix kan moeilijk zijn, omdat het iets anders kan breken.

Een blockchain-simulator genaamd SimBlock

Shudo en collega's ontwikkelden SimBlock, die gedrag van ongeveer 10 kan simuleren, 000 knooppunten op internet met behulp van een enkele typische pc. De software, die in juli 2018 open source werd gemaakt, stelt ingenieurs in staat om verbeteringen op een bestaande of originele blockchain te testen, of zelfs kwaadaardige nodes simuleren en de slagingspercentages van aanvallen meten, pas vervolgens tegenmaatregelen toe om de effecten ervan te testen.

SimBlock demonstreren op IEEE ICBC 2019 Credit:Kazuyuki Shudo

SimBlock kan momenteel de parameters van Bitcoin simuleren, Litecoin, en Dogecoin, spiegelende blockchain-netwerkgrootte, blok generatie interval, en communicatiesnelheid via internet. Gebruikers kunnen zien wat veranderingen in het gedrag van knooppunten doen met een blockchain-netwerk door Java-code in SimBlock aan te passen. Het is ook mogelijk om parameters van de blockchain en communicatiesnelheid te wijzigen.

SimBlock heeft ook een visualizer die de communicatie tussen knooppunten en blokhoogte geanimeerd op een wereldkaart laat zien. Een demonstratie van de visualizer is beschikbaar op deze webpagina.

Demonstratie van visualizer:Bitcoin-netwerk (verkleind tot 600 nodes)

Het onderzoeksteam gaf een demonstratie van SimBlock op IEEE ICBC 2019 in Seoul, veel aandacht van de deelnemers (Figuur 2).

Toepassingsvoorbeelden

De teamleden gebruikten SimBlock ook in hun andere onderzoeken. De volgende zijn dergelijke onderzoeksonderwerpen om de prestaties van blockchains te verbeteren.

  • Burenselectie (Figuur 3)
  • Effectmeting van een relaisnetwerk (Figuur 4)

Afbeelding 3 Selectie van nabijheidsbuur en Afbeelding 4 Effectmeting van een relaisnetwerk. Krediet:Proc. IEEE Blockchain 2019 voor Fig 3 en Proc. AINTEC 2019 voor Fig 4.

Figuur 3 toont het effect van het toepassen van een techniek genaamd nabijheidsbuurselectie, waarbij elk knooppunt verbinding maakt met zijn nabijgelegen knooppunten op het netwerk. Dit resulteert in een kortere tijd voor blokken om zich over het netwerk te verspreiden. Het verkorten van de opkweektijd leidt tot een verbetering van de veiligheid. Het leidt ook tot verbetering van de prestaties van transactieprocessen zonder in te boeten aan beveiliging.

Afbeelding 4 illustreert het voordeel van knooppunten die gebruikmaken van een relaisnetwerk [c, 4]. Door gebruik te maken van een relaisnetwerk, een knooppunt kan de kans dat een door hem gegenereerd blok een weesblok wordt [d] drastisch verlagen. Het betekent dat een knooppunt zijn inkomsten kan verhogen door gebruik te maken van het relaisnetwerk, omdat een dergelijk weesblok geen mijnbeloning geeft aan het knooppunt dat het weesblok heeft gegenereerd.

Een knooppunt dat een relaisnetwerk gebruikt, kan een nieuw gegenereerd blok snel ontvangen. Het lijkt erop dat het succespercentage van de mijnbouw [e] van het knooppunt toeneemt vanwege de snelle ontvangst. Echter, met behulp van SimBlock, het onderzoeksteam constateerde geen duidelijke toename. Anderzijds, het onderzoeksteam vond nog een voordeel van relaisnetwerken. Een knooppunt kan de kans verkleinen dat een blok dat het heeft gegenereerd een weesblok wordt. Een relaisnetwerk verlaagt natuurlijk de weesbloksnelheid van het hele blockchain-netwerk en er is eerder op gewezen. Het onderzoeksteam ontdekte dat knooppunten veel baat hebben bij een relaisnetwerk, zelfs als de verhouding van knooppunten die het relaisnetwerk gebruiken erg laag is (bijv. 1%).

Het onderzoeksteam zal blijven werken aan prestatieverbetering van blockchains met behulp van SimBlock. Ze begonnen ook te werken aan beveiligingsstudies door aanvallen op een blockchain en tegenmaatregelen te simuleren. Lopende en geplande verbeteringen voor SimBlock omvatten ondersteuning voor andere blockchains zoals Ethereum, verdere actualisering van internetparameters zoals communicatiesnelheid, en ondersteuning voor nieuwere communicatieprotocollen zoals Compact Block Relay.

Het team is er sterk van overtuigd dat engineering- en onderzoeksgemeenschappen kunnen profiteren van SimBlock en zijn bijdragen aan blockchain-technologie en onze samenleving ondersteund door de technologie.