2025-01-16 163

Goldinals:比特币上信任最小化的同质化代币标准

作者:Techub独家解读

撰文:Tia,TechubNews

比特币需要真正的可编程性,而不是混乱。」

目前,比特币生态系统中的资产标准高度碎片化,BRC-20、Ordinals、Runes等协议彼此独立,缺乏互操作性。这种情况导致用户和钱包开发者需要应对复杂的格式与执行模型。

此外,由于比特币解锁脚本和待解锁脚本的UTXO运作模型,缺乏像以太坊一样的全局状态和图灵完备的编程环境,这些协议往往依赖离线索引器来维持状态。如Ordinals协议利用SegWit和Taproot在不超出大小限制的情况下永久存储信息而催生的BRC-20,还是需要完全依赖链外索引器来维护代币余额的全局状态。这增加了操作成本和信任风险。而由Nubit推出的Goldinals的设计初衷正是为了解决这些痛点。

Goldinals是比特币上信任最小化的同质化代币标准,旨在解决当前比特币资产生态中标准化不足的问题,同时保持比特币的去中心化与安全性。通过创新技术和设计,Goldinals为比特币用户和开发者提供了一种高效、灵活的代币管理方式。为了实现这一目标,它在技术和功能设计上做出了重要创新,其核心是需要为比特币构建一个zkOracle并通过BitVM进行验证。

2024年6月5日,Goldinals背后的开发协议Nubit完成800万美元种子轮融资,PolychainCapital领投,NomadCapital、SpartanGroup、L2IV、BigBrainHoldings、GCR、Protagonist、GateVentures、Animoca、MaskNetwork等参投,最新一轮融资使Nubit的总融资额达到1200万美元。

Ordinals、BRC-20、Runes及其缺乏互操作性的问题

Ordinals

Ordinals通过利用SegWit和Taproot,许用户将任意数据(如文本、图像或其他元数据)刻印到比特币的一个最小单位(satoshis,简称sats)上。

BRC-20

BRC-20是一种无状态的比特币代币标准,用于实现代币的铸造、转账和销毁功能。BRC-20并未像以太坊ERC-20那样内嵌在区块链逻辑中,而是通过Ordinals的数据存储功能实现的「外挂式」代币标准。BRC-20的代币操作(如铸造和转账)是通过Ordinals协议,将状态信息以JSON文件形式刻印到比特币交易中。这些JSON数据定义了代币的名称、供应量和持有者的地址。

且BRC-20不像以太坊ERC-20那样依赖区块链全局状态,而是需要链外索引器扫描所有相关交易,重建代币的当前状态。例如,要查询某个地址的代币余额,索引器需要读取所有历史交易并计算余额。

Runes

Runes是一个类似BRC-20的比特币代币协议,其核心思想是将代币的状态和操作嵌入到比特币交易中,通过分析比特币的UTXO(未花费交易输出)模型来维护代币状态。Runes利用比特币交易的OP_RETURN字段或其他标准字段,记录代币的转账和操作信息。每个Rune代币操作都通过普通的比特币交易来完成。

互操作性问题

以上几类协议的实现方式均不同。Ordinals使用嵌入到比特币交易中的数据格式来存储信息,BRC-20则使用JSON格式定义代币状态,而Runes更依赖于比特币的UTXO模型。这些格式彼此不兼容,导致在一个协议中存储的数据无法直接被另一个协议识别和解析。

并且,BRC-20是一种无状态实现,所有代币状态依赖于外部索引器重建,而Runes的状态通过UTXO模型直接存储在区块链上,Ordinals则聚焦于单个satoshi的标记。这些机制无法共享统一的状态管理方式。

不同协议定义了各自的代币格式和规则,无法直接交互或互相支持实现互操作性。

而Goldinals则通过引入一个可兼容Ordinals/Runes/BRC-20的且无需链外索引器来维护状态的新标准,解决了不同标准无法兼容的互操作性困境。

Goldinals核心设计与技术实现

Goldinals的核心功能包括:

Deploy:初始化协议参数并创建新代币实例。

Mint:铸造新代币并分配给指定地址。

Transfer:在地址之间转移代币。

Burn:销毁代币并减少供应量。

