Ich habe mich mit Mahnush zusammengesetzt, der schon lange Teil des DFINITY-Teams ist, um die verschiedenen Innovationen zu besprechen, die DFINITY veröffentlichen wird. Die Themen behandeln Begriffe wie Schwellenwertsignaturen, Zufallsbeacons und verteilte Schlüsselgenerierung. Wir diskutieren nicht nur diese Konzepte, sondern auch, warum sie so wichtig sind.

Hallo und willkommen zu einer weiteren Folge von Inside DFINITY. Heute werde ich mit Mahnush sprechen, der schon sehr früh als Forscher zu uns kam. Sie kommt aus Yale und heute werfen wir einen Blick darauf, was sie bei DFINITY macht, was sie zuvor gemacht hat, und dann wird sie uns auch einige Einblicke in einige der Technologien und Innovationen geben, die DFINITY entwickelt hat.

Vielen Dank, Sie sind DFINITY sehr früh beigetreten. Sie waren seit unseren Anfängen ein wichtiger Teil unseres Forschungsteams. Vielleicht für Leute, die noch nichts von Ihnen gehört haben: „Was machen Sie hier?“

Ich bin also ein Forscher und meine Aufgabe ist es, die Konsensschicht zu unterstützen und zu entwerfen und die Sicherheit der Konsensschicht und der Zufallsbeacons zu beweisen.

Meine Hauptaufgabe besteht darin, Ideen aus dem Team zu sammeln, sie formeller zu gestalten, damit wir sie untereinander verstehen können, und sie formell aufzuschreiben. Anschließend möchte ich beweisen, dass sie sicher sind, damit wir sie verwenden können.

Ich denke, eine gute Art und Weise, wie Sie mich gestern beschrieben haben, ist: „Ich nehme alles, was wir vorschlagen, und stelle sicher, dass es sicher ist, für das, was wir mit DFINITY aufbauen wollen. Etwas, das meiner Meinung nach eine sehr wichtige Eigenschaft ist.“

Was hat Sie zu dieser Position geführt? Was hast du vorher gemacht? Woher kommst du?

Bevor ich zu DFINITY kam, war ich Postdoc an der Yale University. Davor war ich Doktorand. Im Rahmen meiner Doktorarbeit habe ich mich mit Sicherheit beschäftigt, beispielsweise mit Mehrparteienberechnungen.

Sichere Mehrparteienberechnung

Bei der sicheren Mehrparteienberechnung müssen Sie sicherstellen, dass alle Parteien zu einer Einigung kommen. Ein wichtiger Teil des Rechnens ist die Ausgabe, über die sich alle einig sein sollten. Daher sind Konsens und byzantinische Vereinbarung wichtige Bestandteile des MPC-Protokolls. Deshalb interessiere ich mich für Konsensprotokolle.

Während meiner Zeit in Yale habe ich dann versucht, ein Konsensprotokoll zu entwickeln, das sich mithilfe eines ausschussbasierten Protokolls auf Millionen von Parteien übertragen ließ. Dann traf ich Timo und Dominic und erfuhr, dass DFINITY dasselbe versuchte, was für mich interessant war.

Es ist toll, dich zu haben. Ich weiß, dass wir seit Ihrem Beitritt große Fortschritte gemacht haben, einschließlich des Weißbuchs, das wir Anfang dieses Jahres veröffentlicht haben, und ich weiß, dass Sie viele schlaflose Nächte damit verbracht haben, daran zu arbeiten.

Cloud Computing

Welches Rätsel oder welche interessante Frage versuchen wir hier zu lösen? Ich denke, was wir bei DFINITY versuchen, ist eine neue Version des Cloud Computing, das, wenn man darüber nachdenkt, in Wirklichkeit ein Zustandsreplikator ist.

Denn Sie müssen viele Replikate haben, um sicherzustellen, dass keine Berechnungen oder Daten verloren gehen, aber alle sollten eine Vereinbarung haben. Denn wenn einige glauben, dass etwas endgültig ist, und andere Kopien, dass etwas anderes endgültig ist, wissen die Benutzer nicht, welche Version korrekt ist.

