亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

當(dāng)前位置:主頁(yè) > 區(qū)塊鏈 > 區(qū)塊鏈技術(shù) > CAT20 Fractal BTC上的代幣協(xié)議

CAT20有什么技術(shù)上的巧妙設(shè)計(jì)?CAT20-Fractal BTC上的代幣協(xié)議

2024-09-29 10:03:41 | 來(lái)源: | 作者:佚名
Fractal 的一大特點(diǎn)就是具備「智能合約」的能力,并且?guī)缀踉谕瞥鲋骶W(wǎng)的同時(shí),上線了一個(gè)新的代幣協(xié)議 CAT20,CAT20 有什么技術(shù)上的巧妙設(shè)計(jì)呢?我們又可以學(xué)到什么

CAT20有什么技術(shù)上的巧妙設(shè)計(jì)?CAT20-Fractal BTC上的代幣協(xié)議!BTC 上也要有自己的智能合約了?最近比特幣生態(tài)上,F(xiàn)ractal BTC 在經(jīng)歷了多次測(cè)試網(wǎng)之后,終于在 9 月份上線主網(wǎng)。Fractal 的一大特點(diǎn)就是具備「智能合約」的能力,并且?guī)缀踉谕瞥鲋骶W(wǎng)的同時(shí),上線了一個(gè)新的代幣協(xié)議 CAT20。CAT20 有什么技術(shù)上的巧妙設(shè)計(jì)呢?我們又可以學(xué)到什么?下面就和腳本之家詳細(xì)了解下吧!

Fractal Bitcoin

在了解 CAT20 之前我們需要簡(jiǎn)單了解一下 Fractal Bitcoin,他們的關(guān)系就像 ERC20 和 ETH 一樣,CAT20 協(xié)議是部署在 Fractal Bitcoin 上的。

Fractal Bitcoin 又稱作分形比特幣,是一個(gè)完全兼容 BTC 的「二層」網(wǎng)絡(luò)。相比于 BTC,它的區(qū)塊確認(rèn)時(shí)間更快,僅需要 1 分鐘。它的基本原理簡(jiǎn)單來(lái)說(shuō)就如它的名字所言,就是將 BTC 網(wǎng)絡(luò)復(fù)制了幾份,每條鏈都會(huì)處理交易,可以處理交易的節(jié)點(diǎn)多了,速度也就自然快了。不過(guò)具體的細(xì)節(jié)比如不同鏈之間是如何通信的目前還不是很清楚,官方也沒(méi)有對(duì)應(yīng)的技術(shù)文檔可以參考。

如果只是一個(gè)二層鏈交易更快,似乎沒(méi)有讓人興奮的點(diǎn)。但是,在 Fractal 中啟用了 BTC 很久之前就因?yàn)榘踩驐売玫牟僮鞔a OP_CAT,讓 Fractal Bitcoin 的能力上升了一個(gè)臺(tái)階,有人說(shuō) OP_CAT 能讓 BTC 具有智能合約的能力,這樣的話可以遐想的空間就更多了。

現(xiàn)在,就有人在 Fractal Bitcoin 上實(shí)現(xiàn)了一個(gè)類似 ERC20 的協(xié)議。

關(guān)于 OP_CAT 為什么棄用以及為什么又可以在 Fractal Bitcoin 上使用,后續(xù)可以展開(kāi)講講,這里我們關(guān)注 CAT20。

