CAT20协议解析:Fractal BTC如何实现比特币智能合约

robot
摘要生成中

BTC智能合约即将到来?Fractal BTC上新代币协议CAT20解析

近期,比特币生态中一个名为Fractal BTC的二层网络在经历多轮测试后正式上线主网。Fractal BTC的一大亮点是具备智能合约功能,并在主网启动之际推出了新的代币协议CAT20。那么CAT20有哪些巧妙的技术设计?我们又能从中学到什么呢?

技术角度解读CAT20:分形比特币上的新代币协议

Fractal Bitcoin简介

在了解CAT20之前,我们需要先简单了解一下Fractal Bitcoin。Fractal Bitcoin是一个与BTC完全兼容的"二层"网络,区块确认时间只需1分钟,比BTC更快。其基本原理是将BTC网络复制多份,每条链都可以处理交易,从而提高整体处理速度。

Fractal的一大特色是启用了BTC早期因安全考虑而废弃的OP_CAT操作码,这让Fractal Bitcoin具备了类似智能合约的能力,为未来发展提供了更多可能性。

技术角度解读CAT20:分形比特币上的新代币协议

CAT Protocol概述

基于底层OP_CAT的支持,CAT Protocol应运而生。目前已经实际运行的是CAT20协议,某交易平台也新增了相应的界面支持。CAT20在名称和功能上都与ERC20相似,那么它是如何实现类似ERC20的生命周期的呢?

部署流程

部署CAT20代币时,用户需要指定钱包地址和代币基本信息。与ERC20不同的是,CAT20可以设置预挖和单次铸造上限。

部署分为"commit"和"reveal"两个阶段:

  1. Commit阶段:将代币基本信息写入交易输出脚本。
  2. Reveal阶段:保存CAT20初始状态的哈希值,并生成Minter用于后续铸造。

这种两步部署方式在区块链项目中较为常见,可以在reveal阶段才揭示项目的完整信息。

技术角度解读CAT20:分形比特币上的新代币协议

铸造机制

Mint过程有以下特点:

  • 输入为一个minter,最初由部署时生成
  • 每次mint只有一个minter作为输入,可有多个minter作为输出
  • 每次mint生成一个token
  • 输出顺序固定,minter后必须是token

minter的数量管理很关键。如果每次只输出1个,会造成拥堵;输出过多则增加成本。V2版本默认生成两个状态相近的Minter,以平衡效率和成本。

技术角度解读CAT20:分形比特币上的新代币协议

交易构建

CAT20能够使用非自有地址的UTXO构建交易,这得益于巧妙的脚本设计:

  1. 通过调整公钥生成方式,实现对不同地址UTXO的控制
  2. minter本身作为智能合约,允许任何人使用

技术角度解读CAT20:分形比特币上的新代币协议

状态管理

minter中保存了状态信息,包括:

  1. OP_RETURN中存储当前交易输出状态的哈希值
  2. 合约中存储剩余可Mint数量

新生成的Minter可Mint数量为剩余总量的一半,直到全部Mint完成。

CAT20 token本身也是智能合约,记录数量和归属地址。这一点与BRC20等铭文机制不同。

技术角度解读CAT20:分形比特币上的新代币协议

转账与销毁

转账时输入输出token数量需保持一致。可在同一交易中转移多种token。

销毁token只需将其转入普通地址即可。

技术角度解读CAT20:分形比特币上的新代币协议

总结

CAT20的设计灵活性很高,用户可自主构建各类操作。这种设计有以下优势:

  1. 查询token持有情况只需检索token的UTXO
  2. 通过OP_RETURN数据可轻松追踪mint进度

不过灵活性也带来了安全隐患,需要在合约中加强校验逻辑。总的来说,CAT20为BTC生态带来了新的可能性,值得我们持续关注其发展。

技术角度解读CAT20:分形比特币上的新代币协议

技术角度解读CAT20:分形比特币上的新代币协议

BTC-1.53%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 4
  • 分享
评论
0/400
签名焦虑症vip
· 07-22 15:23
就这也要写那么长 看得我脑瓜子疼
回复0
RugDocDetectivevip
· 07-22 15:21
又一个二层 一坨代码味儿
回复0
liquiditea_sippervip
· 07-22 15:21
又一层马甲 看着头疼
回复0
RegenRestorervip
· 07-22 15:13
那年比特币2000块,现在后悔死了
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)