见证人隔离可能是迄今为止比特币协议最重大的改进。该创新旨在固定交易的可延展性,有效增加区块大小,实现开发灵活性等。经过几个月的编码,隔离见证人已接近推出,因为 拉取要求 已提交给 比特币核心 本周早些时候.

到底有多接近推出?与比特币协议的任何更改一样,这很难预测.

隔离见证时间表…

第一步:想法

比特币协议的每项改进都始于一个构想.

隔离证人的想法可以追溯到很久以前。区分交易和签名数据的一般概念可能起源于2014年,甚至更早。但是大约一年前,即2015年初, 区块流的比特币和侧链开发团队决定在其原型侧链中实施该概念: 元素. Elements,其中包括Segregated Witness,主要由比特币核心开发人员和Blockstream联合创始人Gregory Maxwell设计,并于2015年6月发布.

那时,人们仍然认为不可能在比特币区块链上实施隔离见证,除非是通过硬分叉。分离交易和签名数据将不兼容地改变结构块,这可能导致比特币网络在升级节点和非升级节点之间分裂.

毕竟,在2015年秋天,是比特币核心开发人员Luke Dashjr弄清楚了如何在主要的比特币协议中实现隔离见证。使用巧妙的技巧,隔离见证交易可以标记为未升级节点的“任何人都可以花”交易,而升级后的节点将被重定向到带有签名数据的“附加块”。这解决了不兼容问题,这意味着“隔离见证”可以作为软分叉推出.

最初是通过典型的沟通渠道在比特币核心开发人员中讨论此选项的:在IRC上通过私人电子邮件,稍后在 比特币发展邮件列表 和其他地方。参与对话的每个人都同意这是一个好主意.

几周后,即2015年12月,比特币核心开发者Pieter Wuille在 扩展比特币 香港研讨会.

预计时间:1年

第二步:代码

一个想法本身并不会改变任何东西。有人需要编写代码来实现这个想法.

Wuille于2015年11月开始对“隔离见证人”进行编码-几周后,他在香港提出了这个想法。比特币核心开发者和 西弗雷克斯 首席执行官Eric Lombrozo,比特币核心开发人员Johnson Johnson和其他一些开发人员也开始做出贡献.

5个月后,比特币核心隔离见证计数了4,743行代码(包括测试代码),并提议删除或修改554条现有比特币核心代码行。 Wuille和其他贡献者认为已完成.

总时间:+-5个月

第三步:审查

由于代码已完成,Wuille在本周提交了拉取请求。拉取请求基本上是开发平台GitHub上的一项“正式”建议,它将一批代码–隔离见证–合并到Bitcoin Core的主分支中:新的Bitcoin Core版本所基于的项目的不断发展.

这标志着技术审查过程的开始。邀请其他开发人员检查和测试代码,并提出他们的意见。可以以评论的形式或通过投票的形式来完成:“ ACK”(赞成)和“ NACK”(反对)。 ACK和NACK也有几个细分,例如,表明该代码已由该开发人员测试过-或未经过测试。.

审查过程将持续至比特币核心存储库维护者(现为弗拉基米尔·范德兰)认为必要的时间。如果他认为没有(并且将继续)对合并的粗略共识,则可以关闭拉取请求。提案被拒绝,提交者可以选择重新编写代码.

对于“隔离证人”,审核过程更有可能向Wuille和其他开发人员提供反馈,这可能会导致代码略有更改.

如果范德兰(Van der Laan)在某个时候认为达成合并的粗略共识,他将合并拉取请求。隔离见证随后成为比特币核心主分支的一部分.

在隔离见证的情况下,很难说合并合并请求将花费多长时间。但是,由于这是一个很大的更改,因此此过程将花费数周到一个月的时间,甚至可能会更长.

预计时间:2至6周

第四步:发布

一旦提取请求合并到Bitcoin Core的主分支中,则需要通过新的Bitcoin Core版本向公众提供.

