# BTC上的智能合约:深入解析分形比特币的CAT20协议近期,比特币生态迎来了一项重大进展。经过多轮测试网之后,Fractal BTC终于在9月份正式上线主网。Fractal的一大亮点在于它具备智能合约功能,并在主网启动之际推出了新的代币协议CAT20。那么,CAT20在技术设计上有哪些巧妙之处?我们又能从中学到什么呢?## Fractal Bitcoin简介在深入探讨CAT20之前,我们需要先了解一下Fractal Bitcoin。它们的关系类似于ERC20与ETH,CAT20协议是部署在Fractal Bitcoin网络上的。Fractal Bitcoin,也称为分形比特币,是一个完全兼容BTC的"二层"网络。相较于BTC,它的区块确认时间更短,仅需1分钟。其基本原理如其名所示,就是将BTC网络复制了多份,每条链都能处理交易,从而提高了整体的处理速度。Fractal的一个重要特性是启用了BTC早期因安全考虑而弃用的操作码OP_CAT。这一举措大大提升了Fractal Bitcoin的功能,使其具备了智能合约的能力,为未来发展开辟了更多可能性。## CAT Protocol解析有了OP_CAT的底层支持,CAT Protocol应运而生。目前,CAT20协议已经在实际应用中运行。### 部署过程在部署CAT20代币之前,用户需要指定钱包地址和代币的基本信息。与ERC20相比,CAT20还允许设置预挖量和每次铸造的数量限制。部署分为两个阶段:"commit"和"reveal"。在"commit"阶段,交易的输出脚本会写入代币的基本信息。"commit"阶段产生的交易哈希值将作为该代币的唯一标识。"reveal"阶段会生成两个关键输出:一个OP_RETURN用于保存CAT20的初始状态哈希,另一个是Minter,用于后续的铸造过程。### 铸造机制铸造过程中,交易的输入是一个minter,最初由部署阶段生成。每次铸造都只有一个minter作为输入,但可以有多个minter作为输出。有趣的是,minter的输出数量可以灵活设置。如果每次都只输出1个,网络中可用的minter数量将保持不变,可能导致铸造拥堵。而输出多个minter则需要支付额外的UTXO费用,这就需要一些用户自愿承担这部分成本。在V2版本中,默认生成两个状态相近的Minter,以平衡效率和成本。### 交易构建的技术细节CAT20的交易构建采用了一些巧妙的技术。例如,在reveal过程中,通过调整比特币脚本的逻辑,使得用户可以控制看似不同地址的UTXO。而minter的UTXO则可能利用了OP_CAT提供的智能合约能力,使得任何人都能使用这些UTXO作为输入。### 状态管理CAT20在minter中保存了状态信息,存储在OP_RETURN和智能合约中。每次铸造后,新生成的Minter的铸造数量会等于剩余可铸造数量的一半,直到全部铸造完毕。### 转账和销毁转账时,交易的输入和输出token数量需保持一致。销毁token只需将其转到普通地址即可。## 总结CAT20的设计给予了用户极大的灵活性,同时也对合约的校验逻辑提出了更高要求。这种设计便于查询token持有情况和铸造状态,提高了效率。随着Fractal Bitcoin和CAT20的发展,比特币生态正在向更丰富的应用场景迈进,为去中心化金融和智能合约领域带来新的可能性。
CAT20协议:Fractal Bitcoin上的智能合约新突破
BTC上的智能合约:深入解析分形比特币的CAT20协议
近期,比特币生态迎来了一项重大进展。经过多轮测试网之后,Fractal BTC终于在9月份正式上线主网。Fractal的一大亮点在于它具备智能合约功能,并在主网启动之际推出了新的代币协议CAT20。那么,CAT20在技术设计上有哪些巧妙之处?我们又能从中学到什么呢?
Fractal Bitcoin简介
在深入探讨CAT20之前,我们需要先了解一下Fractal Bitcoin。它们的关系类似于ERC20与ETH,CAT20协议是部署在Fractal Bitcoin网络上的。
Fractal Bitcoin,也称为分形比特币,是一个完全兼容BTC的"二层"网络。相较于BTC,它的区块确认时间更短,仅需1分钟。其基本原理如其名所示,就是将BTC网络复制了多份,每条链都能处理交易,从而提高了整体的处理速度。
Fractal的一个重要特性是启用了BTC早期因安全考虑而弃用的操作码OP_CAT。这一举措大大提升了Fractal Bitcoin的功能,使其具备了智能合约的能力,为未来发展开辟了更多可能性。
CAT Protocol解析
有了OP_CAT的底层支持,CAT Protocol应运而生。目前,CAT20协议已经在实际应用中运行。
部署过程
在部署CAT20代币之前,用户需要指定钱包地址和代币的基本信息。与ERC20相比,CAT20还允许设置预挖量和每次铸造的数量限制。
部署分为两个阶段:"commit"和"reveal"。在"commit"阶段,交易的输出脚本会写入代币的基本信息。"commit"阶段产生的交易哈希值将作为该代币的唯一标识。
"reveal"阶段会生成两个关键输出:一个OP_RETURN用于保存CAT20的初始状态哈希,另一个是Minter,用于后续的铸造过程。
铸造机制
铸造过程中,交易的输入是一个minter,最初由部署阶段生成。每次铸造都只有一个minter作为输入,但可以有多个minter作为输出。
有趣的是,minter的输出数量可以灵活设置。如果每次都只输出1个,网络中可用的minter数量将保持不变,可能导致铸造拥堵。而输出多个minter则需要支付额外的UTXO费用,这就需要一些用户自愿承担这部分成本。
在V2版本中,默认生成两个状态相近的Minter,以平衡效率和成本。
交易构建的技术细节
CAT20的交易构建采用了一些巧妙的技术。例如,在reveal过程中,通过调整比特币脚本的逻辑,使得用户可以控制看似不同地址的UTXO。而minter的UTXO则可能利用了OP_CAT提供的智能合约能力,使得任何人都能使用这些UTXO作为输入。
状态管理
CAT20在minter中保存了状态信息,存储在OP_RETURN和智能合约中。每次铸造后,新生成的Minter的铸造数量会等于剩余可铸造数量的一半,直到全部铸造完毕。
转账和销毁
转账时,交易的输入和输出token数量需保持一致。销毁token只需将其转到普通地址即可。
总结
CAT20的设计给予了用户极大的灵活性,同时也对合约的校验逻辑提出了更高要求。这种设计便于查询token持有情况和铸造状态,提高了效率。
随着Fractal Bitcoin和CAT20的发展,比特币生态正在向更丰富的应用场景迈进,为去中心化金融和智能合约领域带来新的可能性。