Daher ist es ein sehr wichtiger Teil von DFINITY, sicherzustellen, dass alle diese Kopien konsistent sind. Aus diesem Grund sind Konsensprotokolle für DFINITY oft sehr wichtig.

Wenn nun alle Replikate ehrlich sind, dann ist das viel einfacher, weil wir sicherstellen können, dass Sie beispielsweise in Google Cloud mehrere Replikate haben und sicher sind, dass alle Replikate von Google kontrolliert werden, dann ... richtig, Da sie alle von Google gesteuert werden, können Sie sicher sein, dass jeder Computer denselben Algorithmus anwenden kann.

Das ist es, was Sie sagen: „Sie sind alle ehrlich!“ Ja, es ist viel einfacher für sie, da sie alle einer zentralen Gruppe gehören, aber gleichzeitig muss man Google vertrauen, dass der Algorithmus sicher ist Lauf ist ehrlich.

Replik

Bei DFINITY möchten wir jedoch sicherstellen, dass jeder auf der Welt eine Kopie haben kann, anstatt davon auszugehen, dass alle Kopien Eigentum von DFINITY sind. Es handelt sich also um einen offeneren Ansatz für Cloud Computing.

Benutzer müssen DFINITY nicht vertrauen, können aber den von DFINITY ausgeführten Protokollen vertrauen. Irgendwann wird es auch Open Source sein, oder? Was bedeutet es, dass jeder den Code sehen und jeder eine Kopie haben kann?

Im Grunde bedeutet das, dass in unserem System jeder Miner werden kann, während in DFINITY weiterhin Miner benötigt werden. Obwohl sie das Proof-of-Work-Rätsel nicht lösen werden, stellen sie die verteilte Rechenleistung auf DFINITY dar.

Sie helfen bei den Berechnungen, sie helfen bei der Pflege der Daten und sie helfen bei der Pflege der Berechnungen der Daten.

Praktisches byzantinisches Fehlertoleranzprotokoll

Wenn die Replikate unterschiedlich sind, beispielsweise Computer in unterschiedlichen Domänen, sind einige von ihnen möglicherweise beschädigt oder angreifbar. In der Informatik nennen wir es byzantinisch, weil es vom Problem der byzantinischen Generäle herrührt.

Die Lösung dieses Problems ist ein sehr schwieriges Problem, das in der Informatik seit 40 Jahren besteht. Und jeder versucht, die Lösung zu verbessern, weil es sich um ein so grundlegendes Problem handelt.

Wenn Sie dieses Problem effektiv lösen, lösen Sie darüber hinaus noch viele weitere Probleme. Nun sind verschiedene Versuche neue Wege, das Problem zu lösen.

Wenn Sie also sagen, dass das Problem schon seit langem besteht, besteht meiner Meinung nach eine Lösung darin, wenn ich drei unabhängige Kopien habe, von denen zwei eine Sache sagen und die dritte etwas anderes sagt. Ich glaube immer der Mehrheit. Was passiert eigentlich gerade im Netzwerk? Inwieweit ist es völlig anders?

Dies ist die erste Antwort, die Informatiker gefunden haben: Wenn man mehrere Kopien hat, sagen wir drei Kopien, dann kann man keine Mehrheit bekommen. Nachdem man also die Mehrheit erreicht hat, sollte jeder seinen Beitrag an jeden senden und es ist wie ein Kreislauf mit einer hohen Kommunikationstiefe.

Denn wenn man nur einem ähnlichen Punkt zustimmt, kann die Mehrheit funktionieren. Aber wenn Sie wie eine Schnur zustimmen, können selbst ehrliche Gruppen anderer Meinung sein. Daher besteht eine der Lösungen für die Verwendung des PBFT-Protokolls darin, einen Leiter auszuwählen.

PBFT-Protokoll (Byzantine Fault Tolerance).

Was bedeutet PBFT? Es ist wie die byzantinische Fehlertoleranz (BFT), sie nennen es die „schlechte Seite“ oder „byzantinische Seite“, und das P in PBFT kommt von der Praktikabilität.

