比特币现最大bug,或将打破固定发行量2100万枚的预设
上周,人们发现了比特币最严重的bug,并进行了修补。比特币社区发现,这一bug在两年前就存在,一旦被别有居心的人利用,那么比特币将会被大肆复制,打破比特币2100万固定发行量,到时,比特币的市价还会向现在这么傲娇吗?因此,开发者忧心忡忡,思考如何才能阻止代码中的bug。
自从发现bug以来,比特币社区还没有任何正式提案。由此却推动了关于比特币运作的讨论,人们甚至还想到了,加密货币最常用的软件实现(软件实现:就是将代码利用编译器编译生成的软件)比特币核心中(Bitcoin Core)是否存在类似bug,这一bug该被怎样定义和解决。99top交易所(www.99.top),数字资产交易平台。
PS. Bitcoin Core客户端是一个由社区驱动的自由软件项目。
Bug一出,其他问题也随之而来:如果恶意开发者率先找到的开发路径该怎么办?代码中是否还有其他隐藏bug?是否会由此引发其他灾难?
已经有匿名的比特币爱好者站出来,提醒比特币社区,不要忘记这一bug的存在,因为它真的像一枚定时炸弹,不知何时会拖垮整个比特币底层结构。
如果Bitcoin Core的政策、实践方法保持不变,那么类似的问题也将发生在Bitcoin Core上,到时就没有这么幸运了。
Bitcoin Core处在开放的网络中,由全球开发者公同参与搭建,但是对于Bitcoin Core是否拥有技术史上最稳定的代码审核程序,很多人仍存在疑问。
目前,在开放资源的代码库中,软件实现吸引了比以往都多的开发者参与。Bitcoin Core要经过相当多的测试,有人估计,单测试部分就已占据代码库的20%。
失误来自社区而非个人
很多人认为,测试不应该是工程师一个人的责任,比特币是一个“分散”的项目,众人共同参与,因此保证比特币“零失误”,是每个开发者的责任。
揪住一个开发者让其承担全部责任,这样做并不公平。比特币核心的维修人员Wladimir也曾站出来表示,错误代码出现是事实。但失误并非来自某个人,而是来自很多人。
比特币爱好者认为搭建先进的测试定位并不难,难的是如何发现bug。由于现在多数公司对核心开发没有任何贡献。因此,该爱好者还建议,所有的大型比特币公司,都应该任命比特币核心测试专家。
对于Bitcoin Core的开发者来说,引导人们在测试方面做出更多努力是一项长期挑战。在比特币开发中,代码审查是一个很大的瓶颈,很大原因在于,能够进行代码审查的工程师少之又少。
从某种程度看,测试的艺术性与科学性并不亚于系统工程的其他方面,并非每个人都拥有测试的技能和资质。
比特币核心的开发者James Hilliard建议开发者提高测试的次数和质量。测试很重要,测试的质量与细节更加重要。
搭建多个Bitcoin Core
目前,关于比特币bug风险的讨论依然存在。当然,比特币作为软件,曾经出现过bug,未来依然有出现bug的可能,这并不奇怪。
现在,Bitcoin Core是主要的比特币软件,占据了95%的比特币节点,自然处于讨论的风口浪尖。
对此,有人认为,应该开发更多的Bitcoin Core实现,这样一来,即便某个实现存在致命bug,其他的实现依然能正常运转,保证比特币的整体良好运行。
对于其他加密货币而言,这样做已经成为标配,拿以太坊来说,包含两个主要的实现方式,分别是geth 和parity,软件运作中,任何一个客户端都能使用。
对比特币来说,除了Bitcoin Core,确实还有类似代码实现存在,但知名度相对较低,比如Bitcoin Knots和Btcd。
然而,很多比特币开发者担心,增加实现方式,会带来更多问题,严重性甚至超过上周的bug。因为,多个不同的实现方式同时运行,会给攻击者可乘之机,分割网络。
虽然,比特币社区无法阻止bug再次出现,但轻视当前bug,甚至忽视其存在,却是最错误的做法。
{"weixin":{"label":"微信","name":"weixin","selected":true,"value":true,"sortid":"1","shareid":"weixin","sharetitle":"分享到微信","event":"shareToWeiXin","lang":"shareWeb_WeiXin"},"copy":{"label":"复制网址","name":"copy","selected":true,"value":true,"sortid":"2","shareid":"copy","sharetitle":"复制网址","event":"copy_url","lang":"shareWeb_Copy"},"qq":{"label":"QQ好友","name":"qq","selected":true,"value":false,"sortid":"1","shareid":"qq","sharetitle":"分享到QQ","event":"shareToQQ","lang":"shareWeb_QQ"},"sina_weibo":{"label":"新浪微博","name":"sina_weibo","selected":true,"value":true,"sortid":"4","shareid":"sina_weibo","sharetitle":"分享到新浪微博","event":"shareToSinaWB","lang":"shareWeb_SinaWeiBo"},"qq_zone":{"label":"QQ空间","name":"qq_zone","selected":true,"value":true,"sortid":"5","shareid":"qq_zone","sharetitle":"分享到QQ空间","event":"shareToQzone","lang":"shareWeb_QQZone"},"renren":{"label":"人人网","name":"renren","selected":true,"value":true,"sortid":"7","shareid":"renren","sharetitle":"分享到人人网","event":"shareToRenren","lang":"shareWeb_RenRen"},"douban":{"label":"豆瓣网","name":"douban","selected":true,"value":true,"sortid":"8","shareid":"douban","sharetitle":"分享到豆瓣网","event":"shareToDouban","lang":"shareWeb_DouBan"},"baidu_tieba":{"label":"百度贴吧","name":"baidu_tieba","selected":true,"value":true,"sortid":"10","shareid":"baidu_tieba","sharetitle":"分享到百度贴吧","event":"shareToTieba","lang":"shareWeb_TieBa"},"Facebook":{"label":"Facebook","name":"Facebook","selected":true,"value":true,"sortid":"11","shareid":"Facebook","sharetitle":"分享到FaceBook","event":"shareToFacebook","lang":"shareWeb_Facebook"},"Twitter":{"label":"Twitter","name":"Twitter","selected":true,"value":true,"sortid":"12","shareid":"Twitter","sharetitle":"分享到Twitter","event":"shareToTwitter","lang":"shareWeb_Twitter"},"LinkedIn":{"label":"LinkedIn","name":"LinkedIn","selected":true,"value":true,"sortid":"13","shareid":"LinkedIn","sharetitle":"分享到linkedIn","event":"shareToLinkedin","lang":"shareWeb_Linkedin"},"whatsapp":{"label":"whatsapp","name":"whatsapp","selected":true,"value":true,"sortid":"15","shareid":"whatsapp","sharetitle":"分享到whatsapp","event":"shareToWhatsapp","lang":"shareWeb_whatsapp"},"line":{"label":"line","name":"line","selected":true,"value":true,"sortid":"15","shareid":"line","sharetitle":"分享到line","event":"shareToLine","lang":"shareWeb_line"},"qq_weibo":{"label":"腾讯微博","name":"qq_weibo","selected":true,"value":true,"sortid":"3","shareid":"qq_weibo","sharetitle":"分享到腾讯微博","event":"shareToQQwb","lang":"shareWeb_QQWeiBo"},"peopleBlog":{"label":"人民微博","name":"propleBlog","selected":true,"value":true,"sortid":"14","shareid":"propleBlog","sharetitle":"分享到人民微博","event":"shareToPeopleBlog","lang":"shareWeb_peopleBlog"}}