比特币核心提供两种类型的发行:主要发行(通常会更改发行版本中的第二个数字,例如0.10.0、0.11.0、0.12.0等)和次要发行版(更改最后一个数字,例如0.12。 1、0.12.2等)。主要版本计划每年发布两次,但通常不包括任何建议的软叉。这样,任何人都可以采用新的主要发行版的特权,即使他们不想升级到建议的软分叉. 

每当合并拟议的软分叉(或错误修复)的代码时,都会提供次要版本,Van der Laan认为已就该版本达成了大致共识。 (通常在 每周IRC会议.)

所有版本(主要版本和次要版本)都首先被标记为“候选版本”。候选发行版是建议的发行版,首次公开提供进行测试。如果在候选发布版本中发现任何错误或其他问题,则会创建一个新的候选发布版本,并公开提供进行测试. 

此外,所有发行版本(主要和次要版本以及候选版本)都要经过由几个开发人员进行的技术构建和签名仪式(“ gitian构建”)。这样做是出于安全和安心的目的,可能需要花费几天的时间.

如果大约一个星期后没有报告最新的候选版本有问题,Van der Laan将宣布该候选版本现在是实际的新版本。该新版本通过以下方式分发 bitcoincore.orgbitcoin.org.

预计时间:1周+

第五步:激活

比特币0.12.2发布后,比特币核心开发团队将鼓励所有人进行升级。尽管升级是可选的-较旧的节点将与比特币网络的其余部分保持兼容-升级后的节点将获得隔离见证的好处并保持最大的安全性.

但是,如果只有典型用户升级,则“隔离见证”将不会激活。激活将需要矿工进行升级。根据比特币核心0.12.1和版本位的采用,软分叉通过一种新型的信号发生.

首先,运行Bitcoin Core 0.12.2(以及合并了类似代码的Bitcoin实现)的矿工(或矿池)自动开始发出信号,表示他们已准备好进行隔离见证交易。这是通过它们包含在它们所挖掘的块中的版本位发生的,这些版本位指示它们可以挖掘的交易和块的类型. 

一旦在单个困难期内(2,016块/大约两周)内代表95%哈希能力(1,916块)的矿工添加了正确的版本,软叉便被锁定。一个困难时期之后,软叉被激活,这意味着剩下的5%的矿工需要大约两周的时间来升级。 (如果他们不升级,它们将仍然是比特币网络的一部分,但是如果它们包含现在无效的交易,它们的区块可能会被其他矿工孤立。)

很难预测代表至少95%哈希能力的矿工是否以及将如何支持隔离见证。根据 香港比特币圆桌会议共识信, 绝大多数矿工凭哈希权力承诺采用隔离证人. 

但是,即使是那封信也不能代表95%的哈希算力。和 略高于散列能力的5% 目前正在挖掘有利于 比特币经典;尚不清楚竞争的比特币核心分叉是否也会合并隔离见证。 (也不清楚,如果这些矿工没有合并隔离见证人,这些矿工是否会坚持使用比特币经典货币。)

最少时间:4周

第六步:采用

在比特币网络上激活隔离见证后,用户需要执行最后一步才能获得收益:钱包软件必须包括用于实际创建和接收隔离见证交易的选项.

钱包采用需要多长时间取决于开发人员‒和比特币库开发人员。当比特币在今年早些时候向钱包和图书馆开发者询问这一问题时,似乎大多数人都打算将“隔离见证”集成到他们的软件中。但是,发生这种情况的速度可能会有所不同;一些开发人员比其他开发人员更愿意,资金更充裕或干脆有能力。有些人已经进行了必要的更改,并将从激活的第一天开始支持隔离见证;其他人可能需要更长的时间.

但是,只要至少有一个提供该选项的钱包,用户就可以随时切换并立即享受优惠.

预计时间:有所不同

 

感谢比特币核心开发人员Eric Lombrozo和BTCDrak的反馈和技术指导.