含有权益的工作量证明共识机制中的惩罚思路—从近期ETC...
天然灵凡
发表于 2022-12-28 18:42:35
156
0
0
为了回答这个问题,并试图帮助大家更好地理解POSW中的安全模型,本文将假设ETC已经使用了POSW共识,并以此为例讨论对ETC-POSW发起攻击的成本。
参数说明 ?0 c- d7 k0 i+ e. P2 X6 f1 h
首先,假设这个ETC-POSW网络具有2019年1月9日的ETC网络类似的系统参数:
-全网算力:8Th/s4 c% j1 k0 R$ \# j+ j9 E* i) ^2 w" o
-代币价格:5美元- X" F5 z+ W+ f) T- o, R4 |( N
-当前发行量:107407745ETC(数据来自CoinMarketCap)& G) R m/ ^# J) s3 C! l
我们还假设攻击者拥有的算力为8 Th/s(有人怀疑近期对ETC网络攻击所使用的算力是从nicehash上租来的。我们手头没有确凿的数字,8Th/S是假设所有当前的矿工都是诚实的,因此攻击者需要收集8Th/s来执行双花的攻击)。
其次,我们在POSW共识中采用以下参数(参数的意义以及详细说明请参考我们之前发布的文章):
-获得最大挖矿额度需要的抵押量(期望发挥100%算力):所有流通代币的5%(请注意,作为对比EOS约有40%的代币正在进行抵押以获取投票权或其他权益。)
-当矿工的算力超过了其挖矿额度将承受难度惩罚:20倍高于正常难度 t( A5 [; f+ M- H
-矿工有效算力(额度)的估计时间窗口:256块' S( p% L- S' T7 I- h% d
-确认一笔交易所需的块数:30块(ETC被攻击前交易所通常使用该参数)# e0 \# Z6 o% K
-如果矿工停工(要求取出押金),押金将锁仓三天(也可理解为提取押金的过程为三天)。
为了帮助大家理解,这里对POSW中的部分术语做一个简要的解释:额度(allowance)是矿工在任意算力估计窗口期(也就任意的连续256块)中可以生成的块的数量。如果一名矿工生产的块数在窗口(256块)里面超过额度时,则该矿工将受到难度惩罚,这时其开采一个块的难度将提高20倍。本案例中,一个额度需要抵押107407745*0.05/256=20978个代币。
$ r. V& B, s0 s- |+ Z" I) ?: C
攻击成本
接下来,让我们讨论一下进行双花攻击的成本问题:8 a& u; B2 U, t& W- [# i- ?
1.如果攻击者不持有任何代币而直接开始挖矿,这意味着恶意矿工将遭受难度惩罚,因此他必须租用(或自行部署)8 Th/s*20=160 Th/s的算力进行攻击。请注意,这个算力值已经接近以太坊当前的全网算力(169.74 Th/s)。1 U% _) _6 P: h0 A- O
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)。' b2 q0 P* v! l) |
从上面的例子中我们可以发现,在POSW共识中,除非攻击者拥有非常高的算力,否则他必须抵押一些代币才能执行有效的双花攻击。如果我们在3天内(抵押锁定期)检测到双花攻击,我们就可以通过扣除其抵押的代币来惩罚攻击者。
至于在何种条件下可以罚没的抵押代币,这属于“预言家问题”。一种可行的思路是依靠某种链上治理模式,由主要利益相关者(比如矿工和持币的人等)达成共识,一致决定扣除攻击者的抵押代币并统一执行。这一过程类似于在比特币网络中达成软分叉(soft-fork)升级协议。
" U! q+ D. b- l, p- B$ \
结论
考虑到最近一段时间ETC多次发生51%攻击,我们在本文中展示了如果ETC使用了包含权益的工作量证明共识将有助于提高其网络的安全性,显著的增加双花攻击的成本。分析表明,如果ETC使用了POSW共识,再次发生类似1月的双花攻击时,攻击者需要至少具有110Th/s算力或是650320个ETC(价值320万美元,同时还要8 TH/s算力),这些都远远大于当前对ETC网络发起攻击的成本(8Th/s算力)和收益(219500个ETC)。
成为第一个吐槽的人