1111 < title > commonware > Your Golden Ticket to a Better DKG</ title >
1212 < meta name ="description " content ="We’ve completed an initial
1313implementation of the Golden protocol, which lets you perform a DKG in
14- just a single round. Going from two rounds to just one is a huge
15- improvement in simplicity and performance. ">
14+ just a single round. ">
1615 < meta name ="author " content ="Lucas Meier ">
1716 < meta name ="keywords " content ="commonware, open source, common goods, software, internet, ownership, trust, blockchain, decentralization, crypto ">
1817
2423DKG " />
2524 < meta property ="og:description " content ="We’ve completed an initial
2625implementation of the Golden protocol, which lets you perform a DKG in
27- just a single round. Going from two rounds to just one is a huge
28- improvement in simplicity and performance. " />
26+ just a single round. " />
2927 < meta property ="article:author " content ="Lucas Meier " />
30- < meta property ="article:published_time " content ="2026-05-20T00 :00:00Z " />
31- < meta property ="article:modified_time " content ="2026-05-20T00 :00:00Z " />
28+ < meta property ="article:published_time " content ="2026-05-21T00 :00:00Z " />
29+ < meta property ="article:modified_time " content ="2026-05-21T00 :00:00Z " />
3230
3331 < link rel ="canonical " href ="https://commonware.xyz/blogs/golden " />
3432
3533 < meta name ="twitter:card " content ="summary_large_image " />
3634 < meta property ="twitter:domain " content ="commonware.xyz " />
3735 < meta property ="twitter:url " content ="https://commonware.xyz/blogs/golden " />
38- < meta property ="twitter:title " content ="Your Golden Ticket to a Better
39- DKG " />
36+ < meta property ="twitter:title " content ="Your Golden Ticket to a
37+ Better DKG " />
4038 < meta property ="twitter:description " content ="We’ve completed an
4139initial implementation of the Golden protocol, which lets you perform a
42- DKG in just a single round. Going from two rounds to just one is a huge
43- improvement in simplicity and performance. " />
40+ DKG in just a single round. " />
4441 < meta property ="twitter:image " content ="" />
4542 < meta property ="twitter:site " content ="@commonwarexyz " />
4643 < meta property ="twitter:creator " content ="https://x.com/cronokirby " />
@@ -103,7 +100,7 @@ <h1>Your Golden Ticket to a Better DKG</h1>
103100
104101 < div class ="author "> By < a href ="https://x.com/cronokirby "> Lucas
105102Meier</ a > </ div >
106- < div class ="date "> May 20th , 2026</ div >
103+ < div class ="date "> May 21st , 2026</ div >
107104 </ div >
108105 < p > We’ve completed an initial implementation of the < a
109106 href ="https://eprint.iacr.org/2025/1924 "> Golden protocol</ a > ,
@@ -251,11 +248,10 @@ <h1 id="the-two-round-approach">The Two Round Approach</h1>
251248 to a consensus protocol, e.g. waiting a certain number of
252249 < em > blocks</ em > rather than a certain amount of time. It’s
253250 possible that this is correct in the < a
254- href ="https://dl.acm.org/doi/10.1145/42282.42283 "> partial
255- synchrony model</ a > as well (< a
256- href ="https://eprint.iacr.org/2023/1196 "> citation</ a > ).</ p >
257- < p > It’s also operationally complicated to have multiple rounds.
258- The protocol is stateful between the rounds. Players need to
251+ href ="https://eprint.iacr.org/2023/1196 "> partial synchrony
252+ model</ a > as well.</ p >
253+ < p > Multiple rounds are also operationally complicated. The
254+ protocol is stateful between the rounds. Players need to
259255 remember what shares they received, and what they did or didn’t
260256 ack. We rely on private out-of-band communication for those
261257 shares, rather than a public log of messages. This makes
@@ -280,13 +276,14 @@ <h1 id="the-one-round-approach">The One Round Approach</h1>
280276 memory completely, we would be able to retrieve our share and
281277 any public results just by looking at the log, which contains
282278 what each dealer posted.</ p >
283- < p > We would not need any kind of synchrony assumption. After all
284- dealers have posted their log, you’re ready to go, with no need
285- to wait for acknowledgement. In practice you would want to set a
286- cutoff time (in terms of blocks, ideally), and would need to
287- make sure that you had a supermajority of valid contributions,
288- in order to prevent stalling by having malicious dealers
289- withhold their contribution.</ p >
279+ < p > The protocol can proceed immediately after the dealers have
280+ posted their logs, without needing to wait for acknowledgments
281+ from the players. This lets us avoid any kind of synchrony
282+ assumption. In practice you would want to set a cutoff time (in
283+ terms of blocks, ideally), and would need to make sure that you
284+ had a supermajority of valid contributions, in order to prevent
285+ stalling by having malicious dealers withhold their
286+ contribution.</ p >
290287 < p > There’s also no need to reason about malicious players in
291288 this scheme: because dealer contributions are < em > publicly
292289 verifiable</ em > , anyone can check that each dealer did the right
@@ -313,8 +310,9 @@ <h1 id="the-one-round-approach">The One Round Approach</h1>
313310 href ="https://eprint.iacr.org/2021/339 "> Groth’s DKG</ a > , which
314311 uses ElGamal encryption together with a NIZK of correct
315312 encryption. That achieves the properties we want, but would
316- involve a very large, and thus expensive, ZK proof. Doing this
317- naively would not be enough, so we need to dig a bit deeper.</ p >
313+ involve a ZK proof over an excessively large statement. This
314+ naive approach would be impractical for hundreds of validators,
315+ so we need to dig a bit deeper.</ p >
318316 < h1 id ="making-this-more-efficient "> Making this more
319317 efficient</ h1 >
320318 < p > Treating encryption as a black box and doing a full ZK proof
@@ -614,7 +612,7 @@ <h1 id="performance">Performance</h1>
614612 because you don’t need to wait for acks, in practice this would
615613 be a lot faster.</ p >
616614 < h1 id ="conclusion "> Conclusion</ h1 >
617- < p > We hope to continue grinding on the performance, as well as
615+ < p > We’ll continue grinding on the performance, as well as
618616 testing and verifying the security of our implementation, in
619617 order to make this protocol a trustworthy alternative to our
620618 current DKG. We expect that the one round protocol will be a lot
0 commit comments