CAT Protocol

  • 以下內(nèi)容參考白皮書(shū):Introduction | CAT Protocol (https://catprotocol.org/)
  • 以及 github 倉(cāng)庫(kù):
  • GitHub - CATProtocol/cat-token-box: A monorepo for packages implementing CAT protocol (https://github.com/CATProtocol/cat-token-box)

有了底層的 OP_CAT 支持,很快就有了對(duì)應(yīng)的協(xié)議,CAT Protocol。目前一個(gè)已經(jīng)在實(shí)際跑的協(xié)議是 CAT20 協(xié)議,在 Unisat 上也新增了對(duì)應(yīng)的面板:https://explorer.unisat.io/fractal-mainnet/cat20。

看到 CAT20 的名字大家應(yīng)該也能反應(yīng)過(guò)來(lái),它應(yīng)該和 ERC20 比較像。相比于成熟的 ERC20 協(xié)議,大家部署一個(gè) Token 已經(jīng)非常的方便,CAT20 是如何實(shí)現(xiàn) ERC20 類似的生命周期呢。

Deploy

在部署之前,用戶需要指定自己的錢包地址以及代幣的基本信息,代幣的基本信息和 ERC20 的類似:

會(huì)有一些不同點(diǎn) CAT20 可以設(shè)置預(yù)挖和每次 Mint 的數(shù)量限制。當(dāng)然 ERC20 可以通過(guò)合約的能力也可以實(shí)現(xiàn)這些能力。

在部署階段,會(huì)發(fā)起兩筆交易,可以認(rèn)為是兩個(gè)階段:「 commit 」和「 reveal 」。引用官方上的圖,部署的階段如下:

在「 commit 」階段,交易的輸出腳本中會(huì)將代幣的基本信息寫(xiě)入,比如代幣的名稱、符號(hào)等。在「 commit 」階段發(fā)起的交易 hashId 會(huì)作為該代幣的標(biāo)志,用于區(qū)分其他代幣。

可以看到這筆交易「 bc1pucq...ashx 」這個(gè) utxo 就是對(duì)應(yīng)了 commit。然后剩下的兩筆指向「 bc1pszp...rehc4 」的交易,第一筆是用于支付下面「 reveal 」階段的 gas 費(fèi),另一筆則是找零。

在「 reveal 」階段,可以看到有兩筆 utxo 輸入,對(duì)應(yīng)了之前 commit 階段的前兩個(gè)輸出。這筆交易首先會(huì)輸出一個(gè) OP_RETURN,在 OP_RETURN 中會(huì)保存 CAT20 的初始狀態(tài)的 Hash。之后會(huì)再輸出一個(gè) Minter,它會(huì)在后續(xù)的 Mint 過(guò)程中發(fā)揮重要作用,用來(lái)維護(hù) Mint 過(guò)程的狀態(tài)變化。

回過(guò)頭看整個(gè) Deploy 的過(guò)程,「 commit 」和「 reveal 」遵循了區(qū)塊鏈上常用的提交和揭示兩個(gè)步驟,是一種比較常見(jiàn)的部署項(xiàng)目的方式,項(xiàng)目的一些數(shù)據(jù)只在「 reveal 」階段才會(huì)揭露出來(lái)。

Mint

我們先看一下 Mint Token 的時(shí)候,交易是這么樣的。

在上圖中可以看到,Mint 的過(guò)程有以下幾個(gè)特征。

  • mint 的輸入是一個(gè) minter,最開(kāi)始是由 deploy 的時(shí)候生成的。
  • 每一次 mint 都有且只有一個(gè) minter 作為輸入,有任意個(gè) minter 作為輸出(有點(diǎn)點(diǎn)問(wèn)題)
  • 每一次 mint 都有且只有一個(gè) token(有點(diǎn)點(diǎn)問(wèn)題)
  • 輸出的順序是有要求的,minter 后面必須是 token

知道了 Mint 的過(guò)程,其實(shí)我們可以發(fā)現(xiàn)一些特殊情況,會(huì)讓整個(gè) Mint 的過(guò)程變得有趣。

比如,minter 作為 mint 交易的輸出,他可以是 1 個(gè)、多個(gè)甚至是 0 個(gè)。如果每次 Mint 的時(shí)候都設(shè)置為 1 個(gè),那么整個(gè)網(wǎng)絡(luò)中可以使用到的 minter 數(shù)量就會(huì)保持不變(1 個(gè)),這會(huì)讓 Mint 變得擁擠,大家都需要搶這個(gè) minter,為了避免這種情況,是需要將每次輸出的 minter 數(shù)量設(shè)置為大于 1 ,這樣 mint 之后,大家可以使用的 minter 就會(huì)越來(lái)越多。

不過(guò),每多輸出一個(gè) minter 意味這你需要多支付一筆 utxo,出于經(jīng)濟(jì)考慮,更多的人會(huì)樂(lè)意將 minter 設(shè)置為 0,就會(huì)不可避免的讓 minter 變得通縮,這就需要一些人來(lái)進(jìn)行奉獻(xiàn)了,自愿支付多出來(lái)的 minter。

在 V2 版本,默認(rèn)是生成兩個(gè) Minter,并且兩個(gè) Minter 的狀態(tài)會(huì)盡可能相近。

交易的構(gòu)建

可能有小伙伴發(fā)現(xiàn)了一個(gè)問(wèn)題,那就是為什么可以使用 minter 的 utxo 進(jìn)行交易的構(gòu)建?想要了解這個(gè)問(wèn)題就需要對(duì)“合約”的源碼進(jìn)行分析。

1、reveal utxo

首先我們對(duì) reveal 過(guò)程中的交易進(jìn)行分析,我們發(fā)現(xiàn)他使用了前一個(gè)交易的輸出 commit 作為輸入。為什么可以拿一個(gè)不是我們地址的 utxo 構(gòu)建交易的輸入呢?

按照常理,一個(gè)私鑰對(duì)應(yīng)一個(gè)公鑰,公鑰派生出地址。當(dāng)驗(yàn)證一個(gè)輸入的 utxo 是否有效的時(shí)候,一般是通過(guò)比較簽名用公鑰解密之后是否和原本的交易一致來(lái)確定。這部分的邏輯是寫(xiě)在比特幣腳本中的。所以我們可以巧妙的改寫(xiě)腳本的邏輯,在腳本中寫(xiě)的公私鑰對(duì)是我們自己地址的,這樣我們就可以控制兩個(gè)不同地址的 utxo 了。

看源碼我們就能知道發(fā)生了什么:

這里還會(huì)有一個(gè)問(wèn)題,就是一個(gè)私鑰對(duì)應(yīng)一個(gè)公鑰,那么為什么生成的 commit 地址會(huì)和我們地址不一樣呢?這里從源碼中可以看到

也就是說(shuō),我們的私鑰會(huì)根據(jù)一個(gè) ISSUE_PUBKEY 來(lái)調(diào)整公鑰,這也是 P2TR 地址的一個(gè)特性。

2、minter utxo

reveal 過(guò)程中,我們使用不同的 utxo 的作為輸入,但其實(shí)加密的密鑰是同一把,也就是部署者的私鑰。但是在 minter 階段,所有的人都可以使用這些 utxo 作為輸入,這又是怎么做到的呢?

這部分我猜測(cè)是之前說(shuō)的 OP_CAT 的能力,也就是智能合約的能力,每一個(gè) minter 就是一個(gè)智能合約。不過(guò)目前這部分的源碼沒(méi)有公開(kāi),暫時(shí)不知道具體的實(shí)現(xiàn)是怎么樣的。

交易的狀態(tài)(V2)

在 minter 中,還保留了狀態(tài)。這個(gè)狀態(tài)存在兩個(gè)地方:一個(gè)是交易輸出的 OP_RETURN 中,另外就是存儲(chǔ)在智能合約中,也就是上述提到的 Minter 以及 Token。

在 OP_RETURN 中存儲(chǔ)的是當(dāng)前交易輸出狀態(tài)的 Hash,在合約中會(huì)存儲(chǔ) Token 剩余的 Mint 次數(shù)。每次 Mint 之后,新生成的 Minter 的 mint 數(shù)量會(huì)等于剩余可以 mint 的數(shù)量除以二。用圖表示:

最后打完的時(shí)候,所有 Minter 的剩余數(shù)量為 0。

回到最開(kāi)始的那張圖上,除了 Minter 是一個(gè)智能合約之外,生成的 Token 也是智能合約,也就是 CAT20。CAT20 有兩個(gè)基本的狀態(tài):數(shù)量以及 Token 的歸屬者地址??梢钥吹讲幌裰暗?BRC20 或者銘文,你的 CAT20 并不是在你地址的 UTXO 上。

Transfer

Transfer 的時(shí)候,構(gòu)建交易的輸入和輸出的 token 其里面的數(shù)量需要保持一致。當(dāng)然同一筆交易里面可以有多個(gè)不同的 token,只需要不同 token 的其輸入輸出的數(shù)量保持一致就行。

Burn

想要燃燒掉 Token 的話,只需要將 Token 轉(zhuǎn)到一個(gè)普通地址上即可。

總結(jié)

可以看到,所有的操作都是由用戶自己去構(gòu)建,靈活性非常大,所以在合約部分需要做很多的校驗(yàn)邏輯。目前爆出的一些漏洞也是因?yàn)樾r?yàn)邏輯出現(xiàn)了疏忽。

