BTC系统扩展容易见到问题解答

时间:2021-07-12 15:36编辑:未知

在路线图提及到以下的技术,在充份的测试後,预计可以在以下时间完成。

* 有星号的日期是预计完成代码的时间。代码只能在充份审核後才会发表,而软分叉完成亦需要时间。

隔离见证测试网: 一个独立的测试网,并不是平时测试网的一部份。让 比特币 Core 开发员及钱包开发员测试隔离见证功能。

Libsecp256k1验证: 在x86_64硬件上提高买卖验证速度五至七倍。帮新节点加入互联网并减轻现有节点的负担。

OP_CHECKSEQUENCEVERIFY: 让双向支付通道可以无限时用,提高效率达25倍。

VersionBits: 容许1至29个软分叉同时推行,令系统升级的过程更快丶更去中心化。

隔离见证: 容许买卖容量上升到1.75至4倍丶解决第三方延展性令智能合约更安全丶双向支付通道效率提高66%丶提供欺诈证明令轻量节点也可以实行系统规则丶更容易对脚本系统升级以容许更强大的合约功能。

IBLT及弱区块: 仅需把总带宽增加少许,就可以把区块传播所需要的带宽减低90%以上,令矿工可以以最短期把区块传统出去,把BTC广播互联网有哪些好处带给所有全节点。IBLT及弱区块可以把全节点所需的带宽变得更平均,令以后可以更安全地增加区块容量。

目前的提案是以软分叉来达成隔离见证,并把每字节的见证内容算为0.25字节,因此最大的区块体积会是稍低於4MB。

然而,区块并不应该只有见证内容,而计算非见证内容的体积时不会有打折,因此并不可能有4MB的体积。

依据Anthony Towns的计算,假如区块装满了标准的单签名点对点KH买卖,体积大概为1.6MB;若是2-of-2多重签名买卖,则大概为2.0MB。

有的意念说易行难,有的却说难行易,隔离见证好像是後者。

由於隔离见证可以逐步实行而不会破坏相容性,因此生态内各环节不需要要特别筹备。开发员可以在2015年12月推出的测试网得到实质的用经验并测试他们的软件。

刚开始,只有期望支持隔离见证的矿工需要升级,令新规则可以在主网实行。现有些应用程序只有需要用新功能才需要改变。

隔离见证买卖收取较低买卖费,有更佳的效能,而且支持多重签名智能合约,如双向支付通道,可以作很多买卖却不需要在区块链作额外纪录。大家强烈建议钱包升级,但即便不升级,现有钱包仍然可以继续正常用。

在比特币 Core有一句代码指定区块最大是 1,000,000 字节 。最容易的办法是用硬分叉改变这句代码,比如变为 2,000,000 字节 。

但硬分叉本身绝不容易:

大家并没经验: 矿工丶商户丶开发员丶用户都没硬分叉的经验,因此令硬分叉可以安全实行的技术也未经测试。软分叉则不同。软分叉刚开始由中本聪管理,然後大家又从实行BIP16所遇见的问题中得到经验,令大家以改良了的办法实行BIP34,与後来的BIP66 和 65。在以后的软分叉,大家正筹备用BIP9 version bits,令多个软分叉提案可以同时进行。

强制升级: 硬分叉需要所有全节点升级,而其他人用旧版本的节点都可能会损失资金,这不但包括全节点钱包的运行者本身,还包括依赖该全节点提供资料的轻量钱包。

需要其它的改动: 即便只不过改一行代码来增加最大区块容量,也会干扰到系统内其它代码,有的更是不好的的影响。比如目前可以制造一个接近1MB的买卖,而现代的电脑验证该买卖需时超越30秒 。在2MB的区块下,验证一个2MB的买卖需时10分钟,将成为一个非常危险的攻击办法。为了防止这种攻击,就有必要改动其它代码。

虽然有以上的问题,但只须有充足的筹备,硬分叉并不会出现致命问题,而大家亦预计以后会有硬分叉。但隔离见证可以用大家更熟知的软分叉完成,而且带来增加买卖量以外更多有哪些好处。

和容易提高区块体积相比,隔离见证需要在不一样的软件层面作更多改动。但假如大家真的期望BTC可以扩展,大家无论怎么样也需要根本性的改动,而隔离见证可以渐渐地鼓励大家升级至更具扩展性的策略,却不需要强逼他们如此做。

开发员丶矿工丶与社群已对软分叉有充份经验,大家相信实行隔离见证所需时间并不比提高容量的硬分叉为多,而且会更安全。

不会,这并不是路线图的一部份。

借助有广泛共识的软分叉,大家可以把系统扩展而没硬分叉的不良反应,因此即便预期会有硬分叉,这并非目前就要做的充份理由。

在路线图提到的改进,除提供额外的买卖容量以外,配合其它技术如双向支付通道,可以让用户降低用区块链,变相提升了BTC系统的容量,却不需要增加全节点用的带宽。比如:

