区块链/等级 IX · 速度与奇观/9.2 公平的市场/课程 4
发行期攻击与女巫中立设计
狙击与捆绑买入,以及克制它们的费用对称性
材料带有交易关系图视图的区块浏览器持币分布图工具(例如 Bubblemaps)用于追踪资金来源的电子表格能够进行按比例分配计算的电子表格
好奇
- 为什么在区块中排在最前面,就决定了谁能买到最便宜的代币?
- 一个人如何能在无人知晓的情况下拥有上万个钱包,直到事后才被发现?
- 是否有可能设计一种发射方式,使得提前到达不会带来任何优势?
探索
- 当一种代币诞生时,其价格由其在联合曲线上的位置决定。第一个购买者需要支付最低的价格;此后的每一次购买都会提升储备量,进而提高单位成本。这就形成了一种竞争:在代币创建后的首个区块中完成购买的人就能获得最大的折扣。在这里,速度不仅仅是优势,它本身就是进入市场的全部经济价值所在。
- 狙击者会持续监控网络上新创建的代币。铸币交易一上链,他们就在紧接着的下一个 slot 中执行买单。在 Solana 这样的高吞吐量链上,这场竞赛以毫秒计。狙击者以曲线的起始价格买入数千枚代币,并常常在几分钟内卖给那些看到代币上了热门榜而进场的自然买家。
- 捆绑交易让这场竞赛变得制度化。创建者可以把代币的创建和来自多个新钱包的买入打包成一个最多包含五笔交易的“捆绑包”(bundle),每笔交易可以包含多次买入,这些交易要么全部一起执行,要么全部不执行。这样,单个主体就能拿下大部分早期供应,并确保没有任何外部狙击者能插在代币创建与其自身的协同买入之间。
- 在大多数区块链上,创建新地址的成本微乎其微。一个脚本可以在几秒钟内生成数千对独一无二的公私钥,每一对在链上都显示为一个独立的持币者。这就使女巫攻击成为可能:一个主体把持仓分散到许多钱包中,以掩盖筹码集中,或者薅取按钱包发放的奖励,比如空投和治理投票,这些机制都假定每个地址代表一个独立的人。
- 检测是事后进行的。Bubblemaps 等工具会分析这些地址的资金图谱,把资金流向追溯到同一个源头钱包。如果一百个“独立”持币者的初始资金都来自同一个交易所账户或创建者的钱包,他们就会被揭示为同一个实体。然而,这种分析发生在价格冲击已经出现、利润已经落袋之后。
- 未来发射机制的设计挑战是结构性的:能否构建一种彻底取消先到先得定价的机制?如果同一区块中的每笔订单都获得相同的价格,那么在区块内排在最前面就毫无收益(见后续课程)。如果奖励按余额而非地址数量计算,拆分成女巫钱包也就毫无收益。
- 对每一笔代币转账收费,且不对特定地址或重新标记的钱包设豁免,会让任何交易的每一笔都承担固定成本。刷量交易,即某一主体自买自卖以制造虚假成交量,每完成一个来回就要支付两次费用。由于每次执行都会真实损失资本,随着费率提高,制造虚假成交量的经济动机会急剧减弱。
- 即时(JIT)策略只在某一瞬间介入以获取收益:在 AMM 上,于大额交易前一刻添加流动性以收取其手续费,并在交易后立刻撤出,拿走本应由被动流动性提供者赚取的费用;在奖励代币中,则是在分配前一刻买入、分配后立即卖出。进出两端都收费,会让这类来回操作的成本高于短暂的收益,除非收益异常丰厚;而进入成本低、退出免费,则会招来这类操作。
- J. R. Douceur 在2002年关于女巫攻击的论文中指出,依赖身份数量的系统容易受到攻击者制造大量虚假身份的威胁。在代币经济学中,按钱包平均分配的奖励会招致这种刷取:一个用户可以创建十个钱包,用相同的总资本领取十倍的奖励。这使奖励与实际的经济投入脱钩,让单一实体无需相应投资就能主导收益。
- 线性、按比例分配通过将奖励严格与余额大小挂钩来解决这一问题。如果奖励池按持仓比例分配,那么把一笔余额拆分到多个钱包中,所得的总奖励与集中在一个钱包中完全相同。无论有多少个地址持有代币,奖励总额都保持不变,因此攻击者无法从女巫攻击中获得任何好处。身份数量变得无关紧要,只有资本才重要。
- 假设一个10,000单位的奖励池分配给总供应量为100,000的代币,那么每个代币可获得0.1单位。持有1,000个代币的单个钱包获得100单位;各持有100个代币的十个钱包每个获得10单位,合计同样是100单位。这种分配不受地址拆分的影响。这种线性确保女巫攻击在经济上是中性的,迫使攻击者在实际资本投入上竞争,而非靠增加身份数量。
- 其代价是交易量减少。费用会降低合法交易者的净收益,若设定过高则可能扼杀市场发展。Solana的Token-2022标准支持内置的转账费用,而EVM链则通常依赖协议层面的税制或智能合约逻辑来收取费用。SafeMoon在2023年其高管因欺诈罪被起诉,这一案例表明:当团队能够控制这些费用时,它们反而可能为内部人士服务。设计者必须在起到威慑作用与维护市场活力之间找到平衡点。
部分 I发射攻击:狙击、捆绑交易与女巫钱包
部分 II费用、对称性与不受女巫攻击影响的奖励
关键事实
- 狙击者会在代币创建后的第一个区块买入,以拿到联合曲线上的最低价格。
- 由最多五笔、来自不同钱包的交易组成的捆绑包,要么全部一起执行,要么全部不执行。
- 女巫攻击利用低成本的地址生成,把单一主体的筹码集中伪装成许多独立持币者。
- 资金图谱分析可以事后将互不相干的地址追溯到同一个源头钱包。
- 按钱包发放的奖励会激励人们把持仓分散到多个地址,从而放大女巫风险。
- 将代币创建与初始买入打包成一个捆绑包,可以阻止外部狙击者插入其间。
- 由于进出都需要支付费用,因此在大多数情况下,这种短进短出的策略带来的收益无法覆盖成本。
- 线性、按比例的奖励分配使女巫式钱包拆分在经济上保持中性。
- J. R. Douceur 在其2002年关于点对点系统的论文中定义了女巫攻击。
- Solana的Token-2022标准内置了对转账费用的支持。
- 刷量交易在一个来回的买入和卖出两端都要承担费用。
- 过高的转账费用会抑制正常的交易量,甚至导致市场崩溃。
练习 九、六、三、一
9收集列出代币部署中使用的9种不同的发射机制或分配方式,并注明每种奖励的是速度、身份,还是流动性提供。
6归类按照各自最容易受到何种攻击,将这9种归为6组。
3提炼将这6组归纳为3个根本性的设计矛盾,即在代币发射时试图平衡公平性与抗攻击性所产生的矛盾。
1凝结用一句话比较:消除速度优势与消除持有大量地址的优势,各自有多难。
事实核查
日期、数字及数据均依据下方列出的已发表资料进行核实。