比特币协议漏洞是什么,比特币协议解读

  

  从2008年10月31日到2018年10月31日,历时十年,比特币价格经历了过山车般的大起大落,图像巨大。有人描述过:比特币是全球参与的技术实验。   

  

     

  

  这个实验始于1983年。   

  

  1983年,大卫乔姆发明了数字现金,但从大卫乔姆开始,数十年来,数字现金一直没有取得商业上的成功。在数字现金的使用场景中,需要像钱一样,由具备信任背书能力的第三方机构背书。随着比特币的出现,它具备了不需要第三方机构提供信任背书的能力,数字现金的概念终于付诸实践。   

  

  比特币的数据结构借用了总账的概念,目标是设计一个安全便捷的资金系统。此外,总帐的概念还包含了链时间戳、工作负载证明和拜占庭容错,这些概念来源于Stuart Haber和Scott Stornetta在1990年至1997年撰写的论文、Cynthia Dwork和Moni Naor在1992年提出的邮件攻击预防方法以及Miguel Castro和Barbara Liskov在1999年发表的PBFT论文。   

  

  在比特币没有出现的几十年里,这些棱角的技术论证和研究只存在于部分学者的学术研究中,未能发挥出应用的最大价值。特别是,每一个技术点都需要一个严格的环境才有价值。例如,当工作负载证明仅用于防止邮件攻击时,它在安全性、动机、共识等问题上并没有发挥巨大的作用。但是通过密码学、货币原理和工作量证明的结合,比特币。   

  

  优秀当如比特币   

  

  所以比特币站在学术研究的肩膀上,中本聪的创新在于这些技术细节的整合。针对数字现金面临的信任问题、金融交易的双花问题、工作量分配、激励等问题形成了优秀的解决方案。   

  

  在比特币中,计算“随机值”成为比特币世界中获取“货币”的方式,计算的计算能力被用来保护总账。计算是由矿工来完成的,他们需要不断地相互竞争来寻找下一个“随机值”。   

  

  每个矿工被要求计算一个随机值,计算成功的概率不是常数而是与矿工控制的全球采矿能力的一部分成正比。下一个交易区块的生成和确认可以通过计算力的计算来确认,成功打包下一个区块的矿工将获得新挖钱的奖励。如果一个矿工贡献了一个无效的区块或交易,那么它将被贡献下一个区块的大多数其他矿工拒绝,从而使无效区块的奖励无效。这样,我们可以利用采矿报酬的激励来确保矿工彼此遵循相同的协议。   

  

  安全的总账防止了双花问题,保证了钱的价值。值钱的钱可以奖励矿工,矿工用计算能力保证挖掘的强度和总账的安全。比特币是自主的,在总账、货币、矿工三个角色之间形成生态闭环关系。   

  

  显然,中本聪的设计是成功的,至少在发行初期是如此。   

  

  疯狂需似挖矿人   

  

  在比特币白皮书发布三个月后,中本聪于2009年1月12日挖出了创造区块。同一天,中本聪将10个比特币寄给了开发者兼密码学家哈尔芬尼。这是比特币历史上的第一笔交易。随后,越来越多的矿工开始参与比特币挖矿、投资和社区建设。   

  

  根据比特币白皮书,当确认的比特币块数增加时,挖掘的难度也会增加。2009年12月30日,比特币的挖矿难度首次提高,从1提高到1.182。在过去的一年中,比特币的价格出现了稳定的增长,从10月5日到10月13日上涨了20%。   

  

  一年后,比特币的价格开始大幅上涨。涨价的背后,是开采难度等综合因素的结果。这次增加后,一般的CPU挖矿开始向GPU挖矿转变。   

  

  在比特币高速发展的第一年,连续不断的攻击企图攻击比特币网络。最严重的袭击发生在2010年8月15日。Block 74638包含了一个交易记录,它为两个不同的地址创造了超过1840亿个比特币,也就是说,在比特币生态系统中一次性发行了1840亿个比特币,这是一个严重的通货膨胀。   

  

  根据相关记录,是因为带有交易包确认的代码设计没有考虑到计算值很大时sum溢出的漏洞。比特币社区为此更新了比特币协议。更新区块链将导致分叉。尽管许多未打补丁的节点继续构建在“坏的”区块链上,但幸运的是,“好的”区块链在74691的块高度上高于故障块。这一次,该漏洞安全地存活了下来。   

  

  2010年12月16日,比特币矿池出现,标志着挖矿成为一项团队运动。2010年12月16日,一群矿工一起在雪泥矿坑中挖出了第一块石头。根据他贡献的工作量,每个矿工都得到了相应的报酬。接下来的两个月,slush矿池的计算能力从1400 Mhash/s提升到60 g hash/s。   

  

  就这样,挖矿行业逐渐发展起来,挖矿比特币的难度还在增加。时间提前到2012年11月,挖矿比特币奖励首次减半。挖掘比特币的奖励从之前的每10分钟50个比特币降低到25个比特币,210000号区块是第一个奖励减半的区块。   

  

  按照进度,2016年7月20日将是比特币奖励的下半年,第42万分之一的比例。   

