Smart Contract sicher, Warum ist ein Smart Contract sicher? (Teil 4)

Warum ist ein Smart Contract sicher? (Teil 4)

Seit Vitalik Buterin Ethereum entwickelt hat, sind Smart Contracts aus dem Blockchain-Ökosystem nicht mehr wegzudenken. Doch was steckt hinter den „schlauen Verträgen“? In fünf Teilen erkundet Ingo Rammer für uns die Implikationen der Technologie. Heute: Warum ist ein Smart Contract sicher?
Teil 1: Smart Contracts: Heilsbringer oder bessere Datenbank?
Teil 2: Mehr als nur Kryptowährungen: Transaktionen und Smart Contracts
Teil 3: Solidity: Wie programmiert man Smart Contracts?
Warum genau ist das Ganze sicher?

Teil 1: Smart Contracts: Heilsbringer oder bessere Datenbank?

Teil 2: Mehr als nur Kryptowährungen: Transaktionen und Smart Contracts

Teil 3: Solidity: Wie programmiert man Smart Contracts?

Warum genau ist das Ganze sicher?

So weit, so gut. Doch wie steht es um die Sicherheit bei dieser Vorgehensweise? Was würde passieren, wenn einer der Teilnehmer den Smart Contract auf dem von ihm kontrollierten Blockchain-Node einfach austauscht und eine Variante verwendet, die für ihn vorteilhaft ist? (Je nach Blockchain müsste der Angreifer dazu übrigens relativ weit in die Interna der Implementierung der Blockchain-Plattform eintauchen – aber es ist dennoch ein valider Angriffsvektor, den man zumindest auf theoretischer Ebene betrachten muss.)

Was müsste ein Angreifer tun?


Smart Contract sicher, Warum ist ein Smart Contract sicher? (Teil 4)
[Anzeige]
Bitcoin kaufen mit dem Bitwala Konto. Warum ein Bankkonto bei Bitwala? Ein Bankkonto “Made in Germany” mit Einlagensicherung bis zu 100.000 Euro; 24/7 Bitcoin Handel mit schneller Liquidität; Gehandelt werden ausschließlich ‘echte’ Bitcoin – keine Finanzderivate wie CFDs; Sichere Nutzerkontrolle über das Bitcoin Wallet und den private Schlüssel; Mit der kontaktlosen Debit-Mastercard weltweit abheben und bezahlen.

Jetzt kostenloses Konto eröffnen

In unserem Beispiel könnte ein Angreifer versuchen, die Kontrolle über alle Telefonnummern zu übernehmen, indem er die Prüfbedingungen in seiner Version des Smart Contract ändert. Das würde aber dazu führen, dass der World State lediglich auf dem Node des Angreifers geändert wird: Nur für ihn sieht es so aus, als wenn er alle Telefonnummern kontrolliert.

Alle anderen Teilnehmer würden weiterhin die korrekte Version des Contracts ausführen. Kommt es aufgrund des gewählten Konsensmechanismus zwischen den Teilnehmern dazu, dass der Angreifer vom Netzwerk selbst selektiert wird, um neue Blöcke zu generieren, würden diese sofort von den anderen Teilnehmern abgelehnt werden.

Der Angreifer würde den Status des Blockerzeugers wieder verlieren, da je nach Konfiguration der Blockchain die Hälfte oder zwei Drittel aller Teilnehmer mit dem Ergebnis einer Transaktion einverstanden sein müssen, bevor sie netzwerkweit als korrekt angesehen wird. Ein Angriffsversuch schadet daher nur dem Angreifer selbst.

Man kann daher diesen Angriff in etwa damit vergleichen, dass ein Bankkunde den Stand auf seinem ausgedruckten Kontoauszug durchstreicht und ein erhöhtes Guthaben darüberschreibt. Aus seiner Sicht hat er jetzt viel mehr Geld als vorher. Sobald er aber versucht, auf dieses Geld zuzugreifen, wird er sehr schnell auf den Boden der Tatsachen zurückgeholt: Die eigene Sicht bleibt ein Wunsch und wird von seinem Gegenüber im besten Fall mit einem Lächeln quittiert werden.

Wie wird ein Smart Contract aufgerufen?

Nachdem wir bisher gesehen haben, wie ein Smart Contract technisch definiert ist, und wissen, dass er Ereignisse auslösen kann, die externe (Nicht-Blockchain-)Systeme verarbeiten können, fehlt nun noch ein letztes Puzzlestück: Wie wird der Smart Contract eigentlich aufgerufen?

Dafür gibt es für die meisten Blockchain-Plattformen entsprechende SDKs in JavaScript, .NET und/oder Java. Diese SDKs erlauben die Erstellung, Signierung und Übermittlung von Transaktionen an eigene oder fremdbetriebene Nodes des Blockchain-Netzwerks.

