ssvlabs / ssv-dkg

GNU General Public License v3.0
12 stars 9 forks source link

Bulk Reshare #114

Open GalRogozinski opened 2 weeks ago

GalRogozinski commented 2 weeks ago

Description

Many validators reshare at once in parallel

Motivation

Some large stakers want to change clusters to all of their validators at once

Problem

If different validators registered with a different nonce, then we can't use the contract's bulkRegister command. Maybe we can take max-nonce?

Requirements

RaekwonIII commented 2 weeks ago

Can you elaborate further on:

If different validators registered with a different nonce, then we can't use the contract's bulkRegister command. Maybe we can take max-nonce?

The initial creation of keyshares (the init command, to start a ceremony) has a starting nonce, and correctly generates each consecutive share by increasing its nonce, then generates a single output file where all the shares are ordered by the nonce itself.

The reshare command should essentially do the same, in my opinion. The list of validator keys to be reshared can be counted, and a starting nonce is needed as an input, then, for all intents and purposes, the logic is the same as init , except for the necessity of decrypting the existing shares, and verifying provided proofs.