Identifying Administrators of Smart Contracts from Transaction Data
Abstract
Kurz nach der Veröffentlichung des White Papers zu Bitcoin im Jahr 2008 wurde Blockchain zu einer der am meisten diskutierten und gehypten Technologien der letzten zwei Jahrzehnte. Bitcoin führte eine kryptografisch gesicherte dezentrale Plattform für die Übertragung digitaler Vermögenswerte (die Kryptowährung Bitcoin) mit freiem Zugriff für alle ein. Einige Jahre später ging ein neuer „Player“ einen Schritt weiter: Ethereum führte die Idee eines Blockchain-basierten globalen, dezentralen Computers ein, auf dem jeder Programme auf beobachtbare und transparente Weise bereitstellen und ausführen kann. Diese als Smart Contracts (SCs) bezeichneten Programme sind zwar in der Lage, jedes entscheidbare Problem zu berechnen, sie ermöglichen jedoch in erster Linie Parteien, ein Rahmenwerk für Verträge einzurichten, ohne dass ein vertrauenswürdiger Vermittler erforderlich ist. Tatsächlich verlagert sich das Vertrauen dadurch zu den transparenten Mechanismen der Blockchain. In dieser Arbeit untersuchen wir das Ökosystem von Ethereum hinsichtlich der auf der Mainchain bereitgestellten SCs und legen einen Fokus auf die in den SCs verwendeten Authentifizierungsmuster. Diese Muster beschränken einige Funktionen der SCs, indem sie nur bestimmten Adressen erlauben, den abgesicherten Teil der Funktion auszuführen. Als Methoden für unsere Analyse führen wir die symbolische Ausführung und die Taint-Analyse ein, welche Werkzeuge sind, mit denen der Bytecode eines Programms semantisch analysiert wird. Basierend auf diesen Tools schlagen wir heuristische Erkennungsstrategien vor, um automatisch vier Authentifizierungsmuster zu erkennen, die wir im Ethereum-Bytecode von SCs finden. Darüber hinaus bewerten wir die Erkennungsstrategien anhand eines Testsatzes manuell klassifizierter SCs.
Community
0 commentsNo discussion yet
Be the first to share a question or observation.