矿工将被要求在开采的区块中加入一点数据,以表明他们将执行新的规则。当大多数人准备好时,更改就可以激活了[10]。 致命的缺点 但所有的这些工作,都被OConnor的发现所推翻[13]。 结果导致开发者们分裂成了不同的派别,一些人认为OP_EVAL被不必要地延迟了,另一些人则认为提议的快速修复会损害比特币基本脚本语言的某些所需属性[14]。 包括Luke Dashjr、Pieter Wuille以及Maxwell在内的开发人员提出了替代方案,其与 OP_EVAL类似,采用了将币发送至一个哈希的概念。但挑战仍然是如何将这种逻辑(他们最初称之为“Pay to Script Hash”或简称为“P2SH”)转化为比特币软分叉,以避免区块链分裂。 现有的操作码只能走到这一步:未升级的节点将需要接受从哈希中花费币的交易,而无需了解新规则。 是Andresen找到了前进的道路,而他特定的P2SH解决方案根本不需要新的操作码。相反,Andresen的想法是,可以对比特币进行编程以识别某种交易格式,然后以一种非常规的方式解释这种格式,以使用新的指令对其进行验证。 任何未升级的节点都将使用常规逻辑来解释非常规格式。与OP_EVAL一样,未升级的节点始终将交易视为有效。这意味着P2SH可以作为软分叉部署:只要大多数算力强制执行新规则,新旧节点都将在同一区块链上达成共识。 Andresen的提案对大多数人而言似乎令人满意的。OConnor评论称[15]: “看起来,这似乎是可以接受的。” Taaki在谈到该代码的非常规方法时表示: “这个想法是一种黑客行为……但我喜欢它。” 在随后的一次开发者会议上,与会者一致同意实施Andresen的P2SH提案。而矿工们将在2月1日之前的一周进行民意调查,如果大多数算力(超过55%)表示支持,那么两周后,就会释放一个客户端来激活软分叉。 但和平只持续了几天时间。 为什么不用美元? 打破共识的是Dashjr,他因为有事提早离开了会议,后来才得知Andresen的P2SH版本方案被公认为折衷方案。 而Andresen方案的非常规性质,激怒了Dashjr,他认为这会使协议变得复杂,并带来了不确定的后果。Dashjr向Andresen提出了这个问题,但后者认为Dashjr的担忧不值得改变计划[16]。 在遭到拒绝后,Dashjr于一月中旬在公开的BitcoinTalk论坛上爆发,他谴责P2SH提案并指控Andresen“独自”支持了这一改变[17]。 Dashjr写道: “Gavin强迫所有使用最新比特币代码的人投票支持[P2SH],如果你想反对这种疯狂的协议更改,那么你将需要修改你的BitcoinD源代码,或者在默认情况下投票赞成它。” (责任编辑:admin) |