這樣的設(shè)計(jì)可以有一些好處:

  1. 如果想要查找所有的 Token 的持有情況,只需要查一下 token 的 utxo 就行,不需要繼續(xù)往上查。

  2. 如果想要查看 mint 的當(dāng)前情況,可以搜索 OP_RETURN 中數(shù)據(jù)帶有 cat 的交易就好。

以上就是腳本之家小編給大家分享的CAT20有什么技術(shù)上的巧妙設(shè)計(jì)?CAT20-Fractal BTC上的代幣協(xié)議的詳細(xì)介紹了,希望大家喜歡!

聲明:文章內(nèi)容不代表本站觀點(diǎn)及立場(chǎng),不構(gòu)成本平臺(tái)任何投資建議。本文內(nèi)容僅供參考,風(fēng)險(xiǎn)自擔(dān)!
Tag:Cat20   Fractal   BTC  

你可能感興趣的文章

幣圈快訊

  • 港股普星能量收漲141.38%,此前宣布認(rèn)購(gòu)HashKey優(yōu)先股

    2025-07-10 16:43
    7月10日消息,港股上市公司普星能量(0090)早盤股價(jià)一度漲近280%,截至收盤上漲141.38%,報(bào)1.40港元,最高漲至2.24港元。此前公司公告已認(rèn)購(gòu)HashKeyHoldingsLimited發(fā)行的A系列優(yōu)先股,持股比例不超過(guò)5%,成為其股東。
  • 24小時(shí)內(nèi)7大機(jī)構(gòu)買入價(jià)值約3.58億美元的ETH

    2025-07-10 16:43
    金色財(cái)經(jīng)報(bào)道,據(jù)鏈上分析平臺(tái)Lookonchain監(jiān)測(cè),過(guò)去24小時(shí)內(nèi),7家機(jī)構(gòu)/鯨魚(yú)賬戶累計(jì)購(gòu)入127,971枚ETH,價(jià)值約3.58億美元。
  • 數(shù)據(jù):24小時(shí)內(nèi)7大機(jī)構(gòu)或巨鯨買入約3.58億美元的ETH

    2025-07-10 16:42
    ChainCatcher消息,據(jù)鏈上分析平臺(tái)Lookonchain(@lookonchain)監(jiān)測(cè),過(guò)去24小時(shí)內(nèi),7家機(jī)構(gòu)/鯨魚(yú)賬戶累計(jì)購(gòu)入127,971枚ETH,價(jià)值約3.58億美元。 主要交易包括:新錢包0x35fb從Kraken提取54,125枚ETH(1.51億美元) AbraxasCapital從Binance和Kraken提取40,986枚ETH(1.14億美元) SharpLinkGaming通過(guò)OTC購(gòu)買5,072枚ETH(1,351萬(wàn)美元) GMX黑客將3200萬(wàn)美元資產(chǎn)兌換為11,700枚ETH 鯨魚(yú)0x8C08以2,721美元價(jià)格購(gòu)買9,188枚ETH(2500萬(wàn)USDT) 鯨魚(yú)0x3c9E從Kraken提取4,000枚ETH(1,118萬(wàn)美元)并存入Aave和Compound pfm.eth以2,759美元價(jià)格購(gòu)買2,900枚ETH(800萬(wàn)USDT)
  • Glassnode:比特幣突破歷史高位實(shí)現(xiàn)市值增44億美元,上漲背后有真實(shí)的信念支撐

    2025-07-10 16:34
    ChainCatcher消息,glassnode發(fā)文稱,與市值不同,比特幣實(shí)現(xiàn)市值反映了實(shí)際資金流入,只有當(dāng)加密貨幣價(jià)格上漲時(shí)才會(huì)上升。當(dāng)比特幣突破112,000美元?jiǎng)?chuàng)下新的歷史最高價(jià)(ATH)時(shí),其實(shí)現(xiàn)市值增加了44億美元,這證實(shí)了此次價(jià)格上漲背后有真實(shí)的信念支撐,而不僅僅是投機(jī)性標(biāo)價(jià)。
  • 港股穩(wěn)定幣概念股國(guó)泰君安國(guó)際收盤漲8.85%,11個(gè)交易日漲超5倍

    2025-07-10 16:33
    金色財(cái)經(jīng)報(bào)道,據(jù)行情信息,港股穩(wěn)定幣概念股國(guó)泰君安國(guó)際今日收盤漲8.85%,報(bào)收6.27港元。自6月25日國(guó)泰君安國(guó)際正式獲批提供加密貨幣等虛擬資產(chǎn)交易服務(wù)以來(lái),股價(jià)從1.24港元升至今日,11個(gè)交易日漲超5倍。
  • 查看更多