解析 BTC 两大原生资产协议,BRC20 与 ARC20

  • blockpunk
  • 更新于 2024-01-23 11:31
  • 阅读 655

从技术实现的角度来理解 ARC20 与 BRC20

原文:https://twitter.com/blockpunk2077/status/1725513817982136617

作者:https://twitter.com/blockpunk2077

本条从技术实现的角度来理解 ARC20 与 BRC20,帮助你理解未来的发展趋势。

如果能帮到你,请转发 🔁 点赞 ❤ ,感谢你的支持。

BRC20

首先是经典的 BRC20 协议的区别,BRC20 脱胎于 Ordinals 的协议,将类似于 ERC20 Token 的完整功能写入了 BTC 输出脚本,BRC20 由此诞生。

如下图,BRC20 代币的信息被刻录在 BTC 交易下,隔离见证的脚本数据中。首先 BRC20 协议在 BTC 上写入了 BRC20 的标准方法,这包括“部署”、“铸造”和“转账”。

🔷 在“部署”,BRC20 注册了这个代币的名称、总量与一张的数量限制。

🔷 用户在打新 BRC20 时,发送交易将数据写入脚本,这包含了代币的数量。

🔷 BRC 让用户需要转账时,需要先发送一个交易,将 token 的数量归集后的结果写入比特币脚本,然后再发送第二个交易,即将归集后的余额发送给特定地址,同样写入脚本。

Image

首先,可以先理解 BTC 一层协议的三大部分: 🔷 协议规定了在比特币上写入数据的规则 🔷 索引器提供了查询与解析这些数据的能力 🔷 账本记录了代币余额,处理转账

对于BRC20 来说,索引服务器首先需要识别每一次的 BRC20 部署,从而读取代币信息,这部分被称为“索引”。

同时,由于 BRC20 的余额都被刻入了脚本中,BTC 网络本身无法识别,因此 BRC20 的索引服务器必须在本地构建一个记录 BRC20 余额的账本。每次发生转账时,交易是否能进行(有足够多的币),需要检查本地账本,并进行更新。

基于 ordinals 的 brc20 的每次转账,都需要发送两笔交易。即在本地账本中先查询并计算余额,再进行转账。

Ordinals 本质上是为 NFT 设计,基于其改进的 BRC20 在转账复杂度上,是递归增长的。BRC20 索引器还承担了账本的工作,这个账本完全脱离比特币。索引器必须准确记录每一次余额变化,才能保证账本的完整性。

因此随着时间堆积,索引器账本是会堆积,节点的压力会越来越大。如果排序器账本不再提供服务,brc20 就会变得难以无法使用的。

好在 unisat 在很早时候就开源了索引器节点的代码,BRC20 经过 OKX 在内的多个技术团队的建设,基础设施以及非常健壮。

但是,BRC20 的账本依然需要去中心化,去中心化的账本,就等于做链,或者说,BRC20 外来做链去中心化账本是必然的。

ARC20

Atomicals protocol 用于发行 FT 的方式被称为 BRC20 ,这是一种在交易脚本中注册代币信息,以比特币最小单位 Sat 作为基础单位,基于 UTXO 实现账本的比特币原生资产发行协议。

回到 Arc20,Arc20 是一种染色币模型,注册信息被刻入交易脚本,余额使用 UTXO 的 sat 数量表示,转账功能完全由 BTC 主网处理。

🔷 在部署 Arc20 时,代币名称、总量、数量限制、难度设置、开始区块、图像等等信息。

🔷 用户在打新 ARC20 时,将代币的名称写入 UTXO 的脚本中,数量直接由 uxto 中 sats 的数量决定,1 sat = 1 token

🔷 转账 ARC20,用户无需再向 BTC 存入任何数据,仅需将持续持有代币的 UXTO 作为交易输入,输出给其他地址。

因此在 ARC20 中,我们不需要任何的链下系统,来计算 ARC20 代币的余额,因为代币余额与 UTXO 中的 Sat 数量保持一致。

我们只需要一个索引,来帮助我们读取代币注册信息,同时识别 mint 交易,来确认验证哪些 UTXO 是 ARC20。

因此,Arc20 代币的转账的计算本身由 BTC 网络处理,不需要任何链下的账本,也只需要发送一个交易。因此,同样基于 BTC L1 的性能,ARC20 的转账性能时 BRC20 的两倍。

这带来了很多好处:

🔷 极大的降低了索引服务器的成本,几乎任何人都可以允许,系统去中心化程度很高。

🔷 转账完全依赖 BTC 网络,不会重复创造垃圾交易,Arc20 转账本身安全性由 BTC 保障。

🔷 ARC20 原子性和 BTC 的原子性保持一致,适合实现很多原生应用。

另一个不得不说的更新是 bitwork,即把 CPU 计算环节加入了代币的铸造过程中,这类似于 BTC 的 POW,计算了 POW 后才能进行铸造,“一个 CPU 一次 mint 机会”。

当然,染色币的设计也带来了一些劣势,因为没有在数据中写入余额,而是绑定 sat,ARC20 余额的最小的拆分精度为 1(目前为了避免被当作垃圾交易设置了更高的下限)。

因此基于 ARC20 发行总量数万亿的 meme token 就显得得不偿失,因为这需要消耗大量的 BTC。这需要等待未来 Atomicals 协议的升级进行改进。

同时, #ARC20 还有的基础设施都很差,钱包和市场经常宕机,因此社区呼吁更多用户来搭建自己的 Atomicals 索引,也需要更多的开发者参与基础设施的建设。

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
blockpunk
blockpunk
|尝试成为一个 BTC Wizard ?‍♂️| |胡言乱语假扮先知 ?| |自以为是的 degen ? | @TrustlessLabs