2 月 1 日、Binance Web3 ウォレットは、BRC20 や Ethscription などのさまざまな登録プロトコルをサポートする登録マーケットを正式に開始しました。数日前、OKXはまた、ARC20、Runes、Doginalsなどの碑文プロトコルのサポートを発表し、市場全体が碑文に注目するきっかけとなりました。登録の波の中で、登録プロトコルの複雑さと新規性により、さまざまなセキュリティ問題が頻繁に発生します。これはユーザーの資産のセキュリティを脅かすだけでなく、Inscription エコシステム全体の健全な発展にも悪影響を及ぼします。
これに対応して、Beosin セキュリティ チームは、主流の書き込みプロトコルを分析し、ユーザーが書き込みプロトコルの目的と実装、および書き込み資産を保護する方法を理解できるようにします。
碑文の紹介
ブロックチェーンへの刻印は、ブロックチェーンの特定の特性を通じて、ブロックチェーン上に特定の意味のある情報を記録することです。この情報がブロックチェーンに記録されると、ブロックチェーン上に永久に保存され、改ざんが困難になります。ブロックチェーンに記録される情報には、単純なテキスト情報、複雑なコード、画像など、さまざまな種類があり、ブロックチェーンに書き込むことができます。このように、一連の標準を使用してデジタル資産の機能を実装できます。
碑文の現在のステータス
BRC-20などのビットコイン碑文の最初の出現から、現在の碑文エコロジーに至るまで、ほぼ毎日、無限の新しい碑文プロトコルと新しいプロジェクトが出現しています。 Inscription の開発は飛躍的に進歩していると言えます。 ETHパブリックチェーン上のEthscriptionプロトコル、BTCパブリックチェーン上のARC-20プロトコル、BSCパブリックチェーン上のBSC-20およびその他のプロトコル、PRCパブリックチェーン上の他のプロトコルなど、さまざまな一般的なパブリックチェーンも碑文エコシステムに参加しています。 Polygon パブリック チェーン。 20などの合意…。これらのプロトコルはすべて、パブリック チェーンに碑文を公開する目的で生成されます。次のコンテンツでは、さまざまなプロトコルの実装方法と使用例を紹介します。
碑文の詳しい説明
現在市場で多くの注目を集めているプロトコルを紹介し、さまざまなパブリック チェーンの書き込みプロトコルの共通点と相違点を比較しましょう。
1.BRC-20
BRC-20を明確に説明するには、まずUTXOと序数を紹介する必要があります。
BTC は UTXO モデルを使用し、トランザクションは UTXO 単位で転送されます。 UTXO は、Unspent Transaction Output の略語で、未使用のトランザクション出力を意味します。 UTXO モデルは、トランザクション イベントは記録しますが、最終ステータスは記録しないという点で、イーサリアムなどのパブリック チェーンのアカウント モデルとは異なります。ユーザーが保有しているビットコインの数を計算するには、ユーザーのアドレスのすべての UTXO を合計する必要があり、その結果がユーザーが保有しているコインの数となります。
Ordinals は、ビットコインの最小単位である Satoshi (sats) に番号を付ける体系的なプロトコルです。各 UTXO (複数の Satoshi を含む) 内の各 Satoshi に一意の番号を割り当てることができます。Ordinals は、テキスト、画像、音声、動画などを satoshi に書き込む機能もサポートしており、各 satoshi を一意にします。これは、よく知られている Ethereum の非代替トークン NFT (ビットコイン NFT と呼んでいます) に似ています。
BRC20の創設者は、Ordinalsプロトコルに基づいた別のコンセプトを考案しました。 Ordinalsプロトコルは、各Satoshiに異なる「属性」を与えることでビットコインNFTを作成できるため、統一された「形式」と「属性」、つまり同種のトークンを与えることによってビットコインFTを作成することもできます。
BRC20は、Ordinalsプロトコルを介して統一されたJSON形式のテキストデータをSatoshiに書き込みます。このテキストデータは、BRC-20トークンの会計帳簿です。このテキストデータに基づいて、トークンの保有と転送を解析できます。主に次の内容が含まれます。
{
"p":"brc-20",
"op":"デプロイ",
「ティック」:「オルディ」、
「最大」:「21000000」、
「リム」:「1000」
}
{
"p":"brc-20",
"オン": "ミント"、
「ティック」:「オルディ」、
「amt」:「1000」
}
{
"p":"brc-20",
「オン」:「転送」、
「ティック」:「オルディ」、
"amt":"1000",
}
上記は BRC20 の 3 つの基準です。このうち、op フィールドは、deploy(デプロイ)、mint(ミント)、transfer(転送)など、実行する必要がある操作を表します。チェックマークは、実行する必要があるトークンの名前を表します。 max は発行されたトークンの合計量を表し、lim はトークンごとに鋳造されたコインの最大数を表し、amt は運用する必要があるトークンの数を表します。転送標準には「宛先」などのフィールドもありますが、これは必須ではありません。転送は、残高変更を実装するために、碑文がターゲットアドレスに送信されて行われます。
2. ARC-20
ARC-20 は今でもビットコインのパブリック チェーン上の登録プロトコルです。 BRC-20 プロトコルと同様、UTXO に標準データを書き込むことで実装されますが、異なる点は、ARC-20 プロトコルではデータ内で ARC-20 を指定する必要がないことです。代わりに、ARC-20トークンの数はUTXOのsats(サトシ、ビットコインの最小単位)で表されます。ルールは、1 sat = 1 ARC-20 トークンです。
ARC20 プロトコルも、BRC20 プロトコルと同様に、デプロイメント、ミント、転送の 3 つのステップに分かれています。導入フェーズでは、標準トークン名、トークンの総量、キャスト制限、ブロック情報を UTXO に入力する必要があります。 、画像情報など。鋳造段階では、ユーザーはトークンの名前をUTXOに記入する必要があります。UTXOの衛星数はARC20トークンの鋳造量であり、トークン名と一緒にUTXOに記入されるわけではありません。ユーザーが ARC20 トークンを作成すると、他のアドレスに送信できるようになります。トークンを送信する際、ユーザーはUTXOにデータを入力する必要はなく、トークンを保持しているUTXOを他のアドレスに直接転送します。
ARC20 トークンをクエリする場合、必要なインデックスは 1 つだけです。オフライン インデックス サーバーは、トークン登録情報を読み取り、トランザクションの鋳造と転送を行うことができます。サーバーが資金移動関係を計算したり、アドレスが所有する ARC20 トークンをクエリしたりする必要はありません。数量は、トークンを保持している UTXO のSats数量を直接読み取ることで取得できます。
BRC20 と ARC20 を理解した後、一部の人々がなぜ刻印された資産を他の住所に誤って転送したり、「焼却」したりするのかを知る必要があります。
BRC20やARC20などのBTC碑文プロトコルはUTXOトランザクションに基づいているため、碑文トランザクションは実際にはBTCトランザクションに追加され、ユーザーは碑文を完全に理解せずに通常のBTC送金操作を実行する可能性があります。その現在のUTXOは他のUTXOと結合および分割され、その後意図しないアドレスに送信され、登録された資産が誤って転送または「焼失」し、取り返しのつかない損失を引き起こします。
3. 登録
Ethscription は、Ethereum 上でデータを作成および共有するためのプロトコルです。一部のインスクリプションでは、このプロトコルを使用してスマート コントラクトを置き換え、トークン発行を実装しています。インスクリプションを使用すると、ユーザー コストを非常に低いレベルにまで削減できます。
Ethereum がトランザクションを送信すると、calldata データ ブロックが提供されます。通常、このデータ ブロックは通常の ETH 転送では空白のままになります。スマート コントラクトが呼び出されると、データ ブロックは呼び出し関数の署名と各パラメーター データとして指定されます。Ethscription プロトコルは、calldata データ ブロックを使用して、通常の ETH 転送を送信するときに関連する意味を与える標準データを追加します。
Ethscription はこれらの標準データをどのように指定しますか?
まず、コンテンツが画像データである Ethscription を作成する場合、画像 (画像サイズは 96 KB に制限されています) を (data:image/png;base64,...) 形式の Base64 エンコード データの URI に変換する必要があります。次に、URI を 16 進文字列に変換し、通常の転送トランザクションを Ethereum 経由でターゲット アドレスに送信し、以下に示すように、上記の 16 進文字列を calldata に入力します。

