Skip to content

Consider to remove transcripts from all participants on Coordinator when aggregated Transcript is correct (successful DKG) #427

@manumonti

Description

@manumonti

After a conversation with @cygnusv

Something I realized is that when a handover occurs on a ritual, the transcript of the new (i.e incoming) participant is set to 0x.

For example, in this ritual (2-of-2), the first node was replaced, so the transcript value is 0x:

# Call to getParticipants() on Coordinator
[[0xd274f0060256c186479f2b9f51615003cbcd19E6,true,0x,0x5453536b00020000c42048ea67e080e6798ce5667b5919fffe401a2d66f04da3ba303518d6616c898731]  
[0xcbE2F626d84c556AbA674FABBbBDdbED6B39d87b,true,0x6800000000000000020000000000000096db83ceea9cfc424139b200ee662da585969f8ffc25a690854f08ce321653c7e8d8429be7292c3025c4fcbf8a2bd16887b2abb5218f0befe474e6f473a157a87b9aa29875f5ccd67f5ac40da9f0559fb7c27c49243a3163daa3309a6850074ac8000000000000000200000000000000b33cbcd11c48a82c0e97293dcf7dcf0e25d8dd4a712ef849b865ea9a8d8c1e51dadf107995c87e5871dddd61469f03a409b1c25a884202d3b468b77f7704e1612df0e73af2726427102e8dafd5cade7a20e5e5ad4843504042c0b628a08c41fd803cea20923a1d5cdc3382d2b2e7a0783498606bf53fd62f4f8dc4fd80bb74d20c32f68e628b38c292fbd7aa687b9919045f03fad299cceff3a80c173551c80900a521e141de9e50c33aa4843bf2cc9dd717da0cbe24daeb6b6e197b3c933dbb6000000000000000aff76c419b20e1d0916016b58b7047a3eae998e240de950ad1c3d47347fe74c4e83bc56b9925127a1b4f6300d7925ca510f507c4e0a408d5dcb605c63c8d4f48bf72d5c0f0a27b0591d613773c4612c866d183f4e16343124b23cd138088f044,0x5453536b00020000c42020cce78f8914f23f589eb663ca566953aaee43386310496a905913a737cfca5c]]

This makes sense since the transcripts used during the DKG are no longer valid after the handover. This is, if we try to recalculate the aggregated transcript using the original DKG transcripts plus the handover transcripts, the result will be different.

So, in this case, does it make sense to store the transcripts of the original nodes of the DKG? Maybe we can remove them to save some gas after the aggregated transcript is calculated in DKG or after the handover is completed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions