Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文
关于含有权益的工作量证明(POSW)如何能够帮助ETC(以太经典)等项目避免51%攻击(前提是他们采用了这种共识机制)。8 F) m# J$ d9 V
为了回答这个问题,并试图帮助大家更好地理解POSW中的安全模型,本文将假设ETC已经使用了POSW共识,并以此为例讨论对ETC-POSW发起攻击的成本。( y* D3 U3 r! i9 r: T8 y7 N- L& u% |# e3 C
* H3 Z" f4 O7 M/ P' |
参数说明) y* c2 J$ `$ N& y2 W* n6 D9 C
首先,假设这个ETC-POSW网络具有2019年1月9日的ETC网络类似的系统参数:  [: I5 w: q3 n; T, o% J1 r
-全网算力:8Th/s0 z  b! ]0 U6 Q9 s
-代币价格:5美元  X) \9 n  V$ [  _9 N! `) _
-当前发行量:107407745ETC(数据来自CoinMarketCap)5 s- w  ^+ }" }
我们还假设攻击者拥有的算力为8 Th/s(有人怀疑近期对ETC网络攻击所使用的算力是从nicehash上租来的。我们手头没有确凿的数字,8Th/S是假设所有当前的矿工都是诚实的,因此攻击者需要收集8Th/s来执行双花的攻击)。
, q1 A$ p9 k/ N$ w5 S! [其次,我们在POSW共识中采用以下参数(参数的意义以及详细说明请参考我们之前发布的文章):
" L+ ^+ Z. `+ @' S) }) i3 Q-获得最大挖矿额度需要的抵押量(期望发挥100%算力):所有流通代币的5%(请注意,作为对比EOS约有40%的代币正在进行抵押以获取投票权或其他权益。). Q1 C" g" H8 E
-当矿工的算力超过了其挖矿额度将承受难度惩罚:20倍高于正常难度
" o) e7 P+ Q9 d0 Z6 U; y( c-矿工有效算力(额度)的估计时间窗口:256块
3 V- X1 T! Q7 [; }$ P7 ~7 @. s* C-确认一笔交易所需的块数:30块(ETC被攻击前交易所通常使用该参数)
# f6 Z  H: `8 F* C5 p. H) @. m, c* Q-如果矿工停工(要求取出押金),押金将锁仓三天(也可理解为提取押金的过程为三天)。$ E$ g& X; F1 L- y/ I
为了帮助大家理解,这里对POSW中的部分术语做一个简要的解释:额度(allowance)是矿工在任意算力估计窗口期(也就任意的连续256块)中可以生成的块的数量。如果一名矿工生产的块数在窗口(256块)里面超过额度时,则该矿工将受到难度惩罚,这时其开采一个块的难度将提高20倍。本案例中,一个额度需要抵押107407745*0.05/256=20978个代币。
" x; a3 ^1 ^& I0 y2 \
9 E- o1 B+ |0 R+ a3 \$ s) ]& v6 j3 v攻击成本
" d# j2 C6 H1 B& ?: g接下来,让我们讨论一下进行双花攻击的成本问题:
& ~3 O" m  B; S: Z9 f1.如果攻击者不持有任何代币而直接开始挖矿,这意味着恶意矿工将遭受难度惩罚,因此他必须租用(或自行部署)8 Th/s*20=160 Th/s的算力进行攻击。请注意,这个算力值已经接近以太坊当前的全网算力(169.74 Th/s)。
8 h7 i  r. r- {" {: E2. 如果攻击者有足够的代币可以用于抵押,这意味着矿工需要租用8Th/s的算力并单独连续开采31个块(形成攻击分叉)。由于算力的评估窗口为256个块,因此矿工至少需要31/256*107407745*5%=650320 ETC代币,目前价值为320万美元。在执行攻击后(假设攻击完成后迅速开始提取抵押的代币),这些代币还将被锁定3天。
" q7 k6 L5 O7 g& Z% s- ?! Q: a3.假设被双花的代币为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)。$ a; k, |! V) g, `  F
从上面的例子中我们可以发现,在POSW共识中,除非攻击者拥有非常高的算力,否则他必须抵押一些代币才能执行有效的双花攻击。如果我们在3天内(抵押锁定期)检测到双花攻击,我们就可以通过扣除其抵押的代币来惩罚攻击者。
+ I$ U6 c- H. G至于在何种条件下可以罚没的抵押代币,这属于“预言家问题”。一种可行的思路是依靠某种链上治理模式,由主要利益相关者(比如矿工和持币的人等)达成共识,一致决定扣除攻击者的抵押代币并统一执行。这一过程类似于在比特币网络中达成软分叉(soft-fork)升级协议。2 T+ b- c/ q% E' i7 x9 `" B: w
  V+ o. x) I. Z% W6 l' `$ H
结论
( P9 H6 S2 A- S4 }5 [ 考虑到最近一段时间ETC多次发生51%攻击,我们在本文中展示了如果ETC使用了包含权益的工作量证明共识将有助于提高其网络的安全性,显著的增加双花攻击的成本。分析表明,如果ETC使用了POSW共识,再次发生类似1月的双花攻击时,攻击者需要至少具有110Th/s算力或是650320个ETC(价值320万美元,同时还要8 TH/s算力),这些都远远大于当前对ETC网络发起攻击的成本(8Th/s算力)和收益(219500个ETC)。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

天然灵凡 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    33