多重签名用户在花费币时会为增加的交易大小付费,而所需的额外数据对网络的负担变小了。 由于该提议得到了积极反馈,Andresen没有浪费任何时间,他希望尽早部署OP_EVAL。 他写道: “安全性在优先级列表上确实很高,我希望在一年之内在论坛签名中看到安全的比特币地址。”[7]。 但是,并非所有人都认同Andresen的紧迫感,对于一个已拥有数千万美元价值的项目而言,OP_EVAL意味着一次重大升级。而在大洋彼岸,年轻的Amir Taaki建议开发者花些时间来审查该提案。 Taaki写道: “乍一看,这个提案似乎不错,但快速将其纳入区块链可能不是一个明智的想法……比特币不会在明天爆炸式增长,因此推迟此类重大更改不会造成重大损失。” 使问题进一步复杂化的是,开发人员假设将OP_EVAL添加到协议中将带来巨大的协调挑战。从本质上讲,实施它需要冒风险,有可能会分裂成不兼容的网络。 这意味着一旦OP_EVAL上线,每个用户都必须切换到新版本的软件和新的区块链,这就是所谓的“硬分叉”升级。 如果不能统一升级,矿工可能会在不知不觉中产生“无效”区块。更糟糕的是,用户可能在不知不觉中接受了“无效”交易。 一种新的软分叉 但很快,Andresen就意识到可以安抚他的批评者。 他发现,通过一个巧妙的技巧,通过重新定义中本聪最初包含的几个不活动的操作码中的一个,作为未来命令的占位符来部署OP_EVAL。 出乎所有人的意料(包括Andresen自己),这也将兼容那些没有升级到接受OP_EVAL的节点。这些节点将检查哈希是否与新指令匹配,但不会强制执行它们,而是默认接受交易。 只要大多数矿工执行新规则,这意味着新区块链将被升级节点和未升级节点都视为有效。升级后的节点将接受区块链,因为它们正在执行新规则,而没能升级的节点也将接受新的区块链,因为它们都不关心新规则。 中本聪已部署过这种向后兼容的升级或“软分叉”,但是随着网络规模的扩大,开发者们开始产生了一些担心。 不出所料, Andresen意识到这是可以避免的,这一点受到了其他知名代码贡献者的欢迎,他很快与他们分享了这一消息。对此,Gregory Maxwell评论道: “哇,Gavin认为 [OP_EVAL] 不需要分裂网络就可以完成的观点,让我大吃一惊,拿出香槟庆祝吧。” 有了它,开发人员便继续设计出一种更加安全的方法来激活软分叉。他们的理论是,他们可以进行类似民意调查,以确定某个功能何时得到矿工们足够广泛的支持,然后他们可以利用这些支持来确保安全升级。 (责任编辑:admin) |