In diesem Protokoll wählen die Replika-Server einen Anführer. Wenn Sie also zu einer Einigung kommen möchten, ist es wie in der realen Welt am besten, einen Anführer zu wählen, und dann sagt der Anführer, was als nächstes zu tun ist: Jeder tut es das Gleiche und sie kommen zu einer Einigung.

Ähnlich wie beim PBFT-Protokoll wählen sie also einen Anführer. Wenn der Anführer ehrlich ist, bietet er allen im Netzwerk den gleichen Wert, bevor sie eine Einigung erzielen können.

Das Problem besteht jedoch darin, dass, wenn der Anführer nicht ehrlich ist, kein Konsens erzielt werden kann und der Anführer ersetzt werden muss. Stellen Sie sicher, dass der Leiter ehrlich ist und allen den gleichen Mehrwert bietet. Ohne einen Wechsel des Leiters ist es ein sehr teures Geschäft (man nennt es „Perspektivwechsel“), daher ist eine umfassende Kommunikation erforderlich, was sehr teuer ist.

Blockchain-Protokoll

Dann kommen Blockchain-Protokolle wie Bitcoin und sie beschließen, den Anführer nicht zu wechseln, solange er unehrlich ist, und sie entscheiden, nun ja, nein, wir müssen den Anführer tatsächlich nur dann wechseln, wenn der Anführer unehrlich ist. Wir gehen davon aus, dass das Protokoll unehrlich ist synchron, wir wechseln also in jeder neuen Epoche, in jeder neuen Runde den Anführer.

Dann brauchen sie eine Möglichkeit, einen Anführer auszuwählen, denn man muss den Anführer auswählen und dann den nächsten Anführer und dann den nächsten Anführer.

Sie müssen nicht ständig überprüfen, ob der Leiter ehrlich ist, sondern bauen einfach auf dem Protokoll und den Protokollen auf. Es besteht eine gute Chance, dass einer dieser Führungskräfte einen ehrlichen und gesunden Deal aushandelt. Das Problem reduziert sich nun auf die Auswahl eines Anführers, für den Zufallszahlen erforderlich sind.

Denn wenn Sie eine Zufallszahl wie einen Würfel haben, können Sie diese Zufallszahl verwenden, um einen Anführer auszuwählen, und hier hilft Proof of Work (POW).

Arbeitsnachweis

Im Kern handelt es sich bei Blockchain-Protokollen um byzantinische Protokolle, da sie im Wesentlichen auf Proof-of-Work zur Auswahl von Führungskräften zurückgreifen. Allein durch die Ausführung des Proof-of-Work ist die erste Person, die eine Proof-of-Work-Lösung entwickelt, der Leiter, was ein zufälliger Prozess ist.

Wenn ich also mit Eltern oder anderen Leuten spreche, die sich für Blockchain interessieren, und das mache ich oft, frage ich sie: Wie wählt man zufällig eine der Personen in diesem Raum aus, sagen wir, es sind 10 Personen im Raum?

Erstens denken alle, es sei einfach, als würden wir nur würfeln. Ich finde. Also, wer würfelt? Man sagt, wir addieren einfach alle Geburtsdaten, beginnend mit Ihnen, und kreisen dann um, bis wir diese Zahl erreichen. Aber wie wählt man dann aus, mit wem man beginnt?

Das klingt also nach einer sehr einfachen Frage. Aber wenn man es wirklich zufällig machen will, ist es schwierig. Das war die große Innovation von Bitcoin, einen Weg zu finden, sich im Grunde auf zufällige Entscheidungen unter Gleichgesinnten zu einigen.

Grundsätzlich ist die Verwendung von Arbeitsnachweisen zur Erzeugung von Zufälligkeiten eine sehr kostspielige Methode zur Erzeugung von Zufälligkeiten, da dafür viel Strom verbraucht wird.

Für aktuelle Bemühungen wie Bitcoin ist es also wie eine Machtnation, die darauf brennt, den Proof of Work zu lösen, weshalb es von Natur aus sehr teuer ist.

