BlockstreamResearch / bip-frost-dkg

49 stars 14 forks source link

Identifiable aborts #52

Closed real-or-random closed 17 hours ago

real-or-random commented 1 month ago

Solves partly #37, namely the actual implementation of the idea.

Draft because there are some minor cleanups left, see added FIXMEs.

real-or-random commented 1 month ago

Okay, I reworked the entire thing and the API is totally different now from the first version. Instead of adding blame: bool and similar parameters in the necessary locations, this now adds separate _blame functions. In particular, there are _participant_blame functions, which can be used after participant_step2 has failed. Fortunately, this works without the need to redo expensive computations in participant_blame (or carry over cached values from participant_step2 to participant_blame via the raised exception, which would be rather inelegant). I think this is much better:

Still to do:

Please let me know if this API looks good, then we merge this and I can work on follow-up PRs.