Steem Developer Update (Graphene 2.0) [Deutsche Version] #deutsch

in #steem8 years ago

Original post by @steemitblog

Image created by AlexanderAlUS under
CC By-SA 3.0 


Dieses Update dient jenen, die sich für die Arbeit unseres Teams hinter den Kulissen interessieren und soll der Community einen Vorgeschmack auf die nächsten Wochen liefern. Wir sind sehr gespannt was einige der Neuigkeiten für Steem und der Blockchain-Technologie bringen werden. 

Einführung Graphene 2.0 

Graphene ist die grundlegende Datenverarbeitungstechnik auf welche viele verschiedene Blockchains basieren (Steem, Bitshares, Golos, etc). Graphene 1.0 war bahnbrechend in der F#hrigkeit mehrere hunderte von Tausenden Transaktionen die Sekunde auszuführen. Es ist extrem entwicklerfreundlich und ermöglichte die Entwicklung von Steem in nur einigen Monaten. Graphene 2.0 ist eine erhebliche Überholung der Backend-Technologie welche Platformen wie steemit.com dienen sowohl in Punkten der Sicherheit als auch wirtschaftlich zu wachsen. 

Annehmen der Memory Mapped File für den Speicher 

Unter Graphene 2.0 werden alle Blockchain Vereinbarungen in einer Memory Mapped File erhalten  welche über mehrere Prozesse geteilt werden kann. Das heißt der Applikationsstand ist im Endeffekt „on disk“ und das Betriebssystem arbeitet mit Auslagerungsdatein von/zu dem Speicher wenn nötig. Da die Blockchain Speichervorraussetzung wachsen wird das einige vorteile bringen:
 

  1. Schnellere Lade und Endzeiten 
  2. Paraleller Zugang zu den Datenbanken 
  3. Beständiger gegen Abstürze
  4. Weniger Datenbank Fehler  
  5. Sofortiger Schnappschuss der gesamtem Systems   
  6. Mehr RPC Anfragen vom selben Speicher werden bedient  
     

Probleme mit Graphene 1.0 

Graphene ist gestaltet worden um alle Blockchain consensus stats im Speicher zu halten, mittels einer der wohl schnellsten Speicherverarbeitungsstrukturen ( Boost Multi-index Containers ). Für herkömmliche Cryptowährungen geht dieser Ansatz gut weil der Anwendungszustand (Kontostand) relativ klein ist zu den Datendurchsatz ( Schuldenumbuchungen und Handel).  

Steem hat einen wesentlich höheren Anwendungsstand als alle anderen Cryptowährungen. Dieser umfasst alle Artikel, Feed lists und Votes. Zusätzlich kommen Anfragen von tausenden von passiven Nutzern welche Interessiert sich die Blockchaintechnologie wie steemit.com zu nutzen.  

Steem ist zur Zeit die zweitgrößte Blockchain gemessen an den Transaktionen pro Sekunde. Nur Bitcoin verarbeitet mehr Transaktionen als Steem. Der Steem consensus state wächst schneller als alle anderen Blockchains weil fast jede Operation mehr Zustände hinzufügt als es verarbeitet. (Vor allen für full nodes welche steemit.com dienen)  

 Zur Zeit verbrauchen die Steem nodes welche steemit.com betreiben über 14 GB RAM und diese Zahl wächst sehr schnell. Jedes mal wenn wir neue Features hinzufügen wächst die Menge an RAM welche benötzigt wird.  
 

Langsames Beenden und Ladezeiten 

Wenn ein voller Knotenpunkt startet muss es mehrere Gigabyte an Daten verarbeiten und indizieren. Dieser Vorgang dauert zur Zeit 10 Sekunden, wenn es keine Probleme gibt. Wenn jedoch ein Problem besteht, dann muss die gesamte Blockchain verarbeitet werden und aus diesem einen Zustand aus der Vergangenheit nehmen welcher problemlos ist. Dieser Vorgang auf der Blockchain dauert selbst auf den schnellsten Maschinen über 5 Minuten.  

