On-Chain-Trusted-Setup-Zeremonie PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Vertrauenswürdige On-Chain-Setup-Zeremonie

Die vertrauenswürdige Setup-Zeremonie ist eine der Schmerzen – und Aufregungen – von Krypto-Communities. Das Ziel einer Zeremonie ist es, vertrauenswürdige kryptografische Schlüssel zur Sicherung von Krypto-Wallets, Blockchain-Protokollen oder Zero-Knowledge-Proof-Systemen zu generieren. Diese (manchmal extravaganten) Verfahren sind häufig die Vertrauensbasis für die Sicherheit eines bestimmten Projekts, und es ist daher äußerst wichtig, sie richtig zu machen.

Blockchain-Projekte führen Zeremonien auf zahlreiche kreative Arten durch – mit Lötlampen, radioaktivem Staub und Flugzeugen – aber alle haben etwas gemeinsam: Sie alle beinhalten einen zentralen Koordinator. Mit dieser Arbeit zeigen wir, wie der Prozess dezentralisiert werden kann, indem der zentralisierte Koordinator durch einen Smart Contract ersetzt wird. Darüber hinaus bieten wir eine Open-Source-Bibliothek an, die es jedem ermöglicht, eine solche Zeremonie durchzuführen – bekannt unter Krypto-Praktizierenden als a Kate Zaverucha Goldberg (KZG) oder „Powers-of-Tau“-Zeremonie – auf der Ethereum-Kette. Jeder kann teilnehmen, indem er einfach die Transaktionsgebühren bezahlt!

Unser dezentraler Ansatz hat Einschränkungen, ist aber dennoch nützlich. Aufgrund der aktuellen On-Chain-Datenbeschränkungen muss die Größe der kryptografischen Parameter kurz gehalten werden, dh nicht mehr als 64 KB. Aber die Anzahl der Teilnehmer ist unbegrenzt und die Leute können auf Dauer Beiträge einreichen. Zu den Anwendungen für diese kurzen Parameter gehören kleine Zero-Knowledge-SNARKs, Stichproben zur Datenverfügbarkeit und Verkle Bäume.

Geschichte und Mechanik der bewährten Einrichtungszeremonie

Bei einer typischen vertrauenswürdigen Einrichtungszeremonie generiert eine Gruppe von Teilnehmern gemeinsam einen Satz kryptografischer Parameter. Jede teilnehmende Partei verwendet geheime Informationen, die lokal generiert werden, um Daten zu generieren, die bei der Erstellung dieser Parameter helfen. Richtige Einstellungen stellen sicher, dass keine Geheimnisse durchsickern, dass Geheimnisse nur wie im Protokoll vorgesehen verwendet werden und dass diese Geheimnisse am Ende der Zeremonie vollständig zerstört werden. Solange sich mindestens eine Partei in der Zeremonie ehrlich verhält, nicht kompromittiert wird und ihr lokales Geheimnis zerstört, kann der gesamte Aufbau als sicher angesehen werden. (Das setzt natürlich voraus, dass die Mathematik korrekt ist und der Code keine Fehler enthält.)

Einige der prominentesten Zeremonien waren betrieben von Zcash, ein datenschutzorientiertes Blockchain-Projekt. Die Teilnehmer dieser Zeremonien generierten öffentliche Parameter, die es Zcash-Benutzern ermöglichen sollten, private Krypto-Transaktionen zu erstellen und zu verifizieren. Sechs Teilnehmer führten 2016 die erste Zcash-Zeremonie Sprout durch. Zwei Jahre später folgte der Kryptoforscher Ariel Gabizon, jetzt Chief Scientist bei Aztecgefunden ein verheerender Fehler in der Gestaltung der Zeremonie, die von a geerbt wurde Grundlagenforschungsarbeit. Die Schwachstelle hätte es Angreifern ermöglichen können, unbegrenzt Zcash-Münzen zu erstellen, ohne entdeckt zu werden. Das Zcash-Team hielt die Schwachstelle sieben Monate lang geheim, bis ein System-Upgrade, Sapling, an dessen Zeremonie 90 Teilnehmer teilnahmen, das Problem ansprach. Während ein Angriff auf der Grundlage der Sicherheitslücke die Privatsphäre der Benutzertransaktionen nicht beeinträchtigt hätte, untergrub die Aussicht auf unendliche Fälschungen die Sicherheitsprämisse von Zcash. (Es ist theoretisch unmöglich zu wissen, ob ein Angriff stattgefunden hat.)

