レンの仕組み
このページでは、ブロックチェーン間のユニバーサルな相互運用(インターオペラビリティ)を可能にするビザンチンフォールトトレラント(BFT)ネットワークであるRenVMを紹介します。 安全なマルチパーティコンピュテ―ション(MPC)アルゴリズムとコンセンサスを組み合わせることにより、RenVMは、1つのチェーン上でアセットをロックし、他のチェーンと1対1の供給増(Mint)ができる分散型、許可不要、トラストレスの管理者(カストディアン)を生成することができます 。 このようにして、ユーザーは1つのトランザクションで複数のアプリケーション、複数の資産、および複数のチェーンを操作できます。 このWikiでは、特に関心の高いケーススタディとしてイーサリアム上のBTCを取り上げ、RenVMがこれをどのように実現するのかを確認します。
RenVMは、分散型の暗号資産管理者であり、次のことを行います。
- ブロックチェーン間の普遍的な相互運用性を可能にします。
- 誰でもRenVMを使用して、任意の資産を任意のチェーン上の任意のアプリケーションに任意の量で送信できます。
- 強力なセキュリティを備えています。十分な保証金、大きなシャードサイズ、継続的なシャッフルにより、RenVMは、非合理的な敵対者の攻撃を非常に困難にします。まれに攻撃が成功した場合にも、RenVMは失われた資金を回復するできます。
- スケーラブルです。RenVMの管理下に固定される資産が増えるにつれて、料金のアルゴリズム調整により、RenVMは自動的にその容量を拡張して需要を満たすことができます。
- 最適なユーザーエクスペリエンスを提供します。ユーザーは1つのトランザクションで複数のアセット、アプリケーション、チェーンを操作できます。
イントロダクション
ブロックチェーンにより、テクノロジーと金融への新しいアプローチが可能になりました。これは、ユーザーが自主的であり、中央集権的な第三者や仲介者を信頼する必要がないものです。 ブロックチェーンは誕生以来、金融アプリケーションにかなり採用されており、ユーザーは価値を保存ないし送金し、商品を購入し、利子を得ることができます。 多少矛盾しますが、この活動のほとんどは、中央集権的な取引所やウェブサイトで行われていて、彼らはユーザーの権限を奪ったり、検閲することができます。 ただし、ここ数年、急速に成長しているDeFiのムーブメントは、同じ機能のすべてにアクセスできるようにすることでユーザーの生活をより快適にすることを目的としていますが、第三者や仲介業者が一元化する必要はありません。DeFiは多くの種類の分散型アプリケーションを網羅していますが、最終的には、ビザンチン耐性のあるブロックチェーンの世界を離れることなく、送金、貸与、為替、レバレッジ(およびそれ以上)を可能にする試みです。
今、論点は変わりつつあります。この新しいクラスの金融テクノロジーを(1秒あたりのトランザクションの種類ではなく)拡張するには、ブロックチェーンの主な欠点である相互運用性に対処する必要があります。 これを書いている時点では、ビットコインはイーサより9倍大きく、他のすべての暗号通貨を凌駕しています。 その価値は、イーサリアム以降に続く100の暗号通貨を足したもの以上の価値があります。 しかし、その優位性にもかかわらず、中央集権的な第三者を必要としない汎用的な相互運用ソリューションは存在しません。 さらに、これはビットコインを超えて広がっている欠陥です。 (時価総額のランク付けで)上位10のブロックチェーンは相互に運用することができません。
相互運用性は大きな挑戦になりますが、ブロックチェーンとその上に構築された金融技術の継続的な成長にとって重要なテーマです。 DEXが成長するには、より流動性の高い資産へのアクセスが必要です。 融資プラットフォームを拡大するには、より興味深く多様な資産へのアクセスが必要です。 合成およびデリバティブが成長するには、時価総額の高い資産へのアクセスが必要です。 エコシステムが次のステップに進むためには、ユーザーたちをつなぐ必要があります。 1つのチェーンで達成されたネットワーク効果を他のチェーンに複製する必要はありません。1つのチェーンで構築され、競争の試練に耐え、採用されたアプリケーションを再構築する必要はありません。また、競争においては、複製ではなく、イノベーションと改善を促進する必要があります。 相互運用性はブロックチェーンが直面するすべての課題を解決するわけではありませんが、課題のいくつかを解決し、さらに多くを解決するための基礎を築きます。
この目的のために、すべてのブロックチェーン、開発者、ユーザーに相互運用性をもたらすために、RenVMを開発しています(その設計はここで記述するポイントになります)。 RenVMは、使いやすさを考慮して慎重に設計されており、ユーザーが単一のチェーンから単一のトランザクションを実行するだけでよい独自のユーザーエクスペリエンスを提供できます。 そのようなトランザクションは、多くのアプリケーション、多くの資産、そして最も重要なことには、多くのチェーンにまたがる任意の複雑なロジックを行うことができます。これを普遍的な相互運用性と呼びます。
ユニバーサルな相互運用性(インターオペラビリティ)
相互運用性は、多くの異なる種類の機能を説明するために使用される、かなり多義的な言葉です。この用語の定義についてはすぐに説明しますが、最初に、RenVMが何を実現するために構築されているのかを明確にすることが、独自に定義をすることと同じことになることと思います。
私たちはユニバーサル相互運用性を、あらゆるアプリケーションにおいて、実用目的であらゆる資産を任意のチェーンから他の任意のチェーンに送る能力であると定義しています。さらに、複数の資産、チェーン、アプリケーションにまたがるこの普遍的な相互作用は、ユーザーが行った1つのトランザクションの結果として実行される必要があります。たとえば、ユニバーサル相互運用性プロトコルでは、ユーザーがイーサリアムの分散型取引所でBTCをZECに交換し、そのZECをPolkadotに送信して、それを担保にステーブルコインを使用し、そのステーブルコインを他のユーザーに貸し出すためにイーサリアム上に戻す必要があります。そして、これはすべて、最初のステップで行われた1回のビットコイントランザクションの結果として発生する必要があります。ユニバーサル相互運用プロトコルは、それらを使用する特定のアプリケーションについていかなる仮定もしてはならないことを明確に宣言しておくことは意義があります。今日利用できる分散型のアプリケーションの多くは、ブロックチェーンが最初に世界に持ち込まれたとき、Satoshi Nakamotoが想像もできなかったものであり、ユニバーサル相互運用プロトコルは、今日まだ誰も想像もしていないユースケースで機能することを保証しておく必要があります。
関連する動作
ブロックチェーン間の相互運用性のさまざまな形式で実現する多くの試みがあり、そのほとんどはビットコインとイーサリアム間の相互作用に焦点を当てています。 このセクションでは、提案されている既存のソリューションのいくつかについて説明し、それらの主な欠点を指摘します。

