Blockchain & Smart Contracts   — Die grundlegende Technologie, wenn wir von Web3 sprechen

News, 02.05.2024

Blockchain als Technologie

Die grundlegende Technologie, wenn wir von Web3 sprechen, ist die der Blockchain. Auf ihr bauen weitere Technologien und Lösungen auf. Mit Hilfe des kryptographischen Beweises wird besonders die Notwendigkeit einer vertrauenswürdigen dritten Person ersetzt und Lösungen wie Kryptowährung, Smart Contracts, NFTs und die DAO können realisiert werden.  

Der Begriff Blockchain wird oft unmittelbar mit Bitcoin in Verbindung gebracht, was darauf zurückzuführen ist, dass die erste verteilte Blockchain zwischen 2007 und 2009 von einer anonymen Person oder Gruppe namens Satoshi Nakamoto für das Bitcoin-Zahlungssystem konzeptioniert und veröffentlicht wurde. Mittlerweile gibt es eine Vielzahl von unterschiedlichen Blockchains, welche sich an der Grundidee von Bitcoin orientieren aber z.B. für Technologien wie Smart Contracts optimiert wurden.  

Wie funktioniert eine Blockchain? 

Eine Blockchain besteht aus einer Reihe von Blöcken, die mittels kryptografischer Signaturen miteinander verkettet sind und auf verschiedenen Computern im Internet gespeichert sind. Jeder Block in einer Blockchain kann diverse Informationen umfassen, wobei Transaktionen, der Hash (bedeutet so viel wie ein digitaler Fingerabdruck) des vorherigen Blocks, der Zeitstempel und der Nonce-Wert (Nonce ist die Abkürzung für „number once“ und bezieht sich auf eine beliebige Zahl, die nur einmal bei einer kryptografischen Datenübertragung verwendet wird) die wesentlichen Elemente für das Funktionieren der Blockchain sind.  

Diese Informationen werden in einem Hash-Baum strukturiert und bilden gemeinsam die Grundlage für den Hashwert des jeweiligen Blocks. Da jeder Block den Hash seines Vorgängers enthält, entsteht so eine kontinuierliche Kette, die die Integrität und Verbindung aller Blöcke gewährleistet. Dadurch entsteht eine sichere und transparente Methode zur Speicherung von Informationen und Durchführung von Transaktionen, ohne dass eine zentrale Behörde erforderlich ist. 

 

 

Das Mining von Blöcken in einer Blockchain bezieht sich auf den Prozess des Findens eines gültigen Hashwerts, der bestimmte, vom System vorgegebene, Kriterien erfüllt. Diese Kriterien, oft als „Target“ bezeichnet, legen fest, wie der Hash aussehen muss, damit der Block akzeptiert und zu der Kette hinzugefügt wird. Ein häufiges Kriterium ist, dass der Hash mit einer spezifischen Anzahl an Nullen beginnen muss. 

Beim Mining wird durch Versuch und Irrtum (Trial and Error) ein passender Nonce-Wert gesucht. Dieser Wert, in Kombination mit dem festen Hash der Transaktionen und dem Hash des vorherigen Blocks, soll einen Hash für den neuen Block erzeugen, der den Anforderungen entspricht. Nach der Erstellung wird der neue Block im Netzwerk verbreitet, validiert und bei Zustimmung in die Blockchain integriert. 

Diese Methode wird Proof-of-Work (PoW) genannt und ist durch seinen hohen Energiebedarf eine oft zurecht kritisierte Lösung. Alternative setzt sich die Methode Proof-of-Stake (PoS) immer weiter durch. 

Beim Proof-of-Stake gibt es nicht den energieaufwendigen Wettkampf über das Lösen eines mathematischen Problems, als erstes den nächsten Block zu erstellen. Netzwerkteilnehmer können sich als Validatoren über einen Wert bewerben und wenn dann vom Netzwerk bestimmt diesen Block zu erstellen. In einige existierenden Szenarien beseht der Wert aus der Anzahl an Token und einem weiteren Wert wie dem Alter. Der eingesetzt Werte wird auch als Stake bezeichnet.  

 

 

Ein zweiter Wert ist wichtig, um eine Dominanz von Validatoren mit sehr vielen Token vorzubeugen. Nach Einsatz des Stakes reduziert sich der zweite Wert, um die Bewerbung für die nächste Blockerstellung zu erschweren. Ein weiterer Vorteil, der für den Einsatz von Proof of Stack spricht, ist der höhere Schutz vor Betrug. Es ist nachweisbar schwerer 51 % aller Token zu besitzen als über die Hälfte an Mining Kapazität. 

