はじめに
本稿では、既存のさまざまなビットコインブリッジプロトコルをレビューし、RSKが実装したソリューションであるPowpegと比較します。
ブリッジングプロトコルの主な目的は、ブロックチェーン間で価値を移転することです。ビットコインブリッジの場合、既存のプロトコルは通常、ビットコイン上のBTCをロックして、リモートブロックチェーン上のある種のトークンをミントまたはアンロックします。ビットコインをリモートチェーンに転送するプロセスをペグインと呼び、ビットコインをビットコインに戻すプロセスをペグアウトと呼びます。
各プロトコルの評価には、以下の基準を使用します。
- 分散化:プロトコルが提供する分散化の度合い
- ユーザビリティ:速度、料金、ブリッジング能力など、ユーザーの満足度に関わる様々な評価指標
- セキュリティ:プロトコルの安全性を4つの特性の観点から分析する。
・一貫性:対応する量のBTCがロックされない限り、トークンXを得ることができないことを保証するプロトコルの能力。
・ライブネス:ユーザーがペグインによりトークンXを取得できることを保証するプロトコルの能力。
・換金性:ペグアウトによってユーザーがBTCを回収できることを保証するプロトコルの能力
・資金保護性:対応する量のトークンXがロックまたは燃焼されない限り、ロックされたBTCが解除されないことを保証するプロトコルの能力
RSKのPowpeg
Powpegは、RSKサイドチェーンをBitcoinに接続するブリッジングプロトコルです。Powpegは、RSKのコンパイル済みブリッジコントラクト、Pegnatoriesと呼ばれる連合体、PowHSMと呼ばれるセキュリティデバイスの3つの主要コンポーネントから構成されています。ブリッジコントラクトはBitcoinネットワークとの間でビットコインを転送する機能のほとんどを提供し、PowHSMはロックされたBTCを保護し、Pegnatoriesはブリッジの他の構成要素とRSKおよびBitcoinブロックチェーンの間でデータリレーとして機能し、Powpegの正しい運用を監督しているのです。
プロトコルの概要
ペグインプロセスとは、BTCをRSKに送金してRBTCを入手するプロセスで、以下の手順で構成されています。
- ユーザーはNBTCをPowpegアドレスに送ります。このアドレスは、PegnatoriesのPowHSMによってマルチシグ方式で一括管理されています。
- 各ペグナトリーは定期的にパウペグアドレスを監視し、ペグイントランザクションを記録しています。
- あらかじめ決められた回数の確認が行われた後、ペグナトリーまたはユーザーはペグイントランザクションをRSKのブリッジコントラクトに送ります。
- ブリッジは、Pegnatoriesが定期的に更新するビットコインブロックチェーンの表現を用いて、ペグイントランザクションを検証します(Pegnatoriesがオフラインの場合や拒否した場合は、ユーザーがこのビットコインブロックチェーンの表現を更新することも可能です)
- ブリッジコントラクトはNRBTCをRSKでユーザーに転送する。
ペグアウト処理とは、RBTCをビットコインネットワークに送金してBTCを入手する処理で、以下の手順で構成されます。
- ユーザはN個のRBTCをRSKでブリッジのコントラクトに転送する。
- ブリッジはペグアウト要求を待ち行列に格納する。
- ペグナトリウムは定期的にブリッジコントラクトを呼び出す。この呼び出しで、ブリッジコントラクトは
—キューから最も古いペグアウトリクエストを取り出し、N BTCをユーザーに送金するビットコイントランザクションを構築する。
–-Bitcoinトランザクションを確認待ちのキューに入れ、イベントを発生させる。
–-十分な確認が取れたビットコイン取引をチェックし、別のキューに移動して署名を待ちます。
- Pegnatoriesは定期的にブリッジをポーリングし、署名待ちのビットコイン取引を取得する。
- Pegnatoriesは確認されたBitcoinトランザクションを受け取り、それを自分のPowHSMに送ります。
- PowHSMは、そのビットコイン取引がブリッジによって構築されたこと、そして一定の計算量によって保護されたRSK取引に含まれていることを検証する。
- PowHSM はトランザクションの全ての入力に署名する。
- 各Pegnatoryは1つの署名をブリッジコントラクトに送る。
- ブリッジコントラクトは署名を検証し、半数以上のペグナトリーが有効な署名を作成するとイベントを発生させる。
- ペグナトリーの1つが署名されたビットコイン取引を収集し、ビットコインネットワークに送る。採掘されると、その取引はNBTCをPowpegアドレスからユーザーのビットコインアドレスに転送する。
分散性
Powpegは完全な分散型ではない連合型ブリッジです。ペグインプロセスは、どのユーザーもビットコインブロックヘッダーでブリッジコントラクトを更新できることを考えると、分散化されていると言えるでしょう。しかし、プロセスの安全性を保証するためにPegnatoriesに強く依存しています。ペグアウトプロセスはPegnatoriesの関与が必要なため、部分的に中央集権的なものとなっています。現在のPegnatoriesの数は13です。
ユーザビリティ
ペグインは無料(ビットコイン取引にかかる費用は別)、100ビットコインの確認が必要(~16時間)、最小額は0.005BTCです。ペグアウトには4,000RSKの確認が必要で(~33時間)、1バイトあたり85サトシのコストがかかり、最小額は0.004RBTCです。
セキュリティ
Powpegは、大多数のPegnatoriesが正直でオンラインである限り、一貫性を保証しています。ブリッジコントラクトは、Powpegに資金を送るビットコイン取引が存在することを検証する。しかし、この検証において、ブリッジはどのユーザーも提供でき、Pegnatoriesによって保護されているビットコインブロックチェーンのビューに依存しています。このビットコインブロックチェーンのビューは、多くのPegnatoriesが危険にさらされたりオフラインになったりすると、操作される可能性があります。これにより、BTCをロックすることなくRBTCをロック解除することが可能になります。
また、Powpegでの換金は、PegnatoriesとそのPowHSMの介入を必要とする。つまり、Pegnatoriesの過半数がオフラインになったり、不誠実になったりすると、ユーザーはペグアウトできなくなるのです。ただし、Pegnatoriesは、ロックされたBTCを管理する鍵に直接アクセスすることはできません。PowHSMは、BTCのロック解除取引が、一定量の計算作業で確保されたRSK取引に含まれていることを確認します。つまり、PowHSMに不正な取引に署名させることは非常にコストがかかり、実現不可能な可能性があります。Pegnatoriesの大半がオフラインになった場合、BTCは1年後にコミュニティのさまざまなアクターが所有する緊急用の鍵を使ってロックを解除することができる。これにより資金の流失を防ぐことができますが、BTCがどのようにユーザーの元に戻るかは不明です。
最後に、PowpegはどのユーザーもBitcoinブロックヘッダをブリッジコントラクトに伝えることができ、ペグインプロセスはPegnatoriesの介入を必要としないため、ライブネスを提供します。
Liquid
LiquidはBitcoinのサイドチェーンで、Powpegと同様のブリッジを提供します(ただし、Liquid の HSM が RSK PowHSM のように秘密鍵の保存に Secure Elements を使用しているという証拠はありません)。Liquidでは、新しいLiquidブロックの生成を担当するブロックシグナーと、ペグアウトトランザクションの署名を担当するウォッチマンという、主に二つの機能グループが存在します。
プロトコルの概要
Liquidにおけるペグインプロセスは、以下のステップで構成されています。
- ユーザーは、監視員が管理するアドレスにBTCを送ります。→送信先アドレスは、ユーザーのLiquidアドレスにリンクされた修正ビットコインアドレスです。
- 預け入れ取引が100ビットコイン確認に達した後、ユーザーはコインを請求するためにLiquid取引を作成する。→このLiquid取引は預け入れ取引の出力を参照し、他の情報とともに、シリアル化されたビットコイン取引とMerkle証明書を含んでいる。
- ブロックシグナーはLiquidのロック解除取引を検証し、Liquidブロックチェーンに含めることで、定義されたユーザーアドレスにL-BTCを送金する。→LiquidユーザーもLiquidブロックを受け入れる際に、Bitcoin ロックトランザクションを検証します。Liquidではペグアウトができるのはフェデレーションメンバーのみで、ユーザーはL-BTCをBTCに戻すには、取引所など外部の仕組みを探さなければならない。
分散化
ブロック署名者のみが新しいブロックを作成できるため、Liquidは部分的に集中化されます。 ペグインは任意のユーザーが開始できますが、ブロック署名者はLiquidブロックチェーンに含める必要があります。 ペグアウトは、BTCのロックを解除するために15人の監視員の署名のうち11人を必要とし、連盟のメンバーのみが開始できます。
ユーザビリティ
ペグインには100ビットコインブロックの確認と追加のLiquidトランザクションが必要です。ペグインを行うためには、ユーザーは完全なビットコインノードと完全なLiquidノードを実行する必要があり、Liquidトランザクションを送信するためにL-BTCを持っている必要があります。
ペグアウトができるのはフェデレーションメンバーのみなので、ユーザーはBTCを取り戻すために外部の仕組みを探さなければなりません。例えば、SideSwapを利用する場合、20分から4時間かかり、1バイトあたり〜3.5から〜1.8サトシのコストがかかる。
セキュリティ
Liquidは、ブロック署名者とユーザーの両方がLiquid取引で入力されたBTCを検証するため、一貫性が保証されます。対応する量のBTCがウォッチマンに送られない限り、L-BTCを作成することはできないのです。つまり、ブロックシグナーとユーザーもビットコインクライアントを実行する必要があるのです。
ユーザーはペグアウトができず、L-BTCと引き換えにBTCを得るために外部のサービスを探さなければならないため、Liquidでの換金性は保証されません。また、大多数の不誠実な監視員がロックされたBTCを盗み出す可能性があります。ウォッチマンがオフラインになった場合、28日後に緊急出金でロックされたBTCを回収することができます。
Liquid は、ブロックサインがオンラインである限り、 ライブネスを提供します。つまりブロックサインが介在しないとユーザはペグインできません。
Powoegとの比較
Liquidブリッジはガバナンス、分散化、ユーザビリティの面でPowpegと非常によく似ています。2つのプロトコルの主な違いは、LiquidはPoWコンセンサスに依存しないため、より速いペグアウトを提供することができる点です。しかし、PowpegはロックされたBTCを制御する鍵にPegnatoriesが直接アクセスすることがないため、より高いセキュリティを提供します。Liquidのホワイトペーパーでは、PowHSMと同様のデバイスを使用しないことは設計上の選択であると述べられています。これに加えて、Liquidでは、一定期間操作が行われないと資金をロック解除する緊急プロトコルがかなり短くなっています。このため、監視員に対するDoS攻撃は、パウペグよりも実現可能性が高くなります。
Interlay (Polkadot)
Polkadotは異なるブロックチェーン間の相互運用性を可能にする分散型プラットフォームです。どのブロックチェーンもパラチェーンとしてポルカドットに接続し、確立された通信プロトコルによって他のパラチェーンと相互作用することができます。Interlayは、ビットコインブロックチェーンへのブリッジを提供するパラチェーンです。
プロトコルの概要
BTCをInterlayパラチェーンに転送するプロセスは発行と呼ばれ、担保となるVaultを作成する必要があります。十分な資金があるユーザーであれば、Interlayに担保をロックすることでVaultを作ることができます(通常はDOTトークンで)。そしてVaultはBitcoinでBTCを受け取った後、interBTCを鋳造することができます。interBTCの発行は、以下の手順で構成されます。
- 前提条件:Vaultが担保をロックしていること。
- ユーザーはInterlayで、発行したいinterBTCの量、選択したVault、Griefingを防ぐための少額の担保準備金を含む発行リクエストを送信します。→ユーザーは、要求された量のBTCをビットコインブロックチェーン上のVaultに送ります。
- – 入金アドレスは、Vaultのアドレスと一意の識別子から導き出されます。
- ユーザー、またはユーザーの代理を務めるVaultは、ビットコインブロックチェーン上のロックされたトランザクションのトランザクションインクルージョン証明書を抽出します。→ユーザー、またはユーザーの代理を務めるVaultは、ブリッジにBitcoinのロック取引の取引包含証明を提供することにより、インターBTCの発行をトリガーします。
- – これは、インターレイ・パラチェーンが、中継者またはVaultによってビットコイン・ブロックヘッダーで更新されるビットコインSPVクライアントを実装しているため可能なのです
- ブリッジは入金トランザクションの宛先アドレスと数量を検証する
InterlayでInterBTCからBitcoinに転送することをredeemといい、以下の手順で構成されます。
- ユーザーは、InterlayブリッジでinterBTCの量をロックします。この関数呼び出しで、ユーザはVaultsのリストからredeemリクエストを実行するVaultを選択します。この関数は、一意のハッシュを持つredeemリクエストを作成します。
- 選択されたVaultは、ユーザーによって発信される兌換イベントをリッスンします。Vaultは次に出力の1つのOP_RETURNに一意のハッシュを含むリクエスト関数でユーザが指定したアドレスにBTCを転送するために進みます。
- Vaultは、ステップ2のビットコイン取引とredeemリクエスト識別子を制限時間内に提供することにより、redeemを実行します。関数が正常に完了した場合、ロックされたinterBTCは破棄され、ユーザはBTCを受け取ります。
- オプション:(ステップ3で要求された)所定の時間内にBTCを受け取ることができなかった場合、ユーザはredeem期限後にredeemを取り消すことができる。ユーザーは、払い戻し、または再試行のいずれかを選択することができます。払い戻しの場合、ユーザーはトークンの所有権をVaultに移しますが、それと引き換えに担保を受け取ります。リトラする場合、ユーザーは自分のトークンを取り戻します。どちらの場合でも、ユーザーは不便のための補償として、Vaultの担保の一部を与えられます。→オプション:(ステップ3で要求された)所定の時間内にBTCを受け取ることができなかった場合、ユーザはredeem期限後にredeemを取り消すことができる。ユーザーは、払い戻し、または再試行のいずれかを選択することができます。払い戻しの場合、ユーザーはトークンの所有権をVaultに移しますが、それと引き換えに担保を受け取ります。リトラする場合、ユーザーは自分のトークンを取り戻します。どちらの場合でも、ユーザーは不便のための補償として、Vaultの担保の一部を与えられます。
分散化
理論的には、どのユーザーもCollatorやValidatorになることができるので、Interlayは分散型です。実際には現在のテスト段階では、権限証明または連合方式で動作する少数のCollatorしか存在しません。資金へのアクセスも、誰でもInterlayにDOTを賭けてBitcoin Vaultになれるため、分散化されている。したがって、Interlayの分散化のレベルは、これら3つの可能なアクターの1つになるために担保を提供することを望むユーザーの数によって決まります。
プロトコルの中で部分的に中央集権的と考えられるのは、ステークされたトークンとBTCとの交換レートを提供するオラクルである。このレートは、保管庫を清算するタイミングを決定するために使用されます。
ユーザビリティ
ペグイン・ペグアウトのコストは、0.5%のinterBTCに加え、必要なビットコインとインターレイトランザクションのコストとなります。ペグイン・ペグアウトに必要な確認回数は可変で、Vaultに依存します。
セキュリティ
Interlayはリプレイ攻撃に対して脆弱なプロトコルであるため、一貫性を完全に保証するものではない。ブリッジのBitcoin SPVクライアントはトランザクションのインクルージョンを検証しますが、トランザクションがすでに処理されているかどうかは検証しません。このため、不正なVaultがペグイントランザクションを2回提示し、偽造のinterBTCを鋳造することができます。Interlayは、VaultがロックされたBTCを移動させた場合、ペナルティを課すことでこのリスクを軽減しています。しかし、このプロトコルは不正行為を暴くために中継器や他のVaultに依存しています。
Bitcoin SPVクライアントは中継器や保管庫からブロックヘッダーを受け取るので、整合性を破るもう一つの方法は、Bitcoin SPVクライアントに偽のブロックヘッダーを提示し、トランザクションを入金することです。
Vaultが清算された場合、ユーザーはVaultの担保を有利なレートで手に入れることができるという意味で、換金性は保証されています。しかし、ユーザーがペッグアウトしてBTCを取り戻せることは保証されていません。Vaultは、経済的に有利な状況であれば、どの時点でもBTCを盗むことを選択するかもしれません。ステークしたトークンとBTCの為替レートが急激に下落した場合、ユーザーは資金を失うリスクがあります。
Interlayは、利用可能なVaultsとCollatorsがある限り、ライブネスを提供します。Vaultはオーバーカレンダリングが必要なため、多くのユーザーがBTCをペッグインした場合、このプロトコルにはスケーラビリティの問題があり、サービスの中断につながる可能性があります。
Powpegとの比較
Interlayは理論的にはPowpegよりも大きな分散化を実現します。しかし、Interlayの分散化の程度はVaults、Collators、Validatorsの数に依存します。また、Interlayは他のコンポーネントほど分散化されていない可能性のあるオラクルに依存しています。これに加えて、Interlayは現在テストネットの段階にあり、プロトコルが実運用される際に予想されるよりも分散化が低い状態です。
使い勝手の面では、Interlayは保管庫間の競争により、送金時間や送金手数料をPowpegよりも低くできるかもしれません。ただし、これも保管庫の数によりますが、保管庫にはオーバーカレンダーが必要であることから、制限されるかもしれません。
Interlayの非中央集権的な設計は、セキュリティの保証が低いという代償を負っています。Powpegと比較すると、Interlayでは一貫性と活性が弱くなっています。Powpegでは、ユーザーはPegnatoriesの介入なしにペグインすることができますが、Interlayでは、ユーザーはVaultと少なくとも1人の正直なCollatorを必要とします。また、インターレイは、ユーザーがペグアウトできることが保証されていないため、パウペグよりも換金性が弱くなっています。Powpegでは、PowHSMのセキュリティと、大多数のPegnatoriesがオフラインになった場合の緊急引き出しメカニズムにより、BTCを失うリスクは低くなっています。Interlayでは、Vaultsは基本的に出資金と引き換えにBTCを購入する無期限のオプション契約を獲得するため、BTCを失うリスクはより大きくなります。
原文:https://medium.com/iovlabs-innovation-stories/a-comparison-of-bitcoin-bridging-protocols-5dbbb1a81ba8 By Published inResearch & Innovation