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