当前位置:首页 > 比特币新闻 > 正文

Jeff Garzik:为什么Segwit2x是最好的比特币路线?

来源: 互联网时间:2017-07-25 13:50:00

关于风险、钱包兼容性、升级节奏,甚至很多Core开发者,其中有很多误解。让我们先重点关注软件工程和风险分析的一些基本方面。
segwit2x-support-1

回归本原

让我们回顾一下比特币的一些基本的工程属性。

比特币交易是一种经过签名的消息,一种极微的实体。这种签名是一种消息真实性的证明。创建一个签名——签署一笔交易——需要访问私钥。

比特币区块就是容纳经过签名的消息的一种容器。

区块大小更改产生的影响

区块大小增加(BBSI)就是改变这个容器的大小。

BBSI:改变这个容器的大小并不会影响到签名消息的完整性或真实性。每个消息的签名代码不会被改变。

Segwit:改变每个消息的签名不会影响签名消息的完整性和真实性。私钥、资金转移的代码将会受到影响。

区块大小的可预见性和保证

BBSI在一个可预见的时间里提供了一种可预见的额外容量增加(+1MB)。

由于选择性加入(opt-in)的性质,Segwit并不提供任何可预见的容量(区块)增加。可能的区块容量增加情况包括:短期内增加不多,长期内很多;几乎不增加,永远不增加;短期内增加很多。

钱包兼容性

BBSI:容器(区块)大小的改变与今天的钱包之间的兼容性非常高。很多著名的比特币钱包,如Copay(bitcore-lib)或安卓钱包(bitcoinj),受到区块大小的影响几乎为零。

再说一遍,对于很多SPV钱包而言,零钱包更改确保了能够获得额外的容量增加。对于很多钱包而言,“只需要升级底层代码”就行了。

Segwit:更改每一个消息的签名意味着[选择性加入]要部署的更新有时会制定分叉。用户和企业面临使用现有软件的选择,这些软件被证明是行之有效的,相反于与私钥和消息完整性有关并且引入新的核心资金转移系统升级风险的新软件。

因此,在现实世界,站点可以通过(a)一种节点升级来增加容量,不直接影响私钥和资金[在同一进程内存空间],或者通过影响每个消息完整性的(b)节点升级和钱包升级。

每个站点风险轮廓演算

站点面临着一种节点升级的选择,这种升级不会影响每一个消息签名的完整性和私钥。对于大型企业,这实际上是一种用于部署钱包升级的法律规定的去风险流程,相对于一种节点升级,因为软件更改的私钥暴露所牵涉的不同风险轮廓。

Segwit的选择性加入性质是一种好事。这使站点可以以每一个站点为基础评估他们的风险。能承受更多风险的站点可以很早地升级。带有自定义钱包库分叉的站点,大学企业将需要更长的时间完成去风险产品升级流程。有组织地,而不是强制性采用。

整体风险轮廓演算

事实上,在软件工程和信息安全规范内观察到很多迅速升级钱包(不是节点!)到Segwit的站点包含着显著的整体(社区范围)风险:更多站点将大部分用户暴露给每一个消息完整性更改,从而导致私人密钥/资金在很短的时间内处于风险之中。

例如:80%的新交易生成器(钱包)在1-3个月的时间框架内升级消息签名代码,这对比特币来说将是一种全系统的风险,相对于一种类似时间框架内的节点升级。

此外,实际上,鉴于选择性加入性质和不同的风险轮廓,由Segwit单独增加的区块容量也许会很低——至少在最初阶段如此——因为这是通过选择性加入进行升级的。企业首席技术官(CTOs)和社区必须为Segwit采用率低做好最坏的打算,因此,也要为容量增加不明显做好准备。务实的CTOs会计划各种路线:Segwit采用率低,Segwit采用率高,Segwit采用率不高不低。

让我们用一个具体的例子来说明这一切。

案例研究:比特币交易所

案例研究是有用的,因为我们可以提供现实的数据,而不只是理论。

案例研究会超出了用户理论上会做的事情的范围,到他们承诺的时间,资金和其他资源。

我们首先从一家中国比特币交易所入手。为了避免泄露敏感数据,采用了闭环架构:P2P节点运行在一种不太安全的DMZ区域。核心的交易所金库管理软件,包括比特币热钱包,运行在一种更安全的区域。这个钱包基于一种bitcoinj库的定制分叉。

在区块大小增加时,这个交易所必须:

  1. 执行风险和法律责任复查
  2. 在硬分叉之前升级自己的P2P节点

这就是说,那个核心交易所系统并未被触及。他们定制的钱包在区块大小增加时照样能够运行良好。

为了使他们系统实现Segwit支持,这个交易所必须:

  1. 执行级别更高的风险和法律责任审查,因为这改变了资金除了和私钥管理软件。
  2. 升级P2P节点
  3. 等待上游开源bitcoinj库支持Segwit
  4. 等待上游开源bitcoinj库发布产品
  5. 整合bitcoinj Segwit升级到交易所的定制bitcoinj分叉
  6. 执行一个核心资金处理和私钥管理系统的完整产品发布测试周期。
  7. 开发运营推动对实时系统的改变。

风险轮廓中并没有对比。按照正常的科学标准,这个中国交易所的Segwit升级具有明显更高的风险轮廓:

  1. 交易签名代码被更改
  2. 资金处理代码受到影响
  3. 私钥管理代码受到影响
  4. 核心财务系统进行了更新
  5. 软件更新的数量更多
  6. 更多的被更改的代码需要审计
  7. 更高的法律风险

交易所进行升级的动机是明确的:节点升级将增加网络容量,相对而言钱包升级则增加了工程/时间/风险成本。

理想情况下

在理想情况下,Segwit将会在一种侧链或竞争币(莱特币!)上进行6-12个月的现实资金测试,然后在比特币网络上推出。但是我们现在就要实施Segwit了;BIP 91已经激活——正在向前发展。

结论

这就是为什么——我个人看法——Segwit2x对于社区来说是最好的的扩容路线:Segwit2x为比特币增加了一个很好的长期基础——Segwit——但是对于一种选择性加入(包括消息完整性更改)的采用速度,我们应该保持务实的态度。

更改消息容器(区块)大小具有更低的风险轮廓并且以一种不要求他们升级核心财务系统的方式提供可证明的容量增加。

基础区块大小增加为用户提供了如今所需要的东西,Segwit为明天打下了基础。

免责声明:

1.本文内容综合整理自互联网,观点仅代表作者本人,不代表本站立场。

2.资讯内容不构成投资建议,投资者应独立决策并自行承担风险。