アトミックスワップ(または、誤ってHTLCと呼ばれることもある)
特別なビットコインスクリプトとイーサリアムのコントラクトを使用して、BTCがETH/ERC20と完全に、またはまったく交換されないことを保証します。 今、アリスがBTCとETHをボブと交換しようとしていることを想定してみましょう。ボブがBTCの管理権を取得できなければ、アリスはETHの管理権を取得できません。 逆もまた同じです。アトミックスワップには多くの望ましい特性がありますが、2つの大きな欠点があります。
- アトミックスワップは普遍的に使えるわけではありません。 アトミックスワップはスワップにのみ使用でき、アリスとボブは予め資産と価格に同意する必要があります。このことは、使用できる場所が非常に制限されることを意味します。アトミックスワップを使用してクロスチェーンの担保付きデリバティブ、自動取引システムなどを作成することはできないため、他のソリューションが必要です。 この問題は、今時点は存在しないアプリケーションを包括するシステムが必要であることとの認識に立った場合、特に顕著な問題となるため、できるだけ一般的な解決策が必要です。
- アトミックスワップは自由選択問題に困難を抱えています。 アトミックスワップが正しく機能するには、長いタイムアウトが必要です。アリスまたはボブは意図的にゆっくりと参加し、市場の状況を観察して、スワップが引き続き有利であるかどうかを確認したとします。市場の動きにより、一方の当事者にとってスワップは常に不利になった場合、その当事者はスワップをキャンセルすることができます。つまり、不利になった取引を取り消す「オプション」が当事者に与えられていることを意味します。アリスとボブはどちらも、特に多額の取引になった場合、このようにキャンセルするインセンティブがあるため、他のインセンティブ(評判など)をこの方式に組み込む必要があります。
Synthetics
ユーザーが原資産の価格で取引することを目的としたの別の形式の相互運用性です。 たとえば、Daiはユーザードル建てで使うSyntheticsです。Syntheticsでは、通常、ユーザーが十分な担保を預けて、少量のSyntheticsが作成する必要があります(たとえば、150ドルの担保ごとに100ドルのSyntheticsを作成することができます)。担保の価値がSyntheticsの価値に対して過度に低下した場合、担保は清算されます。 これは、ユーザーから預けられたされたSyntheticsを買い戻し、Burnするために使用されることを意味します。Syntheticsは強力な財務手法なのですが、相互運用性に関しては大きな問題があります。
- Syntheticsは原資産と交換することはできません。それらはほぼ同じ価格であると固定されています。 あなたがSynthetics BTCを持っていて、今は本物のBTCが欲しいなら、あなたはあなたとその取引をすることをいとわない相手を見つける必要があります。
- Syntheticsは他のチェーンと相互作用できません。 1つのチェーンで作成されたSyntheticsは、別の相互運用ソリューションと組み合わせない限り、そのチェーンのコントラクトと資産でのみ取引できます。たとえば、DaiはRenVMのような相互運用ソリューションで移動しない限り、イーサリアム上から移動できません。
- 清算メカニズムは、市場の変動が激しいときに失敗することが知られています。 市場のボラティリティが高い時期は、資産を最も安定/使用可能にしたい時期ですから、ここに問題が生じます。 多額の清算と急速な価格変動により、担保が不足しているSyntheticsの資産が発生する可能性があり、これによりペグされた価格が変動せざるを得なくなります。

