⛏️

Ethereum Inscription(Ethscriptions/碑文)とは何か?

web3におけるinscription(碑文)

BitcoinにはEthereumのようにスマートコントラクトのような仕組みはなく、あくまでもnativeなBTCの送金しかできません。そこでEthereumのようにNFTやFTを発行できるように発明(発案)されたのがinscriptionであり現在ordinalと呼ばれるBTC NFTと呼ばれる代物です。雑に言うと「トランザクションの自由記述欄を使って擬似的にNFTやFTの流通を表現する」という仕組みだと思っています。

inscriptionの本質

最低限の結果をブロックチェーンに記録し、ルールはオフチェーン(ユーザーの共通認識として)に記録するということ。

inscriptionをEthereumでなぜ行うのか?

EthereumのようにNFTやFTが発行したいがために生まれたinscriptionが、そもそもNFTやFTが発行できるEthereumで行う理由はないはずです。しかし、inscription最大のメリットである「ガス代の安さ」という部分によって、Ethereumや他のチェーンでinscriptionを行う動きが生まれています(投機的な目的によって加速しているという部分もあります)

Ethereumでinscriptionを行うメリットデメリット

メリット

  • ガス代が安い
    コントラクトをデプロイする必要やユーザーの情報などを記録する必要がないためすごくガス代が安いです。

デメリット

  • indexerを信頼する必要がある
    過去のtxによって現状が分かるため、情報がindexer頼りになってしまう。自分でindexerを建てられれば良いが、普通は無理なので何かしらのindexerに依存することになる。

Ethereumにおけるinscription

またBitcoinとEthereumは基本的には仕組みが違います。そのため、Ethereumでは、txのInput Dataの部分を用いて、inscriptionを実現しています。

仕組み(ERC20の場合)

EthereumにおけるinscriptionとしてInputDataに記録する最低限の結果というのが以下になります(FTの場合)

p:プロトコルの名前(どのルールに従うのか)
op:現在の状態
tick:単位(シンボル)
max:最大発行量
lim:1回の操作で動かせる量

{"p":"erc-20","op":"deploy","tick":"gwei","max":"21000000","lim":"1000"}

-> 訳:gweiというERC20トークンを1セット1000個の2100万個を発行した。

具体的な動作(ERC20の発行)

実際にEthreum inscriptionを発行したtxをetherscanで見るとこんな感じです。

具体的な動作(ERC20の移動)

inscriptionの移動は、そのユーザーに対しての送金txによって実行されるようです。
ちなみにその場合はInput Dataに、mintTxが紐付けられるようです。

仕組み(NFTの場合)

Ethereum Inscriptionを用いてNFTを発行する際にInputDataに入れる最低限の結果は、画像データのBase64データに変換したものを16進数に変換したものです。

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACJElEQVR4nH2TvWtUQRTFf3dm9u2abLKiRowRksKEJGgpBLRMb6+FKP5TFmIdsbCwEPzCWAQkgSCIiwiJgkgI5kuz2X1v5l6LfZtkg3qmmGGYc+ace7mytWlmCqaGRUPN+B9EB...

具体的な動作(NFTの発行)

InputDataに画像のBase64データが入るみたい

具体的な動作(NFTの移動)

InputDataに発行時のtxHashが入るみたい

まとめ

Ethereum Inscriptionは、従来のERC20やERC721とは全く違う仕組みであるが、ガス代が安く済むため、スタンダードになる可能性もある。ここから先どのようにこの技術が広がっていくのか楽しみです。

シンシズモ株式会社

Discussion