BIP68 及 BIP112 容许无限时的双向支付通道,可以大为降低纪录在区块链的买卖。

隔离见证容许在关闭支付通道的同时开设新的支付通道,降低由于更换通道所需的区块链空间约66%。

隔离见证容许以后更容易以软分叉改变BTC的脚本语言,比如从签署提取公钥,或用合并Schnorr签署,从而降低买卖的平均大小。

实行隔离见证後,当无效区块出现时就可以产生非常简单的欺诈证明,这会令进行容易买卖验证 的轻量节点的安全性更接近全节点,可以令整个互联网在较少的全节点下仍能运作。

这部分技术的实质成效仍然未知,但实行一个具广泛共识的软分叉可让大家立即得益并测度中期的可能性,以这部分数据作长期的规划。

目前支持 P2SH 的钱包可以分两阶段转移至完整的隔离见证:

第一阶段:脚本需要经过两次哈希运算,第一是变成256位元,然後再变成160位元。这个160位元 的哈希和现有些P2SH地址相容,因此已升级的钱包和现有些钱包之间可以互相收付款项。

第二阶段:脚本仅需一次哈希运算变为256位元。这格式和现有钱包不相容,但容许更有效率地用区块空间,及提供更强的防碰撞攻击性能。

在隔离见证买卖中,见证部份的每字节只算为0.25字节,也就是说这部份的买卖费有75%的优惠,但只限於隔离见证的用户。

David Harding 提供了下表以估计在不同成本和买卖种类下可以节省的成本。比如假如一个容易见到的250字节买卖收费是0.01USD,用隔离见证花费一个点对点K-in-P2SH输出就可以节省约0.003USD。


收取固定比率成本 的网页钱包和交易平台会最早应用隔离见证,由于即便每一个买卖节省极少,天天数以千计的买卖加起来都会很可观。

全部更不是。作为目前 比特币 Core 版本的默认设置,在收到一个未确认买卖後,就不会再同意其它有相同输入的买卖。有的人觉得这代表他们首个见到的买卖就是安全,但其实不是;假如真的是如此,大家根本无需区块链。

在现时的默认设置下,大家并不可以更新他们未确认的买卖。在刚开始的 比特币 版本,其实是有办法让用户注明他期望买卖可被更新,但为了预防拒绝服务攻击,中本聪在2010年关闭了这功能。

近期 比特币 Core 的开发员发现只须需要更新买卖同时用户要付出更多成本,就可以预防上述的拒绝服务攻击,因此他们重开了中本聪那个容许买卖被替换的机制。这功能会在预计2016年1至2月在 比特币 Core 0.12.0 推出,但和中本聪原本的设计一样,只有期望可以替换买卖的用户才需要选择用支援该功能的钱包。

现时并没钱包提供这功能,但以后这种钱包可以把多个未确认买卖合并以降低所需要的区块链空间,也可以让用户提高未确认买卖的成本,不会由于之前付费不足令买卖「阻塞」在钱包内。

弱区块和IBLT是两种仍在研究的技术,需要选择合适的参数,但由于参与的开发员有限,大家难以估计在什麽时候才能推出。

弱区块和IBLT都只涉及互联网改变而不是软分叉或硬分叉,因此仅需较短的测试时间就可以推出让节点升级,大家期望可以在2016年内完成。

在推出弱区块和IBLT後,大家可以借助一个容易而无争议的软分叉来规范买卖次序令它们更有效率,这软分叉可以透过BIP9 versionBits 推出。

其实大部份以前的软分叉都没为矿工带来这部分好处,比如:

| BIP16 | 新买卖类型 | | BIP30 | 需要检查重覆买卖ID | | BIP34 | 令矿工可用的coinbase空间降低 4 字节 | | BIP65 | 新脚本命令 |

在2015年7月正式实行的 BIP66 软分叉令大家可以转用libsecp256k1作买卖验证,令验证时间大减,让矿工得益。

而隔离见证可以为其用户带来以下好处:

这永久地解决第三方延展性,令多阶段智能合约得以达成;减低买卖费;令BTC脚本升级更容易,钱包更容易得到新功能。

通过以前的软分叉和交流,比如在香港BTC扩展性会议内的矿工座谈会,矿工一再表达了即便他们未必有直接得益,他们也期望BTC成为一个最有用的系统。隔离见证和路线图上其它改进可以显着地提高BTC的可用性。

另外,隔离见证容许矿工在区块内加入更多买卖,因此亦可提高在每一个区块内得到的收入。

第一阅读在 比特币.org 上的 比特币 Core贡献者网页。 其中代码审阅是实行软分叉极要紧的一部份。

假如你想得到更多有关怎么样贡献的建议,请加入#bitcoin-dev IRC 频道讨论。

原文:https://github.com/jl2012/bitcoin.org/blob/capacity-increases/zh_CN/bitcoin-core/capacity-increases-faq.md
翻译: jl2012

此文出于传递更多信息之目的,并不意味着同意其看法或证实其描述。本网站所提供的信息,只供参考之用。

本文标签: