首页 > 编程知识 正文

报文重放攻击,以太坊销毁量是什么意思

时间:2023-05-03 16:46:34 阅读:156915 作者:3676

引言以太坊硬叉后,出现了大量“重放攻击”,有的交易所声称丢了货币,用户往往丢了货币。 那么,什么是重放攻击呢?

计算机术语中的“重播攻击”与以太坊硬叉后发生的“重播攻击”与传统的计算机术语并不相同。

传统术语“重放攻击”是指身份欺诈。 维基百科有以下明确定义。

假设wmdjd向ajdlf认证自己。 ajdlf要求她提供密码作为身份信息。 另外,eve窃听了两人的通信,并记录了密码。 wmdjd和ajdlf通信结束后,Eve联系ajdlf,假装自己是wmdjd,当ajdlf请求密码时,Eve给出wmdjd的密码,ajdlf承认与自己通信的人是wmdjd

以太坊硬分支后发生的“重播攻击”并不是身份诈骗,一个链条上的交易往往在另一个链条上也是合法的,交易可以再次在另一个链条上播放,所以被称为“重播攻击”,但这本质上是一种“重播攻击”

以太坊硬叉后沉重的“重播攻击”以太坊硬叉到192万个街区的高度,产生了分别被称为ETH chain和ETH Classic chain的两条链条。 上面的令牌分别称为ETH和ETHc。 这两条链上的地址与私钥生产算法相同,交易格式也完全相同,一条链上的交易很可能在另一条链上完全合法。 所以,在一条链上开始的交易,也许可以到另一条链上重播,得到确认。 这就是“重放攻击”。

让我们用一个例子。 这次以太坊硬叉后发生的“重播攻击”如下。

1 .以太网为1920000块高硬分叉的两条链条,分别称为ETH chain和ETH Classic chain,上面的令牌分别称为ETH和ETHc。

2 .所有到硬叉高度的ETH在叉后的两条链条上都很有用。 也就是说,拿叉子之前的ETH会自动得到等价的ETHc。

3 .某个用户拥有硬叉高度前的ETH,该用户将自己的硬叉高度前的ETH作为自己控制私钥的本地钱包(这在ETH chain和ETH Classic chain钱包中都一样) 但ETH chain和ETH Classic chain都能够识别此次交易,都是合法交易,将交易打包。 也就是说,本来用户在一个链条上播放交易,现在可以在另一个链条上“播放”广播了。 (你可以自己用钱包广播,也可能有人或程序会找到你的交易信息并广播)

4 .用户充值账户是交易所的,所以对用户来说是一个冷链的钱包。 如果交易所不给你,你就会抛弃本应该属于你的ETHc。

5 .如果用户将ETH存放在交易所达到硬叉高度,原则上交易所应该为用户提供两种货币。 当用户将ETH从交易所提取到本地钱包时,正好在交易中提取的货币是硬叉高度之前的货币。 然后你又在自己的电脑里放了两个钱包: ETH chain钱包和ETH Classic chain钱包。 然后,提取地址在ETH chain钱包中生成,以导入私钥的形式引导到ETH Classic chain钱包中。 在你提取硬币的同时,可以在两条链条上播放你的硬币提取交易。 这样的话,你的两个本地钱包就能收到同等数量的硬币。

6 .在步骤5中,如果用户只有一个钱包(如ETH chain钱包),则无法接收另一个ETHc,但不会丢失。 因为收到的私钥与你的ETH chain相同,所以取出该私钥并导入到ETH Classic chain钱包中就可以了。

7 .在步骤5中,当用户提取ETH时,它将充值至另一个交易所,如从云bi到p网。 此时,由于p网又只给用户一个货币ETH,所以用户丢失了ETHc,丢失了是在谁手里,在p网手里。 如果用户再回到云毕交易所问我要ETHc的话,云毕人品很好,负责人很好,如果真的给了,云货币就赔偿了ETHc货币。

8.920万块高的货币,情况必须更复杂。 例如,如果货币从硬叉前发送到硬叉后的地址1,则地址1在ETH和ETHc中都有效。 那么,通过ETH chain收到的货币将从地址1重新发送到地址2。 将此交易记录为交易2。 该交易在ETH Classic chain中也有效,可以再生,被再生的交易记为交易2’。 但是,虽然可以启用事务2的发送,但是如果禁用事务2,则ETH chain的货币从地址1成功发送到地址2,但是ETH Classic chain无法从地址1发送到地址2。 在这种情况下,当ETH chain地址2的货币再次被交易时,不会再返回到ETH Classic chain中。

