2024年8月8日、NEARは「Chain Signatures」のローンチを発表しました。これにより、スマートコントラクトを含むNEARアカウントは、サポートされているブロックチェーン全体でトランザクションに署名して実行することができます。NEARによると、Chain Signaturesは参入障壁を取り除き、流動性と利便性を促進し、チェーンに抽象化された未来を育成することができます。この記事では、Chain Signaturesを調査し、その動作原理を理解します。また、Chain Signatureを作成する方法についても簡単に説明します。
クロスチェーン相互運用性の課題
最近の数か月でブリッジの取引量が急増しており、クロスチェーン相互運用性とトランザクションへの需要が高まっていることが示されています。ただし、クロスチェーン相互運用性には課題があります。主な問題は、クロスチェーンブリッジが大きな攻撃面を持つため、悪用されやすいことです。2番目の問題は、チェーンのサポートが不足していることです。ほとんどのブリッジは、EVM以外のチェーンをサポートしていません。3番目の主要な問題は、一貫性のない煩雑なUXです。各ブリッジには異なるデザインがあり、ユーザーはそれを使用する前に学習曲線を経る必要があります。
ユーザーが異なるトークンを取得してガス料金を支払う必要がある場合もあります。一部のブリッジは特定のアセットのラップバージョンを使用しています。ラップバージョンは、元のチェーン上のネイティブアセットとは異なります。ユーザーが必要とするアセットでさえない場合があり、ブリッジされるとサポートされていないアセットや流動性の低いアセットになる可能性があります。
What Are The Challenges Facing Cross-Chain Interoperability?
Chain Signaturesとは?
NEAR上のChain Signaturesは、すべてのNEARアカウント(スマートコントラクトを含む)が複数のサポートされているブロックチェーン全体でトランザクションに署名して実行できるようにします。これらはMulti-Party Computations(MPC)を活用し、分散ネットワークのノードオペレーターが共同署名を作成することで、NEARアカウントやスマートコントラクトが外部ブロックチェーンを制御できるようにします。MPCは、複数の当事者がデータを互いに公開せずに計算を実行できるプライバシー保護の調整プロトコルです。Chain Signaturesは、単一のNEARアカウントがさまざまなアセット、データ、およびクロスチェーンアカウントの所有権を持つことで、次のレベルのブロックチェーン相互運用性を実現します。
Chain Signaturesの動作原理は?
NEAR上のChain Signaturesは、3つの主要要素の相互作用によって機能します:
- 導出パス
- マルチチェーンスマートコントラクト
- マルチパーティコンピュテーションサービス
それぞれを詳しく見てみましょう。
導出パス
チェーン署名は、Additive Key Derivationと呼ばれるメカニズムを使用して、他のブロックチェーンに基づいてNEARアカウントをリンクすることを可能にします。これは、単一のマスターキーからサブキーを導出するために使用される単純なメカニズムです。サブキーは導出パスを使用して生成されます。では、導出パスとは何でしょうか?導出パスは、NEARアカウントと一緒に使用されると、ターゲットブロックチェーン上のユニークなアドレスを導出する単純な文字列です。
マルチチェーンスマートコントラクト
その名前が示すように、マルチチェーンスマートコントラクトは、他のブロックチェーン上のトランザクションに署名を要求します。これらのコントラクトは、署名を要求する際に2つの主要なパラメータを考慮するsignメソッドを使用します。
- ターゲットブロックチェーンで署名する必要があるペイロードまたはトランザクション。
- トランザクションに署名するためにユーザーが使用したいアカウントを識別するパス。
署名の要求が行われると、signメソッドは「実行待ち」となり、MPC署名サービスがトランザクションに署名します。準備ができたら、コントラクトは計算を再開し、署名をユーザーに返します。その署名は、その後、実行される可能性のあるターゲットブロックチェーンに送信できます。
マルチパーティコンピュテーションサービス
この記事の前半で、マルチパーティコンピュテーション(MPC)について簡単に説明しました。MPCは、独立した当事者が互いに何も明かさずにプライベート情報で共有計算を行うことを可能にします。ブロックチェーンは、このシステムを使用して、ユーザーの秘密鍵を明かさずにトランザクションに署名することができます。NEARのマルチパーティコンピュテーションサービスは、独立したノードで構成されています。これらのノードは自分自身でトランザクションに署名することはできません。代わりに、署名シェアを作成します。これらの署名シェアは、複数のラウンドを通じて集約され、共同でトランザクションに署名します。
MPCサービスが署名リクエストを検出すると、以下の手順を実行します。
- パスによって識別されたアカウントを使用して、ノードにペイロードの署名を共同で作成するよう要求します。
- 準備ができたら、署名を格納するためにv1.signerコントラクトを呼び出します。
チェーン署名の作成
チェーン署名の作成には、以下の5つのステップが必要です:
- 外部アドレスの導出
- トランザクションの作成
- 署名の要求
- 署名の再構築
- 署名されたトランザクションの中継
外部アドレスの導出
前述のように、チェーン署名は、以下の手順を使用して、ターゲットブロックチェーン上のアカウントを表すために導出パスを使用します。NEARアカウントの名前と導出部分を使用して、ユーザーのためにターゲットブロックチェーン上のユニークなアドレスを導出します。
トランザクションの作成
アドレスを導出した後、ユーザーは署名する必要のあるトランザクションを作成します。署名する必要のあるトランザクションを作成する手順は、ターゲットブロックチェーンによって異なります。
署名の要求
トランザクションが作成され、署名する準備が整ったら、MPCスマートコントラクトで「sign」を呼び出すことで署名リクエストを行うことができます。この方法には2つの主要なパラメータが必要です:対象のブロックチェーン用にトランザクションに署名する必要があり、トランザクションに署名するために使用されるアカウントの導出パスが必要です。
署名の再構築
MPC契約はトランザクションの署名自体を返しません。代わりに、署名を再構築するために必要な要素を返し、契約が複数のブロックチェーンに対して署名プロセスを一般化できるようにします。
署名の中継
署名が再構築されたら、それを対応するネットワークに中継することができます。この方法も、対象のブロックチェーンによって異なります。
チェーン署名のユースケース
チェーン署名にはいくつかの潜在的なユースケースがあります。いくつか見てみましょう。
非スマートコントラクトチェーン上のDeFi
チェーン署名を使用すると、Ripple、Doge、さらにはBitcoinなどの非スマートコントラクトチェーン上でDeFiを可能にすることができます。これらのチェーンはこれまでネットワーク上での送金のみをサポートしていました。NEARスマートコントラクトはエスクローコントラクトとして機能し、開発者は任意のチェーン上の任意のアセットをサポートできるスワップや貸出プロトコルを構築することもできます。
チェーンに対応したアプリケーション
チェーン署名は複数のブロックチェーンのトランザクションに署名することができ、開発者は1つのスマートコントラクトで異なるチェーンをサポートすることができます。
マルチチェーンアカウント抽象化
チェーン署名を使用すると、ユーザーはNEARアカウントだけで複数のチェーン上の資産を制御することができます。また、異なるチェーン上でのアカウント抽象化機能、パスキー、キーローテーションなども利用できます。
ブリッジレスクロスチェーンDeFi
クロスチェーン署名はクロスチェーンブリッジの必要性を排除します。代わりに、MPC署名プロトコルを使用してクロスチェーントランザクションを行うことができ、さまざまなDeFi製品を容易にします。スマートコントラクトベースのチェーン署名は、プライバシーに焦点を当てたアプリや信頼できるマルチチェーン展開も可能にします。
チェーン署名の始め方
以下の手順に従って、チェーン署名について理解を深めることができます。
- ブロックチェーン間のやり取りを簡素化するChain Signaturesの仕組みを理解するために、NEARのドキュメントを参照できます。
- Chain Signatureの使用例をいくつか見ることもできます。これにはMultichain DAO、Multichain NFT Minter、およびBitcoin Runesのエアドロップが含まれます。
- NEARのChain Signaturesのドキュメントを通じて、詳細な技術情報やコードスニペットにアクセスできます。
- デモを使用して、Bitcoin、Ethereum、Doge、およびRippleでトランザクションを送信することもできます。
- 最後に、Chain Signaturesコミュニティに参加するために、TelegramのChain Abstraction開発者チャンネルに参加することができます。
最後に
最近メインネットに登場したChain Signaturesは、NEARアカウントが他のブロックチェーン上のアカウントを制御する強力なツールとして登場しました。これは、複数のチェーン上で資産やデータの所有権を可能にする重要な一歩です。Chain Signaturesは、クロスチェーンの所有権を完全にオンチェーン化します。ユーザーはスマートコントラクトを呼び出して応答を待つだけです。
What Are The Use Cases Of Chain Signatures?
逸脱パスを使用すると、単一のNEARアカウントが複数のブロックチェーン上の複数のアカウントを制御できます。MPCサービスを使用すると、ユーザーはそれらのアカウントの署名をリクエストできるのは自分だけであることを確認できます。Chain Signaturesはまた、チェーンの抽象化を推進し、単一のユーザーレイヤーが任意のチェーン上の任意のアセットとやり取りできるようにすることで、Web3の複雑さを簡素化できます。