BTC共识协议

共识 (consensus)

​ “共识”是一个模棱两可且有争议的词,在比特币和其他地方,它可能意味着多种不同的含义。它经常被用来对决策问题进行手摇,因为“好吧,每个人都会基本同意”。 ​ 不幸的是,在比特币中,“共识”一词以几种截然不同的方式使用。所有这些用法都应该用不同的词代替,并且永远不应该使用“共识”这个词。

共识规则 (consensus rules)

​ 共识规则是所有比特币全节点在考虑区块及其交易的有效性时将始终执行的特定规则集。例如,比特币共识规则要求区块只能创建一定数量的比特币。如果一个区块创造的比特币数量超过允许的数量,所有完整节点都会拒绝这个区块,即使世界上所有其他节点和矿工都接受它。添加新的共识规则通常可以作为软分叉来完成,而删除任何共识规则都需要硬分叉。有关纯网络协议行为的规则不是共识规则,即使对网络协议行为的更改破坏了向后兼容性。共识规则只关心区块和交易的有效性。

​ 这些规则被称为共识规则,因为比特币要求比特币经济中的所有参与者就共识规则达成共识(具有下一个定义的含义)。如果经济不同意共识规则,那么货币和经济就会分裂成两个或更多完全独立的部分。 与其他两个定义不同,这是一个非常具体的概念。 ​ 为清楚起见,这些规则应称为硬规则或比特币规则,而不是共识规则。

接近一致 (Near-unanimity)

​ “共识”可能意味着“在’重要’的人群中没有明显的反对意见”。在比特币中,这是推出硬分叉所需的标准:比特币经济的重要部分不应积极反对硬分叉。

​ 为清楚起见,这种程度的同意应称为无争议或接近一致(Near-unanimity)。

一般协议 (General agreement)

​ 共识可能意味着“当参与者根据专业知识和/或论点强度进行加权时,绝大多数”。举个例子,如果四位专家强烈同意某事并提出有力论据,而五位外行只是表示反对该提案,那么该提案在大多数情况下可以说是有共识的。但是,如果四位专家对一个提议提出了强有力的论据,而三名专家提出了同样有力的反对意见,那么可能就不能说达成了共识。这通常是在开源项目中做出技术决策的方式,包括许多比特币开源项目。

​ 为清楚起见,此级别的同意应称为一般协议 General agreement)。