9 .在步骤8中,什么时候可以失败发送交易2 '? 也就是说,怎样才能解决重放攻击呢? 一种方法是在交易2’被发送之后,在0被确认之前,对交易2’发起双花攻击。 即,利用相当的秘密密钥再一次签名以发起交易2’,并将该货币发送到另一个地址3。 如果事务2’成功且事务2’失败,则此ETH chain上的地址2的货币和ETH Classic chain上的地址3的货币都不可用

能请你不要在ETH Classic chain上播放交易2 '吗? 不,不播。 会有人帮我广播的。 交易信息未加密。 当哪个狗日坏人发现并播放你的交易信息时,你这个分支的硬币就会被送到这个链条上的地址2。

但是,所有的ETH地址和ETHc地址(

Hc地址)做到你有币我就没有,那几乎是不可能做到的,地址太多了。也就是想用这个办法彻底解决掉重放问题是不可能的了。

但对于用户来说,你可以使用这个办法分离你的ETH和ETHc,使这两者分另处在不同的地址上,这样你以后就不需要想着在一条链上做了交易我是否需要重放到另一条链了。不过问题又来了,谁会发起双花攻击0确认的交易呢?好像很难啊,所以我认为普通用户基本上是做不到的。交易所应该会。

10.还有一种办法,对其中一条链展开51%攻击,直接消灭掉其中一条链就可以了,让其算力跌到零,从此高度不再上涨,也就是这种链死了。这样问题就彻底解决掉了。

或者让其中一条链的价格跌到很低很低,大家都不关心了,也就懒去理重放交易了。

以太坊经济生态圈各节点受重放攻击的影响

对用户来说以太坊目前的问题很大了,因为ETH和ETHc都有很好的经济量,而用户如果无法解决掉自己的币被重放的可能,他想卖其中一个币的同时保留另一个币,就很难实现了。要么就只能在良心交易所的协助下才能完成。

如果用户可以无视其中一种币,只钟情另一种币。比如只用ETH,不用ETHc,那对该用户来说,重放攻击就想不存在一样。但有几个人能做到呢,明知道通过重放交易还可以多卖一份钱,谁能不在意!

如果是新用户到没什么困惑的了,新用户去买其中一笔币,那他很难有机会通过重放交易的方式搞到另一种币。本来用户是免费得到一份ETHc的,现在他们不得不小心处理自己的币,免得被重放丢失。

目前ETH和ETHc的经济活动基本上还是保留在交易所内的,从新闻报道来看,现在交易所基本上有能力解决重放交易了。之前损失的也和用户做好赔偿和责任划分了。任何ETH和ETHc只要经过了交易所后,对用户来说就是只有一种币了。但问题是交易所如何解决重放交易的,可以有不作恶和作恶两种解决方式。可怕的是作恶也是合法(合以太坊区块链的法)。

好的交易所会在收到用户的ETH或ETHc时尝试将交易重放到另一条链,如果重放成功,就给用户充值两种币,如果不成功就给用户充值一种币。然后在交易所内部将币彻底分离到只存在其中一条链。坏的交易所是,用户充值什么币就只入账什么币,并且将交易去重放,如果成功了就私吞。

交易所还会分聪明的和笨的,聪明的交易所会将用户充值的两种币彻底分离。当用户买入其中一种币并且提币时,交易无法被重放到另一条链。而笨的交易所不会分离两种币,用户提一种币时,将交易重放到另一条链,如果成功就白得一笔钱。

而矿工和矿池呢?无所谓哦,他们挖了ETH就不能挖ETHc,对他们来说重放攻击问题不大,新挖到的币也没法重放。通过难度和价格一合算,哪个更挣钱挖哪个,无所谓。

以太坊经济生态圈里还有开发者,目前以太坊基金会态度竟然是包容ETH Classic。

就以上分析,在以太坊经济生态圈里,因为重放攻击的存在,用户麻烦最大;交易所要受到良心和技术上的考验;而矿工和开发者好像影响不大。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。