Wir verwenden Bitcoin eigentlich nicht so oft, und wenn Sie Bitcoin für viele Rechenaufgaben nutzen wollten, müssten Sie die gesamte Welt davon vernichten. Wenn wir vergleichen, wo sich Bitcoin jetzt befindet und wohin es gehen muss, um die Vision zu verwirklichen, müssen Sie Bitcoin immer noch zehn- oder hundertmal verwenden.

Sie haben erwähnt, dass es grundsätzlich viel Strom verbraucht. Daher suchen wir nach einer effizienteren Methode zur Auswahl von Führungskräften, um zufällige Personen unter Gleichgesinnten auszuwählen.

Arbeitsnachweis als Synchronisationsprotokoll

Ein weiterer Grund, warum wir versuchen, die Art und Weise zu ändern, wie Bitcoin Zufälligkeiten erzeugt, besteht darin, dass Proof-of-Work von Natur aus ein synchrones Protokoll ist, sodass die Zeit, die Sie für den Proof-of-Work aufwenden müssen, im Wesentlichen um eine Größenordnung größer ist als die Netzwerklatenz.

Andernfalls wissen Sie nicht, ob die Leute lieber Strom verbrennen, um Arbeitsnachweise zu lösen, oder Zeit damit verbringen, Arbeitsnachweise zu lösen, oder ob ihre Informationen im Netzwerk verloren gehen.

Im Wesentlichen weisen Proof-of-Work-Ketten oder Proof-of-Work-Konsens einen geringen Durchsatz auf und Sie können Ticks nicht schnell ausführen, da Sie im Wesentlichen länger als die Netzwerklatenz warten müssen, bis das nächste Stück Zufälligkeit erstellt wird.

Deshalb kann man darüber hinaus kein Protokoll mit hohem Durchsatz haben, und deshalb werden Transaktionen auch sehr teuer, weil nur eine begrenzte Anzahl von Transaktionen in jeden Block passen. Wir können die Anzahl der Blöcke pro Zeiteinheit nicht erhöhen, ohne das Protokoll durcheinander zu bringen.

Wie DFINITY Zufallszahlen erstellt

DFINITY versucht, dieses Problem zu lösen, daher ist der erste Gedanke: Jetzt brauchen wir einen neuen Weg, um Zufälligkeit zu erzeugen, aber wie erzeugen wir nun Zufälligkeit?

Wie gesagt, das ist eine sehr schwierige Frage. Ein Ansatz besteht also darin, die Zufälligkeit von einer Person erzeugen zu lassen. Wenn diese Person jedoch unehrlich ist, kann sie die Zufälligkeit nicht beeinflussen.

Jetzt brauchen wir eine Gruppe, um die Zufälligkeit zu erzeugen, aber wenn wir eine Gruppe auswählen, dann, wenn ich die erste Person bin, die die Zufälligkeit erzeugt, und Sie die zweite Person sind, dann kann die letzte Person sich unsere Zufallszahl ansehen und ihre eigene auswählen Zufälligkeit, das Ergebnis ist das, was er will, wir nennen es den Last-Man-Bias.

Wir können keine Gruppe haben, in der die letzte Person den Zufall wählt, deshalb verwenden wir Schwellenwertkryptographie.

Schwellenwertkryptographie

Was Schwellenwertkryptographie bedeutet, ist, dass es statt einer Gruppe von n Personen, bei denen alle n Personen Zufälligkeit erzeugen müssen, eine Gruppe von n Personen gibt, an der jedoch nur K teilnehmen müssen.

Wenn Sie auf K Personen warten, dann warten Sie auf eine Eingabe, wenn Sie Eingaben von K minus 1 Teilnehmer erhalten. Aber jede andere Partei mit n minus K kann die letzte Person sein. Daher gibt es keinen Last-Person-Bias.

Wenn die letzte Person entscheidet „Ich möchte nicht mitmachen“, gibt es eine weitere Partei, aber das reicht nicht aus. Denn wenn nun die Mitglieder dieser Gruppe von K-Personen Zufälligkeit erzeugen und das Verhalten einer anderen Gruppe von K-Personen Zufälligkeit erzeugt, wenn diese beiden Zufälligkeiten unterschiedlich sind, kann der Gegner (indem er feststellt, ob ich an dieser Gruppe teilnehmen möchte) das beeinflussen Protokoll . Deshalb brauchen wir Einzigartigkeit.

