本文要点:
比特币的 BRC-20 实验
Sovereign Rollup 如何将仲裁从 L1 剥离开来
Babylon 如何进一步压缩存储
RGB 何以是区块链设计的标准范式
比特币的 BRC-20 实验
一条匿名推文,直接让比特币交易数翻倍。
虽然币圈从来不缺热点和草莽神话,但 BRC-20 这一爆款,明摆着是奔着大家对 ERC-20 的联想与想象力去的,火起来实在有点莫名其妙。只能说起名实在是太重要了;还有另外两点,一是人是有占有欲的,二是市场的动物精神(Animal Spirit),见“火苗”就上。
BRC-20 用一句话就能说清楚,就是在比特币区块上刻上币的名称、总量,以及记录挖币(Mint)和转账(Transfer)。你也许会奇怪,比特币不是不支持什么智能合约的吗?对的,但 BRC-20 不管,刻上了就是了,“合约”的执行交给链下的客户端去做。客户端在哪儿呢?不好意思,没有,目前只有个镌刻服务 Unisat。
https://twitter.com/domodata/status/1633658974686855168
当然,这里不是做喷子,毕竟凡事开头简陋点正常,而且作者本身也说这只是实验,而且很多冲进去的炒家可能是揣着明白装糊涂,深信赚到钱比站对队重要。
乍看之下,很容易有一种错觉,即币发在比特币链上,那是不是安全性也和比特币看齐呢?想多了。BRC-20 只是把数据存在链上,内容(状态和合约)和顺序听区块链的,但数据合法性、执行逻辑都听客户端的。BRC-20 币最终安不安全,得看其规则有没有被客户端遵循以及客户端是否被用户广为运行,或者说是客户端的共识强度。换句话说,BRC-20 更像是发在自己的由广泛客户端构成的另一条链上,比特币只是用来存数据的。
好的,那 BRC-20 就是垃圾了,Pass。可别;相反,客户端验证这个思路是有可取之处的。
Sovereign Rollup 如何将仲裁从 L1 剥离开来
客户端验证这个思路并不新鲜,其实在 Rollup 扩容中就已有实践。
我们介绍将计算挪到链下的 Rollup 扩容时,分了 2 类,即 Optimistic 和 ZK。但其实这只是站在执行层(Execution)角度的分类。我们还可以引入第二个维度,即清算层(Settlement)。
“清算”是金融上的概念,比如银行之间每日清算跨行转账。换成“仲裁”,可能更好理解一点,与智能合约更贴近点。简单来说就是有问题听谁的,比如员工与公司起了矛盾,找谁仲裁。
以太坊既管执行,又管清算。合约部署在链上,每笔合约交易都会被验证节点执行,最终状态也是保证公平公正公开的。Rollup 将执行挪到链下,但怕执行者不老实,所以在链上还会有个负责仲裁的合约,靠 Fraud Proof 或 Validity Proof 来判定谁有理。这是当今主流的 Rollup 方式,不管是 Optimistic 还是 ZK,都只是链下执行的进一步细分罢了。
有没有其他 Rollup 的法子呢?有的,我们还可以把仲裁也挪到链下。挪到链下谁来仲裁?用户自己运行节点(Light Node,其实就是客户端),自己仲裁。有人双花,出现纠纷怎么办,信谁的?按规则判定就是了,比如先出现的交易有效,后出现的无效。因为数据存在链上,而链上的排序是确定的,所以可以这么判定。在这种思路下,链上出现脏数据没关系,只要规则确定,状态结果就是确定的,大家都看在眼里。
由于仲裁是自己做,独立于链,这种 Rollup 叫做 Sovereign Rollup(有几分主权国家的意味);而我们先前讲的 Rollup,仲裁在链上,靠别人,因而又叫做 Enshrined Rollup(藩属国)。
在 Sovereign Rollup 方案中,链只需要提供 DA(Data Availability)服务,即数据存在你这儿,供大家访问。Celestia 就是专门提供 DA 服务的链;而以太坊接下来几年要搞的 Danksharding,也是奔着优化 DA 能力去的。
客户端验证、DA,记住这 2 个关键词。
Babylon 如何进一步压缩存储
不只是 Sovereign Rollup,把数据写到 DA 链上,还能想到啥?Babylon!
我们很久之前介绍过 Babylon Chain,这里不妨简单回顾下。
PoS 能耗低确实好,但安全性相比 PoW,实际上是有损失的。比如如果验证者愿意,他们可以将篡改的历史分享给刚加入的验证者,甚至合伙重写整个历史;PoS 依赖社会共识,并且有些情况下作恶的验证者可以逃脱惩罚(Long Range Attack)。
Babylon 解决这些问题的方式是,将 PoS 链的状态定期打包(Merkeleize)然后 Commit 到比特币这条安全性目前最高的 PoW 链上。这样一来,PoS 链的状态转移就有了一条确定性很高的时间序列,安全性从而有更坚实的靠山。
在 Babylon 方案中,比特币链的作用也只是 DA,和 Sovereign Rollup 如出一辙。
几个月过去,Babylon 测试网已经上线,并且接入了 23 条 PoS 链。
实际运行的图能很好地说明,Babylon 是如(以 Osmosis 为例)上的多个区块 Commit 到自己上面,再“拼团”成一个小小的 Hash,Commit 到比特币区块上的。
客户端验证、DA、Commit,记住这 3 个关键词。
RGB 何以是区块链设计的标准范式
铺垫了这么多,终于要请出真正的主角了——RGB。
RGB 协议干的事情,和 BRC-20 有相似之处。RGB 同样将比特币链作为 DA 链,把每次交易往比特币区块里写。但为什么 RGB 就是标准答案,而 BRC-20 却只能得个基本分呢?
首先,RGB 写的不是明文,而是 Babylon 那样写 Hash。这个一是扩展性(Scalability)更强,再复杂的交易都是一个 Hash 保证;二是私密性更强,别人看不出交易的实际内容和相关人。
进一步提升扩展性的是,只有 UTXO 的所有者可以处置其中绑定的 RGB 资产,相关资产之间通过 UTXO 联系起来,意思是如果你只关心某一种资产,你只需知晓这种资产从创建之始的 UTXO,到后面一路关联下去的 UTXO 即可,而不像 BRC-20 那样需要全网扫描。
当然,这么做也意味着,交易需要在链下传递(P2P)Hash 对应的交易内容,不然光有 Hash,大家谁也解读不了,不知道交易了啥。这算是一个 Trade-off。
RGB 对此设计的解释是,每个合约,每笔交易,从必要性和隐私上考虑,其实理应只由相关人知晓和验证。这很像以太坊当年想做的分片(包括计算和存储上的);而且比以太坊的随机分片更优的是,RGB 是按应用分片——你关心的你才需要存储和计算。
RGB 还采用了 Blinded Payment 和 Bulletproof 保护隐私,但这些都是锦上添花了。最重要的是,这套思路是通用的,已经可以拓展到闪电网络上,未来还可以拓展到更多 DA 链上。
了解了 RGB(Taro 也类似),反观 BRC-20,后者确实更像一个玩具。
结语
RGB 创始人有讲到一个实际案例,颇有启发。讲的是,英格兰和威尔士有 15% 的地产是未在官方登记的,这些地产要交易怎么办呢?所有者可以掏出之前 n 代的购买证明,证明他是所有者,让购买者放心。但购买者还要防范所有者把一处产权卖给多个人,怎么办?这种未登记的地产交易每次都得登报,这样如果此前已被转让,购买者查报纸历史就能知道。
在这个案例中,转让记录的验证是链下进行的,交易是 Commit 到“链”(报纸)上的(尽管是像 BRC-20 那样明文 Commit)。
类似的,L1 专心提供 DA 服务,供大家 Commit;L2 广播和存储完整数据,并承担执行和仲裁职能。还有比这更好更合理的架构吗?