尽管与ERC-20和BRC-20类似,但由于比特币无状态的设计和Turing-incomplete的脚本语言,Goldinals的实现更为复杂。与以太坊的无缝原子调用不同,Goldinals需要在多个步骤中仔细管理状态更新和验证,确保所有操作均继承比特币的安全性。

Goldinals状态机及具体状态更新过程

Goldinals的状态机由三大阶段构成:Prepare(准备)、Kickoff(启动)和Challenge(挑战)。

Prepare阶段:记录操作意图

在这一阶段,操作的发送方通过比特币交易提交操作意图(如转账或铸造),并将相关元数据嵌入到交易中。发送方使用比特币的OP_RETURN字段记录代币操作的参数,例如接收地址、金额和操作类型。这笔交易被记录在比特币中,确保操作意图的透明性和不可篡改性。ZKOracle(零知识证明的状态机)扫描比特币区块,提取并记录与Goldinals协议相关的Prepare交易,将其纳入全局状态。

Kickoff阶段:验证和启动操作

在Prepare阶段完成后,发送方需要提交一笔包含零知识证明的交易,以验证操作的合法性。发送方在链下生成一份零知识证明(ZKP),证明其操作符合协议规则(如余额充足、操作参数合法)。这份证明通过一笔Kickoff交易提交到比特币网络,并由ZKOracle进行验证。Kickoff阶段的成功执行表明操作的合法性已被证明,但此时操作尚未最终确认,还需等待Challenge阶段完成。

Challenge阶段:审查和异议

Challenge阶段是状态机设计的核心,旨在提供一个去中心化的审查机制,确保操作的合法性。在挑战期内,任何参与者(挑战者)都可以对提交的操作提出异议。例如,若提交的零知识证明不符合规则,挑战者可以提供反证。挑战者基于BitVM提供的交互式证明机制,与发送方进行验证交互。若发现问题,挑战者可提交链上交易阻止操作确认。如果在挑战期内没有任何异议,操作将被永久确认,并由ZKOracle更新到Goldinals的全局状态中。

转账&铸造等实现细节

转账

在转账操作中,发送方首先通过Prepare阶段提交一笔比特币交易,将代币转账意图记录在链上。ZKOracle记录并验证这笔交易。在Kickoff阶段,发送方提交一份零知识证明,证明其余额充足且操作符合规则。在Challenge阶段,挑战者可验证提交的证明和交易是否符合协议规则。如果没有挑战,转账最终被确认,接收方地址的余额被更新。

铸造

铸造过程类似于转账。发送方在Prepare阶段提交包含铸造参数的交易。随后在Kickoff阶段,发送方需提供零知识证明,验证铸造操作符合协议设定的规则(如供应上限和分配限制)。在Challenge阶段,挑战者验证操作是否符合条件,若无异议,铸造操作最终被确认。

余额查询

用户可以通过比特币Core的scanblocks命令,扫描所有与其地址相关的Prepare交易,并检查这些交易的最终状态。通过这种方法,用户无需依赖外部索引器即可验证其余额。

结语

与其他协议(如BRC-20)相比,Goldinals拥有显著的优势。它摒弃了对外部索引器的依赖,所有验证均通过比特币网络直接完成,这不仅提升了去中心化程度,也让用户摆脱了对第三方服务的信任。此外,Goldinals的交易流程更加高效,避免了BRC-20需要多个比特币交易才能完成单次操作的繁琐,从而显著降低了复杂性和交易费用。同时,通过零知识证明的引入,Goldinals具备了极强的可编程性,可以支持多签钱包、条件转账以及基于外部事件触发的复杂逻辑,拓宽了协议的适用范围。

与此同时,非常重要的一点是,Goldinals在设计中引入了一种统一的资产标准,整合了现有协议的功能和逻辑。Nubit还正在构建一个特殊的编译器,将用户友好的代码转换为针对比特币的优化脚本,同时进行形式验证以数学检查每个程序的完整性。

Nubit联合创始人Hanzhi表示:「比特币需要真正的可编程性,而不是混乱。」有了强大的基础和标准,比特币生态系统将从混乱转向可互操作的正和创新。

Join now ?

立即创建 账号,开始交易