Übersicht über Smart Contracts am Beispiel von Ethereum mit Betrachtung eines realen Anwendungsfalls Wsl schon abgeschaltet Idee dahinter ist interessant und revolutionär Werde darum anschaulich erklären
Übersicht über Smart Contracts am Beispiel von Ethereum mit Betrachtung eines realen Anwendungsfalls
Smart Contracts Übersetzt „schlaue Verträge“ Auch nicht vielsagend Darum Beispiel
Smart Contracts Regeln Permanente Überprüfung Aktionen Getränkeautomat 3 Eigenschaften Treffen alle zu SC haben nicht direkt mit „klassischen“ Verträgen zu tun Eher Programm wo die Regeln / Aktionen einprogrammiert sind
Ausfall Manipulation Smart Contracts Effizient Keine böswilligen Absichten Ausfall Manipulation Effizient: Billiger, 24/7 Keine böswilligen Absichten: Wichtiger wenn‘s um mehr Geld geht Ausfall: Doof, schlimm wenn‘s um mehr Geld geht Manipulation: Alles wird zur Zeit gehackt, bei Getränkeautomat doof, schlimm wenn‘s um mehr Geld geht Brauchen also System dem wir vertrauen können: Kein Ausfall, keine Manipulation
Blockchain -
Blockchain Quasi DB Nicht auf einem zentralen Server
Blockchain Sondern verteilt Das heißt als komplette Kopie auf vielen Computern Synchronisieren sich untereinander Nur Eigentümer kann seine Daten ändern Wird von allen überprüft Krypto, sprengt den zeitlichen Rahmen
Blockchain: Transaktion Zustand A Zustand B Änderung heißt Transaktion Ändert DB von Zustand A zu Zustand B
Blockchain: Transaktion A = 1 B = 2 Kann einfache Änderung sein
Blockchain: Transaktion A -= 1€ B += 1€ zB Bitcoin Transaktion = Überweisung Kontostand A verringern Kontostand B erhöhen
Blockchain: Transaktion Kann auch komplexe Änderung sein Wird durch Programm Code beschrieben
Ethereum Das ist bei Ethereum der Fall Open Source
Ethereum Ethereum Smart Contract Smart Contract Smart Contract Ether Plattform für SC Kryptowährung Ether
Ethereum Programmcode Variablen Kontostand SC bekommt eigenen Datenbereich Darin liegen … Interaktion via Transaktion Entweder Funktions-Call oder Überweisung von ETH oder beides Bei Funktions-Call: Entsprechender Code wird ausgeführt Dabei werden Variablen / Kontostand geändert Daraus resultiert der neue Zustand
Ethereum Code läuft in virtueller Umgebung Ähnlich JVM bei Java Kann nur auf Daten der Blockchain zugreifen Nicht auf extern Ressourcen, zB: Dateien Internet Ist also isoliert Ist wichtig für Konsens Als nächstes wie Benutzer Ethereum nutzen können
Ethereum Kontostand Account: Eigener Datenbereich Kein Code, keine Variablen Nur Kontostand Kann ETH senden, empfangen, mit Smart Contracts interagieren Womit / Wie genau denn?
Ethereum: Client Ethereum Wallet (Live Demo) Konten Transaktionen Senden Verträge Viele Contracts haben auch Weboberflächen zu besseren Interaktion Jetzt wissen wir, wie man Ethereum NORMAL verwendet Aber wies PROGRAMMIEREN?
Solidity Solidity nice Gibt auch Serpent und LLL
Ethereum: Programmierung Ähnlich Java/JavaScript/C++ contract address event modifier msg Objekt (siehe Folie) Keine Main Methode Immer nur eine Instanz eines Contracts Gibt verschiedene Entwicklungsumgebungen Plugins für Atom / Sublime / vim / … Standalone: zB Browser-Solidity
Ethereum: Programmierung (Live Demo) Links der Code Rechts Interaktion (beides kurz zeigen) Veröffentlichung über Browser-Solidity oder anderen Client SC bekommt dann eine Adresse Jetzt wissen wir Was ist ein SC Wie funktioniert er Wie benutze ich den Wie programmiere ich einen Aber was für einen machen wir denn jetzt??
Beispiele Endlose Möglichkeiten Darum Beispiele
Beispiele Verewigung von Nachrichten / Daten Glücksspiel Dokumente mit Zeitstempel Identity Provider Liste von SC Projekten Werden Dapps genannt Dezentrale Applikation bzw. decentralized application Beispiele Verewigung von Nachrichten / Daten Glücksspiel (kann nicht betrügen) Dokumente (Hash) mit Zeitstempel Identity Provider (mit Signaturen)
Beispiel: DAO Dezentrale autonome Organisation Leute tun sich zusammen, möchten zusammen ein Ziel verfolgen Lassen ihr Geld von einem Smart Contract verwalten
Beispiel: DAO Zweck Empfänger Betrag Um Geld für etwas bewilligt zu bekommen muss Antrag schicken Zweck Empfänger Betrag
Beispiel: DAO Zweck Empfänger Betrag Alle oder mehr als die Hälfte müssen zustimmen Smart Contract überweist Geld direkt Somit kann kein Mitglied Geld stehlen Weiterentwicklung: Wahlen / Direkte Demokratie
Fazit Vertrauen durch Blockchain Neue Generation von Services Kann IT in vielen Bereichen revolutionieren Vertrauen durch Blockchain Neue Generation von Services Kann IT in vielen Bereichen revolutionieren
Noch Fragen?