含有权益的工作量证明共识机制中的惩罚思路—从近期ETC...
天然灵凡
发表于 2022-12-28 18:42:35
180
0
0
为了回答这个问题,并试图帮助大家更好地理解POSW中的安全模型,本文将假设ETC已经使用了POSW共识,并以此为例讨论对ETC-POSW发起攻击的成本。. V( y( f, V9 L# @; M6 J+ t3 z0 h
3 P% v: U: x' Q- g4 W7 K B
参数说明0 i. h+ R) P# {. S
首先,假设这个ETC-POSW网络具有2019年1月9日的ETC网络类似的系统参数:! N3 u% U1 M6 }, p( t, L! v" v3 H
-全网算力:8Th/s; z* j. h) s# u9 z9 G) v
-代币价格:5美元
-当前发行量:107407745ETC(数据来自CoinMarketCap)
我们还假设攻击者拥有的算力为8 Th/s(有人怀疑近期对ETC网络攻击所使用的算力是从nicehash上租来的。我们手头没有确凿的数字,8Th/S是假设所有当前的矿工都是诚实的,因此攻击者需要收集8Th/s来执行双花的攻击)。. Z* q; T1 |2 P8 _
其次,我们在POSW共识中采用以下参数(参数的意义以及详细说明请参考我们之前发布的文章):
-获得最大挖矿额度需要的抵押量(期望发挥100%算力):所有流通代币的5%(请注意,作为对比EOS约有40%的代币正在进行抵押以获取投票权或其他权益。)
-当矿工的算力超过了其挖矿额度将承受难度惩罚:20倍高于正常难度1 U1 s; L. g1 [' h2 j ~9 c- B
-矿工有效算力(额度)的估计时间窗口:256块
-确认一笔交易所需的块数:30块(ETC被攻击前交易所通常使用该参数)
-如果矿工停工(要求取出押金),押金将锁仓三天(也可理解为提取押金的过程为三天)。4 Z/ m: x* \0 Y: W& h! I2 W
为了帮助大家理解,这里对POSW中的部分术语做一个简要的解释:额度(allowance)是矿工在任意算力估计窗口期(也就任意的连续256块)中可以生成的块的数量。如果一名矿工生产的块数在窗口(256块)里面超过额度时,则该矿工将受到难度惩罚,这时其开采一个块的难度将提高20倍。本案例中,一个额度需要抵押107407745*0.05/256=20978个代币。# L4 S2 {. L( G9 W! @5 u
攻击成本
接下来,让我们讨论一下进行双花攻击的成本问题:( \2 `% A1 H# z" h: D0 q
1.如果攻击者不持有任何代币而直接开始挖矿,这意味着恶意矿工将遭受难度惩罚,因此他必须租用(或自行部署)8 Th/s*20=160 Th/s的算力进行攻击。请注意,这个算力值已经接近以太坊当前的全网算力(169.74 Th/s)。' J8 a0 M, ]# d! V1 o# h
2. 如果攻击者有足够的代币可以用于抵押,这意味着矿工需要租用8Th/s的算力并单独连续开采31个块(形成攻击分叉)。由于算力的评估窗口为256个块,因此矿工至少需要31/256*107407745*5%=650320 ETC代币,目前价值为320万美元。在执行攻击后(假设攻击完成后迅速开始提取抵押的代币),这些代币还将被锁定3天。
3.假设被双花的代币为219500个ETC(该数据来自网上报道https://blog.coinbase.com/ethereum-classic-etc-is-current-51-attack-33be13ce32de),如果攻击者想抵押的代币低于219500个ETC(也就是即使抵押的代币被没收了,还有收益),则窗口期中攻击者的额度为(219500/(107407745*5%))*256=10.4。这也意味者,在产生了这10个块之后,他还需要使用更多的算力来维持出块,算下来整个攻击需要(31–10)/31*8*20+10/31*8 Th/s,大约为110Th/s算力(不要忘记那用于抵押的219500个ETC)。
从上面的例子中我们可以发现,在POSW共识中,除非攻击者拥有非常高的算力,否则他必须抵押一些代币才能执行有效的双花攻击。如果我们在3天内(抵押锁定期)检测到双花攻击,我们就可以通过扣除其抵押的代币来惩罚攻击者。
至于在何种条件下可以罚没的抵押代币,这属于“预言家问题”。一种可行的思路是依靠某种链上治理模式,由主要利益相关者(比如矿工和持币的人等)达成共识,一致决定扣除攻击者的抵押代币并统一执行。这一过程类似于在比特币网络中达成软分叉(soft-fork)升级协议。
5 J; |) Q* ~ \# Y
结论
考虑到最近一段时间ETC多次发生51%攻击,我们在本文中展示了如果ETC使用了包含权益的工作量证明共识将有助于提高其网络的安全性,显著的增加双花攻击的成本。分析表明,如果ETC使用了POSW共识,再次发生类似1月的双花攻击时,攻击者需要至少具有110Th/s算力或是650320个ETC(价值320万美元,同时还要8 TH/s算力),这些都远远大于当前对ETC网络发起攻击的成本(8Th/s算力)和收益(219500个ETC)。
成为第一个吐槽的人