Ein weiteres bemerkenswertes Beispiel für ein vertrauenswürdiges Setup ist die ewige Zeremonie der „Kräfte des Tau“. hauptsächlich für konzipiert Semaphor, eine Technologie zum Schutz der Privatsphäre für anonyme Signalisierung auf Ethereum. Das Setup verwendete eine elliptische BN254-Kurve und hatte bisher 71 Teilnehmer. Andere prominente Projekte nutzten später dieses Setup, um ihre eigenen Zeremonien darüber abzuhalten, darunter Tornado.Bargeld (kürzlich von der US-Regierung sanktioniert), Hermes Netzwerk und Schleifen. Aztec führte eine ähnliche Zeremonie auf einer elliptischen Kurve BLS12_381 mit 176 Teilnehmern für zkSync durch, eine Ethereum-Skalierungslösung der „Schicht zwei“, die Zero-Knowledge-Rollups verwendet. Filecoin, ein dezentralisiertes Datenspeicherprotokoll, führte eine Zeremonie mit 19 und 33 Teilnehmern in der ersten bzw. zweiten Phase durch, bei der das ursprüngliche Repo gegabelt wurde. Eifer, eine Layer-1-Blockchain, veranstaltete auch eine Zeremonie für ihren Light-Client Plumo.

Dauerzeremonien haben keine Begrenzung der Teilnehmerzahl. Mit anderen Worten, anstatt anderen Personen zu vertrauen, eine vertrauenswürdige Setup-Zeremonie durchzuführen, kann JEDER mit dem Grad an Sicherheit teilnehmen, der seiner Zufriedenheit entspricht. Ein einziger vertrauenswürdiger Teilnehmer gewährleistet die Sicherheit aller resultierenden Parameter; Die Kette ist so stark wie ihr stärkstes Glied. Fortwährende Zeremonien können, wie der Name schon sagt, auf ewig ablaufen, wie es die Prämisse bei der ursprünglichen Tau-Mächte-Zeremonie war. Allerdings entscheiden sich Projekte oft für eine konkrete Anfangs- und Endzeit ihrer Zeremonien, damit sie die daraus resultierenden Parameter in ihre Protokolle einbetten können und sich nicht um deren ständige Aktualisierung kümmern müssen.

Ethereum plant, in Kürze eine kleinere vertrauenswürdige Setup-Zeremonie durchzuführen ProtoDankSharding und DankSharding Upgrades. Diese beiden Upgrades werden die Datenmenge erhöhen, die die Ethereum-Kette den Kunden zur Speicherung zur Verfügung stellt. Diese Daten haben ein Ablaufdatum von suggeriert 30 bis 60 Tage. Die Zeremonie ist in aktiver Entwicklung, und ist geplant Anfang nächsten Jahres für sechs Wochen laufen. (Sehen kzg-Zeremonie-Specs für weitere Details.) Es entwickelt sich zur bisher größten vertrauenswürdigen Einrichtungszeremonie für Blockchains.

Paranoia ist eine Tugend, wenn es um vertrauenswürdige Setup-Zeremonien geht. Wenn die Hardware oder Software einer Maschine kompromittiert wird, kann dies die Sicherheit der von ihr generierten Geheimnisse untergraben. Auch heimtückische Seitenkanalangriffe, die Geheimnisse preisgeben, können schwer ausgeschlossen werden. Ein Telefon kann den Betrieb eines Computers ausspionieren Schallwellen aufnehmen von CPU-Vibrationen, zum Beispiel. Da es in der Praxis immens schwierig ist, alle möglichen Seitenkanalangriffe – einschließlich der noch zu entdeckenden oder aufzudeckenden – zu eliminieren, gibt es sogar Vorschläge, Maschinen in den Weltraum zu fliegen, um sie durchzuführen Zeremonien dort.