特币区块被开采完毕,区块奖励降至12.5比特币。接下来的奖励减半将发生在第630000个区块,时间约为4年之后的2020年。

  

比特币的挖矿进度已经超过了BTC正常的生态成长预期,这样的增长速度意味着比特币的开始是成功的,但同时也会快速暴露出比特币的不足。

  

扩容开始真较量

  

随着区块奖励的减半和挖矿难度的增加,关于比特币限制性的问题开始进入开发者的视野,实际上,在比特币白皮书发布后,中本聪随即在比特币社区中指出,在比特币的发展中,扩容必然会成为一个主要的问题。

  

在当时,平均被打包的区块大小为 1-2KB,如果将区块链上限设定过高容易造成计算资源的浪费,还容易发生 DDOS 攻击。因此,为了保证比特币系统的安全和稳定,区块大小限制在 1MB。如果按照每笔交易占 250B,平均每十分钟产生一个区块的速度计算,比特币网络理论上每秒最多可以处理 7 笔交易。

  

那时比特币的用户数量少,交易量也没有那么大,这个交易速度并不会造成区块链网络的拥堵。2013 年后半年,比特币价格直线飙升,用户体量越来越大,因为了交易确认,手续费越高交易更优先确认,因此,比特币网络拥堵导致的交易费用上升的问题才涌现出来。但针对扩容问题仍旧未有明确的指示性动作,2015年,比特币通过社区共识调整的方式才开始对扩容方案进行讨论和确认,这也成为这一年最重要的社区动作。

  

从2015年开始,从具体的扩容方案到共识会议,大约进行了10次相应的商议和调整:

  

2015年6月,Bitcoin core开发者Jeff Garzik提出BIP100,他建议移除 1MB 区块上限,上限为32MB,在这个基础上增加一个浮动的块大小限制,矿工们通过代码来投票决定区块的大小。该方案需连续 12000个区块中90%的矿工投票同意即可激活。

  

同是6月,由前 bitcoin core 首席开发员兼比特币基金首席科学家 Gavin Andresen 提BIP101,他建议将区块的初始大小设为 8MB,之后随时间变化而线性改变区块大小 。起始时间戳为 2016-01-11 00:00:00 UTC(1452470400),每63,072,000秒(2年) 增大一次区块,直到2036-01-06 00:00 UTC(2083190400),区块最大可增加到8,192MB。该协议的激活方式是,在主链中连续 1000个区块中有750块使用 BIP101规定的版本号(0x20000007)。执行方案的名称为Bitcoin XT,但并未在社区中通过。

  

