以太坊的幽灵协议和分叉攻击
以太坊的幽灵协议与分叉攻击
今天我们聊个有意思的话题。
之前聊了幽灵协议,就是说以太坊在给予奖励的时候,不仅仅给主链上的区块奖励,还要把上一辈中同时挖出的区块的哈希值存进来。
从而获得叔叔辈区块的奖励。用这种方式,防止整条区块链的临时性分叉。确定整条区块链中的主链。
大白话就是给你一点儿好处,你赶紧归到主链上来,不要在分叉链上再挖了。
我们今天说一说,什么是以太坊中的分叉攻击,以及幽灵协议的设计,怎样对抗分叉攻击?
什么叫做分叉攻击呢?
分叉就是链变成两条,或者说账本变成两个,也就是说有人做了假,有的账发生了他没记,有的账没发生,他却记了。
我举个例子。简单说,你本来在网上发布了一笔消息,比如你给张三转了五块钱。但是你想要使个坏,你想把这笔钱咪掉,取出来。
于是你自己搞了个账本记账,打包了区块,这个区块里的信息是说,你没有转这个钱。这本来是非常难的,但是只要你算力足够大,时间足够长,重复的博弈,就有可能能够一直抢到区块的出块权,你就能篡改历史。
本来实际的情况是你手里已经没钱了,全转给张三了,但是你记账没这样记,那钱就还在你账上,你可以把它提出来。无中生有。
这就是分叉攻击。
上次我们讲到幽灵协议,是要给分岔区块一定好处的,以实现把分叉的区块和链招安回来。
那可能有人会问,分叉出来的区块可能不止一个,他后面串的还有区块,成为了链,那么分叉出来的这条链,是不是每一个区块都要给好处呢?
答案是否定的,这样给奖励,会坏事,为什么呢?
大家想一想,如果你的这条链本来就不是主链,但是大家还继续往上挖。而且挖了还有好处的话,那分叉攻击的代价就太小了。
做出分叉攻击的人可能非常的舒服,进可攻,退可守,如果继续攻击,只要能挖出一条链,你就可以篡改信息,如果挖不出来,你也可以获得一定的补偿奖励。这种实在是太爽了。
所以为了防止分叉的发生,提升攻击成本,以太坊就规定,只给第一个分叉叔父区块奖励的方式。
来源:扮猪不吃虎
免责声明:数字资产交易涉及重大风险,本资料不应作为投资决策依据,亦不应被解释为从事投资交易的建议。请确保充分了解所涉及的风险并谨慎投资。OKEx资讯站仅提供信息参考,不构成任何投资建议,用户一切投资行为与本站无关。