Was sind die Vorteile der Data Availability Sampling-Technologie? Warum brauchen wir sie?

Foto von@testalizeme?utm_source=medium&utm_medium=referral">Testalize.me on Unsplash
Voraussetzung:
Das Folgende lautet: Datenveröffentlichung, um Datenverfügbarkeit aufzurufen, aber einige Wörter, die sich auf die Datenverfügbarkeit beziehen, z. B. DAS und DAC, behalten die ursprünglichen Wörter bei, um zu verhindern, dass Leser keine Verbindung mit dem englischen Originaltext herstellen können. Eine Einführung in den Namen Data Publication finden Sie unter:
Diese Artikelserie wird den Betriebsmechanismus von DAS durch Danksharding vorstellen, sowie die Ähnlichkeiten und Unterschiede zwischen Celestia, EigenDA und AvailDA. Der erste Artikel wird vorstellen, warum wir DAS benötigen und welche Vorteile DAS mit sich bringt.
Derzeit wird die Datenfreigabe im Ethereum-Ökosystem am häufigsten diskutiert, wenn es um das Design von L2 geht: L2 selbst ist auch eine Kette, daher wird sie auch ihre eigenen Blöcke und Transaktionsdaten haben. Wo sollten diese Daten also platziert werden? Denn Benutzer benötigen diese Informationen, um die Sicherheit zu gewährleisten.
Für weitere Informationen über die Beziehung zwischen Rollup und Datenfreigabe, siehe:
Aber tatsächlich ist es nicht nur L2, auch die Ethereum-Kette selbst wird das Problem der Datenfreigabe bewältigen müssen, da Leichtknoten keine vollständigen Blockdaten wie Vollknoten herunterladen werden, so dass Leichtknoten glauben müssen, dass "wenn ein neuer Block erscheint, tatsächlich die vollständigen Daten des Blocks freigegeben wurden." Wenn ein Leichtknoten dazu gebracht wird, an einen "unvollständigen" Block zu glauben, ist der Effekt derselbe wie wenn er dazu gebracht wird, an einen "illegalen" Block zu glauben - er ist mit einer Verbindung verbunden, die von anderen nicht verwendet wird. Anerkannte geforkte Ketten.

Vollknoten werden unvollständige Blöcke nicht akzeptieren, aber Leichtknoten werden.
Also, wem vertraut der aktuelle Ethereum-Leichtknoten, um sicherzustellen, dass die Daten eines neuen Blocks vollständig veröffentlicht werden? Die Antwort lautet "Validatoren". Wenn ein Leichtknoten einen neuen Block empfängt, lädt er nicht die vollständigen Blockdaten herunter, sondern sieht, wie viele Validatoren für den Block gestimmt haben. Wenn genügend Validatoren für diesen Block stimmen, wird er glauben, dass die vollständigen Informationen zu diesem Block tatsächlich veröffentlicht wurden. Dies ist eine Annahme, die zur Ehrlichen Mehrheit gehört, dem Glauben, dass die meisten Validatoren gute Menschen sind.

Wenn genug Validatoren den Block signieren, wird der Leichtknoten glauben, dass der Block vollständig freigegeben wurde.
Hinweis: Derzeit sammeln leichte Ethereum-Knoten tatsächlich nicht die Stimmen von Hunderttausenden von Validatoren zur Berechnung, da die Anzahl zu groß ist und die Berechnung zu ressourcenintensiv ist. Stattdessen wird eine andere Gruppe von Sync-Komitees mit einer viel kleineren Anzahl zugewiesen, die aus der inneren Validatoren-Signatur besteht und als Garantie für den leichten Knoten dient. Dies wird als Übergangsansatz betrachtet, der auf ein vollständigeres und ausgereifteres Design wartet, um es in Zukunft zu ersetzen.
"Zu glauben, dass die meisten Validatoren gute Menschen sind", klingt wie eine vernünftige und gute Wahl, aber was ist, wenn wir es besser machen können? Was ist, wenn eines Tages wirklich passiert, dass die meisten Validatoren sich zusammenschließen wollen, um uns zu täuschen, indem sie sagen, dass sie vollständige Blockdaten haben, aber in Wirklichkeit nicht, aber solange es ein paar gute Menschen im P2P-Netzwerk gibt, können wir vermeiden, getäuscht zu werden?
Eine solch große Fähigkeit wird definitiv nicht aus dem Nichts auftauchen. Um diese Fähigkeit zu haben, müssen Sie ein stabiles genug p2p-Netzwerk aufbauen, genügend Benutzer haben und sogar Datenschutzfunktionen auf der Netzwerkebene hinzufügen. Diese Fähigkeit ist der Schwerpunkt dieser Artikelserie - Datenverfügbarkeitsproben (DAS).
In einer Blockchain mit DAS erhalten leichte Knoten nicht nur passiv neue Blockdaten, sondern beteiligen sich gemeinsam an der Operation von DAS: Jeder leichte Knoten muss für jeden Block zum P2P-Netzwerk gehen. Auf dem Weg sucht er nach mehreren Datenteilen zum Block und speichert die Daten und teilt sie mit anderen Knoten, wenn sie nach Daten fragen. Ähnlich wie das dezentrale Dateifreigabeprotokoll BitTorrent speichern und teilen Knoten im Netzwerk gemeinsam die Daten, um die sie sich kümmern, anstatt sich auf einen zentralen Server zu verlassen.

