BlockstreamResearch / bip-frost-dkg

49 stars 13 forks source link

Use consistent terminology for Eq's properties #10

Closed jonasnick closed 9 months ago

jonasnick commented 11 months ago

The terminology we use in the BIP should try to both be clear and consistent with existing literature - in particular with the literature that this BIP is based on. If there are important differences we should mention it somewhere - if only for documentation.

Practical Schnorr Threshold Signatures Without the Algebraic Group Model ("Olaf"):

The Secure Multi-Party Computation without Agreement ("GL") solves a problem that is different from Eq, namely "broadcast with abort" (one party broadcasts a single value instead of all parties comparing their values as in Eq):

Abort in this protocol roughly corresponds to the "in-progress" state of Eq.

In the master branch:

From this overview I see the following possible improvements.

  1. Conditional Termination implies Consistency, so we could remove the latter.
  2. We could rename Conditional Termination to Agreement. The property is equal to Agreement in Olaf and roughly equal to Agreement as defined for Broadcast with Aborts in GL. However, I like Conditional Termination. It's a clearly distinct from Byzantine Agreement.
real-or-random commented 11 months ago

Related, and what often comes up in discussions is the (im)possibility of various broadcast notions.

Make the following basic assumptions: We want security for any f<n (dishonest majority) in an asynchronous network, but we can have PKI and signatures.

If we want to achieve a consistent broadcast under these assumptions, then guaranteeing termination of the broadcast is impossible. This is true even against an adversary that can only drop messages, e.g., Theorem 2 https://arxiv.org/pdf/2205.09992.pdf. (Interestingly, the problem is solvable, against arbitrarily malicious nodes, in the synchronous model using the Dolev-Strong protocol (see https://timroughgarden.github.io/fob21/l/l2.pdf for a beginner-friendly writeup), but this model is not really appropriate for the Internet and the protocol needs O(n) rounds.)

Strictly, speaking, the above impossibility result does not formally rule out that robust DKG with bias can be solved under the above assumptions. It only shows that what does not work is to build DKG by using broadcast to agree on the transcript. (But what else could we do? We'll need to agree at least on the threshold key, and enough honest parties should be able to contribute to it. I suspect that this observation can be used to prove formally that robust DKG with bias is impossible. Perhaps it's even not that hard, but I haven't really thought about it.)

Katz points out that unbiasable DKG cannot be solved without an honest majority (see a footnote in https://eprint.iacr.org/2023/1094.pdf) because it can be reduced to fair coin tossing, which is impossible without honest majority (https://kodu.ut.ee/~swen/courses/crypto-ii/2008/cleve1986.pdf).