Frauenthaler, P. (2018). A framework for blockchain Interoperability and runtime selection [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2018.56670
In den letzten Jahren erlangten kryptographische Währungen, auch Kryptowährungen genannt, enorm an Popularität. Die erste und zugleich prominenteste Kryptowährung ist Bitcoin. Bitcoin wurde im Jahr 2008 von Satoshi Nakamoto vorgestellt. In den darauffolgenden Jahren wurden zahlreiche weitere Kryptowährungen gegründet. Im ersten Quartal 2018 existierten bereits über 1.000 kryptographische Währungen. Viele dieser unterschiedlichen Währungen funktionieren ohne eine zentrale Instanz. Stattdessen wird häufig eine Blockchain eingesetzt. Eine Blockchain ist ein verteiltes Bestandsbuch, das von anonymen, über ein Peer-to-Peer-Netzwerk miteinander verbundenen, Benutzern verwaltet wird. Neben dem Aufzeichnen von Transaktionen in zahlreichen Kryptowährungen ist die Blockchain auch in einer Vielzahl weiterer Anwendungsfälle einsetzbar. Populäre Anwendungsfälle der letzten Jahre sind z. B. die digitale Stimmabgabe, Notariatsdienste, Supply Chain Management, Auditierung und Kontrolle von Eigentumsrechten. Die Eignung einer bestimmten Blockchain für einen gegebenen Anwendungsfall hängt von mehreren Kriterien ab, z. B. den Kosten für das Schreiben von Daten in diese Blockchain, der Zeit, die es benötigt, bis ein Datensatz permanent in der Blockchain festgeschrieben ist, der Verteilung der Hashpower unter Minern oder Mining Pools oder der Netzwerkhashrate. Diese Kriterien können sich im Laufe der Zeit ändern. Daher kann es passieren, dass eine bestimmte Blockchain in Zukunft für einen gegebenen Anwendungsfall nicht mehr geeignet ist. Derartige Unsicherheiten verringern den praktischen Wert von Blockchains. Um die Auswirkungen dieser Einschränkung in der praktischen Anwendung zu begrenzen, entwickeln wir in dieser Diplomarbeit ein Framework, das es ermöglicht, zwischen Blockchains zu wechseln. Das Framework überwacht mehrere Blockchains, berechnet den jeweiligen Nutzen und ermittelt auf Basis dieser Berechnungen die nutzbringendste Blockchain. Weiters kann das Framework auf verschiedene Ereignisse wie einer rapiden Abnahme der Netzwerkhashrate oder einen signifikanten Kostenanstieg reagieren. Die Bewertung mehrerer Blockchains, die Reaktion auf verschiedene Ereignisse und das Wechseln zwischen Blockchains ermöglichen es Benutzern, zu einer für sie günstigeren Blockchain zu wechseln, um von niedrigeren Kosten, besserer Performanz oder erhöhter Sicherheit zu profitieren. Die Referenzimplementierung des Frameworks unterstützt Bitcoin, Ethereum, Ethereum Classic und Expanse. Aufgrund des modularen Aufbaus kann das Framework im Bedarfsfall erweitert werden, um bspw. weitere Blockchains zu integrieren.
de
In the past few years, cryptographic currencies, also referred to as cryptocurrencies, gained much popularity. The first and most prominent cryptocurrency is Bitcoin, announced in 2008 by Satoshi Nakamoto. In the first quarter 2018, there have been more than 1,000 cryptocurrencies in existence. The common property of cryptocurrencies is that they are not owned or controlled by a single authority, e.g., by a central bank. In order to eliminate the need for a central entity, many cryptocurrencies use a blockchain for keeping track of payment transactions and state changes. The blockchain is a distributed ledger that is maintained by anonymous users connected via peer-to-peer networks. Besides keeping track of payment transactions and state changes, blockchains are applicable for a wide range of use cases. Popular use cases that came up in the last years are, e.g., digital voting, notary services, Supply Chain Management, auditing and control of ownership rights. The suitability of a particular blockchain for a given use case depends on various criteria, e.g., the costs for writing data into that blockchain, the time until a data record is permanently included and thus remains unchanged with high probability, the distribution of the network's hash power among miners or mining pools, the network's hash rate, etc. These properties can vary over the time. Thus, a particular blockchain can become unsuitable for a given use case over time. Such uncertainties can limit the practical value of blockchains. In order to overcome this limitation, we design and develop a framework that is capable of switching back and forth between blockchains. The framework monitors several blockchains, calculates their individual benefits and determines the most beneficial one. Furthermore, the framework is able to react to various events such as a rapid decrease of a network's hash power or a steadily increase of the costs for writing data into a blockchain. The assessment of several blockchains, the mechanism for reacting to various events and the switchover functionality enable users to switch to another, more beneficial blockchain in order to benefit from low costs, high performance or better security. The reference implementation of the proposed framework supports Bitcoin, Ethereum, Ethereum Classic and Expanse. The modular design of the framework allows future researchers to extend the framework, e.g., to add support for further blockchains.