Im Moment lautet das Spielbuch für ernsthafte Zeremonienteilnehmer normalerweise wie folgt. Kaufen Sie eine neue Maschine (unbefleckte Hardware). Air-Gap, indem Sie alle Netzwerkkarten entfernen (um zu verhindern, dass lokale Geheimnisse die Maschine verlassen). Lassen Sie die Maschine in einem Faraday-Käfig an einem abgelegenen, unbekannten Ort laufen (um potenzielle Schnüffler zu vereiteln). Füllen Sie den Pseudozufallsgeheimnisgenerator mit viel Entropie und hart replizierten Daten wie zufälligen Tastenanschlägen oder Videodateien (um die Geheimnisse schwer zu knacken). Und schließlich zerstören Sie die Maschine – zusammen mit allen Spuren der Geheimnisse – indem Sie alles zu Asche verbrennen. 😀

Koordination vertrauenswürdiger Setup-Zeremonien

Hier ist eine lustige Auswahl von Zitaten einiger früherer vertrauenswürdiger Teilnehmer der Setup-Zeremonie:

  • "…mit der Lötlampe wurde die Elektronik Stück für Stück komplett durchgeheizt, bis alles geschwärzt war…”- Peter Todd auf die physische Zerstörung der lokalen Geheimnisse.
  • „Ich habe hier ein Stück Stoff mit Graphitstaub [aus] dem Kern des [Tschernobyl-]Reaktors … Sie zählen alle vier Impulse [von einem Geigerzähler, der an einen Mikrocontroller angeschlossen ist] und vergleichen das Zeitintervall zwischen Impuls eins und zwei und das Zeitintervall zwischen Impuls drei und vier, und wenn es größer ist, erhalten Sie eine Null, wenn es kleiner ist, erhalten Sie eine Eins.“ „… wir steigen gleich in dieses Flugzeug und generieren unsere Zufallszahlen…“ - Ryan Pierce und Andrew Miller auf geheime Erzeugung.

Zcash Powers-of-Tau-Zeremonie Runde 41 beinhaltete ein Flugzeug. Screenshot: YouTube-Video

  • "Der Verkäufer sagte, sie hätten 13 [Computer]. Ich fragte, ob wir einen der 13 auswählen könnten. Er fragte, ob ich etwas Bestimmtes suche (verwirrt, weil sie alle gleich sind) und ich sagte, ich wollte nur einen zufälligen auswählen. Er sagte, er könne uns nicht in das hintere Lagerhaus lassen. Ich fragte, ob er zwei von ihnen herausbringen würde, damit wir einen von beiden auswählen könnten. Er brachte zwei auf einem Handkarren heraus. Jerry wählte einen der beiden Computer aus, und wir brachten ihn zum Auschecken zur Kasse.”- Peter Van Valkenburgh bei der Anschaffung einer neuen Maschine.
  • "Die ersten Stunden der Zeremonie wurden in einem provisorischen Faraday-Käfig aus Aluminiumfolie und Frischhaltefolie durchgeführt. Ich habe den Laptop aus dem Faraday-Käfig geholt, da er schlecht belüftet war und sich heiß anfühlte”- Koh Wei Jie auf Seitenkanalschutz.
  • ".. führte einen Teil der Zeremonie in den Bergen ohne Nachbarn durch.”- Michael Lapinsky auf Seitenkanalschutz.
  • " Ich entschied mich für die Verwendung von Umgebungsvideos, um genügend Entropie zu erzeugen”- Muhd Amrullah bei der Generierung von Zufallswerten.
On-Chain-Trusted-Setup-Zeremonie PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Za Wilcox, Bruder der Zcash-Mitbegründerin Zooko Wilcox, zerstörte 2016 einen Computer, der zur Generierung von Zufallszahlen für eine vertrauenswürdige Zeremonie verwendet wurde. Foto: Morgen Peck