Leichtgewichtige Knoten arbeiten zusammen, um Blockfragmentdaten über das P2P-Netzwerk abzurufen und zu teilen
Hinweis: In einem idealen Szenario würden alle Blockchain-Benutzer leichte Knoten ausführen, an der Operation von DAS teilnehmen und gemeinsam für Sicherheit sorgen, anstatt sich wie jetzt vollständig auf andere Knoten zu verlassen.
Jeder leichte Knoten kann nicht glauben, dass die Blockdaten vollständig veröffentlicht wurden, bis er erfolgreich jedes angeforderte Datenstück erhält. Sobald jedoch jedes angeforderte Datenstück erhalten ist, kann er sicher glauben, dass die Blockdaten veröffentlicht wurden. Die Informationen wurden vollständig veröffentlicht. Aber warum können leichte Knoten sicher glauben, dass die vollständigen Blockdaten veröffentlicht wurden, obwohl sie nur fragmentierte Daten haben? Dies liegt daran, dass andere leichte Knoten im Netzwerk fragmentierte Daten ebenfalls separat speichern, sodass bei Bedarf jeder in der Lage sein wird, zusammenzuarbeiten, um vollständige Daten aus den fragmentierten Daten anderer zusammenzufügen, und eine weitere magische Fähigkeit von DAS ist: Die von den leichten Knoten gespeicherten Daten müssen nicht die vollständigen Blockdaten abdecken. Die leichten Knoten können 100% der Daten wiederherstellen, solange sie 50% der Daten erhalten.

Solange Leichtknoten mehr als 50% der Fragmentdaten haben, können sie die vollständigen Blockdaten wiederherstellen.
Hinweis: Es sind nicht unbedingt 50 %, es kann höher sein, je nach Einstellung des DAS, aber es wird definitiv weniger als 100 % sein.
Daher glauben selbst wenn die meisten Validatoren für einen bestimmten Block stimmen, Leichtknoten den Block nicht leicht. Der Leichtknoten führt Stichproben (Sampling) durch, d. h. erfordert die Fragmentdaten des Blocks. Wenn alle angeforderten Fragmente erhalten sind, wird davon ausgegangen, dass die Blockdaten vollständig veröffentlicht wurden.
Im Vergleich zu Ethereum, das derzeit kein DAS hat, müssen sich Light-Nodes darauf verlassen, dass "die meisten Validatoren gute Menschen sind", was die Annahme von Honest Majority ist; Nachdem Ethereum dem DAS beigetreten ist, verlassen sich leichte Knoten auf "eine kleine Anzahl von Knoten, die (werden Stichproben und "Eine gute Person, die Informationen aufbewahrt" ist die Annahme der ehrlichen Minderheit.
Hinweis: „Few“ bezieht sich darauf, dass die Anzahl der leichten Knoten, die zur Wiederherstellung vollständiger Daten ausgewählt und gespeichert werden müssen, im Vergleich zu allen (sehr vielen) leichten Knoten im Netzwerk relativ gering ist.
Wie bereits erwähnt, wenn ein Leichtknoten alle angeforderten Fragmentdaten empfängt, wird er glauben, dass die Blockdaten vollständig veröffentlicht wurden, und die Leichtknoten im Netzwerk können zusammenarbeiten, um sie bei Bedarf auszuleihen. Die vollständigen Daten können aus den fragmentierten Daten wiederhergestellt werden, aber... was ist, wenn die Person, die den Block produziert hat, bösartig ist und zunächst nicht genügend Blockdaten veröffentlicht hat? Was ist, wenn es auf einen bestimmten Leichtknoten abzielt und nach Bereitstellung der für diesen Leichtknoten erforderlichen Fragmentdaten keine Daten mehr bereitstellt?

