Zilliqa / zilliqa-developer

GNU General Public License v3.0
2 stars 5 forks source link

Submitting UCCB transactions with supermajority signatures #703

Closed DrZoltanFazekas closed 5 months ago

DrZoltanFazekas commented 5 months ago

When validators become the consensus leader, they shall submit as many UCCB transactions to the target chain as possible before they advance to the next view and leader. UCCB transactions can be submitted for UCCB events that have been signed by the supermajority, which is detectable based on the internal ready state of the respective UCCB nonce (as validators keep track of the shared signatures and when the supermajority is reached).

Validators shall retrieve the Dispatched events from the finalized block on the target chains. If they see a UCCB nonce in such a Dispatched event, they mark it internally as completed, meaning that there is not need to submit the respective UCCB transaction again.

To prevent a UCCB transaction to be submitted multiple times, validators shall also watch Dispatch events in the latest blocks and mark them internally as already submitted. Based on the removed flag in the logs they shall also adjust the internal state of a UCCB transaction to ready, meaning that it has the supermajority's signatures but has not been submitted yet.

DrZoltanFazekas commented 5 months ago

replaced by https://github.com/Zilliqa/zq2/issues/1017