このように、0xf1bf アドレスが Ethscription を所有し、同じ通話データを使用して後で作成された Ethscription は無効とみなされます。
イースクリプションを転送したい場合は、エスクリプションの所有者が受信側アドレスに通常の送金を送信し、通話データ内にエスクリプションを作成したトランザクション ハッシュを入力する必要があります。その後、以下に示すように、受信側アドレスがイーサクリプションを所有することになります。 :

4. EVMブロックチェーンの登録
BSC チェーン、イーサリアム、ポリゴンなどの EVM ブロックチェーンの場合、碑文を書き込む一般的な方法があります。これは、calldata データ ブロックを使用して固定形式のデータを保存することです。前述の画像データの保存とは異なり、この方法では標準形式を通話データに書き込みます。テキストデータ。
碑文がBSCチェーンに焼き付けられる場合、碑文の形式はBRC20の碑文形式と同様になります。たとえば、碑文の形式は次のとおりです: data:,{"p":"_","op":"_","tick":"_","amt":"_"} の場合、p フィールドは次のことを表しますプロトコル名(bsc-20、bnbs-20、ltc-20、bep-20、drc-20、nrc-20、src-20など)。 op フィールドは操作を表し、通常は「mint」です。チェックボックスフィールドはトークン名を表します。 amt フィールドはトークンの数を表します。
bnbs トークンを例にとると、通常の転送がターゲット アドレスに送信される限り、データを入力します:,{"p":"bsc-20","op":"mint"次に示すように、calldata ,"tick":"bnbs","amt":"1000"} は bnbs トークンの鋳造操作を完了します。現時点では、0x22ef アドレスには 1,000 bnbs トークンがあります。