Bei Ethereum-Derivaten wird ein Smart Contract wie folgt aufgerufen: Zuerst werden der Methodenname und die Methodenargumente in ein definiertes Binärformat konvertiert. Dazu werden Hilfsmethoden von dem SDK bereitgestellt, die die Schnittstellenbeschreibung (ABI – Application Binary Interface) des Smart Contract verarbeiten und die entsprechenden Binärdaten generieren können. Danach wird eine Transaktion erstellt, die als Zieladresse jene Adresse verwendet, die bei der weiter oben beschriebenen Instanzierung des Smart Contracts angelegt wurde.

Diese gesamte Operation kann vom Clientcode entweder explizit in einzelnen Schritten durchgeführt werden, oder – wie in Listing 5 gezeigt – durch automatisch generierte Methoden auch wie ein normaler Funktionsaufruf aussehen. Im Listing sehen wir den relevanten Teil des Aufrufs der oben vorgestellten Contract-Methode requestTransfer, der web3.js [4], das JavaScript-SDK für Ethereum, verwendet.

Listing 5

// Contract-objekt wird auf Basis des ABI und einer beispielhaften Zieladresse erzeugt

let abi = JSON.parse(fs.readFileSync(“demoContract.abi”));

let address = “0xFe363D7030Db8E93517bB6315165B68AC4387DE8”;

let demoContract = new web3.eth.Contract(abi, address);

 

// Im Hintergrund wird der Methodenaufruf in eine Ethereum-Transaktion übersetzt, diese mit einer konfigurierten (und im Vorfeld explizit freigegebenen) Default-Identität signiert und an das Netzwerk gesendet.

let numberToTransfer = “491511234567”;

demoContract.methods.requestTransfer(numberToTransfer)

.send({/* Optionen */})

.then(function (receipt) {

// … weitere Verarbeitung

});

Smart Contracts und Kryptowährungen

Wir haben gesehen, dass Smart Contracts einfach eine Möglichkeit sind, um Programmcode verteilt in einem Netzwerk auszuführen. Damit erreicht man die von der jeweiligen Blockchain-Plattform garantierte Datenintegrität. Doch wie passt das mit dem Hype im IoT-Bereich (z. B. der in der Einleitung angeführten automatischen Kühlkettenüberwachung mit Strafzahlungen) zusammen? In solchen Fällen übernehmen die Smart Contracts durchwegs die Verwaltung monetärer Verrechnungseinheiten (Kryptowährungen).

Beispielsweise könnte für einen Kühlcontainer, den man von Singapur nach Amsterdam transportieren will, einen Smart Contract aufsetzen. Dieser implementiert die Überwachung der maximal erlaubten Temperaturschwankungsbreite (die der Logistikunternehmer garantiert) und gleichzeitig eine automatische Strafzahlung bei Abweichung.

Der Contract könnte so gestaltet sein, dass ein IoT-Sensor während des gesamten Transports stündlich die Temperatur an den Smart Contract meldet und eine Abweichung vom vereinbarten Temperaturbereich sofort eine weitere Blockchain-Transaktion zur Übertragung einer Verrechnungswährung als Strafzahlung vorsieht.

Auch bei Blockchain-Netzwerken, die die automatische Abwicklung von dezentralen Stromlieferungen übernehmen, handelt es sich um ähnliche Kombinationen von IoT-Sensoren mit Smart Contracts im Hintergrund. (Im Grunde basiert der Begriff „Smart Contract“ auf solchen konkreten Vorabvereinbarungen, die ohne manuelle oder gar gerichtliche Nachverfolgung auskommen und rein technisch automatisiert umgesetzt werden.)

Das wirklich Interessante und Neue an Blockchains ist, dass sie die Erstellung von komplett dezentralen Strukturen erlauben. Netzwerkbeteiligte müssen sich nicht mehr auf eine zentrale, vertrauenswürdige Stelle einigen, sondern nur noch auf den Inhalt der Smart Contracts. Diese laufen dann dezentral im Blockchain-Netzwerk. Nicht nur für den Logistiksektor, sondern für alle Marktbereiche besteht dadurch die Hoffnung, dass die Marktteilnehmer Digitalisierungsprozesse umsetzen können, ohne ihre Autonomie durch die Wahl eines zentralen Verarbeitungsorgans (aus ggf. einem Pool von Wettbewerbern der gleichen Branche) einzuschränken.

Und das finde ich persönlich wirklich extrem spannend.

Ingo Rammer ist Speaker bei der Blockchain Technology Conference vom 19-21. November in Berlin. Dort kann man praktische Erfahrungen mit internationalen Experten sammeln. Außerdem gibt es Live-Demos und Fallstudien von echten Implementierungen, individuelle Interaktion mit Experten und Networking-Möglichkeiten mit Menschen aus den verschiedensten Branchen. Es erwartet euch außerdem eine Vielzahl von Sessions, Workshops und Kurzvorträgen von internationalen Referenten.

Exklusiver Rabatt-Code für unsere Leser: Einfach blockchain-btc-15 eingeben und 15 Prozent Rabatt sichern. Tickets gibt es hier.

BTC-ECHO

Mehr zum Thema:

Ähnliche Artikel

Smart Contract sicher, Warum ist ein Smart Contract sicher? (Teil 4)
CashOnLedger im Interview: „Wir haben den Euro auf die Blockchain gebracht“
Blockchain

