最近は特にライトニングネットワークや、その上で様々なアセット・スマートコントラクトを動かせるようになるかもしれないRGBプロトコルなどについて触れてきましたが、今日はLNを「補完する」と表現されることのあるStatechainsと、なかなか議論が進みませんが有力なサイドチェーンの実現方式であるDrivechainについて紹介させていただきます。
どちらも最近あまり注目されていない気がします。
STATECHAINS
ビットコインでは通常、トランザクションに秘密鍵で署名して新しい秘密鍵で使用できるアドレスに送金します。Statechainsはこれとは異なり、秘密鍵自体を渡すことでUTXOごと送金する(=オンチェーントランザクションが不要)というコンセプトです。
封入された秘密鍵ごとUSBデバイスを譲渡することでオフチェーンでビットコインを譲渡することのできるOpendimeと同様の考えですね。
仕組みは比較的シンプルです:まず、Statechainに入金したいアリスが、Statechainの「仲介人」を務めるボブとの2-of-2マルチシグアドレスにある金額のビットコインを入金します。このときのアリスの秘密鍵はtransitory keyと言い、例えばアリスが第三者に送金したいときは、トランザクションを発行する代わりに、ボブに認知できる方法でこの秘密鍵を相手に渡します。その相手も同様に他人に鍵を送ることで、ブロックチェーンにトランザクションを発行することなく何度でもUTXOの所有権を移転をすることができます。
もしブロックチェーン上に決済したい場合は、そのときのtransitory keyの保有者(最後に受け取った者)とボブが署名することで行うことができます。
厳密には、最初の入金時と秘密鍵の譲渡時には毎回、ボブがいなくなっても資金が救出できるように新しい所有者とボブがタイムロック付きのマルチシグトランザクションに署名し、transitory keyの最新の所有者が保持します。
もしボブが反応しなくなってしまった場合は、期限が切れて最後の所有者がオンチェーンで受け取れるようになります。
また、Transitory keyを譲渡するとき、EltooというLNで使うために開発された仕組みを使用することで古いトランザクションが無効になるため、過去の保有者が単独で資金を窃盗することはできません。
Statechainsの特に面白いところはLNとの互換性で、2-of-2マルチシグのUTXOをライトニングチャネルとして使えることです。1BTCや0.1BTCなど、StatechainのUTXOの大きさピッタリの譲渡を繰り返すことはそれほど現実的ではないので(例えば流動性の高いNFTを表すなら別ですが)、ライトニングチャネルとして使うことで少額ずつ使うことができます。
チャネルの容量が足りなくなったときなどにも、現在のチャネルを売却してより大きなチャネルを購入または開設することもできるでしょう。
ただし、Statechainsは完全なトラストレスではなく、Statechainの管理役であるボブにある程度のトラストがかかってしまいます。なぜなら、ボブと過去にtransitory keyを保有したユーザーが共謀すれば、最新の保有者が別人だったとしてもオンチェーンで送金できてしまうからです。
この問題は、ボブ役もマルチシグにしたり、単純にある程度トラストされている主体に行ってもらうことで軽減することはできますが、完全に排除することはできません。(取引所やカストディ業者など)
DRIVECHAIN
Statechainsは2-of-2マルチシグアドレスの秘密鍵の片方を動かすだけのシンプルな仕組みでしたが、Drivechainは完全にサイドチェーンプロトコルです。ユーザーがメインチェーンの特定のアドレスに送金することでペグインするところまではLiquid Networkと同じですが、ペグアウトの仕組みやサイドチェーンのマイニングの仕組みなどが異なります。
ペグイン=メインチェーンからサイドチェーンへの資金移動
ペグアウト=サイドチェーンからメインチェーンへの資金移動
Drivechainの特徴として、マージマイニングを行うことから、サイドチェーンの追加には都度マイナーの同意(ソフトフォークによる対応)が必要なことが挙げられます。マージマイニングとは、マイナーが同時にビットコインとサイドチェーンのマイニングを行うことで、二重支払い防止の側面ではビットコインのセキュリティーを直接踏襲しながら、サイドチェーンの具体的な仕組みは自由に設計できるようにする方法です。
具体的には、Blind Merge Mining (BMM)という仕組みを使うことでマイナーの負担軽減と、サイドチェーンの利用増大などによるメインチェーンへの影響を回避します。BMMについてはこちらの記事が詳しいです。
Drivechainからのペグアウトはサイドチェーンのフルノード、そしてメインチェーンの51%以上のマイナーの(数ヶ月にも及ぶ)継続的な承認を必要とします。このことから、ペグアウトの安全性はメインチェーンのセキュリティと同程度とされています。
Blockstreamが開発するサイドチェーンのLiquid Networkからのペグアウトはマルチシグアドレスを管理するフェデレーションの承認さえ降りれば簡単に行えます。また、メインチェーン側から見るとただのマルチシグアドレスなので、このようなサイドチェーンはいくつでも作ることができます。
そのサイドチェーン内でのブロックの生成などは、そのサイドチェーン専用のマイナーなどによって行われます。
ところで、特にブロックサイズ論争の頃からビットコインにおいてはマイナーが影響力を持つことを忌避する文化があるので、Drivechainに関しても仕組み上のマイナーの影響力(新規サイドチェーンに対する拒否権など)を問題視する人もいます。
実際に、ユーザーの声を無視してマイナーが市場を振り回したという印象を受けた人も多かったと思います。
しかし一方で、マイナーも限られたリソースで事業を行う者であり、自身の事業(すなわちビットコイン自体)にとってデメリットとなるようなサイドチェーンに対する拒否権を持つべきであり、そもそもメインチェーンもマイナーがビットコインの価値を毀損する行動を取らないだろうという前提の上で成り立っている、というのがDrivechain提案者のPaul Storzcの視点です。
この動画で彼は、資源の限られたエコシステムに「なんでも」入れることは必ずしもプラスにならないことを、外来種やグレイ・グーに例えて説明しています。
どちらかというとコンピューターサイエンスの側面より、ゲーム理論の側面から成り立つアイデアだと、Paul Storzcは言っています。
彼は多くのマイナーが支持していたSegwit2xが直前撤回されたことも、S2Xの先物市場での評価があまりに低かったことから、経済合理性による選択だったとしています。(個人的にはマイナーによる支持という事象自体に市場が振り回されたのも事実だとは思いますが)
Drivechain自体はサイドチェーンを実現する方法なので、LNとそれほど関係があるものではありませんが、数年前からスケーリングを「円満に」実現する方法の1つとして提案されてきたものです。サイドチェーンへの関心が高まる場面がまたあれば、話題に上るようにもなるでしょう。
おわりに
名前が似ていることとスケーリングに貢献すること以外、それほど共通点のないStatechainsとDrivechainでしたが、概要とメリットが掴めたでしょうか。
個人的には最近はサイドチェーンでもない、オフチェーンのP2Pプロトコル(先週解説したRGBなど)に関心が高まっているので、Statechainsはまだしも、取引所間のネットワーク的なもの以外で果たしてサイドチェーンブームが本当に来るのかは疑問視しているところがあります。