比特币无限, 中的一个 比特币核心 2015年底推出的软件分叉在最近几个月引起了很多关注。该项目从几个新的比特币采矿池获得了哈希功率支持,其中包括 ViaBTC, GB矿工 和 比特币, 尽管 节点采用 似乎也在上升.
比特币无限背后的中心思想-在“比特币无限改进建议001”(BUIP001)—将比特币的块大小限制控制权交给用户和矿工。或者,也许更准确地说,是使该控件更明确,更易于处理.
但是,这种控制确实是以比特币强大而自动的共识机制为代价的。使用BUIP001,在许多情况下,不同的用户最终会暂时或永久地处于不同的链上.
这是一个(可能不完整)的概述.
(注意:如果您不确定Bitcoin Unlimited的工作方式,请务必先阅读“仔细阅读Bitcoin Unlimited的可配置块大小建议”。)
如果不是每个人都切换到无限比特币
第一个例子也是最明显的一个例子.
当前似乎不太可能使用不同的比特币实施方式,例如 比特币核心, 比特币, BTCD 或者 币 —将采用BUIP001或兼容的产品。尤其如此,因为比特币无限团队尚未向交叉实施的比特币改进提案(BIP)流程提交BUIP001;因此,大多数实施甚至都没有在考虑提案.
但是,如果不是所有重要的比特币实施都采用BUIP001或兼容解决方案,则区块链将无法按照比特币无限支持者的设想进行融合。相反,如果大多数矿工(通过哈希算力)增加最大生成大小(MG)和过多块大小(EB)以生成大于1兆字节的块,则比特币将分为两个不兼容的网络和货币 以太坊 和 以太坊经典.
但是,由于这种拆分将无法协调或包括安全预防措施,因此后果可能比以太坊和以太坊经典版之间的拆分严重得多.
一兆字节的用户会遇到不便,如果他们的哈希功能最初代表的是较小的少数群体,则会带来更多不便。这将包括(很多)较慢的区块确认,甚至可能到其链变得几乎不可用(至少暂时)的地步。此外,他们有患以下疾病的风险: 重播攻击 如果他们也想使用“比特币无限链”.
比特币无限制用户将遭受类似的不便,尽管他们最初的区块确认不会那么慢,因为他们得到了大多数哈希算力的支持.
为了解决这个问题,然而,Bitcoin Unlimited用户不确定“他们的”链是否会继续存在。如果一兆字节链的长度超过“比特币无限链”(确实是工作量的总证明),则比特币无限节点将自动切换回一兆字节链。因此,即使拆分了数千个区块,他们也将处置(“孤儿”)自分裂以来的整个“ Bitcoin Unlimited链”。所有“他们”的交易都将被遗忘,也许会花费很多人很多钱.
如果一群顽固的一兆字节的支持者和投机者可以使这种情况看起来似乎有些合理,那么自我实现的预言动态就可能对“比特币无限链”构成生存威胁:没有人愿意在可能保持价值的链上保持价值。丢弃的.
如果每个人都无限切换到比特币
但是,假设切换到BUIP001的操作很顺利。所有重要的比特币实施都采用了新的可配置选项,所有用户和矿工都相应地更新了其软件.
再一次,即使在这种情况下,也没有技术上的原因,所有用户都将以有意义的方式汇聚在一条链上。不同的用户可以配置其节点,使其在余生中保持共识.
举一个简单的例子,少数矿工可以将MG和EB都配置为1兆字节,而他们将过度接受深度(AD)设置为10,000,000。换句话说,这些节点将模仿当前的1 MB块大小限制大约两个世纪,而与网络的其余部分无关.
同时,大多数矿工可以将MG和EB设置为创建和接受最大2 MB的块.
现在,一旦一个矿工开采了一个2 MB的区块,大多数矿工将在此区块上建立并扩展此链。但是,少数矿工几乎永远忽略了这一链条:完全如本文前面部分所述.
而且它也将包含与先前描述的风险相同的风险。如果1兆字节的链长度超过2兆字节的链,则2兆字节的链将被完全丢弃。即使经过数千个街区.
如果每个人都将广告限制为四个确认
如果将比特币无限制用户的广告设置保持在较低水平,则他们可以通过技术手段在单个链上实现更强的融合程度。 Bitcoin Unlimited的默认设置为四个:过多的区块需要在其上方开采的四个区块被视为有效.
但这也带来了问题.
第一个问题是,即使违约率如此之低,任何确认少于五个的交易都比现在安全得多。假设一笔交易在用户的钱包中显示了三个确认信息。该用户无法知道是否正在通过竞争(两次花费)交易开采替代区块链,该交易已经有四个确认信息。这可能随时发生.
如果该替代链首先达到其第五个确认,则该用户的链将被丢弃,并且他的传入交易也会丢失-即使它具有三个确认.
当然,“孤立块”确实已经存在,需要更高安全性的用户应等待更多确认.
但是,除非有奇特的和昂贵的恶意攻击类型,否则三个孤立块实际上只能由怪胎巧合引起。不同的矿工群体必须在几乎完全相同的时间巧合地找到三个区块,三个独立的随后的巧合,以便网络体验到如此多的孤儿.
另一方面,Bitcoin Unlimited引入了一个新因素,为网络经历了三个孤立块增加了原因。矿工不仅竞相延长最长的有效链,而且还对链之间的协议规则进行投票。对于攻击者来说,此过程也将是可见的且相当可预测的,因此易于利用.
第二个问题是,出于安全原因,必须将AD保留为默认的四个确认,这实际上使BUIP001的宗旨无法实现。虽然比特币无限应该将块大小限制控制权移交给用户和(所有)矿工,但较低的广告水平确保即使是最少量的矿工也可以通过简单地挖掘一系列更大的块来推翻本地块大小设置。这使得MG和EB对其他所有人都毫无意义:安慰剂对照.”
确实,AD提出了一个奇怪的选择:节点和矿工都为相对自治设置了较高的AD,但是存在将网络分裂的风险,并可能产生有害后果。或这些节点和矿工选择较低的AD来提高融合程度-但这仅仅是因为它们有效地放弃了对大多数矿工的控制。 (如果打算将控制权交给大多数矿工,则可以使用更直接的解决方案。)
在对抗条件下
在对抗条件下情况变得更糟.
如果不是每个人都想要最适合比特币的东西,而是某些实体(无论出于何种原因)宁愿看到比特币失败,BUIP001的安全性假设就会进一步降低。对手拥有更多可动用的资金来引发动荡,比特币无限的融合机制将表现得更差.
首先,对节点信令进行了简单的欺骗。任何拥有启动“假”(经济上无关紧要)节点的资源的人都可以假装对某个块大小限制级别有广泛的用户支持,而实际上却没有。如果矿工遵循这些信号,他们可能会以比预期更少的用户支持来分叉链条.
此外,恶意矿工通常可以拆分网络。这样的矿工可以监视其他矿工发出的EB级别信号(这不太容易被欺骗),并有意开采介于这些矿工所接受的范围之间的区块。如果大约50%的散列能力接受最大2 MB的块,而其他50%支持更大的块,则前50%会忽略2.01 MB的块,而其他50%会接受.
假设维持默认的四位AD,则该链可能会分裂一个多小时。如上一节所述,在此期间,比特币网络将非常不可靠,因为拆分两侧的链条都可能被丢弃.
一个仅控制全球散列能力的0.7%的对手可能每天大约造成一次这种混乱。而且,除非绝大多数矿工无论如何都已经同意他们的EB,否则滥用网络的最佳位置应该始终存在.
此外,由于这次攻击,所有矿工中有一半将达到其AD阈值,从而打开了他们的“粘性门”。这可能会引发第二波攻击。现在,恶意矿工大约有24小时的时间来挖掘更大的区块,具有讽刺意味的是,只有链的最初较小区块一侧会被接受,因为它们的粘性门是打开的,而链的最初较大区块一侧会接受。拒绝。这将造成另一个分裂.
最后,如果以及何时此新的“粘性门链”达到其余节点的AD阈值, 全部 粘性门是打开的,根本没有块大小限制。对手现在可以挖掘巨大的方块,甚至可能 分段 链,因为并非所有节点都可以跟上(可能是由于带宽限制,延迟或其他计算机限制).
紧急共识
尽管可以说比特币无限可以为用户提供更多的个人自治权,但它不能确保技术性区块链融合。但这不是新的。在某种程度上,甚至在Bitcoin Unlimited的 常问问题.
但是,Bitcoin Unlimited的支持者确实希望用户能够集中在单个区块链上。最好用“比特币无限”的基本哲学来解释这一点:“紧急共识”。
紧急共识不是一种纯粹的技术机制,而是一种信念,即比特币生态系统中的所有参与者都有足够强大的(经济)动机在单个区块链上达成共识,即使他们的软件不能自动做到这一点.
下一篇文章将仔细研究这种新兴共识哲学.
作者注: 本文不是BUIP001可能导致的所有问题的完整概述。最重要的是,它忽略了因过大(或浮动)的块大小限制本身而产生的取舍和弱点,例如 节点 集权, 矿工 集权, 或者 费用 经济学, 而是专注于(缺乏)区块链融合.
“ Jonny1000”对本文做出了贡献.