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?

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

Jetzt in Kryptowährungen investieren: Kryptowährungen kaufen, verkaufen oder traden – wir haben die besten Broker, Börsen und Zertifikate zusammengestellt: Bitcoin kaufen | Ether kaufen | Ripple kaufen | IOTA kaufen | Broker-Vergleich

Mehr zum Thema:

Ähnliche Artikel

Bitcoin- und Blockchain-News: Das Wichtigste der Woche
Bitcoin- und Blockchain-News: Das Wichtigste der Woche
Bitcoin

Bitcoin, der Facebook Coin Libra und der US-Senat dominierten ganz klar die vergangene Krypto-News-Woche. Währenddessen ging es jedoch auch bei Binance und in Japan hoch her. Der BTC-ECHO-Newsflash.

Julian Hosp zu Mikrotransaktionen: „Die Nutzerfreundlichkeit ist der Knackpunkt“
Julian Hosp zu Mikrotransaktionen: „Die Nutzerfreundlichkeit ist der Knackpunkt“
Blockchain

Dr. Julian Hosp zählt zu den bekanntesten Köpfen in der deutschsprachigen Bitcoin- und Blockchain-Community. Mit seinen zahlreichen Vorträgen, Büchern und YouTube-Beiträgen hat er sich zum Ziel gesetzt, die Menschen „cryptofit“ zu machen. Entsprechend gehört auch er zu der Gruppe der Publisher, ergo Verlage, Medienplattformen oder Blogger, die Inhalte produzieren, um sie der breiten Öffentlichkeit zugänglich zu machen. In diesem Kontext stellt sich die Frage, wie Kryptowährungen und Blockchain-Lösungen das Verlagswesen zukünftig verändern können. Wir haben nach seiner Einschätzung gefragt und über die Chancen von Mikrotransaktionen gesprochen.

Newsletter

Die aktuellsten News kostenlos per E-Mail

Aktuell

IOTA veröffentlicht Roadmap für Coordicide
IOTA veröffentlicht Roadmap für Coordicide
Altcoins

Am 29. Mai dieses Jahres hat IOTA den Coordicide angekündet, dahinter verbirgt sich die Abschaltung des Koordinators, der IOTA-Transaktionen überwacht. Nun hat die IOTA Foundation eine Roadmap vorgestellt.

Steve Wozniak: Apple-Mitgründer will nach Malta
Steve Wozniak: Apple-Mitgründer will nach Malta
Tech

Der Apple-Mitgründer Steve Wozniak gab bei einer Podiumsdiskussion seine Zukunftspläne bekannt. Was ihn bewegt, nach Malta zu gehen und welche Unternehmensidee er unterstützen will.

Datenleak bei Bitcoin-Börse QuickBit enthüllt Kundendaten
Datenleak bei Bitcoin-Börse QuickBit enthüllt Kundendaten
Sicherheit

Die Bitcoin-Börse QuickBit hat versehentlich große Datenmengen geleakt. Über Tage kursierten sensible Kundendaten ohne Firewall für jedermann einsehbar im Internet. QuickBit-Kunden wird geraten, ihr Passwort zu ändern.

Deutsche Bundesbank sieht Bitcoin als „spekulatives Nischenprodukt“
Deutsche Bundesbank sieht Bitcoin als „spekulatives Nischenprodukt“
Unternehmen

Für die Deutsche Bundesbank hat das Kursgebaren von Bitcoin & Co. in den letzten Jahren vor allem eines gezeigt: Dass Kryptowährungen weder als Zahlungsmittel noch als Wertspeicher taugen. Anders blickt die Zentralbank auf das Potenzial von Stable Coins. Gegenüber dem Facebook-Coin Libra nimmt die Bundesbank eine argwöhnisch-abwartende Haltung ein.

Angesagt

Trading-App Robinhood sammelt 323 Millionen US-Dollar ein
Invest

Die Trading-Plattform Robinhood sammelt in einer Series-E-Funding-Runde 323 Millionen US-Dollar ein. Damit ist das Unternehmen mit 7,6 Milliarden US-Dollar bewertet. Das Geld soll auch in den Ausbau der Krypto-Sparte fließen, diese ist jetzt bereits in 30 US-Bundesstaaten verfügbar.

Bitcoin-Gerüchteküche: Justin Sun in China angeklagt
Szene

Neues aus der Bitcoin-Gerüchteküche. Gegen Justin Sun soll aktuell ermittelt werden. Die Gerüchte kamen auf, als der Gründer und Vorsitzende der Kryptowährung TRON sein Krypto-Dinner mit Warren Buffet und „Größen“ aus dem Bitcoin-Ökosystem abgesagt hat.

Bitcoin-Börse BitFinex und Tether ziehen sich aus der Verantwortung
Krypto

Der Gerichtsprozess rund um die in Verruf geratene Bitcoin-Börse BitFinex und den Stable-Coin-Anbieter Tether geht in eine neue Runde. Nun sagt einer der Anwälte der Firmen, dass weder BitFinex noch Tether Kunden in den USA betreuen würden.

BaFin genehmigt ersten Immobilien-Token
STO

Die BaFin genehmigt das erste deutsche Security Token Offering (STO) für blockchainbasiertes Immobilieninvestment und das zweite deutsche STO überhaupt. Damit gibt die Bundesanstalt für Finanzdienstleistungsaufsicht den Startschuss für digitale Wertpapiere im Real-Estate-Bereich. Ein neues Anlagevehikel?

Warte mal kurz ... !

Kennst du schon unseren Newsletter? Wir versorgen dich kostenlos mit den spannendsten News der Krypto- und Blockchainszene: