Arbitrum空投事件反思:反女巫机制成标配,我们如何赢下这场“猫鼠游戏”?
原文:《》
作者:Beosin
近期,以太坊Layer 2 扩展协议Arbitrum 空投成为了加密货币社区热议的当红话题。
链上数据显示,Arbitrum在3月22日的交易数超121万笔,创历史新高,同时超过以太坊主网的108万笔交易和Optimism的26万笔。其火热程度可见一斑。
Arbitrum是一种具有高性能、低成本和去中心化特性的Layer 2扩展协议。在3 月16 日晚空投之后,大批量“撸毛”的用户纷纷被一系列反女巫规则限制,今天,我们就来研究什么是反女巫规则。
说到女巫攻击,应该有不少小伙伴比较熟悉。在区块链中,女巫攻击(Sybil Attack)是指攻击者通过伪造多个身份或节点来控制网络的攻击方式。
而空投女巫攻击(Airdrop Sybil Attack)则是一种针对加密货币空投活动的攻击方式,攻击者利用伪造的身份和虚假地址获取更多的空投代币。
要聊反女巫规则,我们先从本次空投规则聊起。
Arbitrum空投规则和检测模型
在Arbitrum代币空投中,制定了一些空投策略和分配模型,以量化的方式确保每个钱包或链上实体地址是否满足空投资格标准:
1、如果空投接收者的钱包交易全部发生在48 小时内,则减去1分。
2、如果空投接收者的钱包余额少于0.005 ETH,并且钱包没有与超过一个智能合约交互,则减去一分。
3、如果空投接收者的钱包地址在Hop协议赏金计划期间被识别为女巫地址,则该接收者将被取消资格。
4、还有一个项目方未确认的标准,即用户在http://arbitrum.foundation上用相同IP连接多个钱包查看,将直接被取消上榜资格。
同时,Arbitrum使用链上数据来识别同一用户拥有的相关地址,并使用来自 Nansen、Hop和 OffChain Labs的数据删除实体地址,例如网桥、交易所和智能合约。还有一些地址通过人工检查去除,比如捐赠地址。
使用以下数据类型进行数据清洗:
1.原始资格名单地址(来自Nansen)
2.排除的实体地址(来自Nansen)
3.CEX充值地址(来自Nansen)
4.CEX充值地址(溯源自CEX 的热钱包)
5.在Arbitrum链上特有的交易路线(from,to)
6.在Ethereum链上特有的交易路线(from,to)
7.OffChain Labs的内部地址列表
8.Hop空投中的黑名单
9.Hop空投中去除女巫攻击后的地址
10.Nansen地址标签
11.其他手动标记的活跃地址
数据清洗完成后,将会生成两类图表:
第一类图表将以每个带有msg.value 的交易为一条边(from_address, to_address)。
第二类图表将以每个资助者/清扫交易为一条边(from_address, to_address),其中资助者交易是指账户首笔以太币入账,清扫交易是从账户中最后一笔以太币转账。
通过将上述图划分为强连通子图和弱连通子图来生成聚类。使用Louvain社区检测算法分解大型子图,提供更精细的结果并更准确地消除女巫地址。
根据已知模式来识别女巫集群,例如:
- 在超20 个地址的集群中转移
- 由同一来源资助的地址
- 具有类似活动的地址
由此生成了女巫集群,如下所示:
包含110 个符合女巫攻击条件地址集群 319
https://github.com/ArbitrumFoundation/sybil-detection
包含56 个符合女巫攻击条件的地址的集群1544
https://github.com/ArbitrumFoundation/sybil-detection)
研究人员如何识别女巫地址?
Offchain Labs研究人员通过在来自Nansen Query的from_address / to_address 交易数据使用聚类算法,并在Arbitrum 和Ethereum 上整合跟踪和代币转移,以此识别可能的女巫钱包,并且对可能误报的数据进行人工“检查”。
下图是疑似女巫的地址示例:
一组约 400 个地址中,有两个地址具有非常相似的活动(将资金发送到同一个中心化交易所存款地址)。
图源nansen
可以看到两个地址在非常接近的时间进行了相似的操作。
图源nansen
当然尽管如此,仍有人抱怨Arbitrum空投策略的缺陷,将女巫攻击的钱包地址视为正常,真实用户的钱包地址反而受到限制。
除了最近的Arbitrum外,去年Hop Protocol空投时也通过反女巫规则识别了大量的女巫攻击者。
Hop Protocol空投时候的女巫攻击者
2022年在5月6日,跨链桥Hop Protocol 官方公布空投细则之后表示,在最初符合空投条件的 43,058 个地址中,有10,253 个被认定为女巫攻击者。
以下是Hop Protocol 项目方对女巫攻击的一些判定依据:
1、多个地址有统一的资金分发或归集地址,证明是一个女巫攻击者发起,如:
图源:Sybil Attacker Report #275
2、多个地址在转账记录上有明显的关联性,如:
图源:Sybil Attacker Report #367
3、女巫攻击在多处有批量操作痕迹,包括但不限于:短时间内批量转账、gas value相同、交互金额相似等。
4、女巫地址交互历史有往期其他项目的攻击记录。
当然也有经验不足的项目方,在开启空投时未制定反女巫规则,比如Aptos。
回顾Aptos 反常规空投,羊毛党大胜?
去年十月,Aptos的空投事件中,由于项目方没有对节点进行女巫攻击的防范,有不少的“羊毛党科学家”因此获得大量空投。
有人在推特和社区中分享自己申请Aptos测试网的截图,可以看到多个小号在VPS主机上的申请界面。据申领代币的社区用户反馈,Aptos的空投规则是每个测试网申请的账户可以获得300个代币,铸造NFT的用户有150个代币。那么如果你有一百个账号就可以获得3万个代币,一千个账号则是30万个代币。
社区用户晒出的申领空投的截图
而Aptos在币安上线后,价格瞬间拉伸,然后出现巨额砸盘。根据研究人员分析,当时入金到币安的Aptos地址中,女巫攻击地址占40%。
可见空投女巫攻击对空投项目和参与者都会产生一定的影响,比如代币价格受到影响、空投计划的信誉受到损害、社区建设者和参与者都受到影响等。
反女巫攻击规则如何制定?
空投项目方在进行空投时,会使用反女巫机制来防止恶意用户通过多个钱包地址或其他手段获得过多的代币,从而将代币发放给真实用户。
从过往的空投事件中,可以看到女巫攻击的特点:
1.子地址由同一个父地址分发/归集资金
2.完全相同的交互流程、时间和项目
3.相同的GAS value、交易金额和时间
4.地址之间频繁转账,有来有往。
下面是一些空投项目方可能使用的反女巫机制:
快照时间:空投项目方可以在特定的时间点对所有地址进行快照,并将代币空投给那些在该时间点之前已经持有代币的地址。这可以防止恶意用户在快照时间之后创建新的地址来获取代币。
交互路线:取一段时间周期内与本项目交互的地址,根据交互时间,查看这些地址在参与交互本项目之前/之后的交互路径一致性。
资金流动:主要查看资金的流动方向,查看钱包一对多或多对一转账的情况。
交互金额:查看项目交互额度的大小及资金的重复使用率。
交互频次:导出一定时间周期内与项目交互的地址明细,通过Excel透视图表或是项目自研的看板,取异常峰值周期内的数据进行二次研究,可以通过查看这一批地址的活跃程度是否相似。
交互深度:取一定时间周期内,参与本项目交互的地址明细。查看本批次地址过往交互笔数与参与本项目交互后的交互笔数是否足够多。
股权证明:股权证明(PoS)是一些区块链用来验证交易的共识机制。在 PoS 中,用户需要持有一定数量的代币才能参与网络。空投项目方可以要求参与者持有一定数量的代币才有资格获得空投,提高空投门槛。
KYC/AML验证:空投项目方可以要求参与者通过 KYC(了解你的客户)或 AML(反洗钱)验证过程。此过程可以帮助验证参与者的身份,这有助于防止女巫攻击。
比如Beosin KYT虚拟资产反洗钱合规和分析平台,能帮助客户避免与潜在的风险地址(做恶者地址)进行交互,同时做到异常行为识别,更有Path Tracing智能扩展可疑地址,让风险验证变得更简单。扩展阅读:Beosin KYT,一个满足您所有 AML需求的“链上专家”
社交媒体验证:空投项目方可以要求参与者关注、点赞或转发社交媒体帖子以获得空投资格。这有助于确保参与者是真实的人而不是自动脚本。
白名单:白名单是符合空投条件的地址列表。空投项目方可以将空投限制在预先批准的参与者名单中,这有助于防止女巫攻击。
交易数量限制:空投项目方可以限制每个地址可以进行的交易数量。这可以防止恶意用户通过进行大量交易来获取过多的代币。
持有时间限制:空投项目方可以要求持有代币的地址必须保持一定的时间才能获得空投的代币。这可以防止恶意用户快速买入和卖出代币来获取过多的代币。
其他佐证参考:
- 社交媒体活跃度:注册时间、发言频次、发言质量(喜欢和转推)、粉丝、关注、头像、个人资料等等。
- IP地址设备号:同IP/设备登录的地址数、同地址IP更换频次等。
在参加空投时我们应该注意什么?
最后,Beosin也注意到大家对空投的热衷,作为一家安全公司,我们有必要为大家做以下提醒。
1 了解项目的官方信息来源:在参与空投之前,应该去项目的官方网站和社交媒体页面查看相关信息,包括空投计划的具体细节和规则,以及空投代币的合约地址等。
2 不要轻易泄露个人信息和钱包地址:一些空投项目可能会要求参与者提供个人信息和钱包地址,但应该注意保护个人隐私和安全,不要将敏感信息泄露给不明身份的网站和项目。
3 注意风险提示和注意事项:在参与空投之前,一定要仔细阅读项目方发布的风险提示和注意事项,了解相关风险和注意事项,并确保自己具备足够的风险承受能力。