摘要:AEPOBC2014年,ChromaWay提出EPOBC(enhanced,padded,order-basedcoloring)协议,协议包含两类操作,genesis与transfer,genesis用于资产的发行,transfer用于资产的转移。...
为什么不转向以太坊,而一定要在比特币上把事情重新做一遍?因为这是比特币。
比特币,作为第一个成功的去中心化数字货币,自 2009 年问世以来,一直是数字货币领域的核心。作为一种创新的支付方式和价值存储手段,比特币引发了全球范围内对加密货币和区块链技术的广泛关注。然而,随着比特币生态的不断成熟和扩展,它也面临着多种挑战,包括交易速度、扩展性、安全性以及监管问题。
近期,以 BRC20 为首的铭文生态率先引爆市场,多款铭文实现超百倍涨幅,比特币链上交易严重堵塞,平均 Gas 最高超过 300sat/vB。于此同时,Nostr Assets 的空投进一步吸引市场关注,BitVM、BitStream 等协议设计白皮书被提出,比特币生态方兴未艾,暗藏爆发之势。
CGV research 团队通过全面盘点比特币生态的当前状态,涵盖技术进展、市场动态、法律法规等,对比特币技术进行深入分析和,审视市场趋势,我们希望提供一个关于比特币发展的全景视角。文章首先回顾了比特币的基本原理和发展历程,随后深入探讨了比特币网络的技术创新,如闪电网络、隔离见证等,同时对其未来的发展趋势进行预测。
资产发行:从染色币说起
铭文之火,本质在于其为普通人提供了一种低门槛发行资产的权利,同时享有简单性、公平性与便利性。比特币上铭文协议的产生在 2023 年,但是早在 2012 年,就存在利用比特币实现资产发行的设想,称之为染色币(Colored Coin)。
染色币:早期尝试
染色币是指一组使用比特币系统来记录除比特币以外资产的创建、所有权和转让的类似技术,可以用于追踪数字资产以及第三方持有的有形资产,并通过染色币进行所有权交易。所谓染色,指的是对比特币 UTXO 中添加特定的信息,使其与其他比特币 UTXO 进行区分,这样就为同质化的比特币之间带来了异质性。通过染色币技术,发行的资产具备众多和比特币相同的特性,包括防止双花、隐私性、安全性、透明性与抗审查性,保证交易的可靠。
值得注意的是,染色币所定义的协议,并不会被一般的比特币软件所实现,因此需要使用特定的软件才能够对染色币相关交易进行识别。很显然,只有在认同染色币协议的群体中,染色币才具备价值,否则,异质化的染色币将失去其上色的属性,回退到纯粹的 satoshi。一方面,小规模社区所共同认可的染色币可以借助比特币的众多优点进行资产发行与流通;另一方面,染色币协议想要通过软分叉合并进最大共识的 Bitcoin-Core 软件几乎是不可能的。
Open Assets
2013 年底,Flavien Charlon 提出 Open Assets Protocol,作为染色币的一种实现。资产发行者利用非对称密码学计算资产 ID,保证只有持有资产 ID 私钥的用户才能发行相同的资产。对于资产的元数据,利用 OP_RETURN 操作码存储到脚本中,称元数据为 marker output,在不污染 UTXO 的前提下存储了染色信息。由于利用了比特币的公私钥密码学工具,资产发行可以由多签进行。
A
EPOBC
2014 年,ChromaWay 提出 EPOBC(enhanced, padded, order-based coloring)协议,协议包含两类操作,genesis 与 transfer,genesis 用于资产的发行,transfer 用于资产的转移。资产的类型无法显示编码区分,每一次 genesis 交易就发行一个新的资产,发行时就确定总量。EPOBC 资产必须通过 transfer 操作转移,如果 EPOBC 资产作为非 transfer 操作交易的输入,资产会发生丢失。
关于 EPOBC 资产的额外信息,是通过比特币交易中的 nSequence 字段进行存储的。nSequence 是比特币交易中的保留字段,由 32bit 组成,其最低六位用于确定交易类型,低 6–12 位用于确定 padding(用于满足比特币协议的抗粉尘攻击要求)。使用 nSequence 存储元数据信息的优势在于其不增加额外的存储。由于没有资产 ID 进行标识,每个 EPOBC 资产的交易必须追溯到 genesis 交易以确定其类别及合法性。
B
Mastercoin/Omni Layer
和上述协议相比,Mastercoin 的商业落地更加成功。2013 年,Mastercoin 进行了历史上第一个 ICO,筹集 5000 BTC,开启了新的时代。现在人们所熟知的 USDT,最初是通过 Omni Layer 发行在比特币上的。
Mastercoin 对比特币的依赖程度更低,更多地选择在链下维护状态,链上只保存最小化的信息。可以认为,Mastercoin 将比特币视为一个去中心化的日志系统,通过任意的比特币交易发布资产的变动操作。而对于交易有效性的验证,是通过持续扫描比特币区块,维护一个链下的资产数据库来进行的,该数据库保存着地址与资产的映射关系,其中地址复用了比特币的地址体系。
C
早期的染色币,基本使用脚本的 OP_RETURN 操作码来存储关于资产的元数据,在 SegWit 与 Taproot 升级后,新的衍生协议有了更多的选择。
SegWit 是 Segregated Witness 的缩写,简单而言,就是将 Witness(交易中的 input scipt)从交易中分离。分离的主要原因在于防止节点通过修改 input script 来进行攻击,但同时也附带了一个好处,变相增大了区块的容量,可以存放更多的 witness 数据。
Taproot 的一个重要特性是 MAST,让开发者能够利用 Merkle Tree 在输出中包含任意资产的 metadata,用 Schnorr 签名提升间接性、可拓展性,并且能够通过闪电网络进行多跳交易。
Ordinals&BRC20 及仿盘:盛大的社会实验
从广义的角度来说,Ordinals 包含四个组成:
一个 BIP,为 sats 定序
一个 indexer,利用 Bitcoin Core Node 来追踪所有 satoshi 的位置(序号)
一个钱包,进行 ordinal 相关交易
一个 block explorer,识别 ordinal 相关交易
当然,核心还是 BIP/协议。
Ordinals 通过定义一套排序方案(根据被挖出的顺序从 0 开始排序),为Bitcoin 中的最小单位 Satoshi 赋予了序号,令原本同质化的 Satoshi 拥有了异质属性,带来了稀缺性。
D
可以复用 BTC 的基础设施,单签、多钱、时间锁、高度锁等,并且无需显式创建 ordinal numbers,匿名性好,没有显式的链上足迹。缺点同样明显,大量的小额且不使用的 UTXO 会增加 UTXO 集合的大小,更严重的说法可以称之为粉尘攻击。此外,索引所占的空间很大,每次花费特定 sat 需要提供
区块链头
到创建该 sat 的 coinbase 交易的 Merkle path
创建该 sat 的 coinbase 交易
以证明特定的 sat 被包含在特定的 output 中。
铭文,就是对 sats 铭刻任意内容,具体方式是将内容放到 taproot script-path spend scripts 中,完全上链。铭刻内容根据 http response 格式序列化,被 OP_PUSH 放进 spend scripts 的无法执行的脚本中,被称为“envelopes”信封。具体而言,铭刻是在条件语句前添加 OP_FALSE,将铭刻内容以 json 格式放进无法进入的条件语句中。铭刻内容的大小被 taproot 脚本所限制,总共不能超过 520 bytes。
由于 taproot 支付脚本要求现存的 taproot 输出才能使用,铭文需要 commit&reveal 两步操作才能完成。第一步,创建一个承诺铭文内容的 taproot 输出;第二步,利用铭文内容和对应 Merkle Path 来花费上一步的 taproot 输出,在链上 reveal 铭文内容。
铭文最初的目的是为 BTC 引入非同质化代币 NFT,然而新的开发者在其基础上模仿 ERC20 创造了 BRC20,为 Ordinals 带来了发行同质化资产的能力。BRC20 具备 Deploy、Mint、Transfer 等操作,而每次操作都需要 commit&reveal 两步执行,交易流程更繁琐,成本更高。
使用真实数据进行举例:
E
选中的部分为铭刻内容,进行解序列化后结果如下:
F
Atomicals 协议衍生的 ARC20 从设计上降低了交易的复杂度,将每单位的 ARC20 代币与 satoshi 进行绑定,复用比特币的交易体系。通过 commit&reveal 两步发行资产后,ARC20 代币之间的转移可以直接通过转移对应的 satoshi 完成。ARC20 的设计可能更符合染色币的字面定义,在原有的代币上添加新的内容,使其具备成为新的代币,新代币的价值不会低于原有代币,类似于金银首饰。
客户端验证与下一代资产协议
客户端验证(client-side validation,CSV)是 Peter Todd 在 2017 年提出的概念,与其同时提出的还有一次性密封条(single-use-seals)的概念。简单来讲,CSV 机制就是链下数据存储、链上承诺、客户端验证。其中的思想,在之前的资产协议中也有部分体现。当前客户端验证的资产协议有 RGB 与 Taproot Assets(Taro)。
RGB
除了客户端验证的特点之外,RGB 采用 Perdersen 哈希作为承诺机制,还支持输出盲化,发送支付请求的时候无需公开接收代币的 UTXO,而是发送一条哈希值,提供更强的隐私性与抗审查行。当然,在代币被花费时,盲化的密值需要向接收方公开,以便其验证交易历史。
此外,RGB 添加了 AluVM 来实现更强的可编程性。当用户进行客户端验证时,除了验证发来的支付信息,还需要从支付者处接收该代币所有交易历史,一直追溯到该资产发行的创世交易,才能确保交易的终局性。验证所有的交易历史,才能够保证所收到资产的有效性。
Taproot Assets
Taproot Assets 是闪电网络的开发团队 Lightning Labs 开发的又一项目,发行的资产可以在闪电网络上即时、大量、低成本转移。Taproot Asset 完全以 Taproot 协议为中心进行设计,提升了隐私/拓展性。
witness 数据链下存储,链上验证,链下存储可以存在本地,或者在信息仓库中(称为“Universes”,类似 git 仓库)。对 witness 的验证需要从资产发行起的所有历史数据,该数据通过 Taproot Assets gossip 层进行传播。客户端可以通过本地区块链的拷贝进行交叉验证。
Taproot Assets 采用 Sparse Merkle Sum Tree 来存储资产的全局状态,存储开销大,但是验证效率高,通过 proof of inclusion/non-inclusion 能够验证交易,而无需回溯资产的交易历史。
扩容:比特币的永恒命题
尽管比特币拥有着最高的市值,最高的安全性与最高的稳定性,但是其离最初的设想“一种点对点的电子现金系统”却越来越远。由于区块的容量有限,交易的 TPS、费用以及确认时间使得比特币无法处理大量且频繁的交易,十余年来有多种协议试图解决该问题。
支付通道与闪电网络:比特币原教旨主义方案
闪电网络的工作原理是通过建立支付通道来实现的。任意两个用户之间可以建立支付通道,支付通道之间可以彼此连接,构成连通性更强的支付通道网络,不直接具备通道的两个用户之间也可以通过多次跳转来进行支付。
例如,如果 Alice 和 Bob 想要进行多次交易,而不是每次都在比特币区块链上记录,他们可以在他们之间打开一个支付通道。他们可以在这个通道中进行无数次交易,而整个过程只需要在区块链上记录两次:一次是在打开通道时,另一次是在关闭通道时。这大大减少了等待区块链确认的时间,也减轻了区块链的负担。
当前闪电网络节点超 14000,通道数超 60000,网络中总容量超过 5000 BTC。
G
侧链:比特币中的以太坊路线
Stacks
Stacks 对自己的定位是比特币的智能合约层,使用自己发行的 token 作为 Gas token。Stacks 使用微块机制,比特币和 Stacks 以同步的方式发展,它们的区块同时被确认。在 Stacks 中,这被称为“锚定块”。整个 Stacks 交易块对应于一个单独的比特币交易,实现了更高的交易吞吐量。由于同时产生区块,比特币充当了创建 Stacks 区块的速率限制器,从而防止其对等网络遭受拒绝服务攻击。
Stacks 通过 PoX 的双重螺旋机制实现共识,矿工发送 BTC 给 STX 质押者以竞争出块资格,成功赢得出块资格的矿工在顺利完成出块后能够获得 STX 奖励。在这个过程中 STX 的质押者能够按照比例获得矿工发送的 BTC。Stacks 希望通过发行原生 token 来激励矿工维护历史账本,但实际上没有原生 token 也能实现激励(见 RSK)。
H
对于 Stacks 区块链中的交易数据,通过 OP_RETURN 字节码将交易数据的哈希保存至比特币交易的脚本中,Stacks 节点可以通过 Clarity 的内置功能读取比特币中存储的 Stacks 交易数据哈希。
Stacks 几乎可以算得上是一条比特币的 Layer2 链,然而,资产的跨入跨出还存在一些瑕疵。在 Nakamoto 升级之后,Stacks 支持发送 Bitcoin 交易完成资产的跨出,但是交易的复杂性导致比特币链上无法进行验证,只能通过多签委员会来进行资产跨出的验证。
RSK
RSK 采用融合挖矿(Merge-Mine)算法,比特币矿工可以几乎无成本地帮助 RSK 进行出块,获取额外奖励。RSK 中没有原生的 token,仍采用 BTC(RBTC)作为 Gas Token。RSK 有自己的执行引擎,对 EVM 兼容。
I
Liquid
Liquid 是比特币的一条联盟侧链,节点准入为许可制,由十五个成员负责出块。资产采取 lock&mint 的方式,通过发送资产到 BTC 上 Liquid 的多签地址,资产跨入 Liquid 侧链;跨出时将 L-BTC 发送到 Liquid 链上的多签地址即可。多签地址的安全性为 11/15。
Liquid 专注于金融应用,为开发者提供了与金融服务相关的 SDK。当前 Liquid 网络 TVL 为约 3000 BTC。
J
Nostr Assets:中心化的进一步加强
Nostr Assets 最初项目名为 NostrSwap,是一个 BRC20 的交易平台。2023–08–03,升级为 Nostr Assets Protocol,支持 Nostr 生态系统中的所有资产转移,资产的结算和安全性由 Lightning Network 处理。
Nostr Assets 使得 Nostr 用户可以用 Nostr 公私钥来发送和接受闪电网络资产,除了 deposit 和 withdrawl,Nostr Assets 协议上的交易都是 0 gas 且加密的,交易细节保存在 Nostr Protocol 的 relay 上,用 IPFS 进行快速和高效的存取,同时支持自然语言交互,不需要复杂页面。
Nostr Assets 为用户提供了一种简单、便捷的资产转移、交易方式,结合 Nostr 社交协议的流量效应,未来可能有很大的应用场景。然而,从本质上来看,只是一种用 Nostr 消息来控制(托管)钱包的方法。用户通过在闪电网络中转账将资产存入 Nostr Assets 的 Relay,相当于将资产存入了中心化交易所。当用户间想要在 Nostr Assets 中进行资产的转移和交易时,将使用 Nostr 密钥对签名的消息发送至服务端,服务端通过验证后只需在内部账本上进行记录,不需要在闪电网络或是主网真正执行,所以能够实现零 Gas 与高 TPS。
BitVM:可编程性与无限扩容
“Any computable function can be verified on Bitcoin”
— — Robin Linus, creator of BitVM
BitVM 由 ZeroSync 创始人 Robin Linus 提出,运用 Bitcoin 现有的 OP Code(OP_BOOLEAN, OP_NOT)组成与非门电路,把程序分解成原始的与非门电路组合,将复杂程序的 spend script root 放进 Taproot 交易中,以较低成本链上存储。根据计算理论,所有计算逻辑都能使用与非门电路构建,所以理论上 BitVM 能够在 Bitcoin 实现图灵完备,进行所有计算,但是在实际中还有许多限制。
BitVM 仍然采取 P2P 的运行模式,借鉴 OP Rollup 的思路,存在两个角色,prover 和 verifier,每次 prover 和 verifier 之间共同构建一个交易,存入保证金,prover 给出结果,verifier 如果计算得出不同结果,向链上提交 fraud proof,以罚没 prover 的资金。
“The real killer app is scaling Bitcoin. [Robin Linus isn’t] a big fan of smart contracts. He’s not a big fan of increasing Bitcoin’s expressivity. He really is interested in making it so that Bitcoin can process millions of transactions per second.”
— — Super Testnet, BitVM developer
BitVM 提供了更好地可编程性,但是怎么与扩容联系起来?实际上,BitVM 从一开始就是为了链下计算、链上验证的扩容而服务的,从 prover、verifier 这些命名也能够看出端倪。
BitVM 的最佳用例,实际上是最小化信任的桥与 ZKP 扩容(ZK Rollup)。BitVM 的提出其实也是无奈之举,想在比特币社区中获得支持,通过提案增加 OP_CODE 的难度太高,所以只能退而求其次利用现有的 OP_CODE 实现新的功能。
BitVM 提出了扩容的新范式,但是在现实中存在许多挑战。
• 过于早期:EVM 有一整套 VM 架构,BitVM 却只有一个能验证字符串是 0 还是 1 的函数。
• 存储开销:用 NAND 门构建程序需要也许几百 MB 的数据,十亿级的taptree leaves
• P2P:当前仍是两方交互,prover-challenger 架构存在激励问题,正在考虑扩展到 1-N 或者 N-N,像理想中的 OP Rollup 一样(单个诚实假设)。
结语
通过全文的盘点不难看出,由于主网处理能力的限制与计算能力的缺乏,比特币如果想要培育更加繁荣多样的生态,必须将计算转移到链下。
一方面,链下计算、链下验证的客户端验证方案,利用比特币交易中的某些字段存储关键信息,将比特币主网视为分布式的日志系统,利用其抗审查性与可靠性确保关键数据的可用,从某种意义上说类似于主权 Rollup。这种方案不需要修改比特币的协议层,可以自由构建自己所需的协议,在当前可行性更高,但是不能完全继承比特币的安全性。
另一方面,也有人在推进链上验证的工作,尝试着利用现有的工具,实现在比特币上的任意计算,进而利用零知识证明技术实现高效的扩容。但是当前方案仍然非常早期,计算成本过高,预计短期无法落地。
当然有人会问,以太坊为首的一众区块链都拥有高速的计算能力,为什么不转向以太坊,而一定要在比特币上把事情重新做一遍?
Because It’s Bitcoin.
因为这是比特币。