Oftmals fehlt es noch an Schnittstellen, um die traditionelle Bankenwelt mit der Krypto-Ökonomie zu verbinden. Genau dies möchten die Gründer von CashOnLedger ändern und haben eine Art Tokenisierungsschnittstelle zwischen Bankkonto und Wallet entwickelt. Wie der Euro auf der Blockchain funktioniert und welche Hürden noch genommen werden müssen, haben uns Serkan Katilmis und Maximilian Forster von CashOnLedger im Interview verraten.

Smart Contract sicher, Warum ist ein Smart Contract sicher? (Teil 4)
Ripple: Thailand und Laos proben Sofortüberweisungen mit ILP
Blockchain

Die thailändische Bankeinheit der japanischen MUFG Bankengruppe startet grenzüberschreitende Blockchain-Zahlungen.

Newsletter

Die aktuellsten News kostenlos per E-Mail

Aktuell

Smart Contract sicher, Warum ist ein Smart Contract sicher? (Teil 4)
CashOnLedger im Interview: „Wir haben den Euro auf die Blockchain gebracht“
Blockchain

Oftmals fehlt es noch an Schnittstellen, um die traditionelle Bankenwelt mit der Krypto-Ökonomie zu verbinden. Genau dies möchten die Gründer von CashOnLedger ändern und haben eine Art Tokenisierungsschnittstelle zwischen Bankkonto und Wallet entwickelt. Wie der Euro auf der Blockchain funktioniert und welche Hürden noch genommen werden müssen, haben uns Serkan Katilmis und Maximilian Forster von CashOnLedger im Interview verraten.

Smart Contract sicher, Warum ist ein Smart Contract sicher? (Teil 4)
Telegram schießt zurück: SEC betreibe „Ad hoc“-Justiz
Altcoins

Im Rechtsstreit zwischen dem Messaging-Anbieter Telegram und der US-amerikanischen Securities and Exchange Commission (SEC) hat Telegram nun seinerseits Vorwürfe gegen die SEC erhoben. Telegram unterstellt der SEC unter anderem, es versäumt zu haben, hinreichende Klarheit darüber zu schaffen, wie digitale Assets wie Kryptowährungen zu klassifizieren sind. Dabei führt Telegram dabei auch Aussagen an, die von KommissarInnen der SEC selbst stammen.

Smart Contract sicher, Warum ist ein Smart Contract sicher? (Teil 4)
Ripple: Thailand und Laos proben Sofortüberweisungen mit ILP
Blockchain

Die thailändische Bankeinheit der japanischen MUFG Bankengruppe startet grenzüberschreitende Blockchain-Zahlungen.

Smart Contract sicher, Warum ist ein Smart Contract sicher? (Teil 4)
McDonalds, Nestlé und Co. testen Blockchain für Werbung
Blockchain

Die Blockchain Technologie hat schon in vielen Lebensbereichen für mehr Transparenz und Effizienz gesorgt. Kein Wunder also, dass die Technologie auch im Sektor der digitalen Werbung mit Mehrwert Verwendung findet. Die in Großbritannien ansässige, branchenübergreifende Organisation JICWEBS hat nun neue Teilnehmer an ihrem Blockchain-Pilotprojekt für digitale Werbung bekannt gegeben. Zu den großen Teilnehmern gehören beispielsweise Nestlé, O2 und McDonalds.

Angesagt

Nach Libra: Facebook führt Zahlungssystem Facebook Pay ein
Unternehmen

Facebook führt ein eigenes Zahlungssystem ein. Mit Facebook Pay können Nutzer zukünftig Transaktionen über den Messenger-Dienst und über die eigene Social-Media-Plattform tätigen. Das Zahlungssystem wird zunächst in den USA eingeführt und soll bald auf weitere Länder und Plattformen wie Instagram & Co. übertragen werden.

Südkorea: 16 Jahre Haft für Bitcoin-Börsenchef von Coinup
Sicherheit

Südkoreanische Behörden versuchen schon länger, die Krypto-Szene im eigenen Land unter Kontrolle zu bekommen. Nun hat ein Gericht mit hohen Haftstrafen gegen Führungskräfte der Bitcoin-Börse Coinup ein warnendes Beispiel gesetzt.

Anti-Bitcoin: Chinas Blockchain-Pläne im digitalen Wettrüsten
Kommentar

Eine Regionalzeitung in China titelt „Bitcoin – die erste erfolgreiche Anwendung der Blockchain-Technologie“. Was auf den ersten Blick wie ein Aufklärungs-Artikel zur dezentralen Kryptowährung wirkt, entpuppt sich auf den zweiten Blick als Propaganda-Werkzeug für den digitalen Yuan.

Blockchain sei Dank: Vietnam soll Smart City bekommen
Blockchain

Blockchain-Technologie für den Ausbau der smarten Stadt von Morgen zu nutzen, ist keine neue Idee. Ganze vorne mit dabei: Ho-Chi-Minh-Stadt. Dass allerdings ausgerechnet das krypto-skeptische Vietnam zu den Vorreitern in Sachen Blockchain-Anwendungen werden könnte, überrascht.