Scalability of Blockchains by Sharding; Extending SimBlock and Case Studies
Master thesis
Permanent lenke
https://hdl.handle.net/11250/2830566Utgivelsesdato
2021Metadata
Vis full innførselSamlinger
Beskrivelse
Full text not available
Sammendrag
Blokkjede-teknologi har blitt et verdifullt verktøy for mange industrier og har også motivert flere forskningsområder. Attraksjonen ved denne teknologien er desentralisering, uforandrelighet og at informasjon som ligger på blokkjeden er offentlig. Fordi teknologien tilbyr disse egenskapene er det vanskelig å skalere ytelsen uten å gi opp en av de andre egenskapene. Dette gjør at blokkjeder som Bitcoin, prosesserer få transaksjoner per sekund, har høye gebyrer og lang bekreftelsestid for transaksjoner. Blant løsningene foreslått er sharding et lovende konsept ifølge forskere. Problemet er at å teste sine løsninger på en ekte blokkjede er dyrt. Det er også vanskelig å gjøre det på en realistisk måte. Derfor kan blokkjede-simulatorer være til hjelp når forskere skal teste sine løsninger. Likevel er blokkjede-simulatorene som er dokumentert i litteraturen begrenset når det kommer til simulering av transaksjoner. Det finnes heller ikke en simulator dokumentert som implementerer sharding. I denne masteroppgaven har blokkjede-simulatoren SimBlock blitt utvidet til å inkludere transaksjoner og et sharding konsept ved å simulere Bitcoin. En case-studie ble også utført for å undersøke sharding sin effekt på bekreftelsestid, prossessering av transaksjoner og administrering av størrelsen på blokkene.
Funnene for implementering av sharding i Bitcoin var at blokkjeden ble mer effektiv og kunne skalere uten at en økte størrelsen på blokkene. Likevel tyder resultatene på at å øke blokkstørrelsen til 2 MB kan gi den beste ytelsen uansett om Bitcoin implementerte sharding eller ikke. Dette står i kontrast til det vi vet om blokkstørrelse fra litteraturen. Uansett er sharding skalerbart, men å øke blokkstørrelsen er begrenset. Fordelen med å øke blokkstørrelsen for Bitcoin som implementerte sharding, var mindre enn for Bitcoin der en ikke implemeterte sharding. Dette er fordi sharding allerede tilbyr skalerbarhet. Utvidelsen til SimBlock, utviklet for denne masteroppgaven, er et bidrag til arbeid på simulasjoner av sharding for blokkjeder. Blockchain technology has become valuable for many industries, and motivated various research fields. The attraction is the decentralisation, immutability, transparency blockchain technology provides. In offering these properties, scaling blockchains become difficult without making a trade-off with one of the other properties. This causes blockchains like Bitcoin, to have a low transaction throughput, high fees and long confirmation times for transactions. Among the solutions proposed, sharding is a promising concept for researchers. However, testing the solutions on a real blockchain is not feasible because it is expensive and difficult to create a realistic blockchain network. For this reason, blockchain simulators is a valuable tool for researches developing solutions for blockchains. Yet, the simulators documented in the literature are lacking when it comes to simulating transactions, and there are no documented simulators for sharding. For this thesis, the blockchain simulator SimBlock was extended to include transaction propagation, and to implement a sharding concept by simulating Bitcoin. Some case studies have been conducted to determine sharding´s effect on confirmation time, throughput and block size management.
The findings for implementing sharding in Bitcoin was that doing so made the blockchain more efficient, and able to scale with without increasing block size. Nevertheless, results suggest that increasing the block size to 2 MB may offer the best performance for the sharded and the unsharded version of Bitcoin. This is in contrast to the literature on the topic of block size. However, sharding is scalable, but increasing the block size is limited. The benefit of increasing the block size for the sharded blockchain to 2 MB, is less than for the unsharded blockchain. This is because the sharded blockchain already offer scalability. The extension to SimBlock developed and used to obtain the result is a contribution to research on simulations of sharding in blockchains.