Einzigartigkeit

Die Einzigartigkeit der Zufälligkeit bedeutet, dass es keine Rolle spielt, welche K-Partei an der Erstellung der Zufälligkeit beteiligt ist, das Ergebnis immer einzigartig und das Ergebnis immer dasselbe ist. Erstens ist dies eine unglaubliche Immobilie. So kontraintuitiv es auch klingt: „Wie kommen wir dorthin?“

Wenn Sie eine Nachricht haben und BLS-Signaturen für die Schwellenwertsignatur verwenden, benötigen Sie K Teilnehmer. Wenn der Schwellenwert K beträgt, benötigen Sie K Teilnehmer, um ihn zu signieren. Unabhängig davon, wer die k Teilnehmer unterschreiben, erhalten Sie ein eindeutiges Identitätsergebnis. Dies ist ein Schlüsselmerkmal von BLS-Signaturen.

Hierbei handelt es sich um eine paarungsbasierte Verschlüsselungstechnologie. Es ist also neu, aber nicht zu neu, denn wenn das Schema zu neu ist, machen Sie sich Sorgen um die Sicherheit und machen sich Sorgen darüber, ob es sich als richtig erwiesen hat. Wenn genügend Leute es bewerten, hinterlassen Sie Kommentare und testen Sie es.

In Stanford haben sich genügend Leute damit befasst und die Gruppe hat lange daran gearbeitet, sicherzustellen, dass es sicher ist und wie ein sehr sicheres Protokoll mit guten Implementierungen. Wir haben also eine sehr schnelle BLS-Implementierung, die Open Source ist und die jeder nutzen kann.

Vielleicht geben Sie einfach einen Überblick, dann können wir auch über zufällige Beacons sprechen und was genau sie sind. Aber Sie haben das erwähnt, und ich denke, das ist eine gute Erklärung dafür, wo man anfangen soll und wo der Arbeitsnachweis einen bestimmten Punkt in Bezug auf Durchsatz und Energieverbrauch nicht überschreitet.

Dann lösen wir das Problem, die Voreingenommenheit der letzten Person zu nutzen, um diese Zufallszahl zu erstellen, durch k aus den Schwellenwertsignaturen von n Personen. Und die von uns verwendete BLS-Signatur gilt nur für k von n Personen und ist immer noch zufällig. Dies sind zwei Eigenschaften, bei denen es mir immer noch schwerfällt, immer zu sehen, wie sie zusammenpassen.

Also, was sollten wir tun? Kehren wir zu den Blockchains von Satoshi Nakamoto zurück und sehen wir uns an, wie sie funktionieren. Die Blockchain von Nakamoto ist also so, als würde man für jeden Block eine vollständige Zufälligkeit schaffen, was bedeutet, dass man für jeden Block den Proof of Work von Anfang an löst und keinen Teil der Zufälligkeit dort wiederverwendet.

Das ist einer der Gründe, warum es so teuer ist. Deshalb möchten wir das hier nicht tun, weil wir wissen, dass die Schwellenwertverschlüsselung sehr teuer ist, genau wie in der Proof-of-Work-Welt. Es ist nicht so teuer, aber es ist immer noch eine sehr teure Operation.

Wir möchten sicherstellen, dass die meisten der teuren Vorgänge offline durchgeführt werden können, und wenn wir online sind, erledigen wir nur sehr wenige davon. Wenn man sich das Signaturschema ansieht, gibt es verschiedene Methoden, mit denen man umgehen muss und die funktionieren müssen. Eine davon ist die Schlüsselerstellung, wir nennen sie Distributed Key Generation (DKG).

DKG (Verteilte Schlüsselgenerierung)

