科技洞察君
物联网

一分钟明白“交易延展性”!

作者: 来源: 时间:2020-08-23

隔离见证起初的目标,是为了解决比特币的交易延展性(transaction malleability)攻击问题。

什么是交易延展性?

交易延展性(transaction malleability)源于比特币源代码中的一个错误。

这个错误,可以在不改变交易输出或交易内容的情况下,更改交易ID。这个错误意味着,在交易被矿工写入区块之前,交易签名可以被更改。

换句话说,也就是一笔未被确认的比特币交易,有可能被黑客造出两笔合法的交易。

谁会受影响?

虽然,矿机最终只会确认一笔交易,而且交易的输出保持不变,你的比特币,还是会转入给预期的收款人。

但是,确认了假的交易ID,会改变哈希值,由于哈希函数的特性,后面的交易,取决于前面交易ID中包含的哈希值。交易ID变动,后续的哈希值都会完全改变。

在这种情况下,任何未确认的交易,都是不安全的。

交易延展性(transaction malleability)攻击,会给那些追求确认快速到账的交易所,造成巨大损失。

2014年,有人利用这个漏洞,大规模攻击比特币网络,内存池(MemPool)中充满了假交易,造成比特币网络堵塞,导致部分全节点宕机,导致比特币网络极其不稳定。

曾经最大的比特币交易所——Mt.Gox宣布倒闭的部分原因,就是延展性攻击(transaction malleability)。

而要使用闪电网络,必须修复交易延展性。隔离见证(SegWit)解决了这个问题。

Segwit(隔离见证)如何解决?
 
Core开发员Pieter Wuille 于2015年12月,在香港提出了隔离见证 (Segregated Witness) 。

Segwit将签名从交易中移除,生成区块头的交易哈希值,完全由交易信息决定。

即使签名被改变,而交易的内容没有改变,交易的哈希仍然是相同哒。

换句话说,黑客没有私钥,就改不了交易hash。非常完美的解决了交易延展性攻击。

来源: 区块链研习社 作者:竹三七

󰄯 分享

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源; 2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任; 3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 3D打印在医疗:可能我们以后再也不需要活...

  • 求知报国19年:云从科技周曦的“AI日记...

  • 2013年移动商务生态演化图谱

  • 12月6日分析

  • 「人工智能创业30人」云知声梁家恩:看不...

  • 房盒子闪耀上海建博会,邀您品鉴更有逼格的...

  • 青年齐聚YOCSEF深圳,聚焦信息化发展

  • 5G+无人机,究竟能够让无人机飞得多高?