核心参考: Dusk Whitepaper (Section 3.6)
引言:去中心化网络的至暗时刻
如果有一天,全球大规模断网,或者绝大多数验证节点(Provisioners)突然离线,Dusk 网络会停摆吗?
大多数区块链在节点参与度过低时会陷入停滞(Liveness Failure)。但 Dusk 在设计之初就考虑到了这种极端情况,引入了 Emergency Mode(紧急模式)。
一、 什么时候触发紧急模式?
根据白皮书 Section 3.6,SA 共识协议依赖于迭代(Iterations)来达成共识。
"In such situations, after a certain threshold of failed iterations (currently set to 16), the SA protocol transitions into emergency mode."
当网络连续 16 次尝试出块都因为“找不到人”或“无法达成法定人数”而失败时,协议会自动判断:网络出大事了。此时,常规的超时机制(Timeouts)被禁用,网络进入一种“不死不休”的状态。
二、 开放迭代(Open Iteration)
在紧急模式下,协议不再强制要求按顺序完成步骤。
"Iterations continue indefinitely until a candidate block is generated and a quorum is achieved."
这意味着节点会不断地尝试发起新的投票,直到有一组幸存的节点能够凑齐法定人数。这就像是在茫茫大海中,幸存的船只不断发射信号弹,直到找到彼此。
三、 紧急区块(Emergency Block)
如果情况糟糕到连一个普通的候选区块都产生不了怎么办?
Dusk 还有最后一招:紧急区块。
这是一个特殊的空区块(Empty Block),不包含交易,只包含新的随机数种子(Seed)。
"The block is created if requested by a set of provisioners holding the majority of the total stake in the network."
它的作用是“重启”随机数生成器,让网络跳过当前的死循环,进入下一个 Epoch。这保证了即使在灾难性故障下,Dusk 也能自我恢复,保持活性。
