今天在reddit上的讨论中,有人发现了一个隔离见证的致命弱点 简单来说是这样的: 我们都知道,隔离见证采用了一种向低版本节点隐藏交易签名的方式,使得在低版本的节点眼里,一个隔离见证格式的交易就是“任何人都可以花”的输出(output),但因为软分叉的激活要多数算力支持,就保证了在激活隔离见证时用低版本软件的矿工即使想去花这些输出,那挖出来的块也都会被孤立掉,所以从这个角度就保证了没有人能用低版本软件花这些“任何人都可以花”的币 看起来是个有惊无险的设计,但今天却有人发现一个重大缺陷。在哪里 说起来好笑,就出在core里有些人支持的以太的硬分叉的少数派分支ETC上 之上的描述中,低版本软件是没有办法花那些“任何人都可以花”的输出的。不过,如果隔离见证激活之后出现了一个少数派分支硬分叉,那么硬分叉出去的另一个版本的软件则完全不受这种限制。结果就是,只要存在另外一条不兼容的链,则所有隔离见证格式的交易都会被轻易的重放攻击而在该链上被花掉,导致运行隔离见证的节点几乎必然会遭受重放攻击而损失另一条链上的币 在以太的硬分叉中,重放攻击仅仅是指交易所不注意(两种币同时发出去了),作为普通持币用户,即使交易被重放攻击到另一条链上,因为自己拥有私钥,而私钥在两个链上都有效,不会受到影响 但在隔离见证格式的交易中,这种重放攻击则一定会导致用户损失,因为隔离见证格式的交易在另一个链上是体现为“任何人都可以花”的,所以另一条链上的矿工一旦捕捉到网络中的隔离见证交易就可以立刻转到自己的地址去 既然挖这条链极为有利可图(收入可不止手续费啊,是每一笔隔离见证交易的全部金额),所以矿工都会往这条链上跑,这就导致随后几乎没有算力支持隔离见证链。也就是说,一旦出现这么一条硬分叉链,隔离见证链就基本废掉了 因为任何人都可以做硬分叉搞这么一条链,没有任何办法阻止,所以这也是无法避免的 这一看core就骑虎难下了:如果隔离见证交易要保持向前兼容,那些币就只能是“任何人都可以花”,从而导致被硬分叉的少数算力重放攻击;如果不保持向前兼容,那就是硬分叉,就完全不需要隔离见证这种极为复杂的设计了(隔离见证超级复杂的最根本原因就是为了实现软分叉) 可见,隔离见证那种所谓任何人都可以花的币,在设计上有严重的逻辑缺陷,当时一听到那个方案就有不少人感觉到有问题,之所以一直没有发现致命的漏洞只不过是因为环境还没有变化到一定程度。而现在硬分叉已被证明是有极大可能产生和存活的,这就导致了隔离见证面对硬分叉时几乎没有任何抵抗能力(当时core在计划的时候,显然没有想到会有人发起少数派分支硬分叉,而少数派分支硬分叉可以存活也是在以太硬分叉之后大家才搞清楚的) 当然了因为那种任何人都可以花的交易格式是非标准的,所以也未必随便分叉就可以花,可能还需要针对这些交易做出一些规则修改才可以顺利花,但因为这些交易都没有签名,所以实际上是可花的,不像在比特币目前的交易格式中,没有签名的交易是绝对没法花的 —- 文章来源:https://www.bikeji.com/t/4360#reply6 编译者/作者:vatten 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
隔离见证被发现有致命弱点
2016-09-14 vatten 来源:币科技
LOADING...
相关阅读:
- #twitterhacked:Andreas和Crypto Twitter在最近的Twitter Hack中捍卫比特币2020-07-16
- BitPay增加了对SegWit的支持2020-07-03
- 经过多年的抵抗,BitPay采用SegWit进行更便宜的比特币交易2020-07-02
- 小乔和你聊聊区块链的事儿(680)2020-06-13
- 区块链传播技术2020-06-09