您当前的位置: > 数字货币 >
比特币BRC-20基础设施不完善所产生的安全风险是什么?
在近期 BRC-20 市场热络之下,BRC-20 的安全问题也再次被社群搬到台面上讨论,BRC-20 有什么安全问题?身为持有者有什么绝对需要知道的事情?
BRC-20 背景知识
在讨论 BRC-20 安全问题之前,需要先稍微理解 Ordinals 协议与 BRC-20 的运作原理,就可以轻松深入理解。
Ordinals
Ordinals 是今年一月由软体工程师 Casey Rodarmor 开发并开源的专案,该协议可以追踪比特币网络上的所有的比特币,追踪的单位是比特币的最小单位「聪 (satoshi)」。
Ordinals 协议可以提供用户与开放者,将任何资讯写入聪的交易备注栏位中,让特定的聪可以关联外部的元资料,例如图片或是文字等等,进而开启 Bitcoin 上的 NFT 时代。这个纪录对应资料的动作称之为铭刻 (inscribe)。
因为比特币网络并没有原生虚拟机与智能合约系统,因此这些资料是连结到链下的伺服器做管理,这都还好,但直到出现了 BRC-20。
BRC-20
随后在今年三月份,一个名为 @domodata 利用 Ordinals 协议制作了 BRC-20 标准,也就是将刻上去的文字以 JSON 档案的形式,将代币的资料纪录,范例如下:
![](/uploads/allimg/240626/02012Q627-0.jpg)
上述有说明比特币网络没有智能合约系统,所有资讯其实都是放在交易备注栏位之中。因此定义 BRC-20 的铸造、转移、销毁的机制,当然也是写文字上去并没有实质效力,需要有其他机制协助运算与结算,现阶段都是是利用链下的伺服器与索引器 (indexer) 去追踪与管理所有纪录。
例如小明要转帐给小美 10 PEPE 代币,那么就需要将 PEPE 的转帐资讯,利用 JSON 的形式写入转移聪交易备注栏中,等待确实打包出块之后,等待 indexer 追踪到 JSON 档案内的资讯,再从 indexer 的帐本中扣除小明的 PEPE 代币,并增加小美的 PEPE 代币纪录。
因此,需要有可以追踪 BRC-20 代币交易资讯的交易所与钱包,目前有支援 BRC-20 代币的服务如下:
- OKX Wallet
- UniSat Wallet
- Magic Eden
BRC-20 衍生问题
可以发现 BRC-20 的机制有明显的安全问题,持有者需要对于 indexer 有信任,才可以完成这些交易,如果这些 indexer 作恶、异常、被骇客入侵等等,那么用户资产就会面临安全风险。
利用这种机制可能衍生出有人拿空气跟自己买代币 (无中生有),或者有人拿固定量的代币跟别人做多次交易 (双花问题),以下分别说明。
无中生有
社群成员 Sam 于 X (Twitter) 举例,假设骇客想要小明手上的 A 代币,若此时骇客正好有能力骇入某个知名的 indexer,并且有能力控制它一个小时,在这一小时里,他先给自己凭空增加了 B 代币 ( 窜改indexer资料库即可 ),然后把代币 B 转给小明。
小明很谨慎,他在浏览器上也能看到自己得到了代币 B,于是放心的把代币 A 转给对方,在一个小时结束后 indexer 发现被入侵并重新同步了数据,此时小明刷新浏览器会发现代币 B 不见了,且代币 A 也消失了。
为什么会发生这种事?原因如下:
- 骇客和小明连接了同样的 indexer 伺服器,小明和骇客看到的前端资料始终是一样的,包括被骇前后和被骇的过程。
- 骇客转给小明的代币 B 并未发生在比特币链上,此次交易资讯只发生在 indexer 伺服器里,骇客可以改资料库里面的数据。因为此时小明信任这个 indexer,所以看到 indexer 浏览器更新的资料便认为代币 B 的交易已经完成。
- 就算小明直接去比特币网络查铭文,但骇客完全可以发一笔交易,上头刻着骇客自己写的 JSON 资讯 (indexer不会认可) 给小明查。
- 小明给骇客的代币 A 的交易确实在链上发生了,且因为小明确实有足够多的代币 A,所以即便 indexer 发现被骇后进行回滚,小明的这笔交易还是会被成功执行。
客手上都没有代币 B,为什么这笔交易能发成功?原因是比特币网络没有虚拟机跟智能合约,只是记录了一个数据,整个合法性校验完全是靠indexer 来完成的,而此时 indexer 已经被黑客控制了。
双花问题
除了骇客的问题之外,过往也有出现过多个索引器版本差异导致双花问题的风险,也就是因为不同索引器版本差异,使得一个资产有机会有多次交易的可能,但是当这些主流索引器同步共识后,就会使买到非共识资产的持有者资产损失。
现阶段该怎么保护自己
多注意社群的更新动向,通常 Twitter 消息最灵通,确保自己交易资产时 indexer 是可以信任的。
期待未来可以有更好的基础设施,可以降低 BRC-20 的安全风险。
社群潜在解决方案
上述问题出在现阶段生态 indexer 数量太少,如果有 100个 indexer,那么骇客根本不知道小明会用哪个 indexer,小明也可以随时切换到其它 indexer 去做多重验证,此时骇客做坏事的成本就会提高,高到几乎不想做坏事。
需要用经济机制去解决问题。实际上会有多少 indexer 在运行,取决于 indexer 运营商可以得到多少利润,利润够高自然会去运行,数量就会提升,如同现在大多数去中心化网络节点的运作模式,数量够多就足以去中心化、去信任化,不用担心节点的故障或是作恶问题。
ORDI 作为治理代币创造对应协议
有社群成员提出使用最早的 BRC-20 代币 — ORDI,并建构一套治理机制,所有 indexer 都需要质押 ODRI 代币才可以营运,若成功交易给予代币奖励,若其作恶则没收代币。
不过现阶段 ORDI 代币发展至今,大动作改变其代币经济不容易维持社群共识,因此推动非常困难。
较期待有新的协议与代币拥有足够多的共识来解决这个问题,也开始有团队着手尝试,有人提出了 TRAC。
TRAC 去中心化索引网络协议
TRAC 协议包含一个去中心化网络、对应的客户端、代币治理经济模型,目标是打造一个去中心化的 indexer 网络,预期利用代币奖励与惩罚机制,强化 BRC-20网络安全。
不过目前该专案共识是否足以推动愿景仍是未知数,因为需要大多主流的 indexer 都愿意加入响应才有机会做到。
期待能系统性完善 BRC-20 基础设施
其实上述这些衍生问题与资产面临的风险,归根究底的原因其实就是:
因为 BRC-20 没有智能合约支持。
因此需要重新打造一条去中心化网络,以提供类似智能合约的去中心化网络,不过既然都要重头开始,为什么不一次到位,做一个专为比特币执行的去中心化虚拟机网络呢?因为要重新打造一条去中心化网络就需要一个新经济模型去维持,由过往区块链、去中心化储存网络到预言机领域,可以知道从零打造一个去中心化网络与共识是一件非常困难的事情。
不论接下来 BRC-20 的发展发向与结果如何,可以看到许多人此症在努力尝试优化现有生态,期待可以看到 BRC-20 更加成熟的一天。