什么是女巫攻击?

Sybil Attack,中文翻译成“女巫攻击”。

Sybil 一词最早出自 1973 年的小说《Sybil》,这本小说讲的是女主 Sybil Dorsett 进行心理治疗的故事。她被诊断为分离性身份认同障碍,兼具 16 种人格。

而 Sybil Attack 这个词是由 John R. Douceur 在 2002 年提出的,用于形容 P2P 网络中的一种特定攻击形式。在 P2P 网络中,节点可以随时加入和退出,所以为了维护网络的稳定,同一份数据需要备份到多个分布式节点上,这就是数据冗余机制。如果网络中存在一个恶意节点,那么这个恶意节点就可以伪装成多重身份,如同小说中的女主可以分裂出 16 个人格。原来需要备份到多个节点的数据被欺骗地备份到了同一个恶意节点,这样一来作恶的节点,就有可能掌握网络的控制权。

简单讲,一人化身为多人,这就是女巫攻击的本质。

在空投领域,所谓女巫攻击,就是指一个“肉身”控制了多个链上地址,伪装成不同用户进行交互的行为。

对于项目方来说,女巫的行为其实破坏了项目去中心化的过程,所以在空投发放的过程中项目方可能会主动筛查女巫,或者由社区举报,从而取消其空投资格。

项目方怎么查女巫?

首先我们要明确一点,项目方查女巫是很耗费时间和精力的,这并不是一件容易的事情。而过往查到的女巫行为很大一部分其实是来自于社区的举报。

比如跨链桥 Hop Protocol 就发动社区「举报 to earn」,举报者将会获得女巫地址被罚没空投代币的 25% ,最初 Hop 符合空投条件的有 43,058 个地址,后来因社区举报有 10,253 个地址被认定为女巫,取消了空投资格。同样在 Optimism 的第一轮空投中,社区也主动举报了 1.7 万个女巫地址,导致最后 1400 万个 $OP 代币被重新分配。

Optimism 并没有公开社区举报的详细信息,以及他们的判断标准。所以下面我们就从 Hop Protocol 具体的提案中,看看究竟哪些行为被查到或者说被举报了。

Hop 举报提案:https://github.com/hop-protocol/hop-airdrop/issues

案例一:

https://github.com/hop-protocol/hop-airdrop/issues/3

该用户在使用完 Hop 之后,在 Arbitrum 网络上归集资金,将 471 个地址的所有资金都转移到了同一地址。

案例二:

https://github.com/hop-protocol/hop-airdrop/issues/163

最中心的地址将 MATIC 分发给蓝色的地址,接着蓝色地址再将资金转移到绿色地址,最后绿色地址进行 Hop 交互从而拿到了空投。(相当于资金做了二级关联,但是依然被判定为女巫)

如何避免“被女巫”?撸空投的正确姿势

 

 

案例三:

https://github.com/hop-protocol/hop-airdrop/issues/367

地址之间的转账显然更加复杂,但是依然属于资金关联从而被判定为女巫。这个案例还有一点值得一提,举报者是在社区成员讨论交互策略的时候,发现了几个地址,然后着手深挖了这一系列的资金关系。这个事情告诉我们尽量不要公开自己的地址,埋伏空投别张扬。

如何避免“被女巫”?撸空投的正确姿势

 

案例四:

https://github.com/hop-protocol/hop-airdrop/issues/592

这 158 个地址在 Optimism 和 Arbitrum 上有完全类似的活动,并且他们在 Fantom、Gnosis 和 Polygon 链上的所有的交易都在一天内完成,并且这之后就没有任何交易记录了。

案例五:

https://github.com/hop-protocol/hop-airdrop/issues/9

这 25 个地址之间存在关联性,并且这 25 个地址都在同一段时间内在 Arbitrum 上铸造了同一个 NFT,同样的所有地址又在同一段时间内铸造了 Uniswap V3 LP NFT。并且在 Snapshot 上面的 Arbitrum Odyssey 的所有投票中,这些地址投票选项一模一样。并且每次都是由下图最中间深色的地址最先操作。

如何避免“被女巫”?撸空投的正确姿势

