比特币意外通胀或大规模回滚都可以称作灾难性事件,BitMEX发文介绍了其开源工具ForkMonitor,提供了意外通胀检测的解决方案。
原文标题:《ForkMonitor:意外通胀检测与警告系统》作者:BITMEXRESEARCH
ForkMonitor?现已针对比特币执行意外通胀检测与警告系统。目前的区块奖励是12.5个比特币,这意味着每个区块产生的新比特币不应超过12.5个。现在一些ForkMonitor节点使用_gettxoutsetinfo_远程过程调用计算每个区块币的总供应。如果币的总供应增加超过12.5个比特币,则警告系统启动。这一服务潜在地向网络参与者提供了在任意给定时间的比特币供应的额外保证。
资料来源:ForkMonitor.info
概述
ForkMonitor近期增加了一种新功能,即意外通胀检测。增加的这一功能针对的是比特币和Testnet比特币。系统通过定期加总全部未消费的交易输出值检查币的总供应。如果数值过大,则启动警告。比特币节点本来就应该检查币的供应,但这种情况仅仅是通过检查每个单独的交易不会产生未经认证的币,并没有宏观上对总供应的检查。所以ForkMonitor服务可针对比特币用户提供额外一层的安全和保护,还有早期警告系统——如果检测到问题,此系统能建议人们在其自己的节点上运行此类检查。
如果通胀符合预期,则网站上显示绿色标记。但如果发生了意料之外的通胀,将显示红叉与其他警告。
比特币核心钱包(BitcoinCore)0.18.1检测到意外通胀的图解,资料来源:ForkMonitor.info
请订阅推送,在发生意外比特币通胀的情况下收到提示。
币的供应检查机制
系统计划使用下列方法检查通胀:
先前区块供应的币数变动——在每个区块链产生之后,系统都会检查币的总供应并在数据库保存数据。每产生一个新区块,就重新加总一次,而币的总供应将减去先前的数据。如果变动大于允许的区块奖励,就启动警告。跨多个节点版本的一致性——此外,系统还将检查参与通胀检查的所有节点在每个区块高度的总比特币供应是否一致。。_Gettxoutsetinfo_问题
我们在执行这一通胀检查功能时面临的一个主要挑战是,比特币核心钱包(BitcoinCore)运行_gettxoutsetinfo_调用需要大量时间,一般是2分钟左右。这对ForkMonitor在执行上产生了几个挑战,例如在这两分钟期间显示什么,或是在进行计算的同时发现区块会怎样。例如,通胀检查可以向前运行的最大速率是每两分钟一个区块;如果连续发现多个区块,而他们之间的时间间隔不到两分钟,我们的检查可能失效一段时间。
Gettxoutsetinfo远程过程调用(RPC)——图解大约1800万比特币的供应,资料来源:BitcoinCore0.18.0「Gettxoutsetinfo」调用输出
有些人已经知道了这些问题,例如比特币开发者FabianJahr近期就表示:
没有充分的用户经验,实际上调用需要几分钟才能响应,而且没有反馈
(资料来源:FabianJahr(Youtube)
2017年比特币开发者PieterWuille向比特币开发邮件列表提交了一个可能的改进,他表示能够让RPC调用更快。
替换比特币核心钱包的_gettxoutsetinfo_RPC哈希计算。这目前需要占用I/O和CPU几分钟,因为它将整个未花费交易输出集进行序列化和哈希计算。滚动的哈希集将让这一过程即时完成,使得整个RPC对于完整性检查的可用性大幅改善。
基于以上想法,Fabian近期表示他致力于执行这一潜在修复,努力改善RPC调用。如果实现,对ForkMonitor当然会有帮助。
比特币2018年通胀缺陷(CVE-2018-17144)
ForkMonitor受到了2018年9月这一事件极大的启发,当时发现比特币核心钱包存在缺陷,会让矿工除了正常的区块奖励外,莫名其妙创造出币来。在发布修复程序前,此缺陷影响了比特币核心钱包从0.14.0到0.16.2的各版本。。
成功利用此错误可能会对网络造成灾难性的后果,例如比特币的供应本来已经膨胀到2100万以上,或者会发生规模庞大的回滚,侵害众多用户和企业所依赖的安全性。
ForkMonitor被启用以缓解这些风险。如果今天还存在这个缺陷,我们的系统应能够用三种方式对其检测:
ForkMonitor跨越多年开发、可运行多版本的比特币核心钱包。如果新引入的缺陷导致意外通胀或未经授权的支付,则早前的节点应当能检测到并将该区块标为无效,触发警告系统。本网站还运行类似bcoin、btcd和Libbitcoin这样的比特币的独立执行。如果比特币核心钱包有漏洞,允许意外通胀或未经授权的支付,只要没有独立执行同一漏洞,其他客户应可将该区块标为无效,触发警告系统。自2019年10月起,ForkMonitor还直接检查每个区块的币的总供应。在出现意外通胀的情况下,即使发生所有的节点都将该区块标为有效这一不太可能的情况,仍将触发警告系统。而即使节点将区块标为无效,通胀检查系统也有用,因为它可以帮助用户及时确定原因。独立执行
正如我们在2018年10月的文章《与比特币核心钱包的竞争》中所说的那样,竞争性执行尤其是独立执行有其优缺点。我们所提到的独立执行的一个关键优点是,比特币核心钱包或参考执行中可能存在缺陷,而独立执行中则没有。
考虑上述原因,我们热切期待将三个独立执行中的一个添加到币的总供应通胀检查系统中。这些执行所使用的计算币的总供应量方法可能独立于比特币核心钱包所使用的方法之外,后者应额外保证数字的正确性。
结论
这一新的服务可能没有解决关于检测意外通胀的全部潜在问题。例如,gettxoutsetinfo检查中可能存在缺陷。除此之外,检查意外通胀和区块有效性的不同机制之间可能并非真的相互独立。甚至独立的比特币执行也可能无意间从比特币核心钱包复制了有缺陷或错误的概念。但是,我们认为,这种宏观通胀检查服务可能是对网络安全性的有用补充。
在此提醒,ForkMonitor网站是开源的,可以随时参与、分叉项目或复制本网站。
来源链接:blog.bitmex.com
免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。
BitMEX
BitMEX
交易比特币以及其他数字货币合约,高达100倍杠杆。执行快速、费用低廉、功能强大、交易敏捷。BitMEX是一个通过比特币、区块链和金融衍生品让散户投资者进入全球金融市场的交易平台,旨在成为全球最大的数字货币衍生品交易平台。在2014年初,创始人看到市场上需要一个有信誉的比特币和数字货币衍生品交易平台,于是成立了BitMEX。他们总共花了十一个月才建立起这个交易所。BitMEX在2014年11月24日正式上线,相信通过数字货币的金融服务可以服务全球80%无法接触传统金融机构的人。通过使用比特币和其他数字货币,BitMEX能够帮助全球亿万人进行储蓄和投资。BitMEXBitMEXResearch查看更多比特币
经过紧锣密鼓的开发与筹备,BSCC终于完成了上线前的一切准备工作,2020年12月18日,本周五上午10:00,BSCC将在币耀平台全球首发,星辰大海的航程就在脚下.
舆论是个很有意思的东西。去年年底到今年年初,我们听到了那么多关于区块链技术的赞美,现在,我们又听到人们对这项技术的各种全盘否定.
Gate.io直播间作为行业内首个交易所内置直播功能,通过多样性的直播形式为平台用户带来具有深度、有趣、开放的信息内容.
Gate.io一直秉承真实,透明的理念,不造假数据,不干预市场交易,为用户提供真实自由的市场工具和稳定健康的市场服务。杠杆交易提供做多和做空机制,可以有效稳定市场到合理价值.
AAX将于UTC2020年12月21日00:30开始进行系统定期维护,预计维护时间为1小时30分钟.
数十亿互联网用户为何对Web3.0知之甚少或者漠不关心?Web3.0到底是醒世恒言还是危言耸听?原文标题:《刘毅:从Web2.0到Web3.0》演讲者:刘毅,CdotNetwork创始人.