BlockstreamResearch / bip-frost-dkg

49 stars 14 forks source link

Improve Eq Terminology #13

Closed jonasnick closed 10 months ago

jonasnick commented 10 months ago

This is a suggestion to fix #10. I can't say I'm 100% happy with it, but I feel like this is better than what we have now. I don't see a way around inventing our own definitions as I haven't found the exact properties in the literature.

The entire "Ensuring Agreement" section could be cleaned up (e.g., we start by explaining agreement and why it's important, but we don't mention integrity besides the defintion), but I thought it would be best to agree on the terminology first.

real-or-random commented 10 months ago

2nd commit:

Eq: cond. agreement is not a necessary property

[...] it makes sense to not view it as an essential property since our Eq. protocol before it was certifying only fulfilled consistency.

It's true that we didn't achieve the property at first, but I think this was at a stage where still figuring things out, and thought we can't get around some last-resort out-of-band mechanism to convince other signers that the protocol finished.

I think if we're honest to ourselves, then the property is essential. If we don't have it, then we may end up in a state where someone has terminated and thus sent coins to the threshold key, but others are stuck. As long as we don't tell users how to get them unstuck, the coins are effectively lost. (And I think, we don't know what to tell them.)

Also, conditional agreement implies consistency, so it's a bit confusing to list them both as necessary properties.

Agreed, though I think was left over from some WIP. We could alternatively just remove consistency.

--

I agree with the other stuff in general, though the 3rd commit somewhat depends on the 2nd. We'll need to see if we change the 2nd.

jonasnick commented 10 months ago

I think if we're honest to ourselves, then the property is essential.

That's a good point. If a protocol does not satify "Conditional Terminating Agreement" ("If some honest participant outputs True and the delivery of messages between honest participants is guaranteed, then all honest participants output True") then the implication is that there's not even an out-of-band mechanism to get participants unstuck. Hence, I agree that this could lead to a situation where coins can't be recovered.

jonasnick commented 10 months ago

I removed "Consistency".