Bitroot:探索BTC链上更智能的发币方式(附交互教程)
从最早的染色币、OmniLayer等,到去年的铭文,再到今年的符文和RGB++等,比特币社区一直没有停下在比特币网络上进行资产发行的尝试,尽管比特币最大主义者们对此有诸多争议,认为比特币应该极简地扮演好货币角色,担心复杂性会引入潜在风险。
最主要的原因是比特币网络本身的安全性和体量非常有诱惑力,作为天然的优质基础设施,能为其上发行的资产带来很大的叙事空间。并且避开对比特币网络的提案,仅利用现有链上空间探索资产发行方式对社区来说是开放的。目前这些对资产发行方式的探索算是处处开花,但终局未定。
今天要聊的Bitroot 也提出了一种新的利用比特币网络的资产发行方式,并且支持智能合约的嵌入,同时也是比特币的L2层。
比特币网络上资产发行方式的演进
先从比特币上的资产发行方式说起。
最早之前的染色币是利用比特币的UTXO,通过在对比特币 UTXO 中添加一些特定信息,使其能够与其他UTXO 相区分,从而实现“染色”效果,而“染色”的UTXO上就承载了新资产。这些资产相关的元数据主要是存储在比特币交易脚本的 OP_RETURN 操作码中。OP_RETURN 最初设计的目的是用来终止脚本并返回栈顶的值,类似编程语言中的返回函数,后来主要成了比特币交易中嵌入数据的方式,最大的特点是OP_RETURN添加到比特币交易中的数据对于比特币网络来说是可验证而不可消费的,允许存入的数据量上限从早起版本的40字节增加到目前的80字节。比较有代表性的项目,例如Open Assets。
染色币火热的同一时期出现了许多升级版的资产发行方式,比如,OmniLayer(原Mastercoin),其更像现在说的Layer2,将交易逻辑放在比特币链下,比特币链充当日志功能,也是利用 OP_RETURN添加OmniLayer交易元数据。还有 Counterparty,作为比特币之上的一个协议层,也是要实现去中心化的资产交换功能,Counterparty最初使用比特币操作码 OP_CHECKMULTISIG 将 Counterparty 相关数据包含到比特币区块链中,但由于使用 OP_CHECKMULTISIG 被认为是一种黑客攻击,后也改用OP_Return 操作码来存储数据。
其他早期的一些存储方式还有:利用nSequence字段的发行方式,nSequence 是比特币交易中的保留字段,有 32bit空间,使用 nSequence 的优势是不增加额外的存储。代表项目是EPOBC (enhanced, padded, order-based coloring),EPOBC 将资产的额外信息存储在比特币交易中的 nSequence 字段。但是缺点是没有对资产编号,因此交易时需要往前追溯到最初的创世交易,比较繁琐。
可见利用 OP_RETURN 操作码存储数据几乎是早期BTC上发行资产的主流做法。
在比特币的隔离见证 和 Taproot 升级之后,给资产发行带来了新的存储空间,此时Ordinals(铭文)诞生了,它利用Taproot升级后引入的P2TR(比特币的一种交易输出类型),将元数据铭刻在交易的见证数据(witness data, witness field)中,优点是存储空间更大:Taproot单条信息上限520 字节,并且可以通过组合多条信息扩展容纳的数据量;见证数据的存储费用也相对更便宜。因此,Ordinals试验性的推出以后,引起了市场的炒作情绪,也重新将社区注意力吸引到比特币链上资产发行方式上来。在Ordinals的启发下,各种改进的资产发行协议层出不穷,热门的比如Atomicals,借鉴染色币的逻辑,将每个 ARC-20 代币的数量与sat数量对应,从而不需要BRC-20那样的链下索引器,因为资产信息都位于 UTXO 中。
但是铭文的发行方式却也遭到比特币社区不少OG的反对,主要是担心会让比特币区块变得臃肿,BRC-20还容易造成粉尘攻击。而且铭刻位置是在见证数据区,有社区成员担心这部分空间会在未来升级后被取消。
近期比较热门的Runes协议,又回归传统,选择将资产元数据存储在OP_RETURN中,并且结合了Atomicals的基于 UTXO 的机制,在UTXO中可包含任意数量的Runes代币。
可见,资产发行方式经过了一轮轮的迭代,但是最终更多协议选择的仍然是利用比特币中的OP_RETURN实现资产数据的存储。
Bitroot的资产发行新方案
再回到Bitroot,Bitroot推出了BRT20,是一种新的比特币链上的资产发行协议,Bitroot称其为根协议,选择进行数据存储的位置也是OP_RETURN。
具体地,可以通过 bitcoinlib 库(一个处理比特币相关操作的流行库)创建包含 OP _ RETURN 输出的比特币交易。与其他的比特币资产发行和交易方式类似,Bitroot也可以通过创建特定格式的比特币交易来实现资产的发行和交易。当用户需要发行新资产时,用户需要构建比特币交易,其中包含定义资产名称、总量和其他属性的特殊元数据。一旦此类交易被比特币网络确认并添加到区块链中,Bitroot 协议的节点就会解析数据并在其内部数据库中记录相应的资产创建和分配。
值得一提的是,Bitroot在OP_RETURN中存入的数据不仅仅是资产发行和交易数据,还有智能合约。
不过这里的智能合约和通常意义的EVM的智能合约有所区别,因为Bitroot 的智能合约构建在比特币区块链之上,利用了比特币的脚本语言(一种比特币交易基础语言)实现。出于安全性的考虑,比特币的脚本语言被设计为非图灵完备的,仅包含一些常规操作码,比如 OP_ADD、OP_EQUAL、OP_CHECKSIG、OP_CHECKMULTISIG等,是为单一支付目的而设计的。其中没有循环语句,避免了无限循环风险,但是这也意味着它无法执行复杂计算任务,主要应用场景是进行交易签名验证,确保交易的真实性。因此比特币上的智能合约相比EVM智能合约会更加受限。
Bitroot 也认识到比特币脚本语言的这一特性,解决方案是通过添加额外的操作代码和功能来扩展比特币脚本语言的功能,以支持更复杂的智能合约。以下是Bitroot实现智能合约的基本特点:
1.基于比特币的脚本语言
Bitroot 在比特币脚本语言的基础上,通过添加额外的操作代码和功能来实现功能扩展。
2. 在交易中嵌入数据
Bitroot的智能合约数据通过比特币交易中的OP_RETURN输出嵌入,Bitroot 节点可以实现数据的解析和执行。因此,智能合约的逻辑和状态变化可以被编码并存储在该数据中。
3. 智能合约的分析与执行
当比特币网络确认包含 OP_RETURN 数据的交易时,Bitroot 节点将解析这些交易中的数据,并根据嵌入的智能合约代码执行相应的操作。这包括资产的转移、合约的执行等。每个Bitroot节点独立验证并执行这些操作,以维持网络一致性。
4. 限制和功能
虽然 Bitroot 通过这种方式增强了智能合约的功能,但其功能受到比特币脚本非图灵完备的限制,因此,Bitroot 的智能合约更适合不需要复杂逻辑的应用,例如简单的财务协议和资产管理。
5. 未来的扩展
Bitroot社区已经在探索更多方法来扩展智能合约的功能,包括可能的协议升级以及与其他区块链技术的集成,以提供更广泛的应用支持。
根据以上特点,Bitroot可以实现新资产的发行并将智能合约逻辑嵌入到交易中,从而实现比传统的发行/交易更为复杂的金融用例,而无需修改比特币的核心协议。
Bitroot 在两个代码库上运行:Bitcoin Core 和 Bitroot 自己的软件,因此Bitroot交易必须得到比特币网络的确认。同时,Bitroot也能够继承比特币网络的安全性和去中心化性。
另外,Bitroot 向开发者社区提供有一系列工具和钱包应用程序,使开发者和用户能够方便地使用 Bitroot 协议进行资产管理、交易和智能合约交互,并且Bitroot还支持自动化和集成的 API,最大程度地为用户使用提供便捷。
Bitroot 通过将智能合约功能嵌入比特币网络,并定义解析系统,使合约逻辑更加公开透明,在继承比特币网络安全性的同时,为比特币网络上资产带来更加丰富的玩法。除了资产发行和交易外,借贷、Dex、衍生品、launch平台等Defi服务,以及游戏内物品、虚拟角色、艺术品等资产交易也可以上链。
Bitroot测试体验
目前,Bitroot开放测试,测试网地址:。
BRT测试币获取:;
BTC测试币水龙头:;
BTC测试币购买:。
进入之后先创建钱包,领取测试代币后就可以进行资产发行的测试了。
目前有三类资产可以创建,分别是创建字母命名的资产,已有创建资产的子资产,创建免费的数字名称资产。
创建字母命名的资产相对简单,输入Token Name(代币名称)、Description(说明信息,此信息可以随时修改)、quantity(发行数量,默认为可增发)点击create token即可创建。
创建资产的子资产需要先创建母资产,可选刚创建的资产,同样输入Token Name、quantity即可创建。
创建免费的数字名称资产时,会随机分配一个以A开头的字符串作为代币名称(A之后的数字可自定义)。仍然输入说明信息、quantity即可创建。
简单地点击资产上的箭头,就可以实现资产转账、信息查看、资产增发、锁定资产不再增发等功能。
功能区左侧就是资产交易界面。界面上会显示当前热门的交易对以及当前市场上有挂单的交易对。搜索对应交易对即可完成买卖挂单,简单方便。
总结
Bitroot 推出的BRT20,深入挖掘了比特币链的可用功能,提供了比特币链上进行原生资产发行的智能化方式。但目前该协议还处于早期阶段,未来能够被社区普遍认可还需要时间观察。