Papers1 provider · 1 record
November 1, 2021· reposiTUm (TU Wien)
dissertation
Open access

Towards Platform-Agnostic Smart Contracts

Authors:René Raab *

Abstract

Durch den Erfolg von Kryptowährungen über die letzten Jahre ist auch das Interesse an der darunterliegenden Technologie gestiegen. Wissenschaftler aus verschiedensten Bereichen untersuchen, ob Blockchains für ihre Zwecke verwendet werden können. Dieses große Forschungsinteresse sorgt für schnelle Entwicklung und damit auch für rasche Veränderung. Dies hindert vor allem im kommerziellen Bereich die Adaption von Blockchains, da hohe Risiken mit der Wahl einer nicht zukunftsträchtigen Technologie verbunden sind. Ein Weg um die Adaption von Blockchain-Technologie voranzutreiben und das damit verbundene Risiko zu mindern, ist die Entwicklungsarbeit für verteilte Applikationen plattformunabhängig zu gestalten. Aus diesem Grund hat sich diese Arbeit das Ziel gesetzt zu zeigen, dass es möglich ist, Smart Contracts unabhängig von der darunterliegenden Plattform zu definieren und anzusprechen. Um dieses Ziel zu erreichen wurde die Ledger Access (LA) API entwickelt. Die LA API enthält ein Programmiermodell für Smart Contracts welches es ermöglicht, das Datenmodell, die Geschäftslogik und die Konsensregeln zu definieren. Die Ausführung eines solchen Kontraktes funktioniert über eine Abstraktion der Client APIs der unterstützten Plattformen. Ein universeller Kontrakt, welcher im Zielnetzwerk installiert ist, nimmt die Kommandos über die Client API entgegen und führt die gewünschte Transaktion aus. Es wurden zwei Plattform ausgewählt, welche stellvertretend für die breite Bandbreite und verfügbaren Plattformen stehen. Hyperledger Fabric und Corda sind beide beliebte Plattformen, welche zwar ähnliche Ziele verfolgen, sich allerdings in vielen Bereichen stark unterscheiden. Die Kompatibilität von LA API mit diesen beiden Plattformen zeigt, dass die LA API mit verschiedensten Plattformen verwendet werden kann. Zusätzlich wurde eine Referenz-Implementierung erstellt, welche anstatt einer Blockchain eine SQL-Datenbank als Datenspeicher verwendet. Die Referenz- Implementierung wurde verwendet, um die Plattform-Integrationen für Corda und Fabric zu evaluieren. Dabei wird davon ausgegangen, dass die Referenz-Implementierung immer das richtige Ergebnis liefert. Die Corda und Fabric Implementierungen müssen unter allen Umständen das gleiche Ergebnis liefern, um zu zeigen, dass sie korrekt implementiert wurden und die vorgegebenen Anforderung erfüllen. Es wurde eine Reihenfolge von Interaktionen definiert welche alle zuvor erhobenen Anforderungen abdecken. Diese Interaktionen wurden dann auf allen drei Plattformen (Referenz, Corda, Fabric) ausgeführt. Ein Vergleich der Ergebnisse hat ergeben, dass alle Implementierungen das gleiche Ergebnis liefern. Durch diesen Proof of Concept wurde bestätigt, dass plattformunabhängige Smart Contracts möglich sind.

Community

0 comments
Use Connect Wallet in the navigation

No discussion yet

Be the first to share a question or observation.