女巫攻击是一种网络攻击,透过创造大量虚假身分(例如假帐号),来试图影响或操控网络的一种攻击方式。

女巫攻击常见于创造大量分身参与投票,影响投票结果;开一大堆分身帐号参与抽奖,提高自己被抽到的机率;在网络上用大量假帐号留下大量假评论、创造大量假互动.. . 等。

女巫攻击英文原名Sybil Attack,Sybil 是一名曾经被诊断为多重人格的女性,取多重人格中分身的概念,将这种创造大量分身试图操控网络的行为称为Sybil Attack,而描述Sybil 故事的小说与同名电影中文翻译为女巫,是女巫攻击这中文名称的由来。

区块链被女巫攻击会怎样- 51% 攻击的风险

区块链是分散式的处理系统,透过大量节点来分散处理与存储资讯,由节点们确认交易与打包出块,若是去中心化运作的区块链,还会透过投票来进行决策。

如果其实多数节点都是由同一个人创造的呢这会导致看似分散的网络其实很集中,一来资料就没有真的分散处理存储,风险依然很高,二来是可以透过大量节点影响确认和出块来操控区块链网络运作,甚至进一步控制多数节点达到51% 攻击,或在投票中操控投票结果直接影响决策。

区块链的运作仰赖大量节点,必须确保这些节点都是真实且不带恶意的,才能保障区块链的网络安全。

区块链如何预防女巫攻击

基本的做法是:让女巫攻击在现实上变得不可能,提高女巫攻击的实际成本,让它变得不切实际。

透过共识机制就可以预防女巫攻击,以常见的两种POW / POS 共识机制来说明:

POW 工作量证明如何防女巫攻击

在POW 机制下,节点们透过计算数学题目来取得打包出块的资格,必须付出大量算力,而算力需要成本,比方说需要买大量显示卡组矿机,成为节点的成本并不低,想要创造大量分身节点的成本极高,高到不切实际。

POS 权益证明如何防女巫攻击

在POS 机制下,节点们透过质押加密货币来取得打包出块的资格,必须质押大量加密货币,而取得能质押的加密货币需要成本,项目方也会设定成为节点的基本门槛。

例如有些速度和效能较高的公链,对于节点的硬体设备需求很高;或例如以太坊,成为以太坊节点的最小质押数量为32 颗以太币,或也是前几大质押公链的波卡(Polkadot),要成为波卡验证人最小质押数量为553 颗波卡,同时还有硬体设备上的需求。

有这些门槛的存在,实际上很难做到创造大量分身节点。

项目空投为什么要防范女巫攻击一切都是成本考量

有些项目在发币时,会奖励早期使用者,空投代币到符合资格的钱包地址中,但如果这些钱包地址其实都是同一个人

也可能不是要奖励早期使用者,而是基于行销目的,类似餐厅打卡送小点心,空投某些奖励到符合资格的钱包地址,但如果这些都是同一个人

餐厅发很多张优惠券出去,或是针对会员给予感恩回馈,结果都是同一个人的分身去领走,这样完全没有达成餐厅原本的目的,没有行销到设定的对象,没有回馈到真正的会员,优惠与奖励只是被特定人士占走了便宜。

项目方防女巫攻击的作法

如果要空投的项目不防女巫,被特定人士大举刷单刷量刷身分,空投奖励出去其实都只投给同一小群人,项目方并没有真的达到奖励早期使用者或者行销的目的,只是被特定人士给占了便宜。

币圈中有些人专门噜空投,四处寻找潜在的空投机会,参与各种任务,尽可能提高自己被空投的可能性和数量。其中有些人也许是真心喜欢该项目,真心想参与,但也有些人并不关心项目,只想噜到更多利益。对项目方而言,当然不希望被后面这种人大量的女巫攻击抢走空投奖励。

现在各种空投准备都必须要先设想预防女巫攻击的办法,以下分享三个实际案例。

防女巫实例#1 – Hop Bridge 透过社群举报

跨链桥项目Hop Protocol 在2022 年5 月发起空投,将8% 的代币供应(8 千万颗) 空投给早期使用者,空投条件例如达到一定交易量、提供流动性、持有债券、社群活跃参与等等,最初符合空投条件的地址大约有43,000 个。

而后Hop 项目方发起了社群举报女巫的活动,成功举报女巫地址,可以获得其原定空投份额的25% 作为奖励,鼓励大家帮忙揪出女巫。

后来总共有约10,000 个地址被举报并认定为女巫,取消了空投资格。从被判定的一些案例中,大概可以归结出两个判定女巫的标准:

钱包地址之间彼此有资金往来