DKG (Distributed Key Generation) ist ein sehr kostspieliger Vorgang, da sich jeder auf den öffentlichen Schlüssel einigen muss, den er signieren möchte, und jeder einen Schlüssel für sich selbst ausgibt, der Teil eines größeren Schlüssels für die Gruppe ist, damit sie ihn zum Signieren verwenden können Eingang.

Der gesamte Prozess ist ein teurer Prozess. Sie müssen einen Schlüssel zur Authentifizierung verwenden, es ist also ein teurer Prozess. Nur zur kurzen Diskussion: Ich denke, das ist auch ein interessantes Thema. Es bedeutet im Grunde, dass wir alle draußen sind, wir alle miteinander reden, aber wir haben uns alle auf einen nicht öffentlichen Schlüssel geeinigt.

Es ist erstaunlich, dass wir darüber sprechen können ... aber es bedeutet auch, dass wir beide den privaten Schlüssel, der mit diesem öffentlichen Schlüssel verwendet werden soll, korrekt erstellt haben, und obwohl wir unseren privaten Schlüssel niemandem gegenüber erwähnt haben, sind alle unsere privaten Schlüssel vertraulich Tasten funktionieren auch irgendwie zusammen.

Das Gute daran ist, dass Sie den DKG-Prozess einmal ausführen und dann mehrmals mit demselben Schlüssel signieren können, was bedeutet, dass Sie die Kosten für den teuren DKG mehrmals amortisieren müssen. Sie könnten eine Runde machen und DKG für eine Gruppe ausführen und dann, nachdem sie ihren eigenen Schlüssel haben, können sie ihn zum Signieren verschiedener Eingaben verwenden.

Jedes Mal, wenn sie erneut unterschreiben, erhalten sie eine neue Zufallszahl, es ist eine neue Pseudozufallszahl, eigentlich ist es keine Zufallszahl mehr, weil die erste zufällig war, aber danach ist es eine Pseudozufallsfunktion. Sie fungiert für Sie als Pseudozufallszahl.

Auf diese Weise können wir das Signaturschema dann nicht interaktiv machen, was bedeutet: „Ich muss nicht mit Ihnen sprechen, um zu signieren.“

Ich gebe mein Bestes, ich unterschreibe, Sie leisten Ihren Beitrag, Sie unterschreiben, aber wir können diese Unterschriften zusammenfügen und zusammenführen und eine zusammengeführte Unterschrift erhalten, ohne miteinander reden zu müssen.

Das nennen sie nicht interaktiv. Dies ist eine nette Eigenschaft, da sie das Signaturschema viel schneller macht als die nicht interaktive Version.

Die Art und Weise, wie DFINITY funktioniert, besteht darin, dass wir die Gruppe erstellen, dann das DKG durchführen, jetzt die erste Zufälligkeit signieren, dann eine Zufälligkeit für diese Runde erhalten und dann in der nächsten Runde die vorherige Zufälligkeit für die nächste Runde signieren. Erstellen Sie eine neue Runde der Zufälligkeit und dann fahren wir mit dem Signieren fort.

Wie lange wollen wir dieselbe ursprüngliche Zufälligkeit wiederverwenden? Sie können es für eine lange Zeit wiederverwenden, Sie können es für ein paar Monate oder vielleicht für einen oder zwei Monate wiederverwenden. Daher kann die gleiche Zufälligkeit wiederverwendet werden, solange genügend Teilnehmer in der Gruppe vorhanden sind, die noch aktiv und ehrlich sind. Sie haben auch Gruppen erwähnt.

Gibt es unterschiedliche Gruppen für die Funktionsweise von DFINITY? Wir haben diese Schwellenwertkryptographie, wir haben den DKG-Prozess, aber wenn Sie diesen Prozess mit einer großen Anzahl von Teilnehmern wie 5 Millionen Bitcoins ausführen möchten, ist das ein sehr teurer Prozess, weil Sie eine Nachricht an alle senden müssen, die jeder unterschreiben muss .

Dies ist immer noch ein sehr kostspieliger Prozess. Wir haben uns das System angeschaut und festgestellt, dass man nicht die Unterschrift jedes Einzelnen und nicht die Beteiligung jedes Einzelnen an der Zufälligkeit braucht. Sie können den Zufall nutzen, indem Sie die Parteien zufällig auswählen, genau wie Sie es bei einer Wahl in einem Land tun würden.

