风险提示:理性看待区块链,提高风险意识!
“一笔交易” 的胜利
首页 > 币界资讯 > 矿业前瞻 2020-04-23 12:00:06

如果问我区块链上,有什么攻击是不可避免的,我会回答:堵塞攻击和51%攻击。51%攻击我们下次再谈,今天单论这堵塞攻击。

所谓堵塞攻击,是用交易占据区块,使其他人的交易无法打包。

有人把堵塞攻击比作区块链上的DDOS攻击:不是寻找系统漏洞,而是“合规”地占用资源,令系统停摆。二者确有相似之处,抽象出来:一是“合规”,即攻击是系统允许的;二是非漏洞,即任何系统都可能被攻击,再完美也一样;三是抢占资源,攻击者占用系统资源,其他人被动排除在外。

仔细看这些特点,似乎并不是一个纯粹的技术问题,也不是一个单纯的安全问题。堵塞攻击是一个经济学问题,或者博弈问题。现以以太坊网络为例,我们先研究堵塞攻击的最佳逻辑,其次则研究对抗堵塞攻击的思路。

假设一个区块的gaslimit上限是1000万,最小的单笔交易是2万,则堵塞一个区块有两种方案:第一种是用大量高gasprice的小型交易区堵塞区块;第二种是用一笔高gasprice的大型交易(这里大型和小型是以gaslimit来度量的,大型交易是尽可能占满整个区块的交易,如gaslimit为1000万)来堵塞。比如gasprice都是1000(312 以太坊网络拥堵的情况下,保证迅速打包的gasprice也在1000倍以内),则两种方案计算出来的gas成本是一致的,这是从自己的立场出发计算的结果。

但从矿工和竞争者的角度看,二者是有差异的。

先说竞争者,即希望突破堵塞攻击的交易者。如果是小型交易,则竞争者完全可以通过一笔更高的gasprice,抢在攻击者之前打包,比如用2000的gaceprice去竞争,原则上一定排在诸多的gasprice为1000的小型交易前面;但对于一笔大型交易,由于矿工考虑最大化gas的组合,而不是最高gasprice的交易优先,则竞争者可能就被阻挡在外。这是因为,大型交易的总gas为1000万*1000,而包含小型交易的gas为2万*2000+其余交易,这里其余交易是备选的第三方交易,一般gasprice较低。在这两个交易组合里,理性的矿工会选择大型交易的组合,从而使竞争者即使出了更高的gasprice,由于其单笔交易的gas较低也会被排除在外。因此堵塞攻击从有效性来讲,高gasprice的大型交易更有优势。

根据当前以太坊网络的交易情况,一个1000倍gasprice的大型交易的手续费为,1000w*1000=10 ETH,以来堵塞一个区块,那么堵塞10分钟的成本在500ETH。如果外部激励足够大(外部激励即当前行为之外的奖励),堵塞1个小时也就是3000ETH,这很可能是值得的。注意到,1000倍gasprice只是基于一个统计数据的假设,并没有基于一个链上应用来分析。

考虑一个链上应用,比如 DeFi,其经济性存在对区块的依赖,即在N个区块内,需要完成一笔交易,否则会造成X个ETH的损失。如果该应用不做任何设计的话,按照之前的假设,10*N个ETH的堵塞攻击即可造成X个ETH的损失。这里有几种情况:1.X个ETH的损失可以变成攻击者的收益,则当X>10N时,攻击便是一种完全理性的激励。2.X个ETH的损失并不能变成攻击者的收益,则此种情况和X<10N一样,便成为一种恶意行为:通过破坏该应用的有效性使得资产从该应用中流出。

这两种情况应当分开考虑应对方案,但不管哪种情况,核心是如何使得堵塞攻击失效:总有一笔交易能够在临界条件触发前完成,这就是我们说的“一笔交易的胜利”。

对于第一种情况,应用需要做两种设计:首先应当根据经济规模或某种异常条件提升N的大小,变成N1;其次提升完成一笔交易的激励收益:比如完成一笔交易的收益从a个ETH提升到b个ETH,其中b>a,并且b>10eth,即堵塞一个区块的成本变成bETH,总成本从10*NETH变成b*N1ETH,只要b*N1ETH>X,则攻击的外部激励失效。