随后Jeff Garzik 又提出了BIP102,建议 一次性将区块扩大到 2MB,只要主链中有超过 95%的区块表示支持该协议就能够被激活。

  

2015年7月21日,bitcoin core开发者,Blockstream 联合创始人Pieter Wuille 提出BIP103,他的建议与之前的固定扩容大小不同,他建议 将区块上限设为最近11个区块大小的中位数,或者利用代码来控制区块的大小 ,从2017年1月到2063年7月,每97天调整一次,幅度不超过 4.4%。

  

2015年8月21,由 bitcoin core 开发员 BtcDrak 提出BIP105中,则更为复杂,他建议区块以现有1MB为起点,矿工每创建一个块他们通过投票决定增加或者减少这个块的大小 ,最大幅度是当前区块的 10%。期望增加区块大小的矿工投票时需要额外提高挖矿的难度。

  

在下一个BIP106中,开发者 Upal Chakraborty 建议,每2000个区块为周期动态调整大小 。如果90%的区块达到了上限的90%, 区块体积扩大两倍,如果90%的区块小于上限的 50%, 则区块体积减半。

  

以上的调整都在于调整储存区块的内存大小,而在2015年12月,Ciphrex 联合创始人兼首席技术官Eric Lombrozo、比特币技术爱好者 Johnson Lau、BlockStream联合创始人 Pieter Wuille 一起提出BIP141,在普通的交易确认中,交易数据和验证人的签名是共同被传递储存的,他们建议移除比特币交易过程中的签名字段,将交易和签名分离开,仅储存交易数据或签名验证数据使用了减小储存物大小的方法。这一方式被称为隔离验证,目前隔离认证(segwit)+闪电网络的解决方案在区块链扩容中应用广泛。

  

除以上几个协议外Blockstream还提出过通过开发侧链扩容的方法。在整个讨论拓容的过程中,我们发现,主要是对区块大小做出改变或在技术结构上做出改变。这正是扩容主导的社区支持者所争论的部分。

  

鹬蚌相争

  

在各种参加竞标的BIP方案中,有两类最受关注。

  

第一类是大区块派,主张扩大区块来解决拥堵问题,把每个区块扩容到2M、8M、20M,以承担更多交易数量的传递和储存。大区块派的支持者主要是矿工,包括比特大陆。

  

第二类则是闪电网络派,主张用闪电网络解决拥堵问题,比特币主链不做更改,在结构上做出调整。仍然让比特币保持1M的区块大小,在主链上单开一条可以分担主链交易压力的网络。闪电网络的主要支持者包含Bitcoin Core。

  

对于这两类选择,两方都各执己见:

  

大区块派认为闪电网络做的隔离见证对原有比特币系统有巨大改动,一旦失败会对比特币原有的规律造成影响,并且闪电网络毕竟不是比特币区块链,存在于链下的闪电网络可能会被中心化的机构控制,导致比特币的中心化。

  

闪电网络派则认为扩大区块需要进行硬分叉,万一有的用户不升级钱包,就会产生对比特币的分裂,造成混乱。区块变大,以后交易越来越多,普通人的电脑上根本就运行不起这么大的全节点钱包,只有机构的电脑可以运行,同样会导致比特币的中心化。

  

渔翁得利

  

2016年2月,比特币的开发团队、矿场等在香港召开了一个会议,上面提到的大矿场比特大陆和BitcoinCore开发者中的5位都参加了这次会议。最终,大区块派和闪电网络派,握手言和,达成了将两个方案结合的共识,在部署隔离见证的同时把区块大小扩大到2M,由BitcoinCore来主导开发。

  

但香港共识并未成型,BitcoinCore团队里的其他成员却不认同香港共识,就此夭折。经过了香港共识事件,矿主对BitcoinCore失去了信任,于是,2017年5月,重新召开了纽约大会。

  