Alle diese Zeremonien stützten sich auf einen zentralisierten Koordinator. Der Koordinator ist ein einzelner oder privater Server oder eine andere Einheit, die damit betraut ist, Teilnehmer zu registrieren und zu bestellen, als Relais zu fungieren, indem sie Informationen vom vorherigen Teilnehmer an den nächsten weiterleitet, und ein zentrales Protokoll aller Kommunikationen für Überprüfbarkeitszwecke zu führen. Der Koordinator ist in der Regel auch dafür verantwortlich, das Protokoll auf Dauer der Öffentlichkeit zugänglich zu machen; Natürlich, ichBei einem zentralisierten System besteht immer die Möglichkeit, dass Daten verloren gehen oder falsch verwaltet werden. (Perpetual-powers-of-tau wird beispielsweise auf Microsoft Azure und Github gespeichert.)

Es erschien uns ironisch, dass sich Kryptoprojekte auf zentralisierte vertrauenswürdige Einrichtungszeremonien verlassen müssen, wenn Dezentralisierung ein so zentraler Grundsatz des Krypto-Ethos ist. Also haben wir beschlossen, die Machbarkeit zu demonstrieren, eine kleine Zeremonie für ewige Tau-Mächte direkt auf der Ethereum-Blockchain durchzuführen! Das Setup ist vollständig dezentralisiert, erlaubnisfrei, zensurresistent und sicher, solange jeder einzelne der Teilnehmer ehrlich ist [siehe Haftungsausschluss]. Die Teilnahme an der Zeremonie kostet nur 292,600 bis 17,760,000 Gas (etwa 7 bis 400 US-Dollar zu aktuellen Preisen), je nach Größe der gewünschten resultierenden Parameter (in diesem Fall zwischen 8 und 1024 Potenzen von Tau). (Siehe die Tabelle unten für konkrete Kosten – wir gehen später in diesem Beitrag näher auf diese Berechnungen ein.)

On-Chain-Trusted-Setup-Zeremonie PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Wir raten vorerst davon ab, den Code für andere als experimentelle Zwecke zu verwenden! Wir würden es sehr schätzen, wenn jemand, der Probleme mit dem Code findet, diese uns meldet. Wir würden gerne Feedback und Audits zu unserem Ansatz sammeln.

Verstehen der KZG- oder „Powers-of-Tau“-Zeremonie

Lassen Sie uns eines der beliebtesten vertrauenswürdigen Setups erkunden, das als KZG- oder „Power-of-Tau“-Zeremonie bekannt ist. Dank an Ethereum-Mitbegründer Vitalik Buterin, dessen Blogbeitrag zu vertrauenswürdigen Setups informierte unsere Ideen in diesem Abschnitt. Das Setup generiert die Codierungen der Potenzen von Tau, die so genannt werden, weil „Tau“ zufällig die Variable ist, die verwendet wird, um die von den Teilnehmern generierten Geheimnisse auszudrücken:

pp = [[𝜏]1, [𝜏2]1, [𝜏3]1, …, [𝜏n]1; [𝜏]2, [𝜏2]2, …, [𝜏k]2]

