Ethereum ist eine offene Blockchain-Plattform, die es jedem ermöglicht, dezentrale Anwendungen zu erstellen und zu nutzen. Im Jahr 2013 veröffentlichte Vitalik Buterin, der Gründer von Ethereum, das Ethereum-Whitepaper, das den Kern seines Designs und den technischen Aspekt von Ethereum darlegte und damit den Grundstein für die dynamische Entwicklung von Blockchain-Anwendungen und -Ökosystemen in der Zukunft legte.
Das Hauptziel von Ethereum bestand darin, die Funktionalität von Bitcoin zu verbessern, nicht nur als digitales Zahlungssystem. Der Hauptunterschied zwischen den beiden besteht darin, dass Ethereum Code speichern kann, der ausgeführt werden kann. Diese Kerninnovation wird auch Smart Contracts genannt, was bedeutet, dass jeder Entwickler ausführbare dezentrale Anwendungen (dApps) auf der Ethereum-Blockchain schreiben kann, um verschiedene Geschäftsanforderungen und Gesellschaftsverträge umzusetzen.
Mit dem Aufkommen intelligenter Verträge können Benutzer sichere, transparente und automatisierte Transaktionen und Kooperationen durchführen, ohne dass Vertrauen oder Vermittler erforderlich sind. Dadurch wurden der Nutzen und die Funktionalität von Blockchain-Netzwerken erweitert.
Allerdings sind die Entwicklung und die praktische Anwendung von Ethereum zwangsläufig auf einige Herausforderungen gestoßen, von denen die Skalierbarkeitsprobleme am bedeutendsten sind. Als der Kryptowährungsmarkt ein schnelles Wachstum und einen Anstieg des Transaktionsvolumens erlebte, reichte die Leistung der Ethereum-Blockchain nicht mehr aus, um die Nachfrage zu decken. Daher benötigt Ethereum kontinuierliche Innovation und Weiterentwicklung, um seiner wachsenden Nutzerbasis gerecht zu werden.
Diese Lektion bietet einen umfassenden Überblick über die technologische Entwicklung von Ethereum, untersucht, wie Ethereum zum Pionier im Blockchain-Bereich geworden ist, und führt Sie zum Verständnis der Skalierbarkeitsherausforderungen, denen Ethereum gegenübersteht, und der entsprechenden Lösungen.
Vor der Entstehung von Ethereum beschränkte sich der Schwerpunkt der Blockchain-Entwicklung hauptsächlich auf digitale Währungen und Zahlungssysteme, wobei dezentrale Blockchain-Ledger zur Aufzeichnung von Transaktionen genutzt wurden. Am Beispiel von Bitcoin kann das Bitcoin-Netzwerk als Zustandsübergangssystem angesehen werden, das das UTXO-Modell (Unspent Transactions Output) verwendet. UTXO bezieht sich auf die verbleibende Menge an Token einer Transaktion, die in einer anderen Transaktion verwendet werden kann. Es kann als das verbleibende, nicht ausgegebene Guthaben interpretiert werden, nachdem Ihnen jemand einen bestimmten Geldbetrag gegeben hat.
Jedes Mal, wenn ein Miner einen neuen Block produziert, stellt dies eine Änderung im Zustand des Bitcoin-Netzwerks dar, da der neue Block einige gültige Transaktionen enthält, die einige vorhandene UTXOs verbrauchen und neue UTXOs erstellen. Diese neuen UTXOs stellen den neuesten Stand des Bitcoin-Netzwerks dar, der die Anzahl und Verteilung der von allen Benutzern gehaltenen Bitcoins widerspiegelt.
Vorheriger Status + gültige Transaktionen in einem neuen Block = Aktueller Status
Zustandsübergang von UTXO
Im Alltag sind die Menschen eher mit dem Kontomodell traditioneller Bankensysteme vertraut, bei dem eine Blockchain-Adresse einem Konto entspricht. Bei jeder Transaktion werden Gelder oder Daten von einem Konto auf ein anderes übertragen, und der Kontostand ist der Vermögenswert, der Ihnen gehört. Bei der Durchführung von Transaktionen über das UTXO-Modell gibt es keine Adressbeschränkung, d. h. Sie können für jede Transaktion eine andere Adresse verwenden. Ihr Vermögen ist die Summe aller mit Ihnen verbundenen UTXOs und nicht der Saldo einer bestimmten Adresse. Daher verfügt UTXO über eine bessere Parallelisierung, während das Kontomodell eher sequentiell ausgeführt wird, was zu eingeschränkten Leistungen führt. Obwohl das UTXO-Modell eine bessere Privatsphäre und Skalierbarkeit bietet, ist es weniger intuitiv und schwierig, komplexe logische Operationen zu implementieren. Beispielsweise weist die Programmiersprache von Bitcoin folgende Einschränkungen auf:
Nicht-Turing abgeschlossen
Obwohl die Bitcoin-Skriptsprache eine Vielzahl von Funktionalitäten unterstützt, unterstützt sie nicht alle Berechnungen, insbesondere fehlt die Unterstützung für Schleifen. Theoretisch kann jede Schleifenoperation erreicht werden, indem der zugrunde liegende Code wiederholt über mehrere Ebenen von IF-Anweisungen ausgeführt wird. Dies führt jedoch zu einer sehr geringen Betriebseffizienz.
Schwierig, den Wert zu bestimmen
UTXO-Skripte können den Betrag, der abgehoben werden kann, nicht genau steuern. Beispielsweise muss Benutzer A das Preisrisiko absichern und Benutzer B fungiert als Gegenpartei. Die beiden Parteien zahlen Vermögenswerte im Wert von 1.000 US-Dollar in einen Vertrag ein. Nach 30 Tagen erhält Benutzer A Bitcoin im Wert von 1.000 US-Dollar zurück und der verbleibende Teil wird an Benutzer B gesendet. Dies würde erfordern, dass ein Orakel den Dollarwert von 1 Bitcoin ermittelt, was das Orakel dazu zwingt, viele UTXOs unterschiedlicher Stückelung zu halten.
Mangelnde staatliche Flexibilität
UTXO kann entweder ausgegeben oder nicht ausgegeben werden. Es ist schwierig, Optionsverträge, dezentrale Angebotssysteme, kryptografische Verpflichtungsprotokolle und andere Anwendungen zu erstellen, die mehrstufige Zustände erfordern (z. B. „in Verwendung“). Daher können UTXOs nur zum Erstellen einfacher einmaliger Verträge verwendet werden und nicht für komplexere „zustandsbehaftete“ Verträge in dezentralen Protokollen.
Blockchain-Daten können nicht angezeigt werden
Das UTXO-Modell bietet keinen Einblick in Blockchain-Daten wie Zufallszahlen, Zeitstempel und den Hash des vorherigen Blocks. Diese Einschränkung schränkt die Entwicklung von Spielen und anderen Arten von dApps ein.
Um die Mängel von Bitcoin in Smart-Contract-Anwendungen zu beheben, hat Ethereum das UTXO-Modell aufgegeben und ein Kontomodell eingeführt, das persönlichen Bankkonten ähnelt, bei dem eine Datenbank den Kontostand jedes Kontos aufzeichnet und ihn bei jeder Transaktion automatisch aktualisiert.
Es gibt zwei Arten von Konten auf Ethereum: externe Konten, die durch private Schlüssel gesteuert werden, und Vertragskonten, die durch Smart-Contract-Code gesteuert werden. Ether dient als Tauschmedium innerhalb des Ethereum-Netzwerks.
Bei der Entwicklung der Blockchain war Ethereum das erste Blockchain-Netzwerk, das die weit verbreitete Einführung von Smart Contracts und dApps ermöglichte. Smart Contracts auf Ethereum werden typischerweise mit der Solidity-Sprache programmiert. Dabei handelt es sich um auf der Blockchain ausgeführte Programme mit Funktionen wie Automatisierung, Dezentralisierung, Transparenz und Unveränderlichkeit, wodurch sie sich für die Implementierung verschiedener Geschäftslogiken und Transaktionsregeln eignen. Benutzer können sicher und zuverlässig Transaktionen durchführen, ohne Dritten vertrauen zu müssen.
Mithilfe intelligenter Verträge können verschiedene Arten von dApps entwickelt werden, wodurch das Ethereum-Netzwerk im Wesentlichen zu einem weltweit gemeinsam genutzten Computer wird. Jeder kann auf diesem Computer auf Daten zugreifen und verschiedene Arten von Anwendungen entsprechend seinen Anforderungen bearbeiten und bedienen.
Auf den ersten Blick mag es nicht besonders einzigartig erscheinen, da es sich lediglich um die Ausführung von Softwareprogrammen handelt, oder? Durch das Speichern von Daten und das Ausführen von Webanwendungscode auf zentralen Servern oder das Installieren von Software auf Personalcomputern können scheinbar dieselben Anwendungsfunktionen erreicht werden wie durch intelligente Verträge.
Allerdings birgt dieser Ansatz Einschränkungen und Risiken wie Datenverlust, Manipulation und Dienstunterbrechungen. Das Aufkommen intelligenter Verträge bietet beispiellose Sicherheit, Überprüfbarkeit und Zensurresistenz gegenüber herkömmlichen Anwendungen. Insbesondere weisen die Smart Contracts von Ethereum mehrere wesentliche Unterschiede zu allgemeinen Webanwendungen und clientseitiger Software auf:
Ethereum Virtual Machine (EVM) ist ein Turing-vollständiger Computer, der auf der Ethereum-Blockchain läuft. Es führt den Code intelligenter Verträge aus und ändert den Zustand der Blockchain. Eine Analogie zum Verständnis ist das Betriebssystem (OS), das auf PCs oder Smartphones läuft, wo nur innerhalb dieser spezifischen Umgebung Smart Contracts und Ethereum-Anwendungen ausgeführt werden können.
Das EVM arbeitet in einer isolierten Umgebung, unabhängig von externen Störungen und ohne Auswirkungen auf die zugrunde liegende Hardware. Dabei wird der Code intelligenter Verträge, der normalerweise in der Solidity-Sprache geschrieben ist, in einen Bytecode-Befehlssatz namens EVM-Bytecode kompiliert. Das EVM führt diese Anweisungen dann Schritt für Schritt aus.
Die Ausführung des EVM führt zu Änderungen am Zustand der Blockchain, wie zum Beispiel der Übertragung von Token, der Speicherung von Daten oder dem Auslösen von Ereignissen. Um zu verhindern, dass bösartiger Smart-Contract-Code Endlosschleifen verursacht oder das Ethereum-Netzwerk zum Absturz bringt, verbraucht jede Anweisung eine bestimmte Menge Gas. Wenn nicht genügend Gas vorhanden ist, kann der Vorgang nicht durchgeführt werden.
Die Gasgebühr bezieht sich auf die Transaktionsgebühr, die in Ether (ETH) im Ethereum-Netzwerk für die Ausführung von Smart Contracts oder die Übertragung von Token gezahlt wird. Es wird verwendet, um Miner zu belohnen, die das Netzwerk pflegen. Die Kosten der Gasgebühr hängen von der Komplexität der Transaktion und dem Überlastungsgrad des Netzwerks ab und werden typischerweise in Gwei gemessen (1 Gwei = 0,000000001 ETH).
Händler können ihren eigenen Gaspreis (den Preis pro Gaseinheit) und ihr Gaslimit (die maximale Gasmenge, die sie zu zahlen bereit sind) festlegen, um die Geschwindigkeit und Kosten ihrer Transaktionen anzupassen.
Die Formel zur Berechnung der Gasgebühr auf Ethereum lautet wie folgt:
Gaspreis * Gaslimit = Gasgebühr
Der Gaspreis stellt den Einheitspreis der Gebühr dar. Wenn der Gaspreis zu niedrig ist, ist die Priorität der Transaktion möglicherweise geringer und die Bergleute ignorieren sie möglicherweise.
Das Gaslimit bezieht sich auf die Höhe der Gebühren. Wenn das Gaslimit zu niedrig ist, hat dies keinen Einfluss auf die Priorität der Transaktion, allerdings kann die Transaktion aufgrund unvollständiger Ausführung fehlschlagen und die gezahlte Gasgebühr wird nicht zurückerstattet.
Gemäß EIP-1559 (Ethereum Improvement Proposal) beinhaltet der Gaspreis eine Grundgebühr, die dynamisch an die Netzwerknachfrage und die Blockgröße angepasst wird. Transaktionen mit Gaspreisen, die über der Grundgebühr liegen, werden garantiert verarbeitet und die ETH wird verbrannt, um das Token-Angebot im Ethereum-Netzwerk zu reduzieren.
Trinkgelder sind optionale zusätzliche Gebühren, die Benutzer bereit sind, an Miner oder Validatoren zu zahlen. Benutzer können ihre eigenen Werte für Tipps festlegen, die dazu beitragen können, die Priorität ihrer Transaktionen zu verbessern oder die Transaktionsgeschwindigkeit bei Netzwerküberlastung zu beschleunigen.
Aufgrund des Gasmechanismus von Ethereum können die Rechenressourcen und der Speicherplatz des Blockchain-Netzwerks angemessen bepreist werden, wodurch verhindert werden kann, dass intelligente Verträge unendliche Fehlschleifen ausführen oder von böswilligen Akteuren angegriffen werden.
Vor der Ethereum-Fusion im September 2022 verließen sich sowohl Ethereum als auch Bitcoin auf den Proof of Work (PoW)-Konsensmechanismus, um den normalen Betrieb ihrer Blockchain-Netzwerke zu ermöglichen.
Am Mining beteiligte Geräte mussten ein komplexes kryptografisches Rätsel lösen, indem sie mithilfe von Rechenleistung einen Hash-Wert berechneten, der bestimmte Anforderungen erfüllt. Dieser Prozess verbrauchte erhebliche Rechenressourcen und Strom, und die Schwierigkeit des Rätsels änderte sich mit der Rechenleistung des Netzwerks weiter. Benutzer, die Rechenleistung bereitstellten, wurden als Miner bezeichnet.
Durch den kontinuierlichen Versuch, den Hash-Wert zu berechnen, hatten Miner die Möglichkeit, einen Hash-Wert zu finden, der den Anforderungen entspricht. Miner könnten dann die ausstehenden Transaktionen in einen Block packen und den Block zur Validierung und Bestätigung an das gesamte Netzwerk senden. Wenn der Block bestätigt würde, würde der Miner Blockbelohnungen und Transaktionsgebühren erhalten.
Nach dem Ethereum 2.0-Upgrade hat Ethereum den Proof of Stake (PoS)-Konsensmechanismus für das Mining übernommen. Knoten, die Transaktionen validieren, müssen eine bestimmte Menge Ether als Sicherheit hinterlegen, um um das Recht zur Produktion neuer Blöcke zu konkurrieren.
Der Zweck des Absteckens besteht darin, den Knoten wirtschaftliche Risiken aufzuerlegen, sodass die abgesteckten Vermögenswerte der Knoten, die das Netzwerk angreifen, gekürzt werden, was zu Verlusten führt. Dies dient der Abschreckung vor böswilligem Verhalten. Je mehr Ether ein Knoten einsetzt, desto höher ist die Wahrscheinlichkeit, das Recht zu erhalten, neue Blöcke zu produzieren.
Die für die Blockproduktion verantwortlichen Knoten müssen ausstehende Transaktionen verpacken, neue Blöcke generieren und diese zur Validierung und Bestätigung an das Netzwerk senden. Wenn ein Block bestätigt wird, erhält der Knoten Blockbelohnungen und Transaktionsgebühren sowie bestimmte Renditen basierend auf der Höhe der eingesetzten Vermögenswerte.
Der Mining-Mechanismus spielt eine entscheidende Rolle im Ethereum-Netzwerk, was sich vor allem in den folgenden Aspekten widerspiegelt:
Gewährleistung der Zuverlässigkeit und Sicherheit von Transaktionen
Beim Mining geht es darum, der Blockchain neue Transaktionen hinzuzufügen, die Anzahl der Blöcke zu erhöhen und die Legitimität dieser Transaktionen durch den Erhalt eines Arbeitsnachweises (derzeit Proof of Stake) zu bestätigen. Durch das Mining wird es für Angreifer schwierig, Transaktionen böswillig zu manipulieren, wodurch die Zuverlässigkeit und Sicherheit der Transaktionen gewährleistet wird.
Aufrechterhaltung der Dezentralisierung der Blockchain
Der Mining-Mechanismus kann verhindern, dass eine einzelne Entität oder Organisation das gesamte Ethereum-Netzwerk kontrolliert, da das Mining eine erhebliche Menge an Rechenleistung erfordert (derzeit stattdessen eingesetzte Token) und Angreifer erhebliche Ressourcen benötigen würden, um die Kontrolle zu erlangen. Dadurch wird die Dezentralisierung des Netzwerks sichergestellt und eine monopolistische Kontrolle durch eine Einzelperson oder ein Unternehmen verhindert
Anreize zur Teilnahme schaffen
Durch den Bergbau können Teilnehmer Belohnungen verdienen, indem sie Ressourcen beisteuern. Dadurch wird ein Anreiz für die Nutzer geschaffen, sich am Aufbau und Betrieb des Netzwerks zu beteiligen und so dessen reibungsloses Funktionieren sicherzustellen.
Im Vergleich zum PoW-Mining erfordert PoS-Mining deutlich weniger Rechenressourcen und Stromverbrauch, wodurch es besser für die Entwicklungs- und Skalierbarkeitsanforderungen des Ethereum-Netzwerks geeignet ist.
Die intelligenten Verträge von Ethereum haben viele wichtige Anwendungen ermöglicht, darunter:
DeFi (Dezentrale Finanzierung)
DeFi ist eine der erfolgreichsten Anwendungen der Smart Contracts von Ethereum. Es nutzt intelligente Verträge, um eine Reihe dezentraler Finanzprotokolle wie MakerDAO, Compound, Uniswap und mehr einzurichten. Diese Protokolle ermöglichen Finanzdienstleistungen wie Kreditvergabe, Handel, Versicherungen, Vermögensverwaltung usw.
NFTs (nicht fungible Token)
NFTs sind digitale Vermögenswerte, die auf den Smart Contracts von Ethereum basieren und durch die Smart Contract-Funktionalität Einzigartigkeit und Unteilbarkeit bieten. NFTs finden Anwendung in verschiedenen Bereichen wie Kunst, Musik, Gaming, virtuellen Immobilien und mehr.
DAOs (Dezentrale Autonome Organisationen)
Ein DAO ist eine dezentrale autonome Organisation, die auf den Smart Contracts von Ethereum basiert. Es ermöglicht Mitgliedern, durch Abstimmung Entscheidungen über interne Angelegenheiten zu treffen, wie z. B. Budgetzuweisung, Personalmanagement, Investitionsentscheidungen und mehr. DAOs arbeiten wirklich dezentral und demokratisch und können auf Gemeinden, Unternehmen, Stiftungen und andere Organisationen angewendet werden.
Ausgabe von Token
Der ERC-20-Standard auf Ethereum spezifiziert die Ausgabe und den Handel von Token und ermöglicht so die Erstellung eigener Token, die im Ethereum-Netzwerk gehandelt werden können.
Dezentrale Speicherung
Es gibt auch einige verteilte Dateispeicherprotokolle, die auf Smart Contracts auf Ethereum basieren. Das Swarm-Protokoll ermöglicht es Benutzern beispielsweise, Dateien verteilt im Netzwerk zu speichern, was sie sicherer und zuverlässiger macht.
Cloud Computing
Es gibt auch einige dezentrale Computerplattformen, die auf Smart Contracts auf Ethereum basieren, wie zum Beispiel Golem und iExec. Auf diesen Plattformen können Benutzer Computerressourcen mieten, um verschiedene Anwendungen auszuführen, und so eine effizientere Datenverarbeitung und Datenverarbeitung erreichen.
Digitale Identität
EIP-4361 führt ein standardisiertes Framework für die Anmeldung mit Ethereum ein, das es Benutzern ermöglicht, sich bei dApps mit ihren Ethereum-Adressen statt mit herkömmlichen Benutzernamen und Passwörtern anzumelden. Dieser Authentifizierungsmechanismus erhöht die Privatsphäre und Sicherheit der Benutzer und reduziert gleichzeitig die Einbindung von Vermittlern. \
Zusätzlich zu den oben genannten Anwendungen können intelligente Verträge von Ethereum eine Vielzahl anderer Anwendungsfälle ermöglichen, wie unter anderem Spiele, soziale Netzwerke und Lieferkettenmanagement. Aufgrund der Programmierbarkeit von Smart Contracts erweitern sich die Anwendungsszenarien auf der Ethereum-Plattform immer weiter und bieten erhebliches Potenzial für zukünftige Entwicklungen.
Ethereum hat im Streben nach Dezentralisierung und Sicherheit ein gewisses Maß an Leistung geopfert. Aufgrund technischer Einschränkungen beträgt die Blockgenerierungszeit von Ethereum etwa 12 bis 15 Sekunden, wobei jeder Block eine Größenbeschränkung von 15 MB hat. Dadurch kann Ethereum nur etwa 15 Transaktionen pro Sekunde verarbeiten.
Als größtes Smart-Contract-Netzwerk in Bezug auf Ökosystem und Entwicklungsgemeinschaft verzeichnete Ethereum jedoch einen deutlichen Anstieg der Anzahl einzigartiger Wallet-Adressen mit einem Saldo ungleich Null auf seiner Blockchain, die sich in den letzten fünf Jahren mehr als verzehnfachte. Der Anstieg verschiedener Protokolle und Benutzeraktivitäten hat das bestehende Design überfordert und die Skalierbarkeitsprobleme von Ethereum verschärft.
Um die Skalierbarkeit von Ethereum zu verbessern, hat die Entwicklergemeinschaft verschiedene Lösungen vorgeschlagen, darunter Sidechains, Rollups, Sharding-Technologie und die Umleitung des Datenverkehrs zu anderen EVM-kompatiblen Blockchain-Netzwerken, um Überlastungen zu verringern.
In dieser Lektion haben wir uns mit der technischen Architektur und den Prinzipien von Ethereum befasst und erfahren, wie die Innovation intelligenter Verträge das Potenzial der Blockchain nutzt und eine Vielzahl dezentraler Anwendungen und Ökosysteme ermöglicht, um verschiedene Geschäftsanforderungen und Gesellschaftsverträge zu ermöglichen.
Das schnelle Wachstum von Ethereum hat jedoch das Problem der geringen Skalierbarkeit ans Licht gebracht. Die Bewältigung der Skalierbarkeitsherausforderung hat daher höchste Priorität, um den steigenden Benutzeranforderungen gerecht zu werden.
In der nächsten Lektion werden wir verschiedene Skalierbarkeitslösungen und ihre Anwendungen innerhalb des Ökosystems untersuchen, einschließlich Sidechains, Rollups und verschiedener Konkurrenten von EVM. Darüber hinaus analysieren wir deren jeweilige Vor- und Nachteile und vermitteln Ihnen so ein besseres Verständnis über den aktuellen Entwicklungsstand und zukünftige Trends der Blockchain-Technologie.
🎥・Hauptvideo
| 📄・Verwandte Artikel |
Ethereum ist eine offene Blockchain-Plattform, die es jedem ermöglicht, dezentrale Anwendungen zu erstellen und zu nutzen. Im Jahr 2013 veröffentlichte Vitalik Buterin, der Gründer von Ethereum, das Ethereum-Whitepaper, das den Kern seines Designs und den technischen Aspekt von Ethereum darlegte und damit den Grundstein für die dynamische Entwicklung von Blockchain-Anwendungen und -Ökosystemen in der Zukunft legte.
Das Hauptziel von Ethereum bestand darin, die Funktionalität von Bitcoin zu verbessern, nicht nur als digitales Zahlungssystem. Der Hauptunterschied zwischen den beiden besteht darin, dass Ethereum Code speichern kann, der ausgeführt werden kann. Diese Kerninnovation wird auch Smart Contracts genannt, was bedeutet, dass jeder Entwickler ausführbare dezentrale Anwendungen (dApps) auf der Ethereum-Blockchain schreiben kann, um verschiedene Geschäftsanforderungen und Gesellschaftsverträge umzusetzen.
Mit dem Aufkommen intelligenter Verträge können Benutzer sichere, transparente und automatisierte Transaktionen und Kooperationen durchführen, ohne dass Vertrauen oder Vermittler erforderlich sind. Dadurch wurden der Nutzen und die Funktionalität von Blockchain-Netzwerken erweitert.
Allerdings sind die Entwicklung und die praktische Anwendung von Ethereum zwangsläufig auf einige Herausforderungen gestoßen, von denen die Skalierbarkeitsprobleme am bedeutendsten sind. Als der Kryptowährungsmarkt ein schnelles Wachstum und einen Anstieg des Transaktionsvolumens erlebte, reichte die Leistung der Ethereum-Blockchain nicht mehr aus, um die Nachfrage zu decken. Daher benötigt Ethereum kontinuierliche Innovation und Weiterentwicklung, um seiner wachsenden Nutzerbasis gerecht zu werden.
Diese Lektion bietet einen umfassenden Überblick über die technologische Entwicklung von Ethereum, untersucht, wie Ethereum zum Pionier im Blockchain-Bereich geworden ist, und führt Sie zum Verständnis der Skalierbarkeitsherausforderungen, denen Ethereum gegenübersteht, und der entsprechenden Lösungen.
Vor der Entstehung von Ethereum beschränkte sich der Schwerpunkt der Blockchain-Entwicklung hauptsächlich auf digitale Währungen und Zahlungssysteme, wobei dezentrale Blockchain-Ledger zur Aufzeichnung von Transaktionen genutzt wurden. Am Beispiel von Bitcoin kann das Bitcoin-Netzwerk als Zustandsübergangssystem angesehen werden, das das UTXO-Modell (Unspent Transactions Output) verwendet. UTXO bezieht sich auf die verbleibende Menge an Token einer Transaktion, die in einer anderen Transaktion verwendet werden kann. Es kann als das verbleibende, nicht ausgegebene Guthaben interpretiert werden, nachdem Ihnen jemand einen bestimmten Geldbetrag gegeben hat.
Jedes Mal, wenn ein Miner einen neuen Block produziert, stellt dies eine Änderung im Zustand des Bitcoin-Netzwerks dar, da der neue Block einige gültige Transaktionen enthält, die einige vorhandene UTXOs verbrauchen und neue UTXOs erstellen. Diese neuen UTXOs stellen den neuesten Stand des Bitcoin-Netzwerks dar, der die Anzahl und Verteilung der von allen Benutzern gehaltenen Bitcoins widerspiegelt.
Vorheriger Status + gültige Transaktionen in einem neuen Block = Aktueller Status
Zustandsübergang von UTXO
Im Alltag sind die Menschen eher mit dem Kontomodell traditioneller Bankensysteme vertraut, bei dem eine Blockchain-Adresse einem Konto entspricht. Bei jeder Transaktion werden Gelder oder Daten von einem Konto auf ein anderes übertragen, und der Kontostand ist der Vermögenswert, der Ihnen gehört. Bei der Durchführung von Transaktionen über das UTXO-Modell gibt es keine Adressbeschränkung, d. h. Sie können für jede Transaktion eine andere Adresse verwenden. Ihr Vermögen ist die Summe aller mit Ihnen verbundenen UTXOs und nicht der Saldo einer bestimmten Adresse. Daher verfügt UTXO über eine bessere Parallelisierung, während das Kontomodell eher sequentiell ausgeführt wird, was zu eingeschränkten Leistungen führt. Obwohl das UTXO-Modell eine bessere Privatsphäre und Skalierbarkeit bietet, ist es weniger intuitiv und schwierig, komplexe logische Operationen zu implementieren. Beispielsweise weist die Programmiersprache von Bitcoin folgende Einschränkungen auf:
Nicht-Turing abgeschlossen
Obwohl die Bitcoin-Skriptsprache eine Vielzahl von Funktionalitäten unterstützt, unterstützt sie nicht alle Berechnungen, insbesondere fehlt die Unterstützung für Schleifen. Theoretisch kann jede Schleifenoperation erreicht werden, indem der zugrunde liegende Code wiederholt über mehrere Ebenen von IF-Anweisungen ausgeführt wird. Dies führt jedoch zu einer sehr geringen Betriebseffizienz.
Schwierig, den Wert zu bestimmen
UTXO-Skripte können den Betrag, der abgehoben werden kann, nicht genau steuern. Beispielsweise muss Benutzer A das Preisrisiko absichern und Benutzer B fungiert als Gegenpartei. Die beiden Parteien zahlen Vermögenswerte im Wert von 1.000 US-Dollar in einen Vertrag ein. Nach 30 Tagen erhält Benutzer A Bitcoin im Wert von 1.000 US-Dollar zurück und der verbleibende Teil wird an Benutzer B gesendet. Dies würde erfordern, dass ein Orakel den Dollarwert von 1 Bitcoin ermittelt, was das Orakel dazu zwingt, viele UTXOs unterschiedlicher Stückelung zu halten.
Mangelnde staatliche Flexibilität
UTXO kann entweder ausgegeben oder nicht ausgegeben werden. Es ist schwierig, Optionsverträge, dezentrale Angebotssysteme, kryptografische Verpflichtungsprotokolle und andere Anwendungen zu erstellen, die mehrstufige Zustände erfordern (z. B. „in Verwendung“). Daher können UTXOs nur zum Erstellen einfacher einmaliger Verträge verwendet werden und nicht für komplexere „zustandsbehaftete“ Verträge in dezentralen Protokollen.
Blockchain-Daten können nicht angezeigt werden
Das UTXO-Modell bietet keinen Einblick in Blockchain-Daten wie Zufallszahlen, Zeitstempel und den Hash des vorherigen Blocks. Diese Einschränkung schränkt die Entwicklung von Spielen und anderen Arten von dApps ein.
Um die Mängel von Bitcoin in Smart-Contract-Anwendungen zu beheben, hat Ethereum das UTXO-Modell aufgegeben und ein Kontomodell eingeführt, das persönlichen Bankkonten ähnelt, bei dem eine Datenbank den Kontostand jedes Kontos aufzeichnet und ihn bei jeder Transaktion automatisch aktualisiert.
Es gibt zwei Arten von Konten auf Ethereum: externe Konten, die durch private Schlüssel gesteuert werden, und Vertragskonten, die durch Smart-Contract-Code gesteuert werden. Ether dient als Tauschmedium innerhalb des Ethereum-Netzwerks.
Bei der Entwicklung der Blockchain war Ethereum das erste Blockchain-Netzwerk, das die weit verbreitete Einführung von Smart Contracts und dApps ermöglichte. Smart Contracts auf Ethereum werden typischerweise mit der Solidity-Sprache programmiert. Dabei handelt es sich um auf der Blockchain ausgeführte Programme mit Funktionen wie Automatisierung, Dezentralisierung, Transparenz und Unveränderlichkeit, wodurch sie sich für die Implementierung verschiedener Geschäftslogiken und Transaktionsregeln eignen. Benutzer können sicher und zuverlässig Transaktionen durchführen, ohne Dritten vertrauen zu müssen.
Mithilfe intelligenter Verträge können verschiedene Arten von dApps entwickelt werden, wodurch das Ethereum-Netzwerk im Wesentlichen zu einem weltweit gemeinsam genutzten Computer wird. Jeder kann auf diesem Computer auf Daten zugreifen und verschiedene Arten von Anwendungen entsprechend seinen Anforderungen bearbeiten und bedienen.
Auf den ersten Blick mag es nicht besonders einzigartig erscheinen, da es sich lediglich um die Ausführung von Softwareprogrammen handelt, oder? Durch das Speichern von Daten und das Ausführen von Webanwendungscode auf zentralen Servern oder das Installieren von Software auf Personalcomputern können scheinbar dieselben Anwendungsfunktionen erreicht werden wie durch intelligente Verträge.
Allerdings birgt dieser Ansatz Einschränkungen und Risiken wie Datenverlust, Manipulation und Dienstunterbrechungen. Das Aufkommen intelligenter Verträge bietet beispiellose Sicherheit, Überprüfbarkeit und Zensurresistenz gegenüber herkömmlichen Anwendungen. Insbesondere weisen die Smart Contracts von Ethereum mehrere wesentliche Unterschiede zu allgemeinen Webanwendungen und clientseitiger Software auf:
Ethereum Virtual Machine (EVM) ist ein Turing-vollständiger Computer, der auf der Ethereum-Blockchain läuft. Es führt den Code intelligenter Verträge aus und ändert den Zustand der Blockchain. Eine Analogie zum Verständnis ist das Betriebssystem (OS), das auf PCs oder Smartphones läuft, wo nur innerhalb dieser spezifischen Umgebung Smart Contracts und Ethereum-Anwendungen ausgeführt werden können.
Das EVM arbeitet in einer isolierten Umgebung, unabhängig von externen Störungen und ohne Auswirkungen auf die zugrunde liegende Hardware. Dabei wird der Code intelligenter Verträge, der normalerweise in der Solidity-Sprache geschrieben ist, in einen Bytecode-Befehlssatz namens EVM-Bytecode kompiliert. Das EVM führt diese Anweisungen dann Schritt für Schritt aus.
Die Ausführung des EVM führt zu Änderungen am Zustand der Blockchain, wie zum Beispiel der Übertragung von Token, der Speicherung von Daten oder dem Auslösen von Ereignissen. Um zu verhindern, dass bösartiger Smart-Contract-Code Endlosschleifen verursacht oder das Ethereum-Netzwerk zum Absturz bringt, verbraucht jede Anweisung eine bestimmte Menge Gas. Wenn nicht genügend Gas vorhanden ist, kann der Vorgang nicht durchgeführt werden.
Die Gasgebühr bezieht sich auf die Transaktionsgebühr, die in Ether (ETH) im Ethereum-Netzwerk für die Ausführung von Smart Contracts oder die Übertragung von Token gezahlt wird. Es wird verwendet, um Miner zu belohnen, die das Netzwerk pflegen. Die Kosten der Gasgebühr hängen von der Komplexität der Transaktion und dem Überlastungsgrad des Netzwerks ab und werden typischerweise in Gwei gemessen (1 Gwei = 0,000000001 ETH).
Händler können ihren eigenen Gaspreis (den Preis pro Gaseinheit) und ihr Gaslimit (die maximale Gasmenge, die sie zu zahlen bereit sind) festlegen, um die Geschwindigkeit und Kosten ihrer Transaktionen anzupassen.
Die Formel zur Berechnung der Gasgebühr auf Ethereum lautet wie folgt:
Gaspreis * Gaslimit = Gasgebühr
Der Gaspreis stellt den Einheitspreis der Gebühr dar. Wenn der Gaspreis zu niedrig ist, ist die Priorität der Transaktion möglicherweise geringer und die Bergleute ignorieren sie möglicherweise.
Das Gaslimit bezieht sich auf die Höhe der Gebühren. Wenn das Gaslimit zu niedrig ist, hat dies keinen Einfluss auf die Priorität der Transaktion, allerdings kann die Transaktion aufgrund unvollständiger Ausführung fehlschlagen und die gezahlte Gasgebühr wird nicht zurückerstattet.
Gemäß EIP-1559 (Ethereum Improvement Proposal) beinhaltet der Gaspreis eine Grundgebühr, die dynamisch an die Netzwerknachfrage und die Blockgröße angepasst wird. Transaktionen mit Gaspreisen, die über der Grundgebühr liegen, werden garantiert verarbeitet und die ETH wird verbrannt, um das Token-Angebot im Ethereum-Netzwerk zu reduzieren.
Trinkgelder sind optionale zusätzliche Gebühren, die Benutzer bereit sind, an Miner oder Validatoren zu zahlen. Benutzer können ihre eigenen Werte für Tipps festlegen, die dazu beitragen können, die Priorität ihrer Transaktionen zu verbessern oder die Transaktionsgeschwindigkeit bei Netzwerküberlastung zu beschleunigen.
Aufgrund des Gasmechanismus von Ethereum können die Rechenressourcen und der Speicherplatz des Blockchain-Netzwerks angemessen bepreist werden, wodurch verhindert werden kann, dass intelligente Verträge unendliche Fehlschleifen ausführen oder von böswilligen Akteuren angegriffen werden.
Vor der Ethereum-Fusion im September 2022 verließen sich sowohl Ethereum als auch Bitcoin auf den Proof of Work (PoW)-Konsensmechanismus, um den normalen Betrieb ihrer Blockchain-Netzwerke zu ermöglichen.
Am Mining beteiligte Geräte mussten ein komplexes kryptografisches Rätsel lösen, indem sie mithilfe von Rechenleistung einen Hash-Wert berechneten, der bestimmte Anforderungen erfüllt. Dieser Prozess verbrauchte erhebliche Rechenressourcen und Strom, und die Schwierigkeit des Rätsels änderte sich mit der Rechenleistung des Netzwerks weiter. Benutzer, die Rechenleistung bereitstellten, wurden als Miner bezeichnet.
Durch den kontinuierlichen Versuch, den Hash-Wert zu berechnen, hatten Miner die Möglichkeit, einen Hash-Wert zu finden, der den Anforderungen entspricht. Miner könnten dann die ausstehenden Transaktionen in einen Block packen und den Block zur Validierung und Bestätigung an das gesamte Netzwerk senden. Wenn der Block bestätigt würde, würde der Miner Blockbelohnungen und Transaktionsgebühren erhalten.
Nach dem Ethereum 2.0-Upgrade hat Ethereum den Proof of Stake (PoS)-Konsensmechanismus für das Mining übernommen. Knoten, die Transaktionen validieren, müssen eine bestimmte Menge Ether als Sicherheit hinterlegen, um um das Recht zur Produktion neuer Blöcke zu konkurrieren.
Der Zweck des Absteckens besteht darin, den Knoten wirtschaftliche Risiken aufzuerlegen, sodass die abgesteckten Vermögenswerte der Knoten, die das Netzwerk angreifen, gekürzt werden, was zu Verlusten führt. Dies dient der Abschreckung vor böswilligem Verhalten. Je mehr Ether ein Knoten einsetzt, desto höher ist die Wahrscheinlichkeit, das Recht zu erhalten, neue Blöcke zu produzieren.
Die für die Blockproduktion verantwortlichen Knoten müssen ausstehende Transaktionen verpacken, neue Blöcke generieren und diese zur Validierung und Bestätigung an das Netzwerk senden. Wenn ein Block bestätigt wird, erhält der Knoten Blockbelohnungen und Transaktionsgebühren sowie bestimmte Renditen basierend auf der Höhe der eingesetzten Vermögenswerte.
Der Mining-Mechanismus spielt eine entscheidende Rolle im Ethereum-Netzwerk, was sich vor allem in den folgenden Aspekten widerspiegelt:
Gewährleistung der Zuverlässigkeit und Sicherheit von Transaktionen
Beim Mining geht es darum, der Blockchain neue Transaktionen hinzuzufügen, die Anzahl der Blöcke zu erhöhen und die Legitimität dieser Transaktionen durch den Erhalt eines Arbeitsnachweises (derzeit Proof of Stake) zu bestätigen. Durch das Mining wird es für Angreifer schwierig, Transaktionen böswillig zu manipulieren, wodurch die Zuverlässigkeit und Sicherheit der Transaktionen gewährleistet wird.
Aufrechterhaltung der Dezentralisierung der Blockchain
Der Mining-Mechanismus kann verhindern, dass eine einzelne Entität oder Organisation das gesamte Ethereum-Netzwerk kontrolliert, da das Mining eine erhebliche Menge an Rechenleistung erfordert (derzeit stattdessen eingesetzte Token) und Angreifer erhebliche Ressourcen benötigen würden, um die Kontrolle zu erlangen. Dadurch wird die Dezentralisierung des Netzwerks sichergestellt und eine monopolistische Kontrolle durch eine Einzelperson oder ein Unternehmen verhindert
Anreize zur Teilnahme schaffen
Durch den Bergbau können Teilnehmer Belohnungen verdienen, indem sie Ressourcen beisteuern. Dadurch wird ein Anreiz für die Nutzer geschaffen, sich am Aufbau und Betrieb des Netzwerks zu beteiligen und so dessen reibungsloses Funktionieren sicherzustellen.
Im Vergleich zum PoW-Mining erfordert PoS-Mining deutlich weniger Rechenressourcen und Stromverbrauch, wodurch es besser für die Entwicklungs- und Skalierbarkeitsanforderungen des Ethereum-Netzwerks geeignet ist.
Die intelligenten Verträge von Ethereum haben viele wichtige Anwendungen ermöglicht, darunter:
DeFi (Dezentrale Finanzierung)
DeFi ist eine der erfolgreichsten Anwendungen der Smart Contracts von Ethereum. Es nutzt intelligente Verträge, um eine Reihe dezentraler Finanzprotokolle wie MakerDAO, Compound, Uniswap und mehr einzurichten. Diese Protokolle ermöglichen Finanzdienstleistungen wie Kreditvergabe, Handel, Versicherungen, Vermögensverwaltung usw.
NFTs (nicht fungible Token)
NFTs sind digitale Vermögenswerte, die auf den Smart Contracts von Ethereum basieren und durch die Smart Contract-Funktionalität Einzigartigkeit und Unteilbarkeit bieten. NFTs finden Anwendung in verschiedenen Bereichen wie Kunst, Musik, Gaming, virtuellen Immobilien und mehr.
DAOs (Dezentrale Autonome Organisationen)
Ein DAO ist eine dezentrale autonome Organisation, die auf den Smart Contracts von Ethereum basiert. Es ermöglicht Mitgliedern, durch Abstimmung Entscheidungen über interne Angelegenheiten zu treffen, wie z. B. Budgetzuweisung, Personalmanagement, Investitionsentscheidungen und mehr. DAOs arbeiten wirklich dezentral und demokratisch und können auf Gemeinden, Unternehmen, Stiftungen und andere Organisationen angewendet werden.
Ausgabe von Token
Der ERC-20-Standard auf Ethereum spezifiziert die Ausgabe und den Handel von Token und ermöglicht so die Erstellung eigener Token, die im Ethereum-Netzwerk gehandelt werden können.
Dezentrale Speicherung
Es gibt auch einige verteilte Dateispeicherprotokolle, die auf Smart Contracts auf Ethereum basieren. Das Swarm-Protokoll ermöglicht es Benutzern beispielsweise, Dateien verteilt im Netzwerk zu speichern, was sie sicherer und zuverlässiger macht.
Cloud Computing
Es gibt auch einige dezentrale Computerplattformen, die auf Smart Contracts auf Ethereum basieren, wie zum Beispiel Golem und iExec. Auf diesen Plattformen können Benutzer Computerressourcen mieten, um verschiedene Anwendungen auszuführen, und so eine effizientere Datenverarbeitung und Datenverarbeitung erreichen.
Digitale Identität
EIP-4361 führt ein standardisiertes Framework für die Anmeldung mit Ethereum ein, das es Benutzern ermöglicht, sich bei dApps mit ihren Ethereum-Adressen statt mit herkömmlichen Benutzernamen und Passwörtern anzumelden. Dieser Authentifizierungsmechanismus erhöht die Privatsphäre und Sicherheit der Benutzer und reduziert gleichzeitig die Einbindung von Vermittlern. \
Zusätzlich zu den oben genannten Anwendungen können intelligente Verträge von Ethereum eine Vielzahl anderer Anwendungsfälle ermöglichen, wie unter anderem Spiele, soziale Netzwerke und Lieferkettenmanagement. Aufgrund der Programmierbarkeit von Smart Contracts erweitern sich die Anwendungsszenarien auf der Ethereum-Plattform immer weiter und bieten erhebliches Potenzial für zukünftige Entwicklungen.
Ethereum hat im Streben nach Dezentralisierung und Sicherheit ein gewisses Maß an Leistung geopfert. Aufgrund technischer Einschränkungen beträgt die Blockgenerierungszeit von Ethereum etwa 12 bis 15 Sekunden, wobei jeder Block eine Größenbeschränkung von 15 MB hat. Dadurch kann Ethereum nur etwa 15 Transaktionen pro Sekunde verarbeiten.
Als größtes Smart-Contract-Netzwerk in Bezug auf Ökosystem und Entwicklungsgemeinschaft verzeichnete Ethereum jedoch einen deutlichen Anstieg der Anzahl einzigartiger Wallet-Adressen mit einem Saldo ungleich Null auf seiner Blockchain, die sich in den letzten fünf Jahren mehr als verzehnfachte. Der Anstieg verschiedener Protokolle und Benutzeraktivitäten hat das bestehende Design überfordert und die Skalierbarkeitsprobleme von Ethereum verschärft.
Um die Skalierbarkeit von Ethereum zu verbessern, hat die Entwicklergemeinschaft verschiedene Lösungen vorgeschlagen, darunter Sidechains, Rollups, Sharding-Technologie und die Umleitung des Datenverkehrs zu anderen EVM-kompatiblen Blockchain-Netzwerken, um Überlastungen zu verringern.
In dieser Lektion haben wir uns mit der technischen Architektur und den Prinzipien von Ethereum befasst und erfahren, wie die Innovation intelligenter Verträge das Potenzial der Blockchain nutzt und eine Vielzahl dezentraler Anwendungen und Ökosysteme ermöglicht, um verschiedene Geschäftsanforderungen und Gesellschaftsverträge zu ermöglichen.
Das schnelle Wachstum von Ethereum hat jedoch das Problem der geringen Skalierbarkeit ans Licht gebracht. Die Bewältigung der Skalierbarkeitsherausforderung hat daher höchste Priorität, um den steigenden Benutzeranforderungen gerecht zu werden.
In der nächsten Lektion werden wir verschiedene Skalierbarkeitslösungen und ihre Anwendungen innerhalb des Ökosystems untersuchen, einschließlich Sidechains, Rollups und verschiedener Konkurrenten von EVM. Darüber hinaus analysieren wir deren jeweilige Vor- und Nachteile und vermitteln Ihnen so ein besseres Verständnis über den aktuellen Entwicklungsstand und zukünftige Trends der Blockchain-Technologie.
🎥・Hauptvideo
| 📄・Verwandte Artikel |