Alice hat die angeforderten Informationen erfolgreich erhalten, daher glaubt sie, dass die Blockinformationen vollständig veröffentlicht wurden, und sie wird schließlich den Block abholen, der von anderen Knoten verworfen wurde.
Dann wird dieser arme Light-Node getäuscht werden müssen, und das ist auch die Begrenzung und der Kompromiss von DAS: Die Garantie für die „vollständige Freigabe von Daten“, die von DAS bereitgestellt wird, ist eine Garantie der Wahrscheinlichkeit, keine 100%ige und kategoriale Garantie, aber das ist immer noch besser als dem Großteil der Validatoren vollständig vertrauen zu müssen. Wenn Sie der Meinung sind, dass die Wahrscheinlichkeitsgarantie nicht sicher genug ist und zu 100% sicher sein möchten, ob die Blockdaten vollständig freigegeben wurden, dann tut es mir leid, Sie können nur selbst einen Full Node ausführen, um die vollständigen Blockdaten herunterzuladen.
Hinweis: Das Programm, das den Light-Knoten ausführt, hat keine Möglichkeit zu wissen, dass es betrogen wurde. Für das Programm wird, solange es alle angeforderten Daten empfängt, glauben, dass der Block vollständig veröffentlicht wurde. Benutzer können nur über ihre eigenen sozialen Kanäle herausfinden, dass ein bestimmter Block tatsächlich unvollständig veröffentlicht wurde, und schnell ihre Light-Knoten anweisen, den Block als unvollständige Daten zu markieren.
Wenn die Person, die den Block produziert hat, bösartig ist und einige Leichtknoten täuschen möchte, wird es leider in der Lage sein, diese Leichtknoten zu täuschen. Es wird jedoch eine Obergrenze für die Anzahl der Täuscher geben. Schließlich kann der Angreifer nicht zu viele Blöcke freisetzen, damit die Leichtknoten tatsächlich zusammenarbeiten können, um die vollständigen Daten wiederherzustellen.
Zu diesem Zeitpunkt könnten Sie besorgt sein, ob Ihre Sicherheit nur auf „keine Feindseligkeit gegenüber der Person, die den Block produziert hat“ oder „der Angreifer weiß nicht, wer ich bin, also wird er mich nicht ins Visier nehmen“ basieren kann. Ja, aber genau deshalb wurde bereits erwähnt, dass DAS die Datenschutzfunktion der Netzwerkschicht benötigt, denn wenn der Angreifer wissen kann, wer die Fragmentdaten anfordert, oder weiß, dass die drei Fragmente A, B und C von derselben „Person“ angefordert werden, dann kann er natürlich leicht das Zielopfer ins Visier nehmen und Informationen an die andere Partei weitergeben. Wenn die Datenschutzfunktion der Netzwerkschicht von heute eine Datenschutzfunktion hat, wird der Angreifer keine Möglichkeit haben zu wissen, wer diese Informationen anfordert. Natürlich wird es keine Möglichkeit geben, das Ziel zu täuschen, und die Angriffseffizienz des Angreifers wird erheblich reduziert: Er hat keine Möglichkeit zu bestimmen, ob das Opfer getäuscht wurde, oder sogar irgendein Light-Node.

Wenn der Angreifer nicht weiß, wer die Informationen anfordert, wird es sehr schwierig sein, Leichtknoten zu täuschen.
Für Gate.com muss es sicher sein, es erfordert:
Was wäre das Problem, wenn die Blöcke nicht durch Fehlerkorrekturcodierung codiert würden, sondern leichte Knoten direkt den originalen Blockinhalt proben ließen? Die Antwort ist: Die fragmentierten Daten, die von leichten Knoten probiert werden, müssen eine 100%ige Abdeckung erreichen, um die Integrität der Daten zu gewährleisten. Auch wenn die leichten Knoten zusammenarbeiten, um 99% der Blockdaten zu probieren, ist dieser Block immer noch unvollständig und wird nicht erkannt.

