この記事では、“サイドチェーン”と呼ばれるブロックチェーン技術について最初に提案された論文[1] を要約することでサイドチェーンについて解説していきます。
[1]: Enabling Blockchain Innovations with Pegged Sidechains
論文の概要
ビットコインとその他の台帳資産を複数のブロックチェーン間で移転できるペグサイドチェーン(pegged sidechain)という新しい技術を提案する。これによってユーザーは、すでに所有している資産を使用して、新しく革新的な暗号通貨システムにアクセスできる。ビットコインの通貨を再利用することで、これらのシステムはビットコインとより簡単に相互運用でき、新しい通貨に関連する流動性の不足や市場の変動を回避できる。ビットコインとペグサイドチェーン間で双方向に譲渡可能だが、これらは隔離されている。暗号学的な攻撃がサイドチェーンで起きた場合、その影響はサイドチェーン自身の範囲に限られる。
ビットコインやオルトコインが孕んだ問題
ビットコインの目的は比較的シンプルだ。ビットコインは他の何かと交換できる単一のネイティブデジタル資産をサポートしているブロックチェーンである。これにより、実装で多くの簡略化が可能になったが、実世界での需要は現在、これらの簡略化された技術だけで対応するのが困難になっている。特に、現在のイノベーションは以下のような領域に焦点を当てている:
-
スケーラビリティと非中央集権化の間のトレードオフ:
大きなサイズのブロックはより高いトランザクションレートをネットワークにサポートすることが可能になるが、バリデータにより多くの検証作業をさせることを犠牲にしている(中央集権化のリスク)。
トランザクションの価値とリスクプロファイルは大きく異なるため、これらのトレードオフはトランザクションごとに行う必要がある。ただし、ビットコインは構造上、「1つのサイズですべてに対応」するソリューションしかサポートしていない。 -
その他のトレードオフ:
例えば、ビットコインのスクリプトは、簡潔で便利なコントラクトを可能にするためにより強力にすることもできるし、または監査可能性を支援するためにそれほど強力ではないようにすることもできる。 -
モノカルチャーのリスク:
ビットコインは多くの暗号学的要素でできており、そのうちの1つが欠落(脆弱性がある等)すると全体の価値が失われる。可能ならば、全てのビットコインを異なるアルゴリズムで保護することが賢明だ。 -
新技術:
新しい技術は、ビットコインが最初に開発されたときには想像できなかった新しい機能を可能にするかもしれない。例えば、暗号化されたアキュムレータやリング署名、Chaumian Blinding を使用することで、プライバシーや検閲への耐性が向上する可能性がある。 -
アップグレード方法:
たとえ緊急の必要性があったとしても、ビットコインには安全なアップグレードの道はない。変更を行うためには、すべての参加者が協調して行動しなければならない。ビットコイン開発者の間では、ビットコインの変更はゆっくりと慎重に、そしてコミュニティの明確な同意があって初めて行われるべきだというコンセンサスがある。
広く受け入れられる機能でなければ採用されないという事実は、参加者の個人的な自由や自分のコインに対する自治を制限する。小規模なグループでは、幅広いコンセンサスが得られないため、特殊な目的のスクリプト拡張などの機能を実装することができない。
ビットコインでのこれらの問題の早期解決は代替となるブロックチェーン(オルトチェーン:altchains)を開発することだった。オルトチェーンは上記の懸念を解決するための修正を除いてビットコインのコードベースを共有している。しかし、本質的に類似したシステムを独立させて技術的な変更を行うことは問題がある。
1つはインフラの断片化だ。オルトコインは独自の技術スタックを使用しているため、労力が重複したりすることがよくある。このため、オルトチェーンの実装者は、ビットコインのセキュリティに特化した領域の知識という非常に高い壁をクリアできない可能性があるため、セキュリティ問題はオルトチェーン間で重複し、その修正は行われないことが多い。
2つ目は、オルトチェーンは通常、価値の変動するネイティブな通貨(オルトコイン:altcoin)を持っているということだ。オルトチェーンにアクセスするためにユーザはそのオルトコインを持っておく必要がある。新しい通貨に伴う高いリスクとボラティリティに晒される。さらに、コインの初期分配と価値評価の問題を独自に解決しなければならず、同時に不利なネットワーク効果や混雑した市場にも対処しなければならないため、技術革新を阻害すると同時に、市場ゲームを助長することにもなる。これはシステムに直接参加しているものだけでなく、暗号通貨産業全体にとって危険である。この分野があまりにもリスクが高いと一般の人々に思われてしまうと、導入が妨げられたり、(自発的または立法的に)暗号通貨が完全に放棄されてしまう可能性もある。
相互運用可能なアルトチェーンが簡単に作成・使用できる世界を望む一方で、市場や開発を不必要に細分化しないことを望んでいるようです。
この論文では、これらの一見矛盾する目標を同時に達成することが可能であると主張します。もし、ブロックチェーン間の資産の移動をサポートする技術があれば、ユーザーが既存のビットコイン通貨を再利用するだけで新しいシステムを開発することができます。
この論文で提案する上記のような相互運用可能なブロックチェーンをペグサイドチェーンと呼ぶ。サイドチェーンの持つべき特性は以下の通りだ:
- サイドチェーン間で移動した資産は、現在の所有者であれば誰でもメインチェーンに戻すことができ、それ以外は誰も(以前の所有者も含めて)戻すことができない
- 資産は、カウンターパーティのリスクなしに移転されるべきであり、不正な当事者が移転を妨げることはできない
- 移転はアトミック性(全て実行されるか、全くされないか)を持つ
- サイドチェーンはファイアウォールで守られている。あるサイドチェーンのバグによって、そのチェーンでの資産の不正な作成(または盗難)が可能になっても、他のチェーンでの資産の不正な作成や盗難にはつながらない
- ブロックチェーンの再編成はたとえ移転中であっても、簡単に処理される。いかなる混乱も発生したサイドチェーン上のみに限定されるべきである。一般的にサイドチェーンは、理想的には完全に独立しているべきであり、必要なデータはユーザが他のチェーンから提供する。サイドチェーンの検証者が他のチェーンを追跡する必要があるのは、それがサイドチェーン自体のコンセンサスルールとして明示されている場合のみである
- ユーザはアクティブに使用していないサイドチェーンを追跡する必要はない
初期の解決策としては、ビットコインをパブリックに認識できる方法で破壊することでコインを移転し、それを新しいブロックチェーンで検出して新しいコインの作成を可能にするというものだった。これは、上記の問題に対する部分的な解決策ではあるが、チェーン間の一方的な転送しかできない。
この論文で提案するソリューションは、資産を移転するトランザクション自体に所有証明を提供することで、ノードが送信チェーンを追跡する必要性を回避することである。つまり、あるブロックチェーンから別のブロックチェーンに資産を移す場合、最初のブロックチェーンで資産をロックするトランザクションを作成し、次に2番目のブロックチェーンで、ロックが正しく行われたことを示す暗号証明を入力とするトランザクションを作成する。これらの入力には、資産の種類がタグ付けされている。(例:元のブロックチェーンのジェネシス・ハッシュ)
サイドチェーンの詳細
ペグブロックチェーンの技術基盤は双方向(2-way)ペグと呼ばれています。この章では、その役割について説明します。双方向ペグとは、固定された、あるいは他の方法で決定された交換レートでコインがサイドチェーン間を往復するメカニズムを指します。
対称双方向ペグ
これは次のような仕組みである。親チェーンのコインをサイドチェーンのコインに移行するために、親チェーンのコインは親チェーンの「特別な出力」に送られるが、この出力はサイドチェーンの SPV の所有証明によってのみアンロックできる。2 つのチェーンを同期させるために、2 つの待ち時間を定義する必要がある。
-
確定期間(confirmation period):サイドチェーン間の資産の移動において、あるコインがサイドチェーンに移動される前に親チェーンでロックしなければならない期間。この確定期間の目的は、次の待機期間に DoS 攻撃が困難になるような十分な作業ができるようにすることである。
親チェーンで特別な出力を作成した後、ユーザは確定期間を待ってから、この出力を参照するトランザクションをサイドチェーン上で作成し、親チェーン上で十分な作業を行った上で作成されたことを SPV が証明する。 -
コンテスト期間(contest period):新しく移動してきたコインがサイドチェーン上で使用することができない可能性がある期間。コンテスト期間の目的は、チェーンの再編中に前もってロックしておいたコインを移動することによって二重使用をすることを防ぐためである。この遅延期間中のいずれかの時点で、ロック出力が作成されたブロックを含まないより多くの集約作業を持つチェーンを含む新しい証明が発表された場合、変換は遡って無効となる。これを再編成証明(reorganisation proof)と呼ぶ。
親チェーンでロックしている間、サイドチェーン内でそのコインは親チェーンでのインタラクションなしで自由に移動ができる。しかし、このコインは親チェーンのコインとしてのアイデンティティを保持しており、元の同じチェーンにしか戻すことができない。
ユーザがサイドチェーンから元の親チェーンにコインを戻したいときはオリジナルの移動と同じことを行う:
サイドチェーン上のコインを SPV ロックされた出力に送る。それが行われたことを証明するための十分な SPV 証明を生成する。その証明を使って、親チェーン上の以前にロックされていた同額の出力をいくつかアンロックする。移動プロセスの全体は以下の図に示す。
ペグサイドチェーンは、多くのチェーンから資産を運ぶ可能性があり、これらのチェーンのセキュリティについて想定することができない。そのため、異なる資産が(明示的な取引を除いて)交換可能でないことが重要である。そうしないと、悪意のあるユーザが、価値のない資産を持つ価値のないチェーンを作り、そのような資産をサイドチェーンに移動させ、別のものと交換することで窃盗を実行する可能性がある。この問題に対処するため、サイドチェーンでは別々の親チェーンの資産を別の資産タイプとして効果的に扱わなければならない。
非対称双方向ペグ
前節は、親チェーンからサイドチェーン、またその逆の資産移動メカニズムが同じであり同様の SPV セキュリティを持っていたので「対称双方向ペグ」だった。
非対称双方向ペグは、サイドチェーンのユーザは親チェーンのフルノードバリデータである。バリデータは親チェーンの状態を知っているため、親チェーンからサイドチェーンへの資産移動に SPV 証明が必要ない。一方、親チェーンはまだサイドチェーンを認識していないので、転送を戻す際には SPV 証明が必要である。
これにより、51%の攻撃者であっても、親チェーンからサイドチェーンにコインを誤って移動させることができないため、セキュリティが向上する。しかし、サイドチェーンの検証者が親チェーンを追跡しなければならず、親チェーンの再編成がサイドチェーンの再編成を引き起こす可能性があるという犠牲を伴っている。
サイドチェーンの欠点
ここまでは、サイドチェーンの詳細について語ってきました。ここからは、サイドチェーンの欠点について説明しています。
複雑さ
サイドチェーンはいくつかのレベルでより一層の複雑さが必要になる。
ネットワークレベルでは、複数の独立した同期していないブロックチェーンが相互に転送をサポートする必要がある。これらのブロックチェーンは、後の再編成証明によって無効にすることができるトランザクションスクリプトをサポートしなければならない。また、不正行為を自動的に検出し、その証明を作成して公開できるソフトウェアも必要である。
資産のレベルでは、個々のチェーンはチェーンが最初に作成されたときに存在していなかったアセットであっても、任意に多くのアセットをサポートできる必要がある。各アセットには、転送元のチェーンのラベルが付けられており、転送が正しく巻き戻されるようになっている。
ブロックチェーンインフラストラクチャで高度な機能を処理できるようにするだけでは不十分であり、ウォレットを管理するためのユーザインターフェースを再検討する必要がある。オルトコインの各チェーンには、そのチェーンのコインの取引をサポートする独自のウォレットがある。これらは、複数のチェーン(機能セットが異なる可能性がある)およびチェーン間のアセットの転送をサポートするように適応する必要がある。
不正な資産移動
原則として、任意の深さの再編成が可能である。これにより、攻撃者は、送信チェーンのコンテスト期間よりも長い再編成を引き起こして転送の半分を元に戻す前に、サイドチェーン間でコインを完全に転送できる。その結果、受信者チェーン上のコインの数と、送信チェーン上でそれらを裏付けるロックされた出力値の量との間に不均衡が生じる。攻撃者が転送されたコインを元のチェーンに戻すことを許可された場合、サイドチェーンの他のユーザーを犠牲にして、所有しているコインの数を増やすことになる。
このイベントがどれほど起こりそうにないかにかかわらず、サイドチェーンは壊滅的な障害に対し応答しないことが重要だ。そのようなイベントを目撃する SPV 証明を作成することは可能であり、サイドチェーンはそのような証明を受け入れる可能性がある。それらは、以下のような考えられる多くの方法の 1 つに反応するように設計されている場合がある。
-
反応なし。その結果、サイドチェーンは他のチェーンから保管している資産の「端数処理」を行うことになる。これは、失われたサイドチェーンコインの数よりも少ないと思われる微小な金額の場合や、保険者が失われた資産の埋め合わせを約束している場合には許容できるかもしれない。しかし、ある閾値を超えると、サイドチェーンからの引き出しによる「バンクラン(bank run)」が発生する可能性があり、最終的には誰かが割りを食うことになる。間接的な被害としては、サイドチェーンへの信頼が広く失われることや、急激に殺到した取引を処理するために親チェーンが負担することなどが考えられる。
-
ペグとそれに付随するすべての取引を取り消すことができる。しかし、コインは拡散し、履歴が混ざり合う傾向があるため、短期間であっても、そのような逆転の効果は壊滅的なものになる可能性がある。また、コインを受け取る人は、最近のペグがない「きれいな」履歴を持つコインを好むため、ファンジビリティが制限される。このようなファンジビリティの喪失は、悲惨な結果を招く可能性があると予想される。
-
交換レートをそのままにして、すべてのコインの量を減らすことができる。現在、攻撃前にコインをサイドチェーンに移したユーザは、新規のユーザに対して相対的に不利益を被っている。サイドチェーンコインの交換レートを下げることは、同等である。
これらの反応にはさまざまなバリエーションがある。たとえば、サイドチェーンで「実行」した人がそうでない人の損失をカバーするように、一時的に為替レートを下げる。
マイニングの中央集権化
重要な懸念は、マイニング手数料を伴うサイドチェーンの導入がマイナーにリソース圧力をかけ、ビットコインの集中化リスクを生み出すかどうかである。
マイナーは、作業を提供する各チェーンのブロック補助金や手数料から報酬を得ているため、難易度の変化や市場価値の変動に応じて、同じような価値を持つ異なるブロックチェーンに DMMS(動的メンバーシップマルチ署名)を提供することは、マイナーの経済的利益につながる。
これを受けて、一部のブロックチェーンではブロックヘッダーの定義を調整し、ビットコインの DMMS の一部を含めるようにした。その結果、マイナーはビットコインだけでなく、1つ以上の他のブロックチェーンにもコミットする単一の DMMS を提供できるようになった。マージマイニングでは、複数のブロックチェーンで作業を再利用できるため、採掘者は DMMS を提供した各ブロックチェーンに報酬を請求することができる。
マイナーがより多くのブロックチェーンに仕事を提供すると、すべてのブロックチェーンを追跡して検証するために、より多くのリソースが必要になる。ブロックチェーンのサブセットに作業を提供するマイナーは、可能なすべてのブロックチェーンに作業を提供するマイナーよりも報酬が低くなる。小規模なマイナーは、すべてのブロックチェーンをマイニングするための全コストを負担することができないため、大規模なマイナーに比べて不利になる可能性がある。小規模なマイナーは、すべてのブロックチェーンをマイニングための全費用を負担することができず、より多くのブロックチェーンからより多くの報酬を得ることができる大規模なマイナーに比べて不利になる可能性がある。
しかし、マイナーが作業を提供しているブロックチェーンの任意のサブセットの検証とトランザクションの選択を委任することは可能であることに留意されたい。権限を委譲することを選択することで、マイナーは追加のリソース要件のほぼすべてを回避することができ、また、検証中のブロックチェーンに作業を提供することができる。しかし、このような委任は、作業の生成自体は分散していても、ブロックチェーンの検証と取引の選択を集中的に行うという代償を伴う。マイナーは、検証中のブロックチェーンには作業を提供しないという選択肢もある。
ソフトフォークのリスク
ビットコインでは、ソフトフォーク(soft-fork)とは、ビットコインのプロトコルに追加されるもので、有効な取引やブロックの数を厳密に減らすように設計されており、下位互換性がある。ソフトフォークは、全ノードではなく、超過半数のマイニング計算能力を持つ参加者のみで実装可能である。しかし、ソフトフォークされた機能に関する参加者のセキュリティは、アップグレードするまで SPV レベルにとどまる。
本論文のように実装された双方向ペグは、SPV セキュリティしか持たないため、ビットコインよりもマイナーの誠実さに短期的に大きく依存している。しかし、双方向ペグは、両システムのすべてのフルノードが互いのチェーンを検査し、ソフトフォークルールとして相互の有効性を要求すれば、ビットコインと絶対的に同等のセキュリティにまで高めることができる。
その結果、ソフトフォークを必要とするサイドチェーンの分離性が損なわれるというマイナスの影響が生じる。分離はペグサイドチェーンを使用する目的の1つであったため、サイドチェーンがほぼ全世界で使用されていない限り、この結果は望ましくない。しかし、ペグサイドチェーンがなければ、次の選択肢は、個々の変更をハードフォークまたはソフトフォークとしてビットコインに直接展開することになる。これはさらに唐突で、ビットコインのコンセンサスをリスクにさらす前に、新しい機能がその成熟度と需要を証明するための実際のメカニズムを提供しない。
応用例
この章では、技術的な基礎知識を踏まえた上で、ビットコインを効果的に拡張して現在できないことをできるようにする、サイドチェーンのユーザー向けのアプリケーションを探る。
オルトチェーン実験
1つ目の応用例は、すでに何度も述べたように、ビットコインから希少性と供給量を得られるコインでオルトチェーンを作ることである。全く新しい通貨ではなく、ビットコインを搭載したサイドチェーンを使用することで、初期流通や市場の脆弱性や導入の障壁などの茨の道を回避することができる(新規ユーザーにとっては、オルトコインの資産を得るために信頼できる市場を探したり、マイニングハードウェアに投資したりする必要がなくなる)。
技術的実験
サイドチェーンは技術的には完全に独立したチェーンであるため、ブロック構造やトランザクションチェイニングなど、ビットコインの機能を変更することができる。そのような機能の例をいくつか挙げる。
-
ビットコインでは部分的にしか修正できない、望ましくないトランザクション展性(注: segwit導入によって解消している)を修正することで、未確認取引の連鎖を伴うプロトコルを安全に実行できるようになる。トランザクション展性によって破壊されるプロトコルの例として、確率的支払い(probabilistic payments)がある。
-
Monero で使用されているリング署名方式など、支払い者のプライバシーを改善することで、特定の当事者の取引が検閲されるというシステムリスクを軽減し、暗号通貨のファンジビリティを保護することができる。これに対する改善策が Maxwell と Poelstra と Back によって提案されており、これによってさらに高いプライバシーを実現することができる。現在、リング署名は Monero で使用できるが、ビットコインでは使用できない。サイドチェーンであれば、このような排他性を避けることができる。
-
ビットコインでは、スクリプトの拡張機能(例えば、カラーコインを効率的にサポートするためのもの)が提案されている。このような拡張機能は、一部のユーザーにしか使用できないが、すべてのユーザーが微妙な相互作用の複雑さとリスクの増加に対処する必要があるため、これらの拡張機能はビットコインに受け入れられていない。
その他に提案されているスクリプトの拡張機能には、新しい暗号プリミティブのサポートがある。例えば、Lamport 署名は、サイズが大きいものの、量子コンピュータに対して安全である。
このような変更は、コインの作成ではなく、コインの移動のみに影響するため、別の通貨を必要とする必要はない。サイドチェーンでは、ユーザーは安全かつ一時的に実験を行うことができる。これにより、サイドチェーンの採用が促進され、参加者にとっては、全く別のアルトコインを使用する場合に比べてリスクが低くなる。
経済的実験
ビットコインの報酬構造は、新しいコインをマイナーに割り当てている。これは効果的に通貨を膨らませるが、段階的なスケジュールに従って時間とともに減少してしまう。このインフレを利用してマイナーに助成金を支給することは、ネットワークを保護するためのトランザクション手数料を補完することに成功している。
サイドチェーンでブロック報酬を達成するための代替メカニズムは、Freicoin によってデジタル通貨のために開拓されたアイデアのデマレージである。デマレージしている暗号通貨では、すべての UTXO は時間の経過とともに価値を失い、失われた価値はマイナーによって回収される。これにより、マイナーに報酬を与える一方で、通貨の供給を安定させることができる。インフレーションとは異なり、滞納による損失はどこでも瞬時に均一に発生するため、インフレーションよりもユーザーの関心との整合性が高い場合がある。また、ビットコインで認識されているリスクである、長期間使用されていない「失われた」コインが現在の評価で蘇生され、経済に衝撃を与える可能性を軽減する。デマレージは、貨幣の流通速度を上げ、金利を下げるインセンティブを生み出す。これは、社会的に有益であると考えられている。ペグサイドチェーンでは、滞納により、マイナーは既存のすでに評価されている通貨で支払われることができる。
その他の経済的変化には、必要なマイナー手数料、トランザクションの可逆性、特定の年月に達すると単に削除されるアウトプット、またはサイドチェーン外のイベントに固定されたインフレ/デマレージ率が含まれる。これらの変更をすべて安全に行うことは困難だが、作成の容易さとサイドチェーンのリスクの低減により、それらが実行可能であるために必要な環境が提供される。
発行資産
発行資産チェーンには、株式、債券、引換券、IOU などの従来の金融商品を含む多くのアプリケーションがある。これにより、外部プロトコルが所有権を委任し、所有権共有が発行されたサイドチェーンに追跡を転送できる。発行された資産チェーンは、スマートプロパティなどのより革新的な手段もサポートする可能性がある。
これらの技術は、補完通貨でも使用できる。補完通貨の例には、地域ビジネスを優先的に後押しするように設計されたコミュニティ通貨が含まれる。例えば、教育や高齢者介護などの社会的プログラムを支援するビジネス物々交換協会、大規模なマルチプレイヤーゲーム、ロイヤルティプログラム、オンラインコミュニティなどの組織内で使用される限定目的のトークンなどだ。
今後の方向性
ハッシュパワー攻撃耐性
この論文の主な目的は、SPV 証明を使用した双方向ペグを取り巻くものである。SPV 証明は 51 %攻撃によって偽造可能であり、転送のコンテスト期間中に十分な長さの証明を構築するには多くのハッシュパワーが必要だが、ブロック可能である。サイドチェーンで検討する価値のある他のアイデアは次のとおりである。
-
保証コントラクト
サイドチェーンのトランザクション手数料は、ハッシュパワーが少なくともビットコインの 66 %でない限り、マイナーから差し引かれる。これらの種類のコントラクトは、最初から設計されている場合、暗号通貨が実装するのは簡単であり、転送をブロックするコストを増やすのに役立つ。 -
タイムシフト手数料
マイナーは、遠い将来のブロックで(または多くのブロックに分散して)手数料の一部を受け取るので、チェーンの運用を維持するインセンティブを得ることができる。これにより、マイナーは単に帯域外の手数料を受け取るようになり、将来のチェーン内の報酬を待つ必要がなくなる。このスキームのバリエーションは、マイナーがトークンを受け取り、将来的に難易度の低いブロックをマイニングできるようにすることである。これは同じ効果があるが、受信者にチェーンをマイニングするように直接インセンティブを与える。 -
Demurrage
誠実なマイニングを奨励するために、ブロック補助金をデマレージ(一定時間以上保持していると価値が減価すること)を通じてマイナーに与えることができる。ビットコインや他のサイドチェーンに送金できるのは、送金された分だけなので、この資金の再配分は、それが発生したサイドチェーンに限って行われる。 -
補助金
サイドチェーンは、報酬として独自の独立したネイティブ通貨を発行し、効果的にアルトコインを形成することもできる。ただし、これらのコインは変動価値があり、その結果、アルトコインのボラティリティと市場の断片化の問題を解決できない。 -
共同署名 SPV 証明
有効な SPV 証明を承認し、偽の証明を監視する必要がある署名者を導入する。これにより、集中化と高ハッシュパワー攻撃に対するセキュリティとの間の直接的なトレードオフが生じる。この種のトレードオフの有用性についての詳細は、論文の付録 A で説明されている。 -
SNARKs
SNARKs は、スペース効率が高く、迅速に検証可能なゼロ知識暗号証明であり、何らかの計算が行われたことを証明する。ただし、ほとんどのプログラムの証明は今日のコンピューターで生成するには遅すぎるため、使用することがためらわれている。既存の構造では信頼できるセットアップが必要であり、システムの作成者は誤った証明を作成できでしまう。