翻看 Hop 社区举报的案例,被判定为女巫的主要就是以下两种行为👇

  • 多个钱包之间存在资金关联

  • 短时间内大量钱包进行类似的操作

埋伏空投如何避免“被女巫”?

1、不要在链上进行资金分发/归集,用交易所代替

避免钱包之间的关联,这一点最最最最最重要。而相比于使用混币等方法掩盖钱包之间的转账关系,交易所才是最好的解决方案。

从交易所提币,资金都是从交易所几个固定的热钱包转出的。而交易所的热钱包每天都有大量的转账行为,所以没有人会从这里去查女巫,难度系数太大了。

但是向交易所充币就得注意了,比如我打算把 Optimism 网络的 ETH 充值回交易所,但是我币安的充值地址就是固定的一个,而我链上有 30 个钱包的资金需要归集。这里我肯定不能把 30 个钱包的币都打到这一个充值地址,因为这样就成了“多对一”的关系,会被怀疑是女巫攻击。

那么该如何解决呢?如果我有 30 个币安账户,有 30 个充值地址,那当然可以。不过使用 OKX 进行资金的汇集显然会更加方便。

因为 OKX 有一个功能非常好用,每一个主账户可以生成 20 个充值地址,如果你觉得不够用,那就开通子账户,每个账号最多开通 20个子账户。也就是说你开通一个 OKX 的账号,最多可以拥有 21*20=420 个不同的充值地址。(关于 OKX 具体的操作,放在文末了)

2、避免短时间集中的批量行为,做到操作的随机化

所谓的随机化,包括两方面

  • 交互方面:交互时间随机化;交互金额随机化;交互路线随机化

  • 钱包方面:钱包创建时间随机化;资金转账随机化;ENS 取名随机化

比如像 Optimism Quests (俗称 OP 奥德赛),你打算撸 50 个账号,你在操作的时候除了要避免资金关联,在实际交互的时候也可以稍微注意一下:尽量不要在短时间内集中转账/做任务,偶尔打乱任务的顺序……

总之,如果你是纯手工操作的话,基本是可以规避这些问题的。批量化的行为大部分是靠程序去操控的。

3、低调,不要公开自己的地址

撸空投这件事儿当然需要“伙伴”,因为这是一件枯燥的事情,伙伴之间互相监督互相打气很有必要。但是这也是私底下的事儿,千万不要在公开场合高调讨论自己的交互,更不要去曝光自己的地址。

就如同前面 Hop 的案例三,不小心公开了自己的地址,就有人去挖他的链上操作,只要被人抓到把柄,人家反手就是一个举报。

4、其它

其它我们可以做的就是尽可能丰富自己的链上行为,比如注册 ENS 域名,平时多参与 snapshot 投票,参与 gitcoin 捐赠…… 总之就是让你的账号像一个真人。

不过最后还是想说,大家在多账号进行交互的时候,也不需要过于小心翼翼。

比如关于 IP 的问题,过往发空投的项目其实很少有查 IP 的,除非是一些免费撸的,或者像gamefi、元宇宙类的可能会查。另外,少数几个账号存在资金关联,比如四五个账号之间有互转,其实也没大问题的。

OKX 使用指南

1、如何增加充值地址?

如下图所示,在充值页面点击“充值地址”,就可以直接“添加地址”,不同币种不同链最多可以添加 20 个充值地址。

如何避免“被女巫”?撸空投的正确姿势

2、如何添加子账户?

子账户只能在 okx.com 网页端进行创建,并且未实名账户也可以创建子账户。如下图所示,依次点击“子账户”,然后“创建子账户”即可。

注意:账户类型的地方要选择“普通子账户”,并且开启“充值”功能。因为托管子账户是没有充值功能的。

如何避免“被女巫”?撸空投的正确姿势

如何避免“被女巫”?撸空投的正确姿势

如何避免“被女巫”?撸空投的正确姿势

另外,创建完子账户之后,记得要打开“启用切换账户”的功能,不然就无法切换账户。

如何避免“被女巫”?撸空投的正确姿势

如何避免“被女巫”?撸空投的正确姿势

子账户的使用与主账户类似,并且子账户的资金可以直接划转到主账户,具体操作如下图所示。

如何避免“被女巫”?撸空投的正确姿势