Ohne Fehlerkorrektur bedeutet es, dass, wenn auch nur ein kleiner Teil des Blocks fehlt, dies bedeutet, dass der Block nicht vollständig freigegeben wurde.
Wenn der Block durch Fehlerkorrekturcodierung codiert ist, können beispielsweise 100% der Daten mit beliebigen 50% der Daten wiederhergestellt werden. Dies bedeutet, dass die Leichtknoten sicherstellen können, dass sie die Daten wiederherstellen können, solange die fragmentierten Daten zusammen 50% Abdeckung erreichen. Vollständige Blockinformationen. Im Vergleich zu 100% Abdeckung ist die Anforderung an 50% Abdeckung viel einfacher. Es wird für böswillige Blockproduzenten viel schwieriger sein, einige Informationen zu verbergen, um die Leichtknoten zu täuschen.
Hinweis: 50% ist nur ein Beispiel. Unterschiedliche Anforderungen erfordern unterschiedliche % für die Wiederherstellung.
Wenn der Light-Node nicht genügend Fragmentdaten speichert, auch wenn die Blockdaten durch Fehlerschutzcodierung codiert sind, können 100 % der Daten nicht wiederhergestellt werden. Wenn beispielsweise die Light-Nodes nur insgesamt 40 % der Fragmentdaten speichern und sie zusammen 100 % der Daten nicht wiederherstellen können, werden diese Nodes alle getäuscht und glauben, dass die Blockdaten vollständig veröffentlicht wurden.
Wie kann sichergestellt werden, dass Light-Knoten genügend Daten speichern? Es müssen ausreichend Light-Knoten oder ausreichend Stichproben für jeden Light-Knoten vorhanden sein. Wenn genügend Light-Knoten vorhanden sind, muss die Anzahl der Probenzeiten für jeden Light-Knoten nicht hoch sein; aber wenn nicht genügend Light-Knoten vorhanden sind, muss die Anzahl der Probenzeiten für jeden Light-Knoten hoch genug sein, um sicherzustellen, dass die Light-Knoten zusammenarbeiten, um genügend Daten zu speichern.
Hinweis: Wenn die Anzahl der leichten Knoten weiter wächst, kann die Datengröße, die sie gemeinsam speichern können, tatsächlich zunehmen, wenn die Anzahl der Samples unverändert bleibt. Zum Beispiel kann Celestia, die in dieser Artikelserie vorgestellt wird, flexible Blockgrößen unterstützen. Blockchain: Die Blockgröße von Celestia kann je nach Anzahl der leichten Knoten im Netzwerk angepasst werden.
Light-Knoten müssen fragmentierte Daten über das P2P-Netzwerk austauschen, damit bei Bedarf vollständige Blockdaten wiederhergestellt werden können. Wenn das P2P-Netzwerk instabil ist und eine große Anzahl von Datenanfragen nicht verarbeiten kann, können Knoten möglicherweise bestimmte Datenfragmente nicht abrufen. Darüber hinaus muss verhindert werden, dass alle Datenfragmente im selben P2P-Netzwerk zirkulieren, was zu einer Überlastung der Netzwerkbandbreite führt. Im Idealfall sollte ein Light-Knoten nur die Daten empfangen können, die er anfordert, und nicht alle anderen irrelevanten Daten. Fließen Sie durch seine Hände durch P2P-Netzwerke.
Zusätzlich muss die Netzwerkschicht auch über Datenschutzfunktionen verfügen, da sonst der Leichtknoten vom Angreifer identifiziert wird. Der Angreifer wird nicht mehr als 50% der Daten veröffentlichen, aber er wird die fragmentierten Daten bereitstellen, die vom gesperrten Leichtknoten angefordert werden. Um den Leichtknoten irrezuführen und ihn glauben zu lassen, dass die Blockdaten vollständig veröffentlicht wurden.
Die Details dieser drei Teile werden in dieser Artikelserie ausführlicher vorgestellt.