トークン化されたビットコイン
最後に、トークン化されたビットコインについて見ていきます。 トークン化されたビットコインは最も柔軟な種類の相互運用性であり、さまざまな方法で実装できます。 たとえば、WBTC、imBTC、TBTC、pBTCがあります。トークン化されたビットコインは、ユーザーがカストディアン(管理者)とともに資産をロック(預入)し、カストディアンが別のチェーンのユーザーに対して1対1の裏付けされたトークンを作成するものです。このトークンをBurn(払戻)することができます。カストディアンは、ロックされた資産のそれぞれの量をユーザーに払戻します。 柔軟性はありますが、既存のトークン化されたビットコインはすべて、普遍的な相互運用性に関して深刻な問題を抱えています。
- WBTCとimBTCはどちらも、中央集権化したカストディアンを信頼して、ロックされた資産を安全に保ちます。WBTCとimBTCには多くの有効なユースケースがありますがそれらは分散化されておらず、パーミッションレスでもトラストレスでもありません。WBTCはまた、認可された業者のみが預入/払戻の請求をできるように強制していて、ユーザーがWBTCを直接作成したり、利用することが不可能です。
- TBTCは、Syntheticsのような十分な担保と清算を必要とします。これは、1対1のペグが市場がボラティリティだった場合に破綻する可能性があることを意味し、ネットワークに電力を供給するマイナーは、(他の投資と比較して)わずかなROIで多くのリスクを引き受ける必要があります。 BTCの固定ロットサイズのみ取引可能で、また両方のチェーンで複数回のトランザクションを必要とするため、ユーザーにはかなりの制約となります。
- pBTCは、信頼できる実行環境が、合理的な敵の攻撃に対抗するのに十分安全であると想定しています。実際には、これらのセキュリティの想定を覆す多くの脆弱性が最近発見されました。 pBTCが大量のBTCをロックする場合、これらの脆弱性を突いて悪用しようというインセンティブは非常に大きくなります。
RenVM
RenVMは、トークン化されたビットコインモデルを使って、ユニバーサルな相互運用性を実装します。ただし、既存のモデルの技術的および経済的問題の多くを解決するいくつかの進歩的方法が導入されています(上記を参照)。
RenVMは、信頼できるカストディアンの役割を分散型カストディアンに置き換えます。この分散カストディアンは、RZL MPCアルゴリズムを使用して実装されます。これにより、ECDSA秘密鍵を、RenVMを実行するマシンにさえ公開することなく、生成および管理できます。これにより、中央集権的なカストディアンを信頼する必要がなくなるため、WBTCおよびimBTCの問題点が改善されます。
RenVMは保証金およびアルゴリズム的に調整された料金を使用して、攻撃が決して経済的に有益にならないようにしていて、攻撃が成功した場合にも1対1のペグを常に復元できるようにしています。これにより、清算の必要性がなくなり、TBTCの問題点が改善されます。TBTCでは、市場の変動が激しいときに1対1のペグが永久に失われる可能性がありました。また、悪用可能であることが指摘されている信頼を前提とした実行環境に依存しないことにより、pBTCの問題点が改善されます。このアプローチにより、RenVMは容量を拡張しながら需要を満たすことが可能になります。RenVMでロックされた資産が増えたとき、料金のアルゴリズム調整により、RenVMはロックされた資産に対して許容可能な総額を自動的に増やすことができます。これはTBTCに対する改善です。TBTCでは、容量を増やすためにマイナーがより多くの担保を明示的に取得して保証金を増やす必要がありました。
最後に、RenVMはユーザーエクスペリエンスを慎重に考慮して設計されています。誰でも、いつでも、任意の数量で、ペッグされた資産を預入/払戻することができます。ペッグされた資産の預入/払戻には、ユーザーからのトランザクションがただ1つだけ必要であり、アプリケーションデータをつければ、スマートコントラクトを直接呼び出すことができます。これにより、ユーザーが預入/払戻の取引を操作する必要がなく(実際のチェーン上の実際の資産のみを操作する必要がある)、複数のアプリケーションや複数のチェーンにまたがるようにクロスチェーントランザクションを結合/構成できる、新しい利用方式になります。
使い方
RenVMは複雑で構成可能なクロスチェーントランザクションを実現できますが、その設計は比較的単純です。ここでは、RenVMの動作の概要を説明しますが、後のセクションで各コンポーネントについても詳しく説明します(各コンポーネントは、専用のWikiページを参照してください)。
ダークノード
RenVMは、ダークノードと呼ばれる数千の独立して動作するマシンによって構成され、そのダークノードを運用するには100K RENの保証金提出が必要です。すべてのダークノードの保証金は、健全な活動への取り組みを表明していて、ダークノードが悪意を持って動作する場合、またはそれが資産の損失の原因である場合には、そのダークノードを削除することができます(そして、削除されたダークノード分の保証金は、失われた資産を復元するために使用します)。
シャード
RenVMは、ダークノードと呼ばれる数千の独立して動作するマシンによって構成され、そのダークノードを運用するには100K RENの保証金提出が必要です。すべてのダークノードの保証金は、健全な活動への取り組みを表明していて、ダークノードが悪意を持って動作する場合、またはそれが資産の損失の原因である場合には、そのダークノードを削除することができます(そして、削除されたダークノード分の保証金は、失われた資産を復元するために使用します)。
シャード
ダークノードは定期的に、シャードと呼ばれる重複しないランダムなグループにシャッフルされます。各シャードはRZL MPCアルゴリズムを使用して、シャード内のDarknodesを含め、誰もが知らない秘密のECDSA秘密鍵を生成します。この秘密のECDSA秘密鍵は明らかにすることはなく、ダークノードの1/3以上の協力なしにトランザクションに署名することはできません。これにより、各シャードは資産を安全に保管することができます。
シャードは大きく、少なくとも100個のダークノードが含まるものなのですが、、1日1回ランダムにシャッフルされます。これによりSybil攻撃が困難になります。攻撃者が1つのシャードを破損する機会を売るためにはネットワーク全体の大部分を所有する必要があるからです。このことは、贈収賄攻撃も非常に困難にします。攻撃者が最小限の信頼で、短期間に大量の匿名のダークノードと共謀する必要があるからです。
これらの特性は、RenVMが不合理な敵(攻撃から利益を得ることを意図しない敵)による攻撃に抵抗するのに役立ちます。しかし、それはまた、RenVMが攻撃が一時的に利益をもたらす可能性のある期間において、合理的な敵からの攻撃に抵抗するのにも役立ちます。いずれにしても、RenVMは攻撃が成功したという万が一の場合においても、常に1対1のペグを復元することができます。
料金
ダークノードがRenVMを強化する主なインセンティブは料金収入です。彼らの仕事と引き換えに、ダークノードはユーザーが支払う手数料を報酬として受け取ります。ユーザーが1つのチェーンから別のチェーンにBTCを送金する場合、ダークノードはその送金の小さな変更の可能性のある割合の手数料を報酬として獲得します。つまり、BTCがユーザーによって送金された場合、BTCがダークノードによって獲得されます。これにより、報酬を多様化し、ユーザーエクスペリエンスをシンプルに保つことができます(ユーザーは料金となるトークンを操作する必要がありません)。
料金は、需要に応じてアルゴリズムによって調整されます。 RENは保証金にのみ使用されるため、RenVMは割引キャッシュフローモデルを使用して、ダークノードによって結合されたRENの合計値が常にRenVMでロックされた資産の合計値よりも大きくなるように料金を調整できます。つまり、資産が盗まれた場合、RenVMは責任のあるダークノードの保証金を取り崩して、その保証金を使って、同じ量のペッグされた資産を買い戻すことで、Burnして1対1のペグを復元できます。保証金の金額が一時的にロックされた値を下回った場合でも、RenVMは料金を調整して金額を調整します。
RenVMは、ロックされた金額より3倍大きい保証金額を目標にします。これは、このしきい値を超えると、RenVMを攻撃するのが不合理だからです(結合の損失は攻撃の利得よりも大きい)。ただし、これは厳密な制限ではありません。保証金額がロックされた金額よりも大きい限り、RenVMは買い戻しとBurnのメカニズムを使用してペグを復元できます。さらに、攻撃が成功するまでこのメカニズムを適用する必要はありません。これにより、手数料の調整と債券の再評価の間にタイムラグを生みます。
クロスチェーントランザクション
RenVMは3種類のクロスチェーントランザクションを可能にしています。 例としてBTC-on-Ethereumを使用すると、これらの3種類のクロスチェーントランザクションにより、次のことが可能になります。
- ビットコインからイーサリアムにBTCを送金する(lock-and-mintと呼ばれる)
- イーサリアムからビットコインにBTCを送金する(burn-and-releaseと呼ばれる)
- イーサリアムからポルカドットにBTCを送金する(burn-and-mintと呼ばれる)
lock-and-mint
lock-and-mintトランザクションは、ユーザーが開始する最初のステップで、資産をその元のチェーンからホストチェーンに送金するクロスチェーントランザクションです。 たとえば、ビットコインからイーサリアムへのBTCの送金は、lock-and-mintトランザクションです。
lock-and-mintトランザクションは、最初のステップでユーザーが資産をRenVMに送金し、それによってその管理者に「ロック」する必要があるため、このように呼ばれています。 RenVMで資産を払い戻すという合意がない限り、資産はロックされたままになります。 資産のロックを確認した後、RenVMは「ミンティング署名」をユーザーに返します。 これにより、ユーザーはホストチェーン上の資産のトークン化されたビットコインを作成することができます。 トークン化されたビットコインは、ロックされた資産と1対1でペグされています。 いつでも、任意の数量で払戻ができます。
たとえば、アリスはBTCをRenVMにロックしてから、同量のrenBTCをイーサリアムで作成できます。 彼女は任意のアプリケーション固有のデータを添付することもできますが、これについては後で詳しく説明します。