对于第二种情况应对恶意攻击的最好办法,即是安排一种停机机制,包含两种含义:其一是攻击造成的成本几何级数提升,使得攻击者无法达到目的,从而放弃攻击,比如NEST系统的beta系数设计,是目前区块链行业内第一个内置停机系统的设计,我们可以借鉴,比如让临界区块数N可以级数提升。其次,根据“一笔交易的胜利”难度自动调整应用的可执行性,当完成“一笔交易的胜利”变得非常紧迫时,可以让应用暂时不能执行,使得攻击者失去了攻击目标。这两种安排由于比较开放,需要更深入的边界条件的分类研究。

当然,以上分析都是假设矿工是完全理性且只考虑打包的gas收益,不考虑可能的黑名单、自愿牺牲部分利益抵制堵塞攻击等行为,通过这些人性化的安排,也可以间接实现抗攻击的目的,但我们更倾向于在应用端进行设计。

由于当前链上应用还在探索期,没有人认真思考过堵塞攻击的攻防,这对未来应用的发展十分不利,想想当年FOMO3D的结局,希望不要在DeFi行业发生。我们以此文提醒行业,小心堵塞攻击,在开发应用合约时,尽可能用各种巧妙的方案来争取“一笔交易的胜利”。

上一篇: Ethereum Core Devs Meeting #82 以太坊核心开发者会议
下一篇: 3月份以太坊智能合约数量较2月份增长了75%,达到近200万份
推荐专栏
web3首席知识博主
一位相信价值投资的币圈KOL。稳定盈利的缠论野生交易员 #BTC行情分析师 #价值投资 #链上数据分析
爱Web 3,爱生活,爱科技,爱炒币的老韭菜
热门币种
更多
币种
价格
24H涨跌幅
BTC比特币
¥272,519.10
38,183.45 USDT
+3.04%
ETH以太坊
¥14,715.70
2,061.86 USDT
+2.3%
USDT泰达币
¥7.19
1.01 USDT
-0.11%
BNB币安币
¥1,642.10
230.08 USDT
+1%
XRP瑞波币
¥4.37
0.61160 USDT
+0.72%
USDC
¥7.13
0.99960 USDT
-0.05%
SOLSolana
¥436.70
61.19 USDT
+10.1%
ADA艾达币
¥2.75
0.38600 USDT
+3.46%
OKBOK币
¥407.51
57.10 USDT
+2.43%
DOGE狗狗币
¥0.57240
0.08020 USDT
+3.97%
热搜币种
更多
币种
价格
24H涨跌幅
Terra Classic
¥0.00
0.00012023 USDT
+27.59%
Gala
¥0.19
0.026355 USDT
+3.84%
比特股
¥0.04
0.006206 USDT
-5.6%
dYdX
¥22.57
3.1906 USDT
+0.22%
FTX Token
¥28.54
4.0337 USDT
-1.45%
Filecoin
¥32.25
4.5589 USDT
+2.72%
PancakeSwap
¥15.80
2.2339 USDT
+2.34%
比特币
¥270,140.27
38183.45 USDT
+3.04%
Yield Guild Games
¥2.66
0.3756 USDT
+4.28%
Shiba Inu
¥0.00
8.34E-6 USDT
+2.71%
Conflux
¥1.09
0.1541 USDT
+1.78%
柚子
¥4.82
0.6814 USDT
+1.67%
最新快讯
更多
HashKeyExchange将于11月30日上线DOT/USD
2023-11-29 18:15:51
经合组织:预计美联储不会在2024年下半年之前降息
2023-11-29 18:09:37
一新钱包从Binance收到6.98亿TVK,占总供应量的58.18%
2023-11-29 18:05:47
Nym计划年底推出NymSwapper,支持ERC-20代币兑换为原生NYM
2023-11-29 18:00:49
蜜蜂查24小时行情晚报(11-2918:00)
2023-11-29 18:00:00
BC科技集团股价单日涨幅达47.11%,暂报9.93港元
2023-11-29 17:52:21
BC科技集团股价单日涨幅达47.111%,暂报9.93港元
2023-11-29 17:52:21
下载币界网APP