3.8. Escaping stall
Sequentia must guarantee liveness in case of any number of missing blocksigners in a round.
It is possible to have a scenario in which some blocksigners in the current committee may be missing/offline, such that blocks cannot be certified, that is, reach a minimum amount of countersignatures; in this case, the chain will stall. For this reason, there is a set of conditions that allows the creation of valid blocks that do not meet the countersignature threshold, called the escaping stall rule:
If the last certified Sequentia block references a Bitcoin block at a depth of 4 Bitcoin blocks in the past (height h), a new Sequentia block can be certified without reaching the countersignature threshold if it references the hash of a bitcoin block at height h+3.
In the case of two competing blocks certified through the escaping stall clause, nodes will orphan the block with the lowest signature power, meaning the one that collected the fewest countersignatures from the committee. In the case of two blocks with the same number of countersignatures, the one proposed by the leader with the highest VRF is orphaned. In the case of two certified blocks, one through the escaping stall clause and the other meeting the signature threshold, the one certified through escaping stall is orphaned.
Another case also puts network liveness at risk: if the number of participants in the network is not sufficient to reach the minimum number of blocksigners in a committee (100 members). Initially, the minimum amount of Sequence tokens required to participate in the network as blocksigners is 40,000 SEQ (with an assumed supply cap of 400,000,000 SEQ). The minimum staking requirement constitutes an anti-spam threshold to avoid a more extended computation of the algorithm selecting the leaders, but it might be too high, especially in the exceptional case of an enforced consensus. Therefore, the “lowering staking requirement” rule applies:
If the number of participants is less than X, then the minimum amount of SEQ tokens required for staking is lowered.
If setting the threshold directly at zero might be used as an attack vector (i.e., flooding the network with participants staking very tiny amounts), then more complex logic could be implemented, like gradually lowering the threshold.
Last updated