http://www.maxps3.com

比特币脚本存在“新的二次延迟”,增加区块大小存在安全隐患

Rootstock首席工程师曝出比特币脚本存在“新的二次延迟”,增加区块大小存在安全隐患


 

4月16日,Rootstock的首席工程师Sergio Demian Lerner在博客中揭示,他在研究SegWit协议时,在比特币脚本中发现了新的二次延迟。

 

Rootstock回顾隔离见证
 

Rootstock首席工程师曝出比特币脚本存在“新的二次延迟”,增加区块大小存在安全隐患


 

Lerner详述了他在上周开始着手研究隔离见证扩容,并且开始学习代码, “特别是EvalScript()功能”。在这个过程中,Lerner在Bitcoin Core协议中发现了两个二次复杂性循环。不过,Lerner表示,大家不用担心这个测试结果,他认为“比特币区块验证中有更加糟糕的问题。”然而,他又继续详细介绍了一种来自网络中恶意矿工的可能攻击场景。
 

 “恶意的矿工可以创建一个需要花10秒时间进行验证的隔离见证区块。”Rootstock首席工程师解释道,“而这篇博文中展示的交易例子耗费的时间还不到10秒。”
 

 “我不认为自己发现的是漏洞。不过,如果未来要增加区块大小,那么在此之前就必须得先解决这些问题。这里所给出的脚本例子的堆栈值(堆栈:在计算机科学中是限定仅在表尾进行插入或删除操作的线性表)并非为空的,但是比特币协议并不需要它。比特币只需要栈顶值(栈顶:在线性表中进行插入和删除的一端)是真的,来接受这个脚本。”

 

“比特币脚本需要优化,以防未来的扩容之路上发生意外”

 

Lerner进一步描述了一个被他称为“未被满足的质问者:OP_IF滥用”的问题,还有一个位于OP_ROLL操作码中的被称为“Rock-and-Roll(摇滚)的问题。他还详细说明了,在优化区块处理方面已经做了大量的工作,不过他说“有一些旧的代码仍旧需要进行一些小小的优化,以防在未来的扩容之路中发生意外”。
 

Rootstock首席工程师曝出比特币脚本存在“新的二次延迟”,增加区块大小存在安全隐患


(“比特币脚本中存在新的二次延迟。— Sergio Demian Lerner (@SDLerner) April 17, 2017”)
 

Lerner的研究受到了论坛和社交媒体的重视,很多人都为这位工程师的发现感到意外。一位用户说:“重要的是,这些漏洞能被发现、公开并且可以得到修补。”

 

此外,比特币安全专家Kristov Atlas通过推特,对Lerner及其发现结果进行了补充。他表示:
 

“又一份有关DoS攻击向量的伟大报告。感谢Lerner的研究和公布。”

 

平行验证

 

Lerner的这篇博客还引出了一位评论者的另一种想法,他问道:“你对BUIP033:平行验证有什么看法吗?”BUIP033是由比特币开发者Peter Tschipper于2016年10月份设想的一种概念,BUIP033提出为区块验证创建一个单独线程。本质上,这个想法与当前通过主处理线程来验证每一个区块的方法相反。

 

“我认为单独线程对比特币的扩展性必不可少。”Lerner对此回复说,“它可以减少所有和区块大小相关问题所造成的影响。”
 

 Lerner加入扩容争论

 

这位Rootstock首席工程师已经在整个比特币的大型扩容辩论会上发表了自己的意见。这位开发者最近还编写了一个涉及隔离见证和2MB区块大小增加的区块大小提案。这个“SegWit 2mb+软分叉/硬分叉结合”的扩容计划在上个月获得了来自比特币开发者的各种各样的反应和评论。Lerner同时还是ASICBOOST挖掘专利技术的发明人,比特币社区在前一段时间对ASICBOOST进行了剧烈争论。

 

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。