Davidovski, M. (2020). Clustering of ethereum smart contracts using the graph database Neo4j [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2020.72204
In the last decade, the term blockchain has gained immense popularity due to the media hype surrounding Bitcoin, the first cryptocurrency. Soon after, blockchain technology has become an inspiration for additional applications next to cryptocurrencies. One such application is smart contracts, or programs with the aim to execute automatically and securely the agreements of a contract without the support of a centralized authority. Currently, the main blockchain platform for smart contracts is Ethereum. Smart contracts in the Ethereum network may be a part of a decentralized application or may exist as a single entity. They can be triggered by an external transaction (a user) or an internal one (a smart contract). Considering the importance and sensitivity of the information and/or data that smart contracts deal with on a daily basis, it is important to gain a better understanding of how smart contracts actually work, what functions they perform, and how they are connected in the Ethereum network. In this thesis, an approach is proposed for clustering Ethereum smart contracts with regard to the functionality they share by using the graph database Neo4j and other visualization methods and/or tools. Different sets of data are used (partitions of the total dataset of Ethereum smart contracts), as well as two clustering approaches, with a goal of gaining a better insight into how smart contracts work and of understanding their functional similarities.
en
Im letzten Jahrzehnt hat der Begriff Blockchain aufgrund des Medienrummels um Bitcoin, der ersten Kryptowährung, immense Popularität erlangt. Bald darauf wurde die Blockchain-Technologie zu einer Inspiration für zusätzliche Anwendungen neben Kryptowährungen. Eine solche Anwendung sind Smart Contracts oder Programme mit dem Ziel, die Vereinbarungen eines Vertrags automatisch und sicher ohne die Unterstützung einer zentralen Stelle auszuführen. Derzeit ist Ethereum die wichtigste Blockchain-Plattform für Smart Contracts. Smart Contracts im Ethereum-Netzwerk können Teil einer dezentralen Anwendung sein oder als eigene Einheit existieren. Sie können durch eine externe Transaktion (User) oder eine interne Transaktion (einen Smart Contract) ausgelöst werden. Angesichts der Bedeutung und Sensibilität der Informationen und / oder Daten, mit denen Smart Contracts täglich umgehen, ist es wichtig, ein besseres Verständnis dafür zu erlangen, wie Smart Contracts tatsächlich funktionieren, welche Funktionen sie ausführen und wie sie im Ethereum-Netzwerk miteinander verbunden sind. In dieser Arbeit wird ein Ansatz für das Clustering von Smart Contracts auf Ethereum hinsichtlich der gemeinsamen Funktionalität vorgeschlagen, das die Graphdatenbank Neo4j und andere Visualisierungsmethoden und / oder –werkzeuge verwendet. Es werden verschiedene Datensätze (Partitionen des kompletten Datensatzes an Smart Contracts auf Ethereum), sowie zwei Clustering- Ansätze verwendet, um einen besseren Einblick in die Funktionsweise von Smart Contracts zu erhalten und deren funktionale Ähnlichkeiten zu verstehen.