Wenn Sie also etwas entscheiden möchten, bei dem nicht jeder ein Gesetz ausarbeiten oder eine Entscheidung treffen muss, können Sie einen Ausschuss haben, Sie können Vertreter anstelle aller haben, wir sollten eine Gruppe auswählen, aber wie wählen wir eine aus? Gruppe?

Dennoch können wir unsere eigene Zufälligkeit wiederverwenden. Da also eine Gruppe zufällig ausgewählt wird, hat diese Gruppe ähnliche Eigenschaften wie die tatsächliche Gesamtquadratzahl. Anstatt das gesamte Protokoll unter 5 Millionen Menschen laufen zu lassen, können Sie das Protokoll unter 500 Menschen laufen lassen, und das geht zehnmal schneller.

Egal ob 100.000 Menschen am gesamten Netzwerk teilnehmen oder 100 Millionen Menschen, der Prozess, den die Gruppe durchläuft, ist immer ähnlich, da die Gruppengröße konstant ist. Ein weiterer Vorteil der Auswahl von Gruppen besteht darin, dass Sie nicht nur Skalierbarkeit, sondern auch Parallelität erhalten, da wir jetzt mehrere Ketten anstelle nur einer Kette haben können.

Zersplitterung

Jede Gruppe ist für eine Kette verantwortlich. Anschließend können Sie mehrere Ketten parallel erstellen, die wir in einer Blockchain normalerweise als Shards bezeichnen. Dies ist eine natürliche Art zu scherben.

Aus diesem Grund denke ich, dass DFINITY über eine großartige Sharding-Methode verfügt, die DFINITY innewohnt, weil wir Gruppen haben und dann jede Gruppe ihren eigenen Shard haben kann. Was sind also die größeren Probleme, mit denen wir uns derzeit beschäftigen?

Derzeit verfügen wir über vollständige Proofs in den Synchronisierungseinstellungen. Wenn im synchronen Berechnungs- oder synchronen Kommunikationsmodell eine ehrliche Partei eine Nachricht sendet, wird diese von allen ehrlichen Parteien innerhalb des Delta-Bereichs empfangen.

Wenn beispielsweise bei Bitcoin eine ehrliche Partei eine Nachricht sendet, wird diese in etwa einer Minute empfangen, was für jeden auf der Welt weniger als eine Minute ist. Das Protokoll weiß es und nutzt es.

Bei Bitcoin hängt die Länge des Arbeitsnachweises also von der Latenz des Netzwerks ab und sollte viel länger sein, also etwa 10 Minuten für Bitcoin, da man davon ausgeht, dass Bitcoin zehnmal länger ist.

Die Synchronisationsannahme ist gültig, das Problem besteht jedoch darin, dass das Protokoll nicht mehr sicher ist, wenn die Synchronisationsannahme in einem realen Netzwerk falsch ist.

Vollständige Beweise in asynchronen Netzwerken

Was wir in DFINITY getan haben, ist, dass wir Sicherheitsnachweise in einem vollständig synchronen Modell haben, und wir aktualisieren unsere Beweise, um sie auch in asynchronen Netzwerken nutzbar zu machen.

Das ist einer der Bereiche, an denen ich gerade arbeite, und der andere Bereich, an dem ich arbeite, ist der interaktive DKG-Prozess, den wir gerade im DKG-Prozess durchführen, was bedeutet, dass jeder Teilnehmer, der daran teilnehmen möchte Die Aktivität führt die DKG aus. Es sollte möglich sein, die DKG beim Abschluss der Vereinbarung zu nutzen.

Nicht interaktives DKG (Distributed Key Generation)

Wir wollen es nicht interaktiv machen, was bedeutet, dass die Parteien teilnehmen und zurückkehren und zurückkehren können, wenn die Vereinbarung abgeschlossen ist. Es ist also eine natürlichere Art, es auszuführen. DKG ist die nicht interaktive Version und nicht die interaktive Version.

