Normalerweise müssen zk-SNARK
wir in zwei öffentliche Schlüssel generieren: einen für prover
und einen für verifier
. Der Eingabeparameter dieses Generatoralgorithmus muss jedoch geheim sein, dh er muss sowohl für als auch verborgen prover
sein verifier
.
Aus diesem Grund wird der Prozess dieser öffentlichen Generierung von einem vertrauenswürdigen Dritten durchgeführt .
Da die Verwendung eines vertrauenswürdigen Drittanbieters für eine dezentrale Blockchain nicht wünschenswert ist , suche ich nach einem dezentralen Ansatz für die Generierung öffentlicher Schlüssel. Gibt es ? oder es ist unmöglich, eine dezentrale zu haben ? zk-SNARK
PS Weitere Informationen zk-SNARK
finden Sie hier: https://media.consensys.net/introduction-to-zksnarks-with-examples-3283b554fc3b
Ja, der Verifizierungsschlüssel kann mithilfe der Mehrparteienberechnung (MPC) berechnet werden. In diesem Setup n
nehmen Menschen an der Konstruktion teil und generieren jeweils unabhängig und zufällig den geheimen Input. Das System ist so eingerichtet, dass die resultierenden Schlüssel sicher sind, solange mindestens einer der Teilnehmer sein Geheimnis verwirft.
Details zur ursprünglichen "Zeremonie" der ZCash-Schlüsselgenerierung finden Sie hier:
Vielleicht möchten Sie sich auch die folgenden Ressourcen ansehen.
Das ING-Blockchain-Team hat seinen Vorschlag für effiziente ZKPs bei Ethereum eingereicht. Es ist kein SNARK, sondern ein Range Proof.
https://github.com/ing-bank/zkrangeproof
Es gibt auch Zokrates, aber es ist 10x teurer.
Zokrates
ist anscheinend eine Ethereum-Toolbox für zk-SNARK
.ZK-STARKs adressieren das Problem des vertrauenswürdigen Setups in ZK-SNARKs. Zu diesem Thema gibt es einen Blogbeitrag von Vitalik:
https://vitalik.ca/general/2017/11/09/starks_part_1.html
Hoffentlich haben viele Menschen inzwischen von ZK-SNARKs gehört, der prägnanten Allzweck-Zero-Knowledge-Proof-Technologie, die für alle möglichen Anwendungsfälle eingesetzt werden kann, von überprüfbaren Berechnungen bis hin zu Kryptowährungen, die die Privatsphäre wahren. Was Sie vielleicht nicht wissen, ist, dass ZK-SNARKs einen neueren, glänzenderen Cousin haben: ZK-STARKs. Da das T für „transparent“ steht, lösen ZK-STARKs eine der Hauptschwächen von ZK-SNARKs, ihre Abhängigkeit von einem „vertrauenswürdigen Setup“. Sie kommen auch mit viel einfacheren kryptografischen Annahmen, vermeiden die Notwendigkeit elliptischer Kurven, Paarungen und der Annahme des Wissens über Exponenten und verlassen sich stattdessen ausschließlich auf Hashes und Informationstheorie; Damit sind sie auch gegen Angreifer mit Quantencomputern sicher.
Fragesteller
verification key
(Key used by verifier) verwendet? oder für beideproving key
(Schlüssel vom Prüfer verwendet) undverification key
? Vielen DankFragesteller
The webpage at https://z.cash/technology/paramgen.html might be temporarily down or it may have moved permanently to a new web address. "ERR_TUNNEL_CONNECTION_FAILED"
). Vielen DankTjaden Hess