This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
BTCエコシステムの重大な突破:FractalがスマートコントラクトプロトコルCAT20を発表
BTCも独自のスマートコントラクト機能を持つようになります
最近、ビットコインエコシステムで「Fractal BTC」というプロジェクトが複数回のテストネットを経て、9月に正式にメインネットにローンチされました。Fractalの大きな特徴は、スマートコントラクト機能を備えていることであり、メインネットのローンチ時に新しいトークンプロトコルCAT20が発表されました。では、CAT20には技術的にどのような巧妙な点があるのでしょうか?私たちはそこから何を学べるのでしょうか?
! 技術的解釈:CAT20:フラクタルビットコインに関する新しいトークンプロトコル
フラクタルビットコインの紹介
CAT20を理解する前に、まずFractal Bitcoinについて簡単に理解する必要があります。両者の関係はERC20とETHのようなもので、CAT20プロトコルはFractal Bitcoinの上に展開されています。
フラクタルビットコインは分形ビットコインとも呼ばれ、完全にBTCと互換性のある"第二層"ネットワークです。BTCに比べて、ブロック確認時間はより速く、わずか1分で済みます。その基本的な原理は簡単に言えば、BTCネットワークをいくつかコピーし、各チェーンが取引を処理できるようにし、取引を処理できるノードが増えることで、速度が自然に向上するというものです。ただし、異なるチェーン間の通信方法などの具体的な詳細は、現時点ではあまり明確ではなく、公式も参照用の技術文書を提供していません。
もし単なる二層チェーン取引がより速いだけなら、それだけでは人々を興奮させるには不十分なようです。しかし、Fractalは、安全上の理由で以前に廃止された操作コードOP_CATをBTCに有効にしました。これにより、Fractal Bitcoinの能力は一段階向上しました。OP_CATがBTCにスマートコントラクトの能力を与えることができると考える人もおり、これにより人々により多くの想像の余地が提供されます。
現在、Fractal Bitcoin上でERC20に似たプロトコルが実現されている人がいます。
! 技術的解釈:CAT20:フラクタルに関する新しいトークンプロトコルビットコイン
CATプロトコル
底層のOP_CATのサポートにより、CATプロトコルがすぐに登場しました。現在、実際に稼働しているプロトコルの一つはCAT20プロトコルです。
成熟したERC20プロトコルと比較すると、誰でも簡単にトークンを展開できるようになりましたが、CAT20はどのようにERC20に似たライフサイクルを実現しているのでしょうか?
デプロイ
デプロイする前に、ユーザーは自分のウォレットアドレスとトークンの基本情報を指定する必要があります。これらの情報はERC20に似ています。CAT20のいくつかの違いは、あらかじめ採掘を設定できたり、毎回Mintの数量制限を設けられる点です。当然、ERC20もコントラクトの機能を通じてこれらの機能を実現できます。
デプロイメントステージでは、2つのトランザクションが発生し、"commit"と"reveal"という2つのステージと見なすことができます。"commit"ステージでは、トランザクションの出力スクリプトにトークンの基本情報が書き込まれます。たとえば、トークンの名前やシンボルなどです。"commit"ステージで発生したトランザクションのhashIdは、そのトークンの識別子として機能し、他のトークンと区別されます。
"reveal"段階では、取引は最初にOP_RETURNを出力し、その中にCAT20の初期状態のハッシュが保存されます。その後、重要な役割を果たすMinterが出力され、Mintプロセスの状態変化を維持するために使用されます。
全体のDeployプロセスでは、「commit」と「reveal」はブロックチェーン上で一般的に使用される提出と開示の二つのステップに従い、プロジェクトをデプロイする一般的な方法の一つです。
! 技術的解釈:CAT20:フラクタルビットコインに関する新しいトークンプロトコル
ミント
Mint Token時、取引には以下のいくつかの特徴があります:
minterはmint取引の出力として、1つ、複数、または0個である可能性があります。毎回Mintを1つに設定した場合、ネットワーク全体で使用可能なminterの数は(1個)のまま維持され、これによりMintが混雑することになります。この状況を避けるためには、毎回出力されるminterの数を1より大きく設定する必要があります。そうすることで、mint後に皆が使用できるminterはどんどん増えていきます。
しかし、minterを1つ追加するたびに、追加のutxoを支払う必要があることを意味します。経済的な理由から、より多くの人々がminterを0に設定することを好むでしょう。これは不可避的にminterをデフレにし、いくつかの人々が貢献し、自発的に追加のminterを支払う必要があります。
V2バージョンでは、デフォルトで2つのMinterが生成され、2つのMinterの状態はできるだけ近くなります。
! 技術的解釈:CAT20:フラクタルビットコインに関する新しいトークンプロトコル
取引のストラクチャリング
なぜminterのutxoを使用して取引を構築できるのか? これは「スマートコントラクト」のソースコードを分析する必要があります。
revealプロセスでは、取引は前の取引の出力commitを入力として使用します。これは巧妙にスクリプトのロジックを改変することで実現され、スクリプトに書き込まれた公開鍵と秘密鍵のペアは自分のアドレスのものであるため、異なる2つのアドレスのutxoを制御することができます。
minter utxoについて、誰でもこれらのutxoを入力として使用できます。これはOP_CATが提供するスマートコントラクトの能力かもしれません。各minterは1つのスマートコントラクトです。
! 技術的解釈:CAT20:フラクタルビットコインに関する新しいトークンプロトコル
トランザクション(V2)のステータス
minterの状態は2つの場所に保存されています: 1つはトランザクション出力のOP_RETURNに、もう1つはスマートコントラクトに保存されています。
OP_RETURNに現在の取引出力状態のハッシュを保存し、スマートコントラクトにトークンの残りのミント回数を保存します。毎回ミントの後、新しく生成されたミンターのミント数量は残りのミント可能数量を2で割ったものになります。
Minterはスマートコントラクトであるだけでなく、生成されたトークンもスマートコントラクトであり、CAT20です。CAT20には2つの基本的な状態があります: 数量とトークンの帰属者アドレスです。注意すべきは、BRC20やインスクリプションとは異なり、CAT20はあなたのアドレスのUTXO上には存在しないことです。
! CAT20の技術的解釈:フラクタルビットコインに関する新しいトークンプロトコル
###転送
Transfer時、取引の入力と出力のトークン数量は一致している必要があります。同じ取引には複数の異なるトークンが含まれる可能性がありますが、異なるトークンの入力出力数量が一致していれば問題ありません。
! CAT20の技術的解釈:フラクタルビットコインに関する新しいトークンプロトコル
バーン
トークンを燃やすには、トークンを通常のアドレスに転送するだけです。
! CAT20の技術的解釈:フラクタルビットコインに関する新しいトークンプロトコル
まとめ
すべての操作はユーザー自身が構築し、柔軟性が非常に高いため、契約部分では多くの検証ロジックを実装する必要があります。現在発生しているいくつかの脆弱性も、検証ロジックの不備が原因です。
このデザインにはいくつかの利点があります:
! 技術解釈CAT20:フラクタルビットコインに関する新しいトークンプロトコル