Das dritte, woran ich arbeite, ist der Sharding-Teil, über den ich gerade gesprochen habe. Wir entwerfen ein Sharding-System für DFINITY. Wir haben ein Sharding-System für ein Bitcoin-ähnliches Netzwerk entworfen und verwenden dasselbe Konzept. Unser Artikel wird bei CCS veröffentlicht. Das ist ein gutes Papier, also sollten Sie es lesen.

Vielleicht nur um die Frage zu beantworten: „Was sind die Anforderungen für DFINITY? Wie viele Menschen können unehrlich sein und das Netzwerk überlebt noch?“

Wenn Sie in einer asynchronen oder halbsynchronen Umgebung arbeiten, beträgt die Anzahl der Parteien, die ein Protokoll tolerieren kann, normalerweise ein Drittel. Der Anteil unehrlicher Parteien beträgt im asynchronen Modell also immer ein Drittel, was die untere Grenze darstellt, und kann daher nichts Höheres tolerieren.

Das Sharding-System von DFINTY

DFINITY arbeitet in diesem Modell, was bedeutet, dass der Anteil unehrlicher Parteien im gesamten Netzwerk ein Drittel betragen sollte, aber in jeder Gruppe können wir nur die Hälfte des Anteils tolerieren, also gehen wir von einem Drittel auf die Hälfte. „Wissen wir schon, wie groß diese Gruppen sein werden?“

Die Größe der Gruppe hängt von der Sicherheitsstufe ab, die Sie erreichen möchten. Je größer die Gruppe, desto besser ist die Sicherheit. Derzeit erscheint bei einem Sicherheitsniveau von etwa 86-90 eine Setgröße von 400 bis 800 logisch, sodass die Fehlerwahrscheinlichkeit bei etwa 86 liegen würde. Sie verlieren nie Ihre Token.

Blockieren Sie Zeit und Endgültigkeit

Eine weitere Frage, bevor ich zum Schluss komme: Wir haben über Energieeffizienz gesprochen und einige der Blockzeiten für die Bitcoin-Blockchain erwähnt, die Sie erwähnten und die bei etwa zehn Minuten liegen. Wie hoch ist also die Blockzeit, die wir in DFINITY erreichen?

Derzeit betragen die Blockzeiten in unserem Testnetzwerk etwa eine Sekunde, also weniger als eine Sekunde.

Ein weiterer Unterschied zwischen DFINITY und Bitcoin besteht darin, dass Sie sechs Blöcke warten müssen, um mit Bitcoin endgültig zu werden, da es kein tatsächliches Konsensprotokoll gibt. Für DFINITY benötigen wir zwei Blöcke.

Das bedeutet also 2 Sekunden, 1 Sekunde pro Block, 2 Sekunden Endgültigkeit, was bedeutet, dass wir 2 Sekunden Endgültigkeit haben, während die Endgültigkeit von Bitcoin etwa 1 Stunde beträgt.

Im Grunde passiert das bei DFINITY mit Bitcoin, um eine kreditkartenähnliche Transaktion zu ermöglichen und die Transaktion abzuschließen. Wenn ich in ein Café gehe, um einen Kaffee zu kaufen, muss ich im schlimmsten Fall eine Stunde warten, bevor ich ihn verwenden kann mein Bitcoin. Stellen Sie sicher, dass die Transaktion tatsächlich durchgeführt wird. Dies kann bei DFINITY bis zu zwei Sekunden dauern.

Im besten Fall, wenn der Blockhersteller optimistisch und ehrlich ist, muss man in DFINITY nur zwei Sekunden warten, bis der Endzustand erreicht ist, dann ist das wie ein Hochdurchsatzsystem.

Vielen Dank an Mahnush, der sich die Zeit genommen hat, uns durch einige der Herausforderungen und Innovationen von DFINITY zu führen.

IC-Inhalte, die Ihnen wichtig sind

Technologiefortschritt |. Projektinformationen |

Sammeln und folgen Sie dem IC Binance Channel

Bleiben Sie mit den neuesten Informationen auf dem Laufenden