Wenn ein voller Knotenpunkt schließt müssen alle Daten auf dem Speicher gesichert werden. Das kann weitere 10 Sekunden dauern. Geht irgendwas schief beim Speichern so wird beim nächsten Mal die Blockchain wieder aufgearbeitet welche wie erwähnt über 5 Minuten dauert. 

Einfach-Prozess Engpässe beschränken die Verbindungen  

Graphene wurde gestaltet einfache Prozesse aus Performance gründen durchzuführen. Die Natur der Blockchain verlangt einen eindeutig bestimmbaren Verlauf der Zustände, was bedeutet, dass mein eindeutig definiere Sequenzen der Anwendungen hat. Der Aufwand von multithread-Prozessen ist wesentlich Größer als die Vorteile.  

In einer normalen Blockchain wäre dies OK, aber Steem ist keine normale Blockchain. Unsere Steem Knotenpunkte verarbeiten tausende Anfragen pro Sekunde. Jeder dieser Anfragen muss an den Thread weitergeleitet werden welche auf die Datenbank lesen und schreiben darf. Um es kurz zu halten, jeder Steem Knotenpunkt ist in der Lange maximal 150 Verbindungen gleichzeitig abzuarbeiten bevor der Nutzer Performanceeinbüßungen merkt.  

Damit die gute Performance beibehalten wird läuft steemit.com über mehrere Steem Knotenpunkte und laden Bilanzanfragen über jene. Jeder dieser Punkte benötigt weitere 14 GB Speicher (stetig wachsend).
 

Softwareausfall ist teuer zu beheben 

Jeder Softwarefehler welcher einen unerwarteter Ausfall verursacht führt zu beschädigten Daten. Wenn ein Knotenpunkt abstürzt kann es mehrere Minuten dauern bis er wiederhergestellt während die CPU ausgelastet ist.  

Jeder Prozess welcher Anfragen von Nutzern verarbeitet ist ein großes Risiko für Softwarefehler aus Ausfällen, da diese Prozesse häufiger wechseln als die Hauptanfragen. 

API Versionierung   

Jedes mal wenn wir die API überarbeiten benötigt das einen vollen Knotenpunkt. Mehrere Versionen der API gleichzeitig zu benutzen erfordert erhebliche Ressourcen. Mit Graphene 2.0 können mehrere APIs die selben Datenbank benutzt und können nach belieben gestartet und beendet werden. 

Bessere Zugangskontrolle 

Es ist uns nun möglich alle Blockchaindatenbank Anfragen über einen Prozess zu verarbeiten welche die Datenbank im „Nur-Lesen“ Modus verabeitet hat. Das bedeutet dass keine API mehr den Zustand der Blockchain behindern kann 

Parallele Netzwerk Protokolle 

Mit dem neuen Model können wir den P2P Netzwerkcode von dem Kerndatenbankcode und dessen Stringenz trennen. Diese Trennung erlaubt uns mehrere Netzwerkprotokolle hinzuzufügen während gleichzeitig die Stabilität der Blockchain gewährt.  

Das ermöglicht uns das P2P Netzwerk zu starten, stoppen und neuzustarten ohne dass die komplette Blockchain neugestartet werden muss. 

Zusammenfassung 

Graphene 2.0 wird einige grundlegende Verbesserung am Kern von Steem bringen und wird uns einige Wochen an Implementierung und Testen brauchen. Weil dieses Update so weitreichend ist werden sie andere Arbeiten an der Blockchain vorerst bei Seite legen. Es wird des Weiteren eine Zeit geben an der die alte und neue Version von Steem laufen wird um sicherzustellen, dass wir nicht einen unerwarteten Hardfork einführen.  

Nach der Migration von Graphene 2.0 werden wir unsere Aufmerksamkeit den Curations Guilds widmen. 


Steemit-de wird die wichtigsten Publikationen und populären Post ins Deutsche übersetzten, um das Wachstum von Steemit zu beschleunigen
Steemit-de is translating official publications in order to increase the growth of Steemit to non-english speakers.

Sort:  

Hey, super dass das jemand übersetzt. Gerne ge-upvoted und gefolgt.

This post has been linked to from another place on Steem.

Learn more about linkback bot v0.4. Upvote if you want the bot to continue posting linkbacks for your posts. Flag if otherwise.

Built by @ontofractal