比特币生态正在变得复杂,减半、铭文、符文和各类 Layer 2 正在紧锣密鼓的进行中,叠加 ETF 通过后的场外资金涌入,一时间风头无两,简单列举一下就有 Ordinals、Atomicals、Stamps 和 Runes,继续细分衍生协议就会发现概念有多繁杂。
-
ARC-20
-
SRC-20
-
Runes
-
BRC-420
-
BRC-100/102
不同于常听到的 ERC-20 和 ERC-721,它们俩分别在以太坊取得 FT 和 NFT 的标准定义地位,整个 EVM 生态的都是对其的改造,比特币上的各类协议还在竞争,接下来,我判断,才是具体代币之争。
这种情况在以太坊扩容上已经演示过一次,一般会分为三步:
-
技术范式竞争,Plasma、Rollup(ZK/SNARK/STARK、OP)、状态通道和侧链四种,Rollup 路线胜出;
-
具体协议竞争,ZK 系 Rollup zkSync、Starknet、Scroll,OP 系 OP Mainnet、Arbitrum One 生态竞争;
-
完成代币发行,OP 系龙头率先发币,ZK 系慢随其后。
代币发行之后,各项目基本就会躺平,行业叙事焦点也会变换,这些代币只会在板块轮动时偶尔暴涨或暴跌,才会短暂出现在人们眼中。
推广而言,在 DA 竞争、DEX 竞争、去中心化排序器,甚至于公链竞争等所有区块链赛道都会呈现这个规律,这也是我之前认为 BTC L2 会遵循以太坊扩容路线演进的原因。
这个规律会发生在比特币之上吗?
BTC L2 正在进行中,难以下最终判断。铭文类协议也许会,原生 Ordinals 由 BRC-20 引燃也是事实,但是 Runes(符文)的情况会有所不同,一方面,Runes 创始人 Casey Rodarmor 明确 Runes 不会发行代币,另一方面,Runes 是补齐了比特币上的资产发行功能,最终增强的是 BTC 的价值捕捉能力,就像 Uniswap 赋能于以太坊生态和 ETH 而非 UNI 一样。(心疼 UNI 持有人一秒钟)
有趣之处在于,比特币有可能会不同于任何其他区块链的范式演进过程,基于此,可以归纳出一种潜在的比特币上的资产发行规律,从 BTC、Ordinals 到 Runes 分别是主网原生代币,NFT 发行协议和 FT 发行协议,最终导流至 BTC 本身。
当然,这个推论并不一定正确,铭文类协议,如 BRC-20 已经推出 ORDI 代币(ORDI 代币和 Ordinals 协议无关),事实上已经实现了 Runes 的 FT 资产发行功能。
理解比特币:减半和 UTXO
Runes 有可能在今年 4 月减半时的 840000 的区块高度开始发行。
为大家拆解下这句话:
2024 年 4 月减半,或者人们常说的 4 年是减半周期,算法来自于中本聪的设计,每 10 分钟产生一个区块,21 万个为一轮,一天有 1440 个 10 分钟,一年有 365 天,所以算下来就是大约每四年减半一次。
减半周期计算方式
减半,中本聪设计的区块奖励机制,每 21 万个区块减半一次,即第一个 21 万内,每产生一个区块,可以挖出 50 个比特币,然后是 25 个,现在是第三个周期,每个区块奖励 12.5 个,21 万 X 4 = 84 万,所以到下一个周期的时刻就是 84 万,期间产生的区块奖励就是 6.25 个,最终,根据减半周期,可以算出比特币总量为 2100 万个。
比特币总量计算公式
沿着这个思路继续深入一下,本轮周期结束后,可以算出 1837.5 万个比特币会被挖出,占 2100 万个发行量的 87.5%,矿工的收益会越来越倚重手续费。
这里手续费指的是矿工打包区块交易的费用,一般而言,矿工收入由两部分构成,除了手续费外,还有挖矿奖励,比特币的挖矿其实就是纯粹的算力竞赛,而非去求解任何具体问题。
以往,交易手续费只有挖矿奖励的 1/100 甚至更低,但是以后可就不一定了,铭文、符文协议会导致大量比特币主网交易活跃,而挖矿奖励会逐步减半,最终无限接近于于零,届时,交易费用必须覆盖矿工成本,才能从根本上维持比特币的安全性。
继续深入,比特币手续费就来自于 UTXO 概念,UTXO 是 Ordinals 和 Runes 的依赖,也是两者不依赖链下数据的技术源头,目前的公链体系,实际上也可分为 UTXO 、智能合约(EVM)、Cosmos 三大主流机制,常见的各大区块链基本上都可被归入其中。
区块链类型划分
实际上,UTXO 很反常识,全称为“Unspent Transaction(Tx) Output”,即未花费的交易输出。
以太坊不是这样的,以太坊上的地址(排除智能合约地址),都可以直接显示余额,扩展到 Solana 等非 EVM 体系,依然可以地址显示余额,可以执行智能合约等复杂操作,这也是它们都被归纳为智能合约类型区块链的原因。
但是 UTXO 机制的比特币也需要显示余额,那么这时候就需要开脑洞,如果一个人的地址余额无法显示,那就直接显示所有的交易记录,如果每个人都能知道所有地址的交易记录,那么自然可以“推算出”自己还有多少比特币。
例如,Alice、Bob 和 Case 三人使用 BTC 来交易,已知 Alice 有 10 BTC,Bob 和 Case 都是 0 BTC,并且矿工善心大发不收手续费:
-
Alice 向 Bob 发送 10 BTC,此时 Alice 余额为 0,Bob 余额为 10,Case 余额为 0;
-
Bob 向 Case 发送 5 BTC,此时 Alice 余额为 0,Bob 余额为 5,Case 余额为 5;
-
Case 向 Alice 发送 2.5 BTC,此时 Alice 余额为 2.5,Bob 余额为 5,Case 余额为 2.5;
得益于比特币的哈希链表结构,全网节点只需要更新最后一次交易信息,便可对全部交易记录进行验证,也就间接“推算出”每个地址的余额,聪明的你已经感觉到了,比特币主网记录的只是转账信息,就可以对 BTC 转移记录进行跟踪,也就根本就不需要记录地址余额,这也是其能够保持简洁性的根本原因。
需要说明,三者的余额只是说明转账信息,本质上比特币没有账户体系,切记切记。
如果是以太坊,那么这个进程应该是这样运行:
-
Alice 向 Bob 发送 10 ETH,Alice -10 ETH,余额为 0,Bob +10 ETH,余额为 10,跟 Case 无关,不需要记录;
-
Bob 向 Case 发送 5 ETH,Bob - 5 ETH,余额为 5,Case +5 ETH,余额为 10,跟 Alice 无关,不需要记录;
-
Case 向 Alice 发送 2.5 ETH,Alice + 2.5 ETH,余额为 2.5,Case - 2.5 ETH,余额为 2.5,跟 Bob 无关,不需要记录。
这里的余额就是真的以太坊地址有多少 ETH,而不是单纯记录交易信息。
一个区块之内,可以打包多个交易,这些交易有先后顺序,按照 Gas 高者优先,来排队输出。
比特币数据结构
总之,顺序可以被建立,也就可以被记录,并且,可以在交易时写一些“备注”,如果按照特定的顺序去组合这些备注,就可以产生有意义的文本、图像甚至音视频,他们本质上都可被表达为二进制数据,组合这些顺序的的叫索引器(Indexer),组合成有意义的文本叫铭文(Inscription)。
如果对其进行改进,规定某些刻录信息要遵循同样的规律,比如同样的文本符号,数字具备登长的精度,某个数字代表某个地址所有权,那么,一个简陋但足够使用的 FT 协议便诞生,这就是符文。
归纳下,不论铭文还是符文,都是基于 UTXO 的交易顺序,这也是二者都是基于比特币的最主要理由,而索引器或者排序,即使出现错误,都不影响比特币上的数据生成。
可以稍微扩展一下,有两类特殊的比特币是没有输入或输出的:
-
Coinbase 交易,不是那个交易所,而是比特币的产生方式叫 Coinbase,矿工打包成功后会生成一个 BTC,这也是比特币的唯一生产方式,这种交易没有输入,只有输出,因为是被凭空创造出来的,没有上一个交易信息; -
中本聪地址的比特币没有输出,因为中本聪从来没有花过,但这不是技术限制,而是他自己选择如此,等同于被动销毁,也被称为黑洞地址;
UTXO 并不神秘,就是一个记录没有花费的集合,当花费时会自动去除,任何一个交易必须有输入和输出,即存在两个交易对象,除了 Coinbase 交易没有输入外,都是如此。
(UTXO 技术原理和实现方式不过度展开,欢迎专业人士补充~)
铭文进化至符文
理解了减半机制和 UTXO 工作原理,已经非常接近 Ordinal 协议的实现方式,比如说,汉的字顺序不响影阅读,当然,计算机无法处理存在错误的信息,人类才有在大脑中自行解码信息的能力,所以要排序。
如果对每个字进行排序,按照正常语序,则是(汉,0),(字,1),(的,2),(顺,3),(序,4),(不,5),(影,6),(响,7),(阅,8)(读,9)。
此时,我们只需要让计算机记住 0123456789 的顺序即可,如果想改变意思,比如展示“汉的字顺序不响影阅读”,那么计算机显示0213457689 即可。
不过唯一的瑕疵在于,展示排序的机制,即索引器(Indexer)无法部署在比特币之上,需要在链下记录和整理信息,以平衡成本。
-
比特币上,记录“汉字的顺序不影响阅读”或者“汉的字顺序不响影阅读”和每个字对应的数字,这十个字顺序无关紧要; -
索引器上,整理汉字对应的数字,按照用户想要的格式输出。
铭文和 NFT 详细对比
在和 NFT 比较上,铭文认为自己才是链上存储,从数据的存储方式上而言,确实如此,但是在去中心化程度上,则见仁见智,铭文的索引器并不总是去中心化或运行在链上的,即使运行在链上,单节点或节点数量过少也会造成中心化问题。
NFT 是将图像存储在 AWS 等云厂商或者 IPFS/Filecoin 和 Arweave 等去中心化存储方案中,而将存储指向链接写在链上,并且通常 NFT 部署方可以改变链接,但是好处也是显而易见的,极致的便宜,而比特币链上,存储实在是太贵了,具体可参考我之前写的文章:1.5 BTC 存乱码,中本聪活了?抽丝剥茧寻真相~。
铭文和 NFT 的工作原理
事实上,到此为止,绝大多数的铭文/符文或者各类的 XRC-20 之类的工作原理都已经叙述完毕,无非是加一点中心化提高效率,搞一些空投拉拉人气的平常操作。
或者用 Casey Rodarmor 的话来说,RGB、Taproot Assets 等都无法同时满足三个条件:
- 不使用链下数据
- 不发行新代币
- 基于 UTXO 机制
为了防止误解,对以上三条做个补充说明,不使用链下数据 ≠ 不能使用索引器,索引器只是排序,数据还是在链上好好存着;不发行新代币,是指协议本身不发行代币 ≠ 不能用协议来发币,比如你可以用 Runes 来发自己的币,但是 Runes 本身没有协议代币,完全使用 BTC 来运作;基于 UTXO 机制是为了不给比特币主网增加额外负担,尽量不干扰比特币正常交易行为,这也是 Casey 发明 Runes 协议的初心。
也就是说,BRC-20 可以发代币,但是 Casey 认为其不是 UTXO 机制,并且会“扭曲” Ordinal 的初心,干脆自己出一个比特币上的 FT 资产协议。
从这个角度而言,Runes 是 Ordinal 的正统续作,两者将分别负责比特币上 FT 和 NFT 类型资产的发行,有望彻底终结标准协议之争。
各区块链代币类型
不同于以太坊是先有 ERC-20 标准,再有 ERC-721 标准,比特币上的进程颠倒了,因此,Runes 会更像 Ordinal ,也就是在 NFT 上改造出 FT 发行方式。
具体而言,并不复杂,我只对其做简略说明:
- 发行:参考 ERC-20 设计,发行方必须设计好代币名称和最大精度;
- 转移:比特币没有账户体系,因此是通过记录信息,“模拟”进行转移。
实现过程不再探究,因为确实很简陋,在同人续作 Rune Alpha 中,通过 PBST(部分签名的比特币交易),可以让多方签署同一笔交易,比如匹配卖家和买家的签名,在完成后将结果广播至主网,这种方式就合乎人类的直观逻辑,尤其是以太坊用户。
虽然本文是符文主题,但是也能感受到大量笔墨花费在比特币原理上,但是这就是铭文和符文的优势,它们就是比特币功能的补强,而非自己的创造,其一切行为都是对比特币已有功能的运用和改造。
而紧随 Runes 其后出现的 Rune Alpha、RSIC 和 Runestone 都是热度佳作,能否延续 BRC-20 对 Ordinal 的夺舍还未可知。
结语
从协议演进到代币发行,这个规律在区块链中屡试不爽,甚至于不发币的 Ordinal 都被 BRC-20 抢光风头,但是 Runes 本身不需要代币支撑其运作,BTC 从哪一个角度都是合格的,Casey 本人在意识形态上同情“比特币极大主义者”,但是更重要的是认识到现实引力的沉重,不能空喊口号,所以不赞成封锁铭文,但是也承认对 UTXO 造成的拥堵,因而提出 Runes 协议,看似矛盾的背后,或者说他是“行意识形态之实,去意识形态之名”更为合适。
从去年以来,铭文、ETF、BTC L2 和符文的风潮接连来袭,但是对比特币原理的漠视导致各类 XRC-20 乱飞,比特币是掌管矿工收入的神,中本聪是用数学和编程作画的大师,为了在挖矿奖励愈发减少的时代维护比特币的监控,协议之争越早结束越好。