纽约共识达成的协议近似于香港共识:隔离见证+2M扩容,并取名为SegWit2x。隔离见证和扩容分成了两步进行:第一步,在2017年8月1日先激活隔离见证(SegWit),三个月之后的2017年11月,再把区块大小扩容到原来的两倍。

  

两次共识会议的经历着实新奇,更戏谑的是阴差阳错的帮助了BCH的诞生。

  

BitcoinCore在纽约共识约定的隔离见证就要部署前,自己又提出了一个BIP148方案,叫UASF(用户激活的软分叉),并且声称不会对UASF进行任何的重放保护。戏剧化的是,UASF最终因为算力小,而且被 SegWit 兼容,并没有真的产生分叉,反倒是推动了比特大陆投资的矿池 ViaBTC(微比特)团队实施了针对 UASF 的硬分叉,这原本是比特大陆提出的针对 UASF 的应急方案 UAHF(用户激活的硬分叉)。

  

最终,在8月1日这天,ViaBTC 挖出了第一个区块,对比特币区块链进行了硬分叉,由此产生了一种比特币的克隆竞争币比特现金。比特币现金的区块大小可以上升到8M,可以容纳的交易笔数是原来比特币原链的大小的8倍左右,并且去掉了隔离见证。

  

但后续就有人称到,BCH并非BTC分叉后的产物,而是通过对BTC的复制和修改诞生的竞争币种,比特大陆创始人吴忌寒在BCH诞生后孤注一掷,将持有的比特币全部兑换成了BCH,外界开始称BCH是真正的比特币。

  

为信仰继续疯狂

  

BCH以及其他竞争币种的出现,促进对于比特币技术应用愿景的思考是必然的。正如在进行扩容时的争论一样,对比特币认识的不同,决定了其会看到比特币的哪一未来情景。

  

如果说,比特币未来是世界货币,则只有在有很多人使用的情况下才会变得更有价值。则需要交易确认当然越快,手续费越低,保证用户体验,这就需要对比特币的主网进行更新。而如果不对主网进行质的提升,在未来需求的情景中,比特币定然难以维继。

  

从更广泛的发展角度看,尽管比特币的出现,集聚了几十年的学术与技术的智慧,但对于社会应用来说,比特币仍旧是小众的,并不是可以全行业应用的。

  

2013年后比特币扩容的逐渐开展在指向着应用比特币的模式融合商业应用的方式。在比特币生态内扩容,其目的是有利于比特币在金融领域发挥的巨大作用。而例如BCH等以比特币分叉形成的币种则不断拓展着延续着比特币在金融能力上的进度。在比特币若干年后因挖矿难度极高而停挖之后,比特币的作用会越发向金融交易转变。

  

从另一个角度来看比特币,其是区块链行业中应用的最好的项目,但将此模式拓展至各行各业,其限制也尤为明显。交易速度慢、可编程能力差、POW共识损耗高都在被后来者不断学习优化,比特币坐稳了区块链1.0的宝座,为后来者带来信仰,由信仰再延伸出解决的技术思路。

  

正如创造“世界计算机”以太坊的Vitilik,在比特币的基础上加入了图灵完备ERC20和POS共识,让区块链世界开始与外界接轨,而比特币带来的信仰仍旧还是保留着:按劳分配、自治与技术上的去中心化。

  

对于比特币来讲,这已经足够了,以创世者的身份带领了行业理解和进步,功成身退后同样可以在金融方向上继续成就,而改变世界的工作,全都交给了后来者。尽管无区块链应用依赖着比特币的网络上,但在无数应用开发者心中保存着是对比特币的技术崇拜和信仰,亦如消失的中本聪并没有减退人们追逐比特币的疯狂。

  

链线财经是去中心化区块链生态数字社区,是集财经资讯、智能钱包、数字银行的一站式区块链数字服务平台,链线财经致力于打造真正自治、高效、透明的区块链金融世界,成为区块链时代标准入口级数字社区。

  

http://www.lianxian.pro

  

相关文章