# 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的發展,比特幣生態正在向更豐富的應用場景邁進,爲去中心化金融和智能合約領域帶來新的可能性。