- アリスはビットコイントランザクションを行い、0.55 BTCをRenVMの管理下に置きます。
- アリス(またはアプリケーション)はこのトランザクションについてRenVMに通知します。
- RenVMは、ビットコイントランザクションの存在、詳細、および確認の数を検証します。
- RenVMはRZL MPCアルゴリズムを使用して、ミント署名を生成し、アリスに返します。
- アリス(またはアプリケーション)がミンティング署名をイーサリアムに送信し、0.54940005 renBTC(0.55 BTC-料金)をミント(供給増)します。
ご覧のとおり、アリスが必要なトランザクションは1つだけ(最初のステップのビットコイントランザクションだけ)です。 その他はすべてサードパーティが処理します。 ここでは説明しませんが、アリスはアプリケーション固有のデータをクロスチェーントランザクションに添付でき、最後のステップでスマートコントラクトが呼び出される可能性があります。 最後のステップでスマートコントラクトを直接呼び出すことができるのは、Gasステーションネットワークなどの第三者が自分に代わってトランザクションを送信できるようにするためです。 アリスは、ガスを払うためのイーサリアムや彼女自身のイーサリアムのアドレスさえ必要としません。
burn-and-release
burn-and-releaseトランザクションは、lock-and-mintトランザクションを補完するものであり、ユーザーとスマートコントラクトが資産をホストチェーンから元のチェーンに送り返すことができます。 最初のステップは、ユーザーまたはスマートコントラクトによって開始され、ホストチェーンでペグされた資産をBurnし、元のチェーン上で基礎資産を受け取るアドレスを指定します。 たとえば、BTCをイーサリアムからビットコインに送り返すことは、burn-and-releaseトランザクションです。
当然のことながら、ホストチェーンがペグされた資産を「Brun」し、RenVMがBurnを確認した後、元のチェーン上の同じ量の資産を「Release」するため、このようなトランザクションをburn-and-releaseトランザクションと呼びます。Burnイベントでは、受信アドレスを指定します。これにより、後で検討する興味深いトランザクションの構成が可能になります。

