サイドチェーン完全に理解した(1)
サイドチェーンという概念は、そもそもわかりにくいビットコインという概念の上にチェーン間の相互作用が関係しています。また、マルチシグウォレットをサイドチェーンと呼ぶこともあるのでさらにわかりにくくなっています。
サイドチェーンを作る技術者の思考過程をたどることで、サイドチェーンを適切に作ることがなぜ難しいのかを考えてみましょう。
単方向ペグ
例えば、ビットコインを誰にも消費できないアドレスに送ることでバーン(消滅させること)することを考えてみましょう。バーンコイン(架空のコイン)はビットコインのチェーンを観察して、バーンされたコインだけをバーンコインのチェーンで生成します。バーンコインを使わずビットコインだけを使っているユーザーは何もする必要がなく、バーンコインを使いたい人だけがバーンコインのデータ(とビットコインのデータ)をダウンロードして使うことができます。このようにして作られたバーンコインには以下のような特徴があります。
- ビットコイン側に戻すことができない(ビットコインよりも流通性が低い)
- ビットコインの総発行量に影響を与えない(増加させない)
ビットコインの総発行量に影響を与えないことから、全体としてみれば、一方的にビットコインがバーンコインに変換されていることになります。このような仕組みを単方向ペグと言います。単方向ペグでは1にあるようにビットコイン側に戻すことができないので使用できる場面は限定され、受け取る人も少なくなってしまいます。したがって利便性は下がり、バーンコインはビットコインと同じ価値を維持することができません。
双方向ペグ
では次に、ビットコインのサイドチェーンとして新しい架空のコイン(ニューコイン)を一から作ることを考えてみましょう。
次のような手順を取ります。
- ビットコイン側からニューコイン側に送金するときにはビットコイン側の台帳で値を2100万枚から減らす(例えば1万枚減らす)。ニューコイン側では1万枚を生成する。
- ニューコイン側からビットコイン側に送金するときにはニューコイン側の台帳で値を減らす(例えば5000枚減らす)。ビットコイン側では5000枚を生成する。
- これで、ビットコイン側で使えるコインは2099万5000枚、ニューコイン側で使えるコインは5000枚になる。
このように、2つのチェーン間でコインを互いに送金することができて、しかも全体の枚数2100万枚が変化しないのであれば、ビットコインとニューコインのどちらにコインがあるのか完全に分かることになります。このような状態を双方向ペグが成り立っているということにしましょう。
このような双方向ペグの例は、例えば取引所とビットコイン台帳が考えられます。
取引所にビットコインを入金すると、取引所のデータベースとビットコインブロックチェーンという2つの台帳でコインが管理されることになります。合計は2100万枚で変わりません。また、取引所の中ではユーザー同士で自由にコインを送金し合うことができ、他のユーザーは取引所内DBのデータを完全に検証する必要はありません。
これは現在実稼働しているサイドチェーンとして知られるLiquidやRSKでも利用されている方式です。
しかしながらここには重大な欠点があります。取引所を信頼しなければならないということです。上の手順2で取引所コインをビットコイン側に送金しようと思っても、取引所の許可を得る必要があります。取引所からはコインが勝手に盗まれてしまうかもしれません。したがってこれは双方向ペグではありますが、「トラストレス双方向ペグ」ではないことになります。
ブロックサイズを拡大するトラストレス双方向ペグ
では、トラストレスになるように、ビットコインと同じ仕組みで、全員が台帳を共有することにしてみましょう。
前の例と同じように新しい架空のコイン(トラストレスコイン)を発行してみます。
- ビットコイン側からトラストレスコイン側に送金するときには、ビットコイン側の台帳で値を2100万枚から減らす。全てのユーザーはその記録を確認する。
- トラストレスコイン側からビットコイン側に送金するときには、トラストレスコイン側の台帳で値を減らし、ビットコイン側で値を増やす。全てのコインの合計が2100万枚であることを、全てのユーザーが記録して確認する。
全員がビットコインと同じ仕組みに基づく方法で、ビットコインとトラストレスコインの2つのデータを完全に持つことで、「トラストレス双方向ペグ」が達成されました。ビットコインのブロックチェーンのデータは200GB、トラストレスコインのブロックチェーンのデータは使う人がたくさんいたので300GBになりました。本来ビットコインだけを使っていたユーザーも、トラストレスコイン側で値が増減し、それがビットコイン側に正しく戻ってきているのか知るために、合計500GBを持つことになりました。
ここには欠点、というより見落としがあるように思います。そもそも、サイドチェーンを作るのはスケーリングさせるためだったのでした。新しいチェーンを作って、それを全員が保持するようにするのは、ブロックサイズの拡大と全く同じことです。確かにトランザクション数はおよそ2.5倍になったのでスケーリングには成功しているのですが、全員がデータを保持するならそもそもブロックのサイズを2.5倍にすればよかったのではないでしょうか。したがって、この方法は「トラストレス双方向ペグ」ではありますが「ブロックサイズを拡大しないトラストレス双方向ペグ」ではないということになります。
ブロックサイズを拡大しないトラストレス双方向ペグ
ようやく本題です。サイドチェーンに要求される「ブロックサイズを拡大しないトラストレス双方向ペグ」がなぜ難しいのかと言えば、それは上で見たように
- チェーン間で移動が自由で、流通する全てのコインの価値は同じでなければならない(さもなければアルトコインを使えばいいことになる)
- トラストレスであるためには全員がサイドチェーンの全ての記録を管理する必要がある(さもなければ取引所内のDBを使えばいいことになる)
- スケーリングという課題を解決するためには全ての記録を管理してはならない(さもなければブロックサイズの拡大で解決すればいいことになる)
という一見矛盾する要求を全て満たす必要があるからです。現在稼働していたり、提案されているサイドチェーンで全ての要求を満たしているものはありません。これはDrivechainも例外ではありません。
Drivechainは2の「トラストレスであるためには全ての記録を管理する必要がある」で妥協しています。具体的には、全ての記録を管理しない代わりに、ビットコインの価値を保つインセンティブがあるビットコインのマイナーのうち一定数は信頼できるという仮定を置いているのです。
もっともこれには後述するように、反論の余地があります。
(続く)
過去記事リスト
暗号通貨ユーザーのためのネットワーク・セキュリティ(1)
https://spotlight.soy/detail?article_id=bj8t69tml
暗号通貨ユーザーのためのネットワーク・セキュリティ(2)
https://spotlight.soy/detail?article_id=xwada9rw4
暗号通貨のプレマインについてもう一度考えてみる (1)
https://spotlight.soy/detail?article_id=f18pngmal
暗号通貨のプレマインについてもう一度考えてみる (2)
https://spotlight.soy/detail?article_id=w19kfuoxb
サイドチェーン完全に理解した(1)
https://spotlight.soy/detail?article_id=fuhmf3v4a
サイドチェーン完全に理解した(2)
https://spotlight.soy/detail?article_id=09td38ogu
ビットコインのサイドチェーンがもたらすメリットとアルトコインへの負の影響 | サイドチェーン完全に理解した(3)
https://spotlight.soy/detail?article_id=xenqycujl
サイドチェーンの問題点を考える | サイドチェーン完全に理解した(4)
https://spotlight.soy/detail?article_id=1lkzboesj
サイドチェーンはこうやって使う | サイドチェーン完全に理解した(5)
https://spotlight.soy/detail?article_id=693eud9j7
ビットコインのサイドチェーンがもたらす不都合な未来 | サイドチェーン完全に理解した(6)
https://spotlight.soy/detail?article_id=cj4sgrxim
Ethereumをもう一度ちゃんと批判する
https://spotlight.soy/detail?article_id=evrs1yn3d
詐欺とは何であるか
https://spotlight.soy/detail?article_id=7rwt4fj9s
[翻訳] レジスタンスの公理
https://spotlight.soy/detail?article_id=8vknao9mr
写真:https://commons.wikimedia.org/wiki/File:Bike_gears_and_chain.jpg
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
You are free:to share – to copy, distribute and transmit the work
to remix – to adapt the work
Under the following conditions:attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.