作者:ZANTeam
本文僅作為技術(shù)分享,不構(gòu)成任何投資建議。
BTC上也要有自己的智能合約了?
最近Bitcoin生態(tài)上,F(xiàn)ractalBTC在經(jīng)歷了多次測(cè)試網(wǎng)之后,終于在9月份上線主網(wǎng)。Fractal的一大特點(diǎn)就是具備「智能合約」的能力,并且?guī)缀踉谕瞥鲋骶W(wǎng)的同時(shí),上線了一個(gè)新的Tokens協(xié)議CAT20。CAT20有什么技術(shù)上的巧妙設(shè)計(jì)呢?我們又可以學(xué)到什么?FractalBitcoin
在了解CAT20之前我們需要簡單了解一下FractalBitcoin,他們的關(guān)系就像ERC20和ETH一樣,CAT20協(xié)議是部署在FractalBitcoin上的。
FractalBitcoin又稱作分形Bitcoin,是一個(gè)完全兼容BTC的「二層」網(wǎng)絡(luò)。相比于BTC,它的區(qū)塊確認(rèn)時(shí)間更快,僅需要1分鐘。它的基本原理簡單來說就如它的名字所言,就是將BTC網(wǎng)絡(luò)復(fù)制了幾份,每條鏈都會(huì)處理交易,可以處理交易的Node多了,速度也就自然快了。不過具體的細(xì)節(jié)比如不同鏈之間是如何通信的目前還不是很清楚,官方也沒有對(duì)應(yīng)的技術(shù)文檔可以參考。
如果只是一個(gè)二層鏈交易更快,似乎沒有讓人興奮的點(diǎn)。但是,在Fractal中啟用了BTC很久之前就因?yàn)榘踩驐売玫牟僮鞔aOP_CAT,讓FractalBitcoin的能力上升了一個(gè)臺(tái)階,有人說OP_CAT能讓BTC具有智能合約的能力,這樣的話可以遐想的空間就更多了。
現(xiàn)在,就有人在FractalBitcoin上實(shí)現(xiàn)了一個(gè)類似ERC20的協(xié)議。
關(guān)于OP_CAT為什么棄用以及為什么又可以在FractalBitcoin上使用,后續(xù)可以展開講講,這里我們關(guān)注CAT20。CATProtocol
以下內(nèi)容參考Whitepaper:Introduction|CATProtocol(https://catprotocol.org/)
以及github倉庫:
GitHub-CATProtocol/cat-token-box:AmonorepoforpackagesimplementingCATprotocol(https://github.com/CATProtocol/cat-token-box)
有了底層的OP_CAT支持,很快就有了對(duì)應(yīng)的協(xié)議,CATProtocol。目前一個(gè)已經(jīng)在實(shí)際跑的協(xié)議是CAT20協(xié)議,在Unisat上也新增了對(duì)應(yīng)的面板:https://explorer.unisat.io/fractal-mainnet/cat20。
看到CAT20的名字大家應(yīng)該也能反應(yīng)過來,它應(yīng)該和ERC20比較像。相比于成熟的ERC20協(xié)議,大家部署一個(gè)Token已經(jīng)非常的方便,CAT20是如何實(shí)現(xiàn)ERC20類似的生命周期呢。Deploy
在部署之前,用戶需要指定自己的錢包地址以及Tokens的基本信息,Tokens的基本信息和ERC20的類似:
Mint
我們先看一下MintToken的時(shí)候,交易是這么樣的。
回到最開始的那張圖上,除了Minter是一個(gè)智能合約之外,生成的Token也是智能合約,也就是CAT20。CAT20有兩個(gè)基本的狀態(tài):數(shù)量以及Token的歸屬者地址?梢钥吹讲幌裰暗腂RC20或者銘文,你的CAT20并不是在你地址的UTXO上。Transfer
Transfer的時(shí)候,構(gòu)建交易的輸入和輸出的token其里面的數(shù)量需要保持一致。當(dāng)然同一筆交易里面可以有多個(gè)不同的token,只需要不同token的其輸入輸出的數(shù)量保持一致就行。Burn
想要燃燒掉Token的話,只需要將Token轉(zhuǎn)到一個(gè)普通地址上即可?偨Y(jié)
可以看到,所有的操作都是由用戶自己去構(gòu)建,靈活性非常大,所以在合約部分需要做很多的校驗(yàn)邏輯。目前爆出的一些漏洞也是因?yàn)樾r?yàn)邏輯出現(xiàn)了疏忽。
這樣的設(shè)計(jì)可以有一些好處:
如果想要查找所有的Token的持有情況,只需要查一下token的utxo就行,不需要繼續(xù)往上查。
如果想要查看mint的當(dāng)前情況,可以搜索OP_RETURN中數(shù)據(jù)帶有cat的交易就好。
免責(zé)聲明:技術(shù)分享:CAT20 -- Fractal BTC 上的Tokens協(xié)議文章轉(zhuǎn)發(fā)自互聯(lián)網(wǎng),版權(quán)歸其所有。
文章內(nèi)容不代表本站立場和任何投資暗示。加密貨幣市場極其波動(dòng),風(fēng)險(xiǎn)很高,可能不適合所有投資者。在投資加密貨幣之前,請(qǐng)確保自己充分了解市場和投資的風(fēng)險(xiǎn),并考慮自己的財(cái)務(wù)狀況和風(fēng)險(xiǎn)承受能力。此外,請(qǐng)遵循您所在國家的法律法規(guī),以及遵守交易所和錢包提供商的規(guī)定。對(duì)于任何因使用加密貨幣所造成的投資損失或其他損失,本站不承擔(dān)任何責(zé)任。
Copyright © 2021.Company 元宇宙YITB.COM All rights reserved.元宇宙YITB.COM