Free Bitcoins: FreeBitcoin | BonusBitcoin
Coins Kaufen: Bitcoin.de | AnycoinDirekt | Coinbase | CoinMama (mit Kreditkarte) | Paxfull
Handelsplätze / Börsen: Bitcoin.de | KuCoin | Binance | BitMex | Bitpanda | eToro
Lending / Zinsen erhalten: Celsius Network | Coinlend (Bot)
Cloud Mining: Hashflare | Genesis Mining | IQ Mining
Das Ethereum-Netzwerk entwickelt sich aktiv weiter, und die Entwickler planen, zahlreiche Änderungen vorzunehmen, um das derzeitige Limit von ungefähr zu skalieren zwanzig Transaktionen pro Sekunde zu über hunderttausende von Transaktionen pro Sekunde – eine Suche des 21. Jahrhunderts nach dem Heiligen Gral der Blockchain-Entwicklung.
Als Entwickler intelligenter Verträge bedeutet dies, dass Sie die Updates von Ethereum kontinuierlich verfolgen und verstehen müssen, wie sich der Code möglicherweise ändert. Zum Glück ist CertiK hier, um zu helfen.
Istanbul V1: Nächsten Mittwoch!
Istanbul V1, die lang erwartete Ethereum-Hardgabel, wird am 16. Oktober stattfinden – am kommenden Mittwoch!
Istanbul v1 beinhaltet sechs Änderungen an die EVM (Ethereum Virtual Machine) – die meisten davon sind geringfügige Optimierungen, die hochtechnisch sind und den typischen Smart Contract-Entwickler nicht betreffen. Einige Vorgänge kosten weniger Benzin, was gut ist. Jedoch, Einige Vorgänge kosten mehr Gas. Dies könnte für einige ein Problem sein, da in einem bestimmten eingeschränkten Szenario für das EVM mehr Gas erforderlich ist kann bestimmte Smart-Verträge brechen, die bereits bereitgestellt wurden.
Es ist wahrscheinlicher, dass Sie das Risiko eines Vertragsbruchs haben, wenn Sie verwenden eine Fallback-Funktion, um Ether zu empfangen und aus dem Status der Funktion zu lesen. Wenn dies nicht auf Sie zutrifft, geht es Ihnen wahrscheinlich gut! Gerne können Sie die nächsten beiden Abschnitte überspringen.
Wenn das tut beeinflussen Sie, lesen Sie weiter.
Fallback-Funktionen
Um das Problem zu verstehen, müssen wir es zuerst erklären. Mit einer Fallback-Funktion können Sie eine bestimmte Logik ausführen, wenn Ihr Smart Contract Ether empfängt. Es sieht ungefähr so aus:
Wenn beispielsweise ein anderer intelligenter Vertrag Ether an Ihren intelligenten Vertrag sendet, wird er wahrscheinlich die Übertragungs- oder Sendemethode verwenden, um den Ether zu übertragen. Dies ruft dann Ihre Fallback-Funktion auf, wenn Sie sie definiert haben. Standardmäßig werden jedoch nur 2300 Gase an Ihre Fallback-Funktion weitergeleitet. Das soll sein gerade genug, um Ihrem Vertrag zu erlauben, ein Ereignis zu protokollieren und nicht viel mehr. (Wenn diese Einschränkung nicht vorhanden wäre, könnten Sie die intelligenten Verträge anderer Leute brechen, indem Sie sie für sehr "gierige" Fallback-Funktionen bezahlen lassen!)
Während dies in der Vergangenheit ein vernünftiger Plan gewesen sein mag, ist dieses System durch das aktuelle Update in Gefahr.
Lesen vom Staat
Ein zweites Problem tritt bei Operationen auf, die aus dem Zustand lesen. Dies liegt daran, dass diese Vorgänge mehr Rechenressourcen benötigen, die mit der Größe des Ethereum-Staates korrelieren: Je größer der Staat wird, desto mehr Ressourcen werden benötigt. Da der Staat Ethereum inzwischen recht groß ist, müssen sie teurer gemacht werden. Insbesondere wird die SLOAD-Anweisung, die zum Lesen des Zustands verwendet wird, von 200 auf 800 Gas kosten! Hier ist eine Liste aller spezifischen Opcodes, die betroffen sein werden und wie sich die Gaskosten ändern werden.
Dies bedeutet, dass selbst ein oder zwei einfache Status-Lesevorgänge Ihre Funktion über die Grenze von 2300 hinausschieben können und andere intelligente Verträge möglicherweise keine Übertragungen auf Ihren Vertrag vornehmen können. Das Überprüfen eines bestimmten Status in dieser Fallback-Funktion war in der Vergangenheit möglicherweise in Ordnung – dieses Update kann jedoch die Funktionalität beeinträchtigen.
Wenn Sie glauben, dass Ihr Smart-Vertrag betroffen sein könnte, wenden Sie sich an uns unter ZertiK und wir können feststellen, ob Sie tatsächlich von potenziellen Upgrade- / Wiederherstellungslösungen betroffen sind.
Das wegnehmen
Der Grund für diese ganze Angelegenheit ist der folgende Wir sollten keinen Code schreiben, der davon ausgeht, dass die Gaskosten über die Zeit konstant bleiben. Es ist sehr wahrscheinlich, dass die Kernentwickler von Ethereum bereit sind, diese Variablen nach eigenem Ermessen in die Zukunft zu ändern.
Dies wirft zwar in der gesamten Entwicklungsgemeinschaft erhebliche Bedenken auf, ist jedoch im Kontext von Ethereum insgesamt zu verstehen. Die Blockchain-Technologie ist noch jung und noch relativ wenig verbreitet. Die jetzt berücksichtigten Änderungen können auf lange Sicht erhebliche Vorteile bringen.
Zukünftige Änderungen
Sie fragen sich möglicherweise, welche weiteren Upgrades wir von Ethereums Roadmap erwarten können und welche Entwickler sich darauf vorbereiten müssen. Während Istanbul v2, die harte Gabel von Ethereum, in der Pipeline ist, Ethereum 2.0 wird das nächste geplante Update für die vollständige Überholung des Netzwerks sein.
Istanbul v2
Istanbul v2 hat noch keinen Termin, hat aber einen Noch acht Änderungen vorläufig genehmigt. Sieben davon sind weitere technische Anpassungen des EVM – und glücklicherweise ist keine davon mit einer Erhöhung der Gaskosten verbunden oder führt zum Bruch intelligenter Verträge außerhalb der Extremfälle. Noch vielversprechender ist, dass einer dieser Vorschläge das Hinzufügen von „Versionsnummern“ zu intelligenten Verträgen beinhaltet. Dies bedeutet, dass nach einem Hard Fork Smart-Verträge mit einer älteren Versionsnummer unter Verwendung des alten Regelsatzes ausgeführt werden können, während neue Smart-Verträge unter Verwendung neuer Regeln ausgeführt werden können.
Mit dieser Innovation können problematische Änderungen in Zukunft vermieden werden!
Die achte Änderung ist sowohl schwerwiegender als auch kontrovers. Dabei wird der Ethereum-Mining-Algorithmus von Ethhash auf einen neuen Algorithmus namens "Ethereum" geändert ProgPoWin um den Aufbau von ASICs zu verhindern und das GPU-Mining funktionsfähig zu halten.
Während es derzeit unklar ist, ob diese Änderung vorüber sein wird oder nicht, ist sie bereits eine Quelle der Reibung in der Ethereum-Gemeinschaft. Da dies jedoch keine Auswirkungen auf die Entwickler intelligenter Verträge oder die Netzwerksicherheit hat, gibt es keinen Grund, den Schlaf darüber zu verlieren.
Ethereum 2.0
Vor dem Hintergrund von Ethereum 2.0 sind Entwickler von intelligenten Verträgen möglicherweise besorgt über die komplexen Änderungen, die sich daraus ergeben können. Die gute Nachricht ist, dass die Kernentwickler von Ethereum offenbar Schritte unternehmen, um die Änderung so nahtlos wie möglich zu gestalten.
Gestern (zum Zeitpunkt des Schreibens), Vitalik ging zum ethresear.ch Forum, um der Community zu versichern, dass der Verlust von Daten oder Funktionalität bei der Umstellung kein Problem darstellt. Er gab an, dass intelligente Verträge automatisch übernommen werden und viele nicht bemerken, dass eine Änderung sogar stattgefunden hat.
Vitalik bietet eine Beispielgeschichte an.
Beispiel für eine User Story: Sie haben einen CDP auf MakerDAO. Du gehst schlafen und wenn du aufwachst, ist der Übergang geschehen. Sie können mit Ihrem CDP interagieren und diesen liquidieren, indem Sie wie zuvor Transaktionen senden. Der Client-Code sieht jedoch, dass Sie sich nach dem Übergang befinden. Fügen Sie Ihrer Transaktion Zeugeninformationen hinzu und senden Sie diese an das eth2-Netzwerk anstelle des eth1-Netzwerks.
Es gibt jedoch ein paar Überlegungen, auf die wir zum jetzigen Zeitpunkt hinweisen können, die noch geklärt werden müssen:
- Es ist weiterhin wahrscheinlich, dass die Gaskosten steigen, insbesondere wenn man vom Staat liest. Daher sollten Sie versuchen, die Anzahl der Statuslesevorgänge zu begrenzen, die Ihr Vertrag durchführt, und komplexe Aufgaben in mehrere Funktionen aufteilen. (Beachten Sie, dass das Überprüfen des Kontostands ebenfalls ein gelesener Status ist.)
- Das Netzwerk wird wahrscheinlich ein bis zwei Stunden lang ausgefallen sein, wenn der Übergang stattfindet. Planen Sie dies entsprechend!
- Wenn Sie den Block-Hash als Zufallsquelle verwenden, Dies wird wahrscheinlich brechen, sobald der Nachweis des Einsatzes erfolgt. (Dies ist eine schlechte Praxis, und Sie sollten es nicht in erster Linie tun!)
Darüber hinaus sollten Sie überlegen, ob Sie die Sharding-Funktionen von Ethereum 2.0 nach dem Start nutzen können. Dies ist zwar zunächst möglich, sollte aber ernsthaft in Erwägung gezogen werden. Vitalik skizzierte auch einige Vorschläge, wie das funktionieren könnte noch ein ethresear.ch post. Auch wenn er betonte, dass die Änderung relativ nahtlos sein wird, wird eine aktive Vorausplanung Ihre Seelenruhe und die Sicherheit Ihrer Verträge gewährleisten
Wir werden dich auf dem Laufenden halten!
Sollte sich dies ändern, werden wir Sie darüber informieren. Kontaktieren Sie uns gerne, wenn Sie Fragen oder Bedenken bezüglich des sich entwickelnden Zustands der Blockchain-Sicherheit haben.
Free Bitcoins: FreeBitcoin | BonusBitcoin
Coins Kaufen: Bitcoin.de | AnycoinDirekt | Coinbase | CoinMama (mit Kreditkarte) | Paxfull
Handelsplätze / Börsen: Bitcoin.de | KuCoin | Binance | BitMex | Bitpanda | eToro
Lending / Zinsen erhalten: Celsius Network | Coinlend (Bot)
Cloud Mining: Hashflare | Genesis Mining | IQ Mining