The protocol supports identifiable abort and we should re-define the ProtocolError variant to include an optional participant identifier to blame the person responsible.
We don't implement the additional rounds needed to figure out identifiable abort in presigning or signing, but we can figure out who's to blame immediately from keygen and auxinfo, so we should try to assign blame in those cases
[x] Add the optional ID to InternalError::ProtocolError
[x] Update presign and signing failures to always return None
[x] Update keygen and auxinfo failures to return Some where possible
The protocol supports identifiable abort and we should re-define the
ProtocolError
variant to include an optional participant identifier to blame the person responsible.We don't implement the additional rounds needed to figure out identifiable abort in presigning or signing, but we can figure out who's to blame immediately from keygen and auxinfo, so we should try to assign blame in those cases
InternalError::ProtocolError
None
Some
where possible