# 关于Arbitrum 空投反女巫规则,虽不算漏洞,但远未及格——对X-explore分析报告的再分析

By [berwinYes](https://paragraph.com/@coolberwin) · 2023-03-23

---

Arbitrum于上周四宣布空投计划，各种社交媒体又一次迎来高潮，此次空投涉及到的地址之广，价值之高，可以说是近年之最，有人一波自由，有人懊悔不已，又一次激发了撸毛党的热情。

然而昨天下午，X-explore和吴说区块链共同发表了一篇针对Arbitrum空投分析的文章，指出空投规则存在巨大漏洞，引得web3媒体纷纷转发扩散。

![](https://storage.googleapis.com/papyrus_images/37c3816bf95ba7ef4be9ad9d34ab0187fe367d18adfcb06079f0e62299eecd32.png)

![](https://storage.googleapis.com/papyrus_images/40d8c363c6d5167a6eaca18265f97ab734a6616fb9d5ee35d042f931938bba0c.png)

作为一个Arbitrum空投数量为0的旁观者，我好奇到底Arbitrum的反女巫规则到底有多大的漏洞，但当我打开报告阅读后，发现文章所表达的并没有新闻标题那么夸大，不至于是漏洞，本人更倾向于项目方并没有对女巫规则深入研究，从开始算法选型到策略构建再到结果分析，未展现出其作为L2龙头的实力。

X-explore对Arbitrum 空投高级分析链接 👇🏻👇🏻👇🏻

[https://mirror.xyz/x-explore.eth/AFroG11e24I6S1oDvTitNdQSDh8lN5bz9VZAink8lZ4](https://mirror.xyz/x-explore.eth/AFroG11e24I6S1oDvTitNdQSDh8lN5bz9VZAink8lZ4)

文章总结下来五点：

*   **空投账号中不仅有EOA账户，还包括合约账户**
    
*   **对小规模团伙（地址数量< 20）无任何识别操作**
    
*   **在检测女巫地址时排除了跨链桥、中心化交易所和智能合约**
    
*   **仅使用 2023 年 2 月 6 日之前的快照数据检测女巫地址， 而不关注公布空投后的地址间关联关系**
    
*   **只有来自 Arbitrum 和以太坊的数据被用于检测女巫地址，却忽略了来自其他以太坊 L2 的数据，例如 Optimism 和 Polygon**
    

个人认为 除了第1点的问题项目方犯了非常低级的错误外，对项目方而言，其他结论**不能说是漏洞，更像是一种方案的待优化点或是考虑上的不周**。

_注：本文所分析来源均为网络公开资料_

序：官方采用的聚类算法介绍
-------------

在分析结论之前，需要向大家科普一下Louvain 社区检测算法，是聚类算法中的经典算法之一， 一般是针对于检测/提取大型网络的社区结构。它是一种基于模块度优化的启发式方法，2008年被提出的\[1\]，被各大web2公司广泛用于风控领域。

其主要原理是**针对网络中的每个点计算一个叫模块度的指标值，再计算与他相邻所有点模块度差值记做模块度增益，不断合并模块度增益较大的相邻点成为同一社群，直到满足算法设定的阈值，生成聚类结果**。

![Louvain算法示意图](https://storage.googleapis.com/papyrus_images/ca18aa996d8a63de16a0b1cf0e69037a1c9240353131f93fa1f1f230b4f86dd5.png)

Louvain算法示意图

更具体原理分析可以阅读 参考文献\[2\]\[3\]\[4\]给出地址。这里不再赘述。

*   算法中的点对应对应链上的EOA地址，边则代表着交互关系。同一社群即为项目方眼中的Sybil。
    
*   **模块度增益越大，说明2点之间关系越紧密，同一社区可能性越高；模块度增益越小，同一社群的可能性越低。**
    
*   由于是启发式算法，即无标注好数据可以检查算法准确性与否，需要项目方人员根据经验设定大量阈值，这些阈值的会极大影响算法最终结果，即女巫名单。
    

1、对小规模团伙（地址数量< 20）无任何识别
-----------------------

在 [Arbitrum官方空投规则](https://github.com/ArbitrumFoundation/sybil-detection) 里举出的规则中，已经说明使用 Louvain 社区检测算法 设定社群中超过20个地址的判定为女巫。也就是说，20个地址以下则会被视作正常用户。

![](https://storage.googleapis.com/papyrus_images/c517ec556cbff70bd27e548f6b1cc80937c528354ad022f87c27caa292681141.png)

_20_ 作为一个项目方设定的正常用户和女巫的分界阈值，正如原理中所介绍，阈值设定是由项目方工程师决定，在设置中的具体考量与说明，官方并没有公布。

也正如X-explore分析所说，由于Arbitum将20个地址以下社群视作正常用户不做任何处理，20个地址以下可能存在女巫的问题，直接被无视，统统放行。

**但是这并不属于漏洞，而是项目方如何界定女巫与正常用户，并且在已界定框架之下，更深层次的优化框架内的模糊情况与判定机制问题。**

2、在检测女巫地址时排除了跨链桥、中心化交易所和智能合约
----------------------------

项目方将跨链桥 中心化交易所 与智能合约排除在检测之外，本质是选择Louvain算法后做出妥协的结果，因为跨链桥 中心化交易所 与部分智能合约 会直接导致聚类算法被影响和干扰，如果添加后，最终的结果可能会导致大量错误识别规则。

为什么这么说呢？

我们可以把CEX类比为生活中的支付宝，在现实生活中，同一时刻向支付宝转入转出相同金额的人不计其数，可能在我用账号a转入支付宝5块钱的同时，有1w个账户从支付宝消费/转出5块钱。想通过金额或者时间上同一性信息去判断，账号a和那1w个账号背后是否是同一个人，这是不现实的，还需要更多行为信息去辅助。毕竟CEX使用者中正常用户相比于女巫而言，量级差别过大。

很不幸，基础的Louvain算法只用到了金额和转账方向信息，这就导致该算法天生对于超级节点的误判性过大。

而且Louvain是非时序性的，连时间上的同一性都无法考虑（不能要求15年前的方法适应当下的复杂情况）。**交易所，跨链桥，和部分正常合约(NFT、DEX等等)都涉及到极大数量的账户交互，故不适用于Louvain算法。**

如果对上面的话理解还有疑惑，下面依据算法计算公式给出例子证明：

![注:对于无向图和有向图而言，计算的公式可能会有一些歧义。](https://storage.googleapis.com/papyrus_images/f7f0dfb6e6753624a128bf3c42c83628f71a1c1612156daaf6973bc44ccdd3e4.png)

注:对于无向图和有向图而言，计算的公式可能会有一些歧义。

![](https://storage.googleapis.com/papyrus_images/3307a9ff0cd2743fb769be08dab9a1ae6959ea5e88b8f617a4ed36809799417b.png)

△Q是上文所说的模块度增益，两点间增益越大且为正值，同属一个社区可能性越高；反之可能性越小；模块度为负值，不属于同社区。模块度越大分群质量越高。

下图为一个简单的利用Louvain进行社区合并的例子，其中只截取部分子图，且网络中初始链路总权重为120。

![](https://storage.googleapis.com/papyrus_images/8932643a9878d3b40985c1e42ec6d245cafa0cd0275f56e0fa9db03a7e8e3dd6.png)

可以看出当图中出现中心化交易所时，与之相连的节点过多，假设B和C均为正常地址且只与中心化交易所相连。

*   如果删除中心化交易所节点，则BC点永远不会被话归为同组，视为正常EOA
    
*   当保留中心化交易所时，ABC会在迭代2次后归为同组，得到BC同组，视为可疑女巫地址
    

与此同时，算法O(n²)的复杂度也会导致过高的计算成本。删除 CEX 、Bridge与合约地址，个人臆测也会降低计算复杂度，提升计算效率。此次参与arb的地址共100w+，最终获得空投地址超过62w。

3、仅使用 2023 年 2 月 6 日之前的快照数据检测女巫地址， 而不关注公布空投后的地址间关联关系
----------------------------------------------------

公布快照后的继续监控后续地址，不得不提始作俑者 **HOP空投女巫举报** (网友戏称 举报to earn)\[5\]，通过给予奖励给举报者的方式来减少女巫影响，随后不久OP官方也采用了这种方式。

_“让英雄查英雄，好汉去查好汉”——《大明王朝1566 嘉靖》_

![](https://storage.googleapis.com/papyrus_images/a93c78b16bd794b4743eeda125c77e144dc7d213ef291de7f0ca4afa7f472b85.png)

虽然此种方法对于项目方是一个稳赚不赔的买卖，毕竟个人的力量是有限的，集体的力量是无穷的。与此同时圈内互相间的信任感逐渐消失，空投用户从分享喜悦变得沉默噤声，引起了圈内多数人对于此种方式的不满。

与此同时，圈内一部分脑瓜活泛的科学家们，发现了商机——“**恶意投毒**”，批量对空投用户进行小规模转账操作，使得彼此无关联关系的地址间产生关联。并以此记录举报得奖励。

当然这次Arb空投也不例外：

例如 [这个钱包](https://arbiscan.io/txs?a=0x59d4087f3ff91da6a492b596cbde7140c34afb19)，被网友分析为投毒者，投毒对象见的用户行为看起来没有相似性，不大可能是女巫地址。

[https://twitter.com/0xPeche/status/1637639563743985665](https://twitter.com/0xPeche/status/1637639563743985665)

![](https://storage.googleapis.com/papyrus_images/b06ab084500cdaacb7a99e36e20accdbda47fdee240a89ca1b9f006106b1fc08.png)

项目方如果继续进行女巫检查，那么如何在空投公布后，有效区分投毒者和正常用户？或许这才摆在他们面前最头疼的问题。

4、X-explore分析报告与Arbitrum女巫检测的思考
-------------------------------

X-explore 针对这62w地址使用了自己内部的模型二次分析，**成功识别了超过 279,328 个同人地址和 148,595 个收到空投的 Sybil 地址。**

![](https://storage.googleapis.com/papyrus_images/b030961a4872d906a88c81edeff471b055d9e40b0b690e54318294cdaf6d024d.png)

X-explore的整体分析报告逻辑清晰且简单易懂，举例完全符合Sybil定义，且挖掘出大量被项目方忽略的地址。

但与其说是项目方存在漏洞，不如说项目方对于女巫的防范研究不如X-explore透彻，采用的算法也有些过时(可能有内部优化，这里只针对于基础版本)，很多边界条件，特殊地址没有进一步处理。

X-explore作为优秀的Blockchain Bulider，利用更加优质的自研模型，将空投地址结果再次优化，引入更多指标，从更深层次挖掘女巫地址，并给出验证结果。更像是在项目方结果上的一次打补丁，有助于项目方将空投发给更正确的用户。

作为L2赛道的头部明星，估值前5的公链，项目方对于女巫的检测方法。可能还没有一些小项目方思考的全面(可能Arbitrum项目方把精力更多放在公链建设上)。个人认为此次的反女巫策略远未及格。

虽然使用的Louvain社区发现算法能识别出部分女巫，但是正如上文所论述，以X-explore的分析报告所描述的数量，**女巫攻击地址约获得 2.53 亿枚 ARB，占空投代币总数的 21.8%**。不论是对项目方还是正常用户而言，影响还是很大的。甚至出现空投给合约地址这种哭笑不得的操作。

最后，还是想有感而发一下：

*   链上数据分析发展迅猛，撸毛也越来越难，CEX和跨链桥或许现阶段来说是最好的分发方法，但是说不准以后也会被抓
    
*   项目方查女巫方法不相同也不互通，可能这次被标记但下次被空投，但还需注意地址的隔离
    
*   空投的分配可能大户(工作室)和散户之间的差距越拉越大，毕竟无论是资金还是技术储备简直是降维打击
    
*   博空投还是得真金白银下本钱，大家还是应该更关注主网类项目，测试网除了节点类外别再花太多精力
    
*   还得多参与，参与可能没有，不参与肯定没有呀
    

参考资料:
-----

\[1\] [Fast unfolding of communities in large networks](https://arxiv.org/abs/0803.0476v2)

\[2\] [Louvain算法介绍](https://zhuanlan.zhihu.com/p/178790546)

\[3\] [万物皆网络，万字长文详解社区发现算法Louvain](https://zhuanlan.zhihu.com/p/556291759)

\[4\] [关联网络在度小满风控中的应用](https://mp.weixin.qq.com/s?__biz=MzAwMjI2MTQyNQ%3D%3D&idx=1&mid=2247483692&scene=21&sn=33973cada0f86460ee2cd2a5e606c288#wechat_redirect)

\[5\][如何防止撸空投被举报：从Hop官方报告梳理判定逻辑](https://www.theblockbeats.info/news/30650)

\[6\][超62万地址获得空投，详解Arbitrum空投数据和防女巫策略](https://www.panewslab.com/zh/articledetails/zn4xnge3.html)

\[7\] hop空投女巫讨论贴共600个issue

本人twitter: [https://twitter.com/coolberwin\_eth](https://twitter.com/coolberwin_eth)

---

*Originally published on [berwinYes](https://paragraph.com/@coolberwin/arbitrum-x-explore)*
