製品ベースのブロックチェーン企業で、最も有望な暗号プロジェクトの上に重要なソリューションを構築することに注力しているdcSparkが、なぜエコシステム内のすべてのdApp、特に「EUTXOブロックチェーン(CaranoとErgo)がNFTを使用するのか?」について説明しています。
カルダノのNFTは単なるトレンドだと思っていませんか?実際には、カルダノのすべてのdAppがNFTを使用すると言っても過言ではありません。その理由については、ブログ記事をお読みください。
以下はdcSparkのブログに掲載された記事「Every EUTXO dApp Will Use NFTs, And Here’s Why」を翻訳したものです。
EUTXOのすべてのdAppがNFTを使用する理由とは?
By Robert Kornacki 2021年7月3日
2021年には、開発者から、これまで暗号を使ったことのないアーティストまで、数え切れないほどの人々が、NFTがゲームを変える重大な可能性を秘めていると信じていることがわかりました。NFTは今に始まったことではありませんが、今年は、あらゆるものを独自にトークン化するというアイデアが流行したことで、NFTが本格的に普及しました。NFTという言葉があまりにも流布したため、現代用語の一部となり、暗号化されていない界隈にも伝わっています。
このようにして、この記事のテーマに関する明白な疑問にたどり着きました。なぜエコシステム内のすべてのdApp、特にEUTXOブロックチェーン(CaranoとErgo)がNFTを使用するのか?私は、すべてのdApp開発者がハイプトレインに乗って、何の根拠もなく目につくものすべてをトークン化し、何も知らない少数のユーザーを獲得することを提案しているのでしょうか?
もちろんそうではありませんが、まず、この質問に答える前に、EUTXOモデルに関する技術的な詳細に飛び込んで、しっかりとした基礎を身につけましょう。
EUTXOモデルとは?
EUTXOモデルは、ビットコインが先駆的に開発したオリジナルのUTXOモデルをベースにした、過去数年の間に生まれた新しい進歩です。Bitcoinの設計を拡張することで、EUTXOシステムはトランザクション間でチューリング完全であるため、任意の複雑さのdAppsが可能であることが発見されました。イーサリアムがリリースされて以来、スマートコントラクトに対応したブロックチェーンがアカウントベースのルートを選択するのが一般的だったのは、元々このようなケースはないと考えられていたからです。
この発見のおかげで、カルダノやエルゴのようなブロックチェーンの扉が開かれ、(E)UTXOベースのブロックチェーンの新しい時代が始まりました。
EUTXOモデルがオリジナルに比べて改善した点は以下の通りです。
- Bitcoin Scriptよりも強力なスマートコントラクト言語の実装
- スマートコントラクトの開発者に、スマートコントラクトのプロトコルの状態を保存するためのUTXO内部の領域を提供すること
- ネットワークのベースアセットに加えて、ファーストクラスのネイティブアセットをUTXO内に格納できるようにすること
このように、ETXOモデルでは、UTXOを高いレベルで図示すると以下のようになります。
EUTXOモデルでスマートコントラクトのアクションを実行するには、使用したいUTXO(データまたは資産)を消費(破棄)し、当該アクションを実行した際の状態遷移の結果を表す新しいUTXOを再作成する必要があります。UTXOに取り付けられたスマートコントラクトは、コミットしようとしたアクションが有効かどうかをチェックし、それによって実行を許可するか拒否するかを決定します。このように、EUTXOスマートコントラクトは、自らアクションを実行する自律的なアカウントではなく、適切なアクションの実行を保証するガードマンであると考えることができます。
各dAppは、すべてのdAppの状態データとdAppの資産を保持する1つまたは複数のUTXOで構成されます。スマートコントラクトプロトコルの設計に応じて、スマートコントラクトアクションを実行する際には、一度に1つのUTXOを使用する必要がある場合もあれば(例:ステーブルコインの鋳造)、複数のUTXOを使用する必要がある場合もある(例:クラウドセールから資金を集める)。
したがって、ビットコインと同様に、すべての EUTXO 取引は、スマートコントラクト取引であるかどうかにかかわらず、入力 UTXO を消費して新しい出力 UTXO を作成することに依存します。斬新なのは、これらのUTXOのそれぞれが、強力なスマートコントラクト言語で検証された取引に加えて、その中にネイティブアセットやdAppデータを潜在的に保持しているという事実です。
その背景については、昨年9月に発表した「Unlocking The Potential Of The UTXO Model(UTXOモデルの可能性を引き出す)」という記事をご覧になるとよいでしょう。
EUTXOでNFTが必要な理由
EUTXOモデルの仕組みについて少し理解できたところで、いよいよ「なぜNFTが必要なのか」という疑問に取り組んでいきます。
前のセクションで述べたように、UTXOにはスマートコントラクトが付随しており、その逆はありません。口語では「UTXOはXスマートコントラクトのアドレスにある」と言いますが、この言い方は、スマートコントラクトがブロックチェーン上でユニークな存在として存在し、UTXOはスマートコントラクトに預けられているように思われがちです。これは全くの事実ではなく、新しいスマートコントラクト開発者のメンタルモデルが現実と相反するため、しばしば道を踏み外してしまいます。最もシンプルに考えると、UTXOが作成されるときに、それにスマートコントラクトを添付するオプションがあるということです。このようにして、UTXOはほぼ独立して存在し、内部に同じようなコンテンツを持つこともあれば、持たないこともあります。
このことが何を意味しているのか、この記事を読んでいる聡明な方ならお分かりになるかもしれません。これは、まったく同じスマートコントラクトを使用し、同じスマートコントラクトアドレスにある複数のUTXOを作成できることを意味します。言い換えれば、私は1つのUTXOに接続された1つのスマートコントラクトに依存するシンプルなdAppを作成し、それをオンチェーンで展開することができますが、他の誰かがコピーペーストして、同じスマートコントラクトアドレスにある自分のUTXOを作成することを止めることはできません。
そのため、dAppが2回デプロイされるというシナリオがありますが、ブロックチェーンを厳密に見ている一般の観察者には、どのdAppが実際にデプロイされたものなのかはわかりません。つまり、ユーザー(およびユーザーがdAppとやり取りするために使用するオフチェーンソフトウェア)は、どのUTXOが本当のデプロイメントなのか混乱し、問題を起こそうとする悪意のあるアクターが作成したものを使用してしまう可能性があります。
不思議に思われるかもしれませんが、悪質な行為者がまったく同じスマートコントラクトを使用してUTXOを配備した場合、まったく同じように機能するのではないでしょうか?確かにコントラクト自体はまったく同じですが、悪質な行為者は、UTXO内に保持されている初期のdAppデータと資産を自由に扱うことができます。つまり、dAppの設計によっては、悪意のある人が初期状態を設定して、あなたの資産を盗んだり、永遠にロックしたり、燃やしたり、その中間のことができるのです。
このように、この問題を要約すると、dApp UTXOには、他のものと明確かつ確実に識別できる固有の特性が組み込まれていないということになります。これは、悪質な行為者によって利用される可能性があります。また、単に、方向性を定めていない新しい開発者のプロトコル設計が悪いために問題が発生する可能性もあります。
これは明らかに解決しなければならない大きな問題ですが、幸いなことに、この問題に正確に取り組む素晴らしい革新的な技術、NFTがあります。
NFTによる一意性の確保について
NFTとは、Non Fungible Tokensの略です。その名が示すように、NFTは100%ユニークで、偽造やコピーができません。この独自性こそが、上述の問題を解決するために求められていることなのです。
各NFTは一度しか作成できず、UTXOはトークンを保持することができるため、展開しているdAppのUTXO内にNFTを配置すれば、他の誰も同じことができないことが保証されることになります。NFTは、誰もが、どのUTXOがプロトコルの真のデプロイメントであるかを簡単に知ることができる、ゆるぎない固有の識別子として機能します。各dAppフロントエンドは、スマートコントラクトアドレスで見つけたUTXOが正しいNFTを内蔵しているかどうかを確認するために、NFTの通貨IDを保存する必要があります。UTXOにNFTが含まれていない場合、そのUTXOは無効とみなされ、無視される。無効なUTXOが誤って作成されたのか、悪意のある行為者によって作成されたのかは問題ではなく、我々が探しているのは正しいUTXOではないため、フィルタリングされてしまいます。
一意性の特性を永遠に保持するために、UTXOに結び付けられたスマートコントラクトは、NFTがdAppから離れることを決して許さないように指定しなければなりません。言い換えれば、誰かがdApp UTXOを使うたびに、NFTは同じdAppスマートコントラクトによってロックされた出力に保持されなければなりません(技術的には、dAppの更新の文脈で変化しますが、今はそれを省略できます)。このNFT保持チェックは、dAppのユニークネス特性を保証するために必要な唯一のコードです。もしこのチェックが行われていないと、悪意のある人がNFTを盗んで自分のデプロイメントに入れてしまう可能性があり、それによって元々持っていた保証がすべて失われてしまいます。
このように、NFTを使用することで、すべての真剣なEUTXO dAppが最終的に使用することになるユニークネス・プロパティを保証する明確な技術的ソリューションを得ることができます。使用する特定のNFTが、芸術品や物理的な物体を表すものであろうと、技術的な独自性を示すトークン以外の目的を持たないものであろうと、NFTがdApp UTXO内に保持されているという事実は、エンドユーザーを確実に保護します。今後は、「自分のdAppはアートNFTで保護されている」と主張するプロジェクトも出てくるかもしれませんが、これは以前は主張できなかった新しいマーケティング手法です。
この記事のタイトルに戻りますが、すべてのEUTXO dAppsがNFTを使用するという最初の前提は、最初はクレイジーに聞こえたかもしれませんが、NFTがどのように明白な技術的利点を提供するかという技術的背景を説明すれば、実際にこれが一般的になるだけでなく、EUTXO dAppsの標準になる理由は明らかでしょう。Plutusがリリースされたら、ユーザーは使用しているdAppsがNFTによって独自性を保証しているかどうかを再確認し、開発者がベスト・プラクティスに従う努力を積極的に行うようになるでしょう。
この記事をお読みになった方は、dcSparkのTwitterをフォローして、新しい記事やyoutubeの動画をチェックしてみてください。
dcSparkは、製品ベースのブロックチェーン企業で、最も有望な暗号プロジェクトの上に重要なソリューションを構築することに注力しています。当社の製品は、ブロックチェーンスタック全体におけるドメインの専門知識により、ユーザーに素晴らしい体験を提供しています。