Die Blockchain-Technologie hat sich von ihrem Ursprung in der Kryptowährung zu einem Schlüsselelement des Web3 entwickelt, mit dem Potenzial, weit über finanzielle Anwendungen hinaus zu wirken. Als dezentrales, sicheres und transparentes System ebnet sie den Weg für eine neue Ära digitaler Transaktionen.  

Smart Contracts 

Smart Contracts, eine zunehmend populärere Anwendung auf der Blockchain, wurden bereits in den 1990er Jahren vom Informatiker Nick Szabo geprägt. Szabo führte den Begriff ein, um die enge Verbindung dieser Technologie zum Vertragsrecht zu unterstreichen. Ihre breite und konsequente Nutzung begann allerdings erst Mitte der 2010er Jahre. 

Smart Contracts sind selbstausführende Verträge, die ohne Zwischenhändler funktionieren und auf einfachen Wenn-Dann-Prinzipien basieren. Ein anschauliches Beispiel hierfür sind Verkaufsautomaten: Wird der korrekte Betrag eingeworfen, wird das Produkt freigegeben. 

 

 

Für die Erstellung von Smart Contracts wird häufig Solidity verwendet, eine statisch typisierte Programmiersprache, die auf JavaScript basiert. Bevor ein Smart Contract erstellt und auf der Blockchain implementiert werden kann, ist eine Wallet erforderlich, die dem Smart Contract zugeordnet wird. Diese Zuordnung ist entscheidend, um den Eigentümer zu identifizieren, der in der Regel wesentliche Berechtigungen innerhalb des Codes besitzt. 

Sobald die erforderlichen Vorbedingungen erfüllt sind, lässt sich der Smart Contract erstellen und auf der Blockchain speichern. Enthält der Code Fehler, können diese im bereits veröffentlichten Smart Contract nicht mehr korrigiert werden; stattdessen muss ein neuer, fehlerfreier Smart Contract auf der Blockchain implementiert werden. Wie alle Inhalte auf der Blockchain ist auch der Code eines Smart Contracts öffentlich einsehbar. Darüber hinaus werden auf der Blockchain nicht nur der Code selbst, sondern auch die Zustände eines Programms dauerhaft festgehalten. 

Nach der erfolgreichen Implementierung eines Smart Contracts auf der Blockchain wird diesem eine eindeutige Adresse zugewiesen, um ihn zu identifizieren und ausführen zu können. Die Zugriffsrechte und Funktionen innerhalb des Codes sind durch ein Rechtemanagement begrenzt, wobei in der Regel der Eigentümer (Owner) vollumfängliche Rechte besitzt, während anderen Vertragsparteien nur bestimmte Funktionen zur Verfügung stehen. Die Identifikation der Nutzenden sowie die Abrechnung der Codeausführung erfolgen über ihre Wallets. Bei Ausführung wird der Smart Contract Code an die Ethereum Virtual Machine (EVM) übermittelt und dort verarbeitet. Die für diese Rechenoperation erforderliche Rechenleistung wird über eine sogenannte Gas Fee mit der ausführenden Wallet abgerechnet. Die durch die Ausführung des Codes entstandenen neuen Zustände und Transaktionen werden auf der Blockchain gespeichert und sind somit öffentlich einsehbar. Trotz der Transparenz bleiben die Vertragsparteien durch die Verwendung nicht zuordenbarer Wallet-IDs anonym. 

Diese Methode ermöglicht die Realisierung zahlreicher Geschäftsbeziehungen in verschiedenen Branchen. Mittlerweile ist es sogar möglich, durch sogenannte Oracles Daten aus der realen Welt sicher an die Blockchain und somit an die Smart Contracts zu übermitteln. Ein Anwendungsbeispiel hierfür sind Finanzdaten, die in Decentralized Finance (DeFi) Projekten Verwendung finden. 

Smart Contracts haben eine transformative Kraft, die automatisierte, vertrauenswürdige Transaktionen ohne Zwischenhändler ermöglichen. Durch die Integration von Daten aus der realen Welt via Oracles erweitern sie das Anwendungsspektrum der Blockchain erheblich. Ihr Potenzial zur Vereinfachung und Absicherung von Vertragsausführungen positioniert sie als Schlüsseltechnologie für die digitale Wirtschaft. 

Autor*innen

  • Achim Hepp
    Head of Marketing, B1T5.IO, Lableiter Lab Web3
     
  • Andreas Günter
    Senior Consultant Mobile Strategy & Projects, Ströer, Lableiter Lab Immersive Technologies 
  • Lea Horn,
    Principal Consultant Arvato Systems, stv.
    Vorsitzende der Fokusgruppe Immersive Experiences  

Kontakt

Katharina Jäger
Leiterin Innovation & Technology
Nachricht schreiben