什么是女巫攻击?
SybilAttack,中文翻译成“女巫攻击”。
Sybil一词最早出自1973年的小说《Sybil》,这本小说讲的是女主SybilDorsett进行心理治疗的故事。她被诊断为分离性身份认同障碍,兼具16种人格。
而SybilAttack这个词是由JohnR.Douceur在2002年提出的,用于形容P2P网络中的一种特定攻击形式。在P2P网络中,节点可以随时加入和退出,所以为了维护网络的稳定,同一份数据需要备份到多个分布式节点上,这就是数据冗余机制。如果网络中存在一个恶意节点,那么这个恶意节点就可以伪装成多重身份,如同小说中的女主可以分裂出16个人格。原来需要备份到多个节点的数据被地备份到了同一个恶意节点,这样一来作恶的节点,就有可能掌握网络的控制权。
简单讲,一人化身为多人,这就是女巫攻击的本质。
在空投领域,所谓女巫攻击,就是指一个“肉身”控制了多个链上地址,伪装成不同用户进行交互的行为。
对于项目方来说,女巫的行为其实破坏了项目去中心化的过程,所以在空投发放的过程中项目方可能会主动筛查女巫,或者由社区举报,从而取消其空投资格。
项目方怎么查女巫?
首先我们要明确一点,项目方查女巫是很耗费时间和精力的,这并不是一件容易的事情。而过往查到的女巫行为很大一部分其实是来自于社区的举报。
比如跨链桥HopProtocol就发动社区「举报toearn」,举报者将会获得女巫地址被罚没空投代币的25%,最初Hop符合空投条件的有43,?058个地址,后来因社区举报有10,?253个地址被认定为女巫,取消了空投资格。同样在Optimism的第一轮空投中,社区也主动举报了1.7万个女巫地址,导致最后1400万个$OP代币被重新分配。
Optimism并没有公开社区举报的详细信息,以及他们的判断标准。所以下面我们就从HopProtocol具体的提案中,看看究竟哪些行为被查到或者说被举报了。
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,同样的所有地址又在同一段时间内铸造了UniswapV3LPNFT。并且在Snapshot上面的ArbitrumOdyssey的所有投票中,这些地址投票选项一模一样。并且每次都是由下图最中间深色的地址最先操作。
翻看Hop社区举报的案例,被判定为女巫的主要就是以下两种行为?
多个钱包之间存在资金关联
短时间内大量钱包进行类似的操作
埋伏空投如何避免“被女巫”?
1、不要在链上进行资金分发/归集,用交易所代替
避免钱包之间的关联,这一点最最最最最重要。而相比于使用混币等方法掩盖钱包之间的转账关系,交易所才是最好的解决方案。
从交易所提币,资金都是从交易所几个固定的热钱包转出的。而交易所的热钱包每天都有大量的转账行为,所以没有人会从这里去查女巫,难度系数太大了。
但是向交易所充币就得注意了,比如我打算把Optimism网络的ETH充值回交易所,但是我币安的充值地址就是固定的一个,而我链上有30个钱包的资金需要归集。这里我肯定不能把30个钱包的币都打到这一个充值地址,因为这样就成了“多对一”的关系,会被怀疑是女巫攻击。
那么该如何解决呢?如果我有30个币安账户,有30个充值地址,那当然可以。不过使用OKX进行资金的汇集显然会更加方便。
因为OKX有一个功能非常好用,每一个主账户可以生成20个充值地址,如果你觉得不够用,那就开通子账户,每个账号最多开通20?个子账户。也就是说你开通一个OKX的账号,最多可以拥有21*?20?=?420个不同的充值地址。
2、避免短时间集中的批量行为,做到操作的随机化
所谓的随机化,包括两方面
交互方面:交互时间随机化;交互金额随机化;交互路线随机化
钱包方面:钱包创建时间随机化;资金转账随机化;ENS取名随机化
比如像OptimismQuests,你打算撸50个账号,你在操作的时候除了要避免资金关联,在实际交互的时候也可以稍微注意一下:尽量不要在短时间内集中转账/做任务,偶尔打乱任务的顺序……
总之,如果你是纯手工操作的话,基本是可以规避这些问题的。批量化的行为大部分是靠程序去操控的。
3、低调,不要公开自己的地址
撸空投这件事儿当然需要“伙伴”,因为这是一件枯燥的事情,伙伴之间互相监督互相打气很有必要。但是这也是私底下的事儿,千万不要在公开场合高调讨论自己的交互,更不要去曝光自己的地址。
就如同前面Hop的案例三,不小心公开了自己的地址,就有人去挖他的链上操作,只要被人抓到把柄,人家反手就是一个举报。
4、其它
其它我们可以做的就是尽可能丰富自己的链上行为,比如注册ENS域名,平时多参与snapshot投票,参与gitcoin捐赠……总之就是让你的账号像一个真人。
不过最后还是想说,大家在多账号进行交互的时候,也不需要过于小心翼翼。
比如关于IP的问题,过往发空投的项目其实很少有查IP的,除非是一些免费撸的,或者像?gamefi、元宇宙类的可能会查。另外,少数几个账号存在资金关联,比如四五个账号之间有互转,其实也没大问题的。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。