- アリス(またはスマートコントラクト)は、イーサリアムに0.2 renBTCをBurnし、同時に彼女のビットコインアドレスを指定します。
- RenVMはBurnイベントを監視し、必要な数の確認を待ちます。 RenVMに通知する義務はありません。 RenVMはBurnイベントを独自に確認します。
- RenVMは、最初のステップでアリスが指定したビットコインアドレスに0.19975 BTC(0.2 renBTC-料金)を転送する署名を生成します。
lock-and-mintトランザクションと同様に、アリスは最初のステップで1つのトランザクションを開始するだけで済みます。それ以外はすべてRenVMによって処理されます。 最初のBurnトランザクションは、スマートコントラクトによってもトリガーできます。 このようにして、lock-and-mintトランザクションの場合と同様に、Gasステーションネットワークなどの第三者は、本人に代わってトランザクションを実行できます(ガスのイーサリアムは必要ありません)。
burn-and-mint
lock-and-mintとburn-and-releaseトランザクションを使って、興味深く柔軟なトランザクションを作成できます。 私たちにできることの1つは、burn-and-releaseトランザクションを使って、lock-and-mintのトランザクションを実行することです。 実際、これにより、あるホストチェーンから別のホストチェーンに資産を移動できます。 ただし、これにはRenVMへの複数のラウンドトリップが必要であり、これは不必要に高価で低速です(基礎となるブロックチェーンの料金と確認時間のため)。
この種類のトランザクションフローをより適切にサポートするために、RenVMはburn-and-mintトランザクションをサポートしています。 burn-and-mintトランザクションを使用すると、ユーザーとスマートコントラクトは、あるホストチェーンからペグされた資産を「Burn」、元のチェーンに触れることなく、別のホストチェーンに同じ量のペグされたアセットを「Mint」できます。 たとえば、EthereumからPolkadotへのBTCの送信は、burn-and-mintトランザクションを使用して実行できます。

- アリスはイーサリアムで0.34 renBTCを書き込み、それを送信先となるポルカドットの自分のアドレスを指定します。
- RenVMはBurnイベントを確認し、必要な数の確認を待ちます。 RenVMに通知する義務はありません。 RenVMはBurnイベントを独自に確認します。
- RenVMはRZL MPCアルゴリズムを使用して、ミント署名を生成し、アリスに返します。
- アリスはミント署名をPolkadotに送り、0.33932034 renBTC(0.34 renBTC-料金)をミント(供給増)します。