BTCエコシステムの新しいスマートコントラクトプラットフォームFractalがCAT20プロトコルのハイライトを解析して上线しました

robot
概要作成中

BTCエコシステムにスマートコントラクトの新しい展開が訪れる

最近ビットコインエコシステムに新しいスマートコントラクトプラットフォームFractal Bitcoinが登場し、9月に正式にメインネットがローンチされました。Fractalの大きな特徴はスマートコントラクト機能を備えており、メインネットのローンチと同時に新しいトークンプロトコルCAT20が発表されました。CAT20の技術設計にはどのような巧妙な点があるのでしょうか?私たちはそこから何を学べるのでしょうか?

! 技術的解釈:CAT20:フラクタルビットコインに関する新しいトークンプロトコル

フラクタルビットコインの紹介

CAT20について理解する前に、Fractal Bitcoinについて簡単に理解する必要があります。両者の関係はERC20とETHのようなもので、CAT20プロトコルはFractal Bitcoin上にデプロイされています。

フラクタルビットコインは分形比特币とも呼ばれ、完全にBTCと互換性のあるレイヤー2ネットワークです。BTCと比べて、ブロック確認時間がより早く、わずか1分で済みます。その基本原理は、BTCネットワークを複製し、各チェーンが取引を処理できるようにし、取引を処理するノードが増えることで、速度が自然に向上するというものです。ただし、異なるチェーン間の通信方法など、具体的な技術的詳細についてはまだあまり明らかではなく、公式も関連する技術文書を提供していません。

Fractalの重要な特徴の一つは、BTCが安全上の理由から以前に廃止したオペコードOP_CATを有効にしたことです。これにより、Fractal Bitcoinの能力が一段と向上しました。OP_CATがBTCにスマートコントラクトの機能をもたらすことができると考える人もおり、これが将来の発展にさらなる可能性を提供しています。

現在、Fractal BitcoinでERC20に似たプロトコルが実現されています。

! 技術的解釈:CAT20:フラクタルに関する新しいトークンプロトコルビットコイン

CATプロトコル

基盤のOP_CATサポートが導入されたことで、すぐに対応するCATプロトコルが登場しました。現在実際に稼働しているのはCAT20プロトコルで、あるブロックエクスプローラーにはそれに対応する機能パネルも新たに追加されています。

CAT20の名前はERC20を連想させ、両者は確かに似ています。成熟したERC20プロトコルと比較して、CAT20はどのように類似のライフサイクルを実現しているのでしょうか?

! 技術的解釈:CAT20:フラクタルビットコインに関する新しいトークンプロトコル

デプロイ

デプロイする前に、ユーザーはウォレットアドレスとトークンの基本情報を指定する必要があります。後者はERC20に似ています。異なる点は、CAT20ではプレマイニングと毎回のミントの数量制限を設定できることです。

デプロイは2つの段階に分かれています: "commit" と "reveal"。commit段階では、取引の出力スクリプトにトークンの基本情報、例えば名前やシンボルなどが書き込まれます。commit段階で発起された取引のhashIdは、そのトークンの識別子として使用され、他のトークンと区別されます。

reveal段階では、取引がOP_RETURNを出力し、CAT20の初期状態のハッシュを保存します。その後、Mintプロセスの状態変化を維持するためにMinterが出力されます。

全体のデプロイプロセスは、ブロックチェーン上で一般的に使用される提出と公開の2つのステップに従い、比較的一般的なプロジェクトのデプロイ方法です。

! 技術的解釈:CAT20:フラクタルビットコインに関する新しいトークンプロトコル

ミント

Mintプロセスには以下の特徴があります:

  • mint への入力は minter で、最初に deploy によって生成されます
  • 毎回のミントには一つのミンターが入力として使われ、任意の数のミンターが出力として使われる。
  • 毎回のミントでトークンは1つだけです
  • 出力の順序に要求があり、minterはtokenの前にある必要があります

Mintプロセスにおけるminterの数量の変化は、ネットワーク全体のmint活動に影響を与えます。もし毎回1つのminterしか出力されない場合、ネットワーク内の利用可能なminterの数量は変わらず、混雑を引き起こすことになります。このような状況を避けるためには、毎回出力されるminterの数量を1より大きく設定する必要があります。しかし、1つのminterを追加出力するには追加でutxoを支払う必要があるため、経済的な観点から、多くの人々はminterを0に設定することを好む傾向があります。これによりminterのデフレーションが発生し、いくつかの人々が追加のminterを支払うことに自発的に応じる必要があります。

V2バージョンでは、デフォルトで2つのMinterが生成され、2つのMinterの状態はできるだけ近くなります。

! 技術的解釈:CAT20:フラクタルビットコインに関する新しいトークンプロトコル

トランザクション(V2)のステータス

minterの状態は2つの場所に保存されています: 1つは取引出力のOP_RETURNに、もう1つはスマートコントラクトに保存されています。つまり、上記のMinterとTokenです。

OP_RETURNに現在の取引出力状態のHashを格納し、コントラクトにTokenの残りMint回数を格納します。毎回Mint後、新しく生成されたMinterのmint数量は残りの可mint数量を2で割ったものと等しくなります。最後に、すべてのMinterの残り数量は0になります。

Minterを除いて、生成されたトークンもスマートコントラクトであり、CAT20です。CAT20には二つの基本的な状態があります: 数量とトークンの所有者アドレスです。BRC20やインスクリプションとは異なり、CAT20はアドレスのUTXO上にはありません。

! CAT20の技術的解釈:フラクタルビットコインに関する新しいトークンプロトコル

###転送

Transfer時、取引の入力と出力のトークン数量は一致している必要があります。同じ取引には複数の異なるトークンが存在できますが、各トークンの入力と出力の数量が一致していれば問題ありません。

! CAT20の技術的解釈:フラクタルビットコインに関する新しいトークンプロトコル

バーン

Tokenを燃やすには、Tokenを通常のアドレスに転送するだけです。

! CAT20の技術的解釈:フラクタルビットコインに関する新しいトークンプロトコル

サマリー

CAT20のすべての操作はユーザー自身が構築し、柔軟性が非常に高いため、契約部分には大量の検証ロジックが必要です。現在発生しているいくつかの脆弱性も検証ロジックの不備によって引き起こされています。

このデザインには以下の利点があります:

  1. すべてのTokenの保有状況を確認するには、tokenのutxoを確認するだけで、上に問い合わせる必要はありません。
  2. mintの現在の状況を確認するには、OP_RETURNにcatを含むデータを持つトランザクションを検索できます。

! 技術解釈CAT20:フラクタルビットコインに関する新しいトークンプロトコル

BTC0.94%
原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • 7
  • 共有
コメント
0/400
CountdownToBrokevip
· 5時間前
また一つのL2カモにされるが来た
原文表示返信0
NftRegretMachinevip
· 5時間前
ビットコインにはこんなに多くの派手なものはない、本当に取引が下手だ。
原文表示返信0
LucidSleepwalkervip
· 5時間前
またスマートコントラクト BTCはこれらをやらない方が良くないですか
原文表示返信0
NFTDreamervip
· 5時間前
またどこが涼しいかにいるアルト
原文表示返信0
BearMarketBarbervip
· 5時間前
また一つのアルト、数えきれなくなってきた。
原文表示返信0
MetaDreamervip
· 5時間前
またスマートコントラクトですか? btcはethに学びに行ったのですか
原文表示返信0
OvertimeSquidvip
· 6時間前
BTCまた新しいことをするんですね。クリップクーポンを待っています。
原文表示返信0
  • ピン
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)