次に、トークンを転送する必要があります。上記のように、受信アドレスに通常の転送を送信し、bnbsトークンを作成したトランザクションハッシュをcalldataに入力する必要があります。すると、以下に示すように、受信アドレスがbnbsトークンを所有することになります。

基本的にはEthereum、Polygon、その他のチェーンでも同じですが、上記のBSCチェーンの内容が、evmチェーン上で刻印が作成される唯一の状況ではないことに注意してください。異なるevmチェーン間または異なるプロトコル間では、入力されるテキストデータフィールドに違いがある場合があります。トークンの転送方法にも違いがある可能性があります。ただし、このタイプの方法では、すべてEVMチェーンのcalldata属性を使用して実装されているため、似ているように見えます。
まとめ
この記事では、複数のチェーン上の碑文の実装原理について説明します。要約すると、導入された碑文は、一部のパブリック チェーン システム機能を利用して、所定の標準に従ってオフライン情報をブロックチェーンに保存し、それを識別してオフライン サーバーを通じて表示するすべてのプロセスです。導入されたどの碑文もスマート コントラクトを使用していません。ユーザーは、参加時に追加の取引コストを大幅に削減できます。ただし、ユーザーは、誤って転送されたり、碑文が誤って焼かれたりして資産が損失することを避けるために、碑文プロトコルの実装を十分に理解する必要があります。
接触
ブロックチェーン セキュリティ サービスが必要な場合は、お気軽にお問い合わせください。
公式ウェブサイト Beosin EagleEye Twitter Telegram Linkedin