这些钱包地址短时间内进行非常类似的操作

符合这种状况的被判定可能背后是同样的人,这些地址都是分身的女巫。区块链的特性之一是公开透明,链上资讯都被公开纪录可追踪可检视,项目方自己没有足够人力一个一个地址查核,于是透过奖励社群举报的方式让众人协力揪出女巫,效果显著。

防女巫实例#2 - Gitcoin 推出Gitcoin Passport

Gitcoin 是以太坊上的群众募资平台,有Bounties(奖金)、Hackathons(黑客松)、Grants(众筹赠款)、Codefund(程式开发基金)、Quests(任务)和社交属性的Kudos 等板块供用户浏览。

其中的Gitcoin Grants,是Gitcoin 的核心功能。用户可以在Gitcoin 网站上向不同的开源项目捐赠资金。大家曾使用过的Metamask、Aave、Uniswap、ENS 等知名项目,也都曾经受过此组织的资助或者是帮忙以完善其自身发展。

用户在Gitcoin 网站上捐赠给不同的项目后,有些项目过一段时间可能会向捐赠者提供空投和奖励,也就是我们所说的「回溯空投」( Retroactive Airdrop),在此也特别强调:捐款不保证一定有空投,但从以往结果来看确实有许多项目方会回馈早期的捐款人,而且回报也是相当不错的。

参与捐蹭需要份额,份额来自资格认定,Gitcoin 采用的方式是推出Web 3 去中心化护照Gitcoin Passport,使用这个护照来绑定许多web 2 & 3 的服务,例如绑定社交媒体帐号(Facebook、Twitter )、绑定Google 帐号、Github 帐号、也绑定钱包地址等等,每绑定一个就得到一个印章(Stamp),印章可以做为特定活动的门槛,累积愈多印章也等于这个Passport 拥有更高的积分,而积分足够高才能拥有捐赠的份额。

要绑定非常多其他服务,有足够多的印章才能有足够的积分,想刷分身等于必须同时也开非常多其他服务的分身帐号,除此之外Gitcoin Passport 还会定期更新印章状态,实务上执行难度极高,透过此方式来预防女巫攻击。

防女巫攻击实例#3-Debank 的Web 3 ID 铸造与徽章(Badge)

Debank 是一个非常实用的链上资产仪表板,我们可以在网站上输入钱包地址后查看自身总资产在不同链、不同DeFi 协议的分布情形,还可以透过Debank 找寻DeFi 当中的获利机会,同时如果透过钱包签署登入,便可以使用更多功能,包含查看资产价格变化,社交互动、追踪巨鲸钱包等功能,非常实用,可以说是炒币不可或缺的神器。

DeBank 近期动作频频,推出了自家的SocialFi 功能Reward pool 之外,还预告明年要上线DeBank 自己的区块链,与现今火热的Base、Worldcoin 一样是一条基于OP Stack 建立的链,社群因此也有了发币的预期和空投的想像,但基本上只要有钱包地址就能登入DeBank,要创造分身帐号非常容易。

DeBank 前阵子发布了一项「有价值的Web 3 用户标准」,希望透过这样的标准能将女巫地址、机器人地址等等都给排除掉,筛选出真正有价值的使用者。

标准有三项:

钱包净资产> $1000 美金

铸造Web 3 ID

TVF (Total Value of Followers) > 0

细看这三项标准,1 跟3 都不难做到,创造一些分身地址后分别转点币进去,相互follow 即可达标,其中真的能用来防女巫的应该是2。

Web 3 ID 有点类似DeBank 版本的蓝勾勾,生成自己的ID 之后可以开通更多功能,目前的铸造门槛其实也不算高,花费$96 美金即可铸造,虽然这确实提高了女巫攻击的成本,但$96 美金并不算是实务上不可行的门槛。

在Web 3 ID 之外,DeBank 还推出了另外一个东西:Badge 徽章,虽然这不在这次公布的「有价值的Web 3 用户标准」之中,但也许未来也会将这列入参考。目前能铸造的Badge 有这些:

都是需要达到一定的链上活动才能铸造,例如地址存在天数100 天、1000 天,总共花费过多少Gas 费,曾经领过某项目的空投,而其中有些Badge 的铸造条件还需要先有Web 3 ID。

小结-DID 终将成为主流

总结来看,无论是Gitcoin Passport,或是Debank 的Web 3 ID & Badge,都是在建立我们自己独一无二的链上身分(DID),一旦大家都开始建立自己的DID,项目方开始透过DID 来认证使用者,女巫地址就无所遁形,发起女巫攻击的难度只会愈来愈高。