CAT20协议引领BTC智能合约新时代

robot
摘要生成中

BTC智能合约新篇章:解析Fractal Bitcoin与CAT20协议

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

Fractal Bitcoin作为比特币生态的新成员,在经过多轮测试网后于9月正式上线主网。它的一大亮点是具备智能合约功能,并在主网启动之际推出了CAT20代币协议。那么,CAT20有哪些巧妙的技术设计?我们又能从中学到什么呢?

Fractal Bitcoin简介

在深入CAT20之前,我们需要先了解Fractal Bitcoin。它是一个完全兼容BTC的二层网络,区块确认时间仅需1分钟。其基本原理是将BTC网络复制多份,每条链都能处理交易,从而提高整体处理速度。

Fractal的一大创新在于启用了BTC早期因安全考虑弃用的OP_CAT操作码。这使得Fractal Bitcoin具备了智能合约的能力,为更多创新应用提供了可能。

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

CAT Protocol概述

基于OP_CAT的支持,CAT Protocol应运而生。目前,CAT20协议已在Fractal主网上线运行。它在设计上类似于以太坊的ERC20标准,但又有其独特之处。

部署流程

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

  1. Commit阶段:将代币基本信息写入交易输出脚本,生成的交易哈希作为该代币的唯一标识。

  2. Reveal阶段:输出一个OP_RETURN保存CAT20初始状态哈希,并生成一个Minter用于后续铸造过程。

这种两步部署方式有助于保护项目信息,直到reveal阶段才完全公开。

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

铸造机制

CAT20的铸造过程有几个特点:

  • 每次铸造使用一个minter作为输入
  • 可以输出多个minter,但每次只能铸造一个token
  • 输出顺序固定,minter必须在token之前

为平衡网络拥堵和经济性,V2版本默认生成两个状态相近的Minter。

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

交易构建

CAT20巧妙地利用了比特币脚本的灵活性:

  1. 在reveal阶段,通过调整公钥生成方式,使部署者能控制不同地址的UTXO。

  2. minter阶段利用OP_CAT实现智能合约功能,允许任何人使用minter UTXO。

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

状态管理

CAT20在OP_RETURN和智能合约中存储状态信息:

  • OP_RETURN保存当前交易输出状态的哈希
  • 合约中记录Token剩余的铸造次数

每次铸造后,新生成的Minter的铸造数量为剩余可铸造数量的一半。

转账和销毁

转账时,输入输出的token数量需保持一致。销毁token只需将其转到普通地址即可。

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

总结

CAT20的设计灵活性高,用户可自主构建交易。这种设计便于查询token持有情况和铸造状态,但也要求合约部分有严格的校验逻辑。

CAT20作为Fractal Bitcoin上的创新协议,展示了比特币生态在智能合约领域的新可能。它的发展将为比特币网络带来更多有趣的应用场景。

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

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

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

CAT-8.3%
BTC0.57%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 6
  • 分享
评论
0/400
分叉自由主义者vip
· 07-22 01:38
btc也玩跟上玩智能合约了啊
回复0
Crypto历史课vip
· 07-21 00:39
历史总是重演... 2017年的ICO狂潮又回来了,老实说
查看原文回复0
潮水退了就知道vip
· 07-20 09:51
这也太看好了吧!
回复0
幻想矿工vip
· 07-20 09:46
神奇~又一个layer2项目
回复0
GraphGuruvip
· 07-20 09:40
不会玩就别玩了
回复0
空投猎人007vip
· 07-20 09:37
btc终于要起飞了!
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)