Für einige Anwendungen (z. B. Groth16, ein beliebtes zkSNARK-Prüfschema, das 2016 von Jens Groth entworfen wurde) folgt auf diese erste Phase des Setups eine zweite Phase, eine Mehrparteienberechnungszeremonie (MPC), die Parameter für eine bestimmte SNARK-Schaltung generiert . Unsere Arbeit konzentriert sich jedoch ausschließlich auf Phase eins. Diese erste Phase – die Erzeugung der Potenzen von Tau – ist bereits als grundlegender Baustein für universelle SNARKs (z. B. PLONK und SONIC) sowie andere Kryptografieanwendungen, wie z KZG-Zusagen, Verkle Bäume und Stichproben zur Datenverfügbarkeit (DAS). Im Allgemeinen sollten universelle SNARK-Parameter sehr groß sein, damit sie große und nützliche Schaltungen unterstützen können. Schaltkreise, die mehr Gatter enthalten, sind im Allgemeinen nützlicher, da sie umfangreiche Berechnungen erfassen können; Die Anzahl der Potenzen von Tau entspricht ungefähr der Anzahl der Gatter in der Schaltung. Ein typisches Setup hat also die Größe |pp| = ~40 GB und in der Lage, Schaltkreise mit ~228 Tore. Angesichts der derzeitigen Einschränkungen von Ethereum wäre es nicht machbar, so große Parameter on-chain zu platzieren, aber eine kleinere vertrauenswürdige Setup-Zeremonie, die für kleine SNARK-Schaltungen, Verkle-Bäume oder DAS nützlich ist, kann durchaus on-chain ausgeführt werden.

Die Ethereum Foundation plant, mehrere kleinere zu betreiben Zeremonien für Tau-Potenzen der Größe 200 KB bis 1.5 MB. Während größere Zeremonien besser erscheinen mögen, da größere Parameter nützlichere SNARK-Schaltungen erzeugen können, ist größer tatsächlich nicht immer besser. Bestimmte Anwendungen, wie z. B. DAS, benötigen speziell eine kleinere! [Der Grund ist sehr technisch, aber wenn Sie neugierig sind, liegt es daran, dass ein Setup mit n Potenzen (in G1) ermöglicht nur KZG-Festlegungen auf Polynome vom Grad ≤ n, was entscheidend dafür ist, dass das Polynom unter der KZG-Festlegung aus beliebigen n Auswertungen rekonstruiert werden kann. Diese Eigenschaft ermöglicht Datenverfügbarkeits-Sampling: Jedes Mal, wenn t Zufallsauswertungen des Polynoms erfolgreich erhalten (abgetastet) werden, gibt es eine Gewissheit, dass das Polynom mit Wahrscheinlichkeit t/n vollständig rekonstruiert werden kann. Wenn Sie mehr über DAS erfahren möchten, lesen Sie diesen Beitrag von Buterin im Ethereum-Forschungsforum.]

Wir haben einen intelligenten Vertrag entworfen, der auf der Ethereum-Blockchain eingesetzt werden kann, um eine vertrauenswürdige Einrichtungszeremonie durchzuführen. Der Vertrag speichert die öffentlichen Parameter – die Powers-of-Tau – vollständig in der Kette und sammelt die Teilnahme durch die Transaktionen der Benutzer.

Ein neuer Teilnehmer liest zuerst diese Parameter:

pp0 = ([𝜏]1, [𝜏2]1, [𝜏3]1, …, [𝜏n]1; [𝜏]2, [𝜏2]2, …, [𝜏k]2),

tastet dann ein zufälliges Geheimnis 𝜏' ab und berechnet aktualisierte Parameter:

pp1 = ([𝜏𝜏']1, [(𝜏𝜏')2]1, [(𝜏𝜏')3]1, …, [(𝜏𝜏')n]1; [𝜏𝜏']2, [(𝜏𝜏')2]2, …, [(𝜏𝜏')k]2),

und veröffentlicht sie in der Kette mit einem Beweis, der drei Dinge zeigt:

  1. Kenntnisse in Discrete-Log: der Teilnehmer weiß 𝜏'. (Ein Beweis dafür, dass der neueste Beitrag zur Trusted Setup-Zeremonie auf der Arbeit aller vorangegangenen Teilnehmer aufbaut.)
  2. Wohlgeformtheit des pp1: Die Elemente codieren tatsächlich inkrementelle Kräfte. (Eine Bestätigung der Wohlgeformtheit des Beitrags eines neuen Teilnehmers zur Zeremonie.)
  3. Das Update wird nicht gelöscht: 𝜏' ≠ 0. (Eine Verteidigung gegen Angreifer, die versuchen, das System zu untergraben, indem sie die bisherige Arbeit aller Teilnehmer löschen.)

Der Smart Contract verifiziert den Beweis und wenn er korrekt ist, aktualisiert er die öffentlichen Parameter, die er speichert. Weitere Einzelheiten zur Mathematik und der Begründung finden Sie im Repo.

Berechnung der Gaskosten

Die größte Herausforderung bei der Ausführung des Setups in der Kette besteht darin, die vertrauenswürdige Setup-Zeremonie so gaseffizient wie möglich zu gestalten. Idealerweise kostet das Einreichen eines Beitrags nicht mehr als ~50 $. (Große Projekte können möglicherweise Gas für Mitwirkende subventionieren, in diesem Fall ist es einfacher, sich vorzustellen, dass Hunderte von Teilnehmern jeweils 100 US-Dollar ausgeben). Nachfolgend geben wir weitere Details zu den teuersten Teilen des Setups. Niedrigere Gaskosten würden die Beitragskosten senken und den Bau längerer Parameter ermöglichen (mehr Tau-Leistungen und größere SNARK-Schaltungen)!

Unser Setup funktioniert für die elliptische Kurve BN254 (auch bekannt als BN256, BN128 und alt_bn128), die Unterstützung für hat die folgenden vorkompilierten Verträge auf Ethereum:

  • ECADD ermöglicht das Hinzufügen von zwei elliptischen Kurvenpunkten, dh Berechnen von [𝛼+𝛽]1 von [𝛼]1 und [𝛽]1: Benzin kostet 150
  • ECMULT ermöglicht es, elliptische Kurvenpunkte mit einem Skalar zu multiplizieren, dh [a*𝛼] zu berechnen.1 von a und [𝛼]1: Benzin kostet 6,000
  • ECPAIR ermöglicht die Überprüfung eines Produkts von Paaren elliptischer Kurven, dh die Berechnung von e([𝛼1]1, [𝛽1]2)* … *e([𝛼1]1, [𝛽1]2) = 1, was gleichbedeutend mit der Überprüfung von 𝛼 ist1*𝛽1+ … + 𝛼k*𝛽k = 0 : Gaskosten 34,000 * k + 45,000

Könnte Ethereum BLS12_381 aktivieren (wie vorgeschlagen in EIP-2537), könnte unser Setup-Vertrag problemlos auch für diese andere Kurve zum Laufen gebracht werden.

Schätzen wir die Benzinkosten für die Aktualisierung des Setups auf ([𝜏]1, [𝜏2]1, [𝜏3]1, …, [𝜏n]1; [𝜏]2):

  1. Gaskosten für die Überprüfung des Nachweises. Jeder Teilnehmer aktualisiert das Setup und reicht einen Beweis mit drei Komponenten wie oben beschrieben ein. Die Komponenten 1 und 3 des Beweises – „Kenntnis des diskreten Protokolls“ und „Update wird nicht gelöscht“ – sind sehr billig zu verifizieren. Die Herausforderung besteht darin, Komponente 2, „Wohlgeformtheit des pp1“, an Kette. Es erfordert eine große Multi-Skalar-Multiplikation (MSM) und zwei Paarungen:
    e(𝝆0[1]1 + 𝝆1[𝜏]1 + 𝝆2[𝜏2]1 + … + 𝝆n-1[𝜏n-2]1, [𝜏]2) = e([𝜏]1 + 𝝆1[𝜏2]1 + … + 𝝆n-1[𝜏n-1]1, [1]2),
    wo 𝝆0,…,𝝆n-1 sind pseudozufällig abgetastete Skalare. In Bezug auf vorkompilierte Smart-Contracts würde es dauern:
    (2n-4) x ECADD + (2n-4) x ECMULT + ECPAIRk = 2 = (2n-4) x 6,150 + 113,000 Gas.
  2. Gaskosten für die Speicherung von Daten. Jeder Teilnehmer speichert auch die Aktualisierung in der Kette als Gesprächsdaten (68 Gas pro Byte), wobei n*64*68 Gas verrechnet wird. (Ein Hinweis für diejenigen, die mit Elliptische-Kurven-Kryptographie vertraut sind: Das Speichern komprimierter Punkte würde dazu führen, dass die Dekomprimierung die Gesamtkosten gemäß unseren Messungen für n = 256 dominiert.)

Dies bringt uns zu der folgenden Tabelle, in der die Gaskosten geschätzt werden, die zukünftige Optimierungen beeinflussen sollten:

On-Chain-Trusted-Setup-Zeremonie PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Wir suchen nach Lösungen, um die Benzinkosten zu senken, also bleiben Sie dran!

Open-Source-Bibliothek: evm-powers-of-tau

Wir haben unser EVM-basiertes Powers-of-Tau-Zeremonie-Repo unter Open Source bereitgestellt github.com/a16z/evm-powers-of-tau. Die Durchführung einer Zeremonie mit unserer Strategie ist einfach und transparent:

  1. Bereitstellen des Speicher- und Verifizierungsvertrags (contracts/KZG.sol)
  2. Ein Mitwirkender liest Zeremonienparameter aus früheren Transaktionsaufrufdaten
  3. Der Mitwirkende generiert lokal ein Geheimnis und berechnet die aktualisierten Parameter
  4. Der Beitragende generiert seinen Beweis: pi1, pi2
  5. Der Beitragende übermittelt die aktualisierten Parameter über KZG.potUpdate() an den bereitgestellten Smart Contract in der öffentlichen Blockchain
  6. Der Smart Contract überprüft die Gültigkeit des Updates und kehrt im Falle einer fehlerhaften Übermittlung zurück
  7. Mehrere Mitwirkende können die Schritte 2-5 auf Dauer ausführen, wodurch jeder die Sicherheit der Zeremonie erhöht
  8. Wann immer ein Entwickler mit der Anzahl und Qualität der Einreichungen vertraut ist, kann er die Blockchain nach den aktuellen Parametern abfragen und diese Werte als seine kryptografischen Schlüssel verwenden

Unser Repo verwendet arkworks-rs um die Schritte zwei und drei zu berechnen (die Rostberechnung finden Sie in src/pot_update.rs), aber Benutzer möchten vielleicht ihre eigenen schreiben. Den gesamten End-to-End-Ablauf der Update-Übermittlung finden Sie im Integrationstest in tests/integration_test.rs.

Beachten Sie, dass wir uns entschieden haben, calldata zu verwenden, um aktualisierte Potenzen von Tau-Parametern in der Kette zu speichern, da dies um mehrere Größenordnungen billiger ist als die Speicherung. Eine ethers-rs-basierte Abfrage für diese Daten finden Sie in src/query.rs.

Abschließend finden sich Beweise und detaillierte Gleichungen im technischen Bericht in techreport/main.pdf.

Zukünftige Arbeit

Bevor diese vertrauenswürdige Setup-Zeremonie in der Produktion verwendet werden kann, empfehlen wir zunächst eine umfassende Prüfung sowohl der mathematischen Beweise als auch der Beispielimplementierung.

Wie implementiert, wachsen die Transaktionskosten für die Aktualisierung der Zeremonie linear mit der Einrichtungsgröße. Für die meisten Anwendungen (SNARKs, DAS) würden wir ein Setup von n >= 256 wünschen, was derzeit 73 $ pro Update kostet. 

Mit einem STARK-Beweis der gültigen Aktualisierungsberechnung und einer Vektorverpflichtung zu den aktualisierten Werten könnten wir möglicherweise ein sublineares Verifizierungskostenwachstum erzielen. Diese Konstruktion würde auch die Abhängigkeit von den Ethereum L1 BN254-Vorkompilierungen beseitigen und die Verwendung der populäreren BLS12-381-Kurve ermöglichen.

Alle Zeremonienstrategien haben Kompromisse. Wir denken, dass diese Konstruktion solide ist und große nachweisbare Zensurresistenzeigenschaften hat. Aber auch hier warnen wir davor, diese Methode zu verwenden, bis mehr Arbeit geleistet wurde, um die Stichhaltigkeit unseres Ansatzes zu überprüfen.

Anerkennungen

  • Dan Boneh – für nützliches Feedback in den frühen Stadien dieser Arbeit
  • Joe Bonneau – für die Klarstellung der Darstellung in der frühen Version des technischen Berichts
  • William Borgeaud – zur Diskussion über BLS innerhalb von TurboPlonk / Plonky2
  • Mary Maller – für Gedanken zur allgemeinen Mechanik des Ansatzes

Herausgeber: Robert Hackett @rhhackett

***

Die hier geäußerten Ansichten sind die der einzelnen zitierten Mitarbeiter von AH Capital Management, LLC („a16z“) und nicht die Ansichten von a16z oder seinen verbundenen Unternehmen. Bestimmte hierin enthaltene Informationen stammen aus Drittquellen, einschließlich von Portfoliounternehmen von Fonds, die von a16z verwaltet werden. Obwohl sie aus als zuverlässig erachteten Quellen stammen, hat a16z solche Informationen nicht unabhängig überprüft und macht keine Zusicherungen über die aktuelle oder dauerhafte Genauigkeit der Informationen oder ihre Angemessenheit für eine bestimmte Situation. Darüber hinaus kann dieser Inhalt Werbung von Drittanbietern enthalten; a16z hat solche Anzeigen nicht überprüft und unterstützt keine darin enthaltenen Werbeinhalte.

Dieser Inhalt wird nur zu Informationszwecken bereitgestellt und sollte nicht als Rechts-, Geschäfts-, Anlage- oder Steuerberatung angesehen werden. Sie sollten diesbezüglich Ihre eigenen Berater konsultieren. Verweise auf Wertpapiere oder digitale Vermögenswerte dienen nur der Veranschaulichung und stellen keine Anlageempfehlung oder ein Angebot zur Erbringung von Anlageberatungsdiensten dar. Darüber hinaus richtet sich dieser Inhalt nicht an Anleger oder potenzielle Anleger und ist nicht für die Verwendung durch diese bestimmt, und es darf unter keinen Umständen darauf vertraut werden, wenn eine Entscheidung getroffen wird, in einen von a16z verwalteten Fonds zu investieren. (Ein Angebot zur Investition in einen a16z-Fonds wird nur durch das Privatplatzierungsmemorandum, den Zeichnungsvertrag und andere relevante Unterlagen eines solchen Fonds abgegeben und sollte vollständig gelesen werden.) Alle erwähnten, erwähnten oder erwähnten Investitionen oder Portfoliounternehmen oder Portfoliounternehmen Die beschriebenen Investitionen sind nicht repräsentativ für alle Investitionen in von a16z verwaltete Vehikel, und es kann nicht garantiert werden, dass die Investitionen rentabel sind oder dass andere Investitionen in der Zukunft ähnliche Merkmale oder Ergebnisse aufweisen werden. Eine Liste der Investitionen von Fonds, die von Andreessen Horowitz verwaltet werden (mit Ausnahme von Investitionen, für die der Emittent a16z keine Genehmigung zur öffentlichen Offenlegung erteilt hat, sowie unangekündigte Investitionen in öffentlich gehandelte digitale Vermögenswerte) ist unter https://a16z.com/investments verfügbar /.

Die darin bereitgestellten Diagramme und Grafiken dienen ausschließlich zu Informationszwecken und sollten bei Anlageentscheidungen nicht als verlässlich angesehen werden. Die Wertentwicklung in der Vergangenheit ist kein Hinweis auf zukünftige Ergebnisse. Der Inhalt spricht nur zum angegebenen Datum. Alle Prognosen, Schätzungen, Prognosen, Ziele, Aussichten und/oder Meinungen, die in diesen Materialien geäußert werden, können ohne Vorankündigung geändert werden und können von den Meinungen anderer abweichen oder ihnen widersprechen. Weitere wichtige Informationen finden Sie unter https://a16z.com/disclosures.

Zeitstempel:

Mehr von Andreessen Horowitz