Investor's wiki

软叉

软叉

什么是软分叉?

区块链技术中,软分叉是对软件协议的一种更改,其中只有以前有效的交易块才会失效。因为旧节点会将新块识别为有效,所以软分叉是向后兼容的。这种分叉只需要大多数矿工升级即可执行新规则,而硬分叉则需要所有节点都升级并同意新版本。

了解软分叉的使用

新的交易类型通常可以作为软分叉添加,只需要参与者(例如发送者和接收者)和矿工了解新的交易类型。这是通过让新交易对老客户显示为“向任何人支付”交易(特殊形式)并让矿工同意拒绝包括这些交易的区块来完成的,除非交易在新规则下得到验证。这就是将付费脚本哈希(P2SH)添加到比特币的方式

当使用未升级节点的矿工违反其节点不知道的新共识规则时,由于区块链中的临时分歧,有时也会发生软分叉。

软分叉不需要任何节点升级来维持共识,因为所有具有新软分叉规则的块也遵循旧规则,因此旧客户端接受它们。没有硬分叉就不能逆转软分叉,因为根据定义,软分叉只允许有效块集成为有效预分叉的适当子集。如果用户升级到软分叉后客户端并且由于某种原因大多数矿工切换回软分叉前客户端,那么一旦出现未遵循的区块,软分叉后客户端用户就会打破共识他们的客户的新规则。为了使软分叉能够工作,大部分挖矿能力需要运行一个识别分叉的客户端。接受新规则的矿工越多,分叉后的网络就越安全。如果您有 3/4 的矿工认可分叉,则不能保证创建的 1/4 块遵循新规则。这些 1/4 块将对不知道新规则的旧节点有效,但它们将被新节点忽略。

软分叉已用于比特币和以太坊区块链等,以实现向后兼容的新功能和升级功能。