解析一种对于BRC-20钱包的攻击方式
Trustless Labs 是以技术驱动的孵化和投资机构,现在正重点关注 BTC 生态和 fair mint 的公平项目。在深入研究 BRC-20 代码和机制后,我们发现转账阶段存在针对 huge holder 可能的攻击手段。为了帮助交易所检查是否存在流程规范问题,同时也践行白帽精神,我们尝试使用测试过的手段锁定了币安 ORDI 热钱包资产,导致币安暂停 ORDI 提现。我们第一时间通知了币安团队,沟通了操作细节,以帮助币安尽快恢复提现,三小时后,币安恢复了 ORDI 提现。本文会从 BRC-20 的设计原理出发,系统性地分析一下币安暂停 ORDI 提现的原因,帮助大家理解为什么任何人都可以锁定你的 BRC-20 余额。
首先我们在 UniSat 上看一下链上都发生了什么。
这是撰写本文时 UniSat 上展示的币安 ORDI 热钱包余额,分为三部分 Transferable、Available 和 Balance。这里涉及到 BRC-20 中的三个基本概念 Transferable balance、Available balance 和 Overall balance。Transferable balance 是指可以直接转出的余额,Available balance 是指可以变成 Transferable balance 的余额,Overall balance 是前面两者之和,表示当前地址总余额。看到这里大家可能会问了,既然当前币安 ORDI 热钱包有这么多余额,那为什么还无法提现转出呢?别着急,我们继续往下看。
BRC-20 的转账需要两步操作,第一步先 inscribe 一个 transfer 的 Inscription ,第二步再把这个 Inscription 转给接收方,完成 BRC-20 的转账。由于 Inscription 转移是基于 UTXO 的,也就是说,第一步 inscribe 了多少 amt 的 Inscription ,第二步就只能转出多少 amt 的 BRC-20,所以前面提到的 Transferable balance 也是基于 UTXO 的。举个例子方便大家理解,假设 A 是一个新创建的地址,然后你 mint 了 m 个 ORDI 到 A 地址,或者从其他地址转了 m 个 ORDI 到 A 地址,这时 A 地址的 Available balance 和 Overall balance 都为 m ,Transferable balance 为 0 。然后我们从 A 地址转 n 个 ORDI 到 B 地址,第一步先 inscribe 一个 amt 为 n 的 Inscription 到 A 地址(当且仅当 n <= m 时,该 Inscription 是有效的),此时 A 地址的 Transferable balance 为 n ,Available balance 为 m – n ,Overall balance 为 m ;第二步再转移这个 amt 为 n 的 Inscription 到 B 地址,此时 A 地址的 Available balance 和 Overall balance 都为 m – n ,Transferable balance 为 0 , B 地址的 Available balance 和 Overall balance 都为 n ,Transferable balance 为 0 ,转账完成。
以 UniSat 上展示的币安 ORDI 热钱包交易列表为例,图中 Method 为 inscribe-transfer 的对应上面讲到的第一步操作,Method 为 receive 或 send 的对应第二步,而且图中最后两笔交易共同组成了一个完整的 BRC-20 转账。另外三笔 inscribe-transfer 的交易分别 inscribe 了 amt 为 8,210,108 、6,099 、2,683 的三个 Inscription,这三个 Inscription 共同组成了 Transferable balance。所以如果现在要从币安 ORDI 热钱包转出 ORDI ,只能转出三笔对应 amt 的 ORDI ,当然无法满足用户多样的提现需求。
出现这种情况的原因在于,任何人都可以 inscribe 一个任意的 Inscription 到任意地址,所以任何人都可以通过执行 BRC-20 转账的第一步操作锁定任意地址的 BRC-20 余额。那么币安应该如何解决目前面临的问题呢?其实很简单,只要把前面提到的三个 Inscription 转给自己,就可以把 Transferable balance 变回到 Available balance ,然后再根据用户提现需求 inscribe 对应 amt 的 Inscription 转出。但是这只能解燃眉之急,无法从根本上解决问题,只有改进协议本身,解决目前 BRC-20 设计上存在的缺陷,方可一劳永逸。
比推快讯
更多 >>- Starknet基金会向链上元宇宙游戏Realms.World授予200万枚STRK赠款
- 美CFTC主席:针对加密的“执法行动周期”将在未来六个月到两年内进行
- 美 SEC 推迟对 Invesco Galaxy 现货以太坊 ETF 提案做出决定
- Bitwise CIO:Coinbase 受益于“恶劣的监管环境”
- Web3社交网络Bondex完成新一轮战略轮融资,DEXT Force Ventures参投
- Arbitrum 在 Uniswap 上的交易量突破 1500 亿美元
- Jack Dorsey旗下比特币公司Block将通过发行高级票据筹集15亿美元
- 美联储Thomas Barkin:加息的全面影响尚未完全显现
- Visa报告:以太坊、Tron、Solana链上超90%的稳定币交易由智能合约或机器人达成
- 美联储Barkin:今年的通胀数据令人失望,工作尚未完成
- 机构级代币化资产管理公司DwellFi完成300万美元种子轮融资,Stanford Blockchain等参投
- 美国现货比特币ETF今日增持3710枚BTC,价值约合2.36亿美元
- Kaiko:USDC在中心化交易所的交易量激增,3 月份创下 380 亿美元历史新高
- Jack Dorsey 退出去中心化社交媒体初创公司 BlueSky 董事会
- OpenAI官网主页上线“Ask ChatGPT anything”界面
- 加密律师:美SEC滥用Wells通知是一种“恐吓策略”
- ETHGlobal拟于7月12日举行ETHGlobal Brussels黑客松,总奖金 50 万美元
- 某链上交易者因FOMO情绪在17分钟内损失239枚SOL
- 比特币向下触及63000美元,日内跌1.18%
- The Information:微软准备推出新的AI模型与谷歌及OpenAI竞争
- 报告:美国加密超级政治行动委员会已筹集超过1亿美元
- 某巨鲸清仓 8,714 枚 ETH,约合 2706 万美元
- 彭博分析师:在加密市场低迷时期,超过 95% 的 ETF 投资者未抛售
- Farcaster 客户端Kiosk完成1000万美元融资,Electric Capital领投
- 一ETH巨鲸过去1小时累计向币安充值7400 ETH,疑似清仓
- 美股三大股指高开,MicroStrategy涨近5%
- Custodia计划发行稳定币,拟起诉美联储以获取支付轨道
- 肯尼亚任命比特币矿商Marathon Digital为顾问
- Kraken拟于今年七月向德国市场提供加密产品
- Robinhood:美SEC韦尔斯通知与RHC代币上市有关
- 美SEC向Robinhood美国加密业务发送Wells通知
- 彭博分析师:香港虚拟资产ETF对当地市场影响和美国一样大
- 灰度GBTC周一盘前交易上涨5%
- 香港是目前唯一经营以太坊现货ETF的虚拟货币金融市场
- 澳大利亚法院在Qoin项目案件中做出利于ASIC的判决
- DWF Labs向Bybit存入1000万枚VELO
- 两鲸鱼地址从CEX提取982万枚ENA
- 香港6支比特币和以太坊现货ETF今日共成交约6041万港元
- 自托管服务商Safeheron推出BTC L2生态资产管理解决方案
- BTC突破65000美元
- Paytm调整管理层,以发展支付和金融服务
- 老虎证券推出虚拟资产交易服务
- 潘渡金融集团获得首轮数千万港元战略股权投资,隆领投资领投
- 比特币L2网络Mezo TVL突破1亿美元
比推专栏
更多 >>观点
项目
比推热门文章
- Starknet基金会向链上元宇宙游戏Realms.World授予200万枚STRK赠款
- 【比推每日新闻精选】SEC 推迟对拟议的 Invesco Galaxy 现货以太坊 ETF 做出决定;SEC向Robinhood的美国加密业务发出Wells通知;美CFTC主席:针对加密的“执法行动周期”将在未来六个月到两年内进行
- 美CFTC主席:针对加密的“执法行动周期”将在未来六个月到两年内进行
- 美 SEC 推迟对 Invesco Galaxy 现货以太坊 ETF 提案做出决定
- 【比推每日市场动态】BTC“深蹲”未结束,下一波“起跳”目标9.2万美元
- Bitwise CIO:Coinbase 受益于“恶劣的监管环境”
- Web3社交网络Bondex完成新一轮战略轮融资,DEXT Force Ventures参投
- Arbitrum 在 Uniswap 上的交易量突破 1500 亿美元
- Jack Dorsey旗下比特币公司Block将通过发行高级票据筹集15亿美元
- 美联储Thomas Barkin:加息的全面影响尚未完全显现