こんにちは、Defiの熱狂や"ETH Supplygate"などが連日話題になる中、自分は多くの時間をRGBのことを調べたり考えたりして過ごしていました。

数週間前にRGBを紹介したとき、どちらかというと仕組み寄りの紹介だったので読みにくく、あまり響かなかったかもしれませんが、ブロックチェーン業界をひっくり返しうる斬新で面白いコンセプトだと思うので、今回は自分がRGBになぜ期待しているかを、ビットコインとイーサリアムを参照しながらなるべく分かりやすく解説したいと思います。

復習になりますが、RGBはビットコインやライトニングなどの上のレイヤーで、スマートコントラクト(によるトークン発行など)を実現するプロトコル群です。
ブロックチェーンの短所

そもそも、ブロックチェーンがなんのために存在するかというと、トランザクションに変更し難い時系列を作り出し、二重支払いを防止するため、という説明がされることが多いと思います。つまり「参加者全員が合意する時系列にデータを結びつけることができる」のがブロックチェーンの長所です。

一方、ブロックチェーンがデータの処理や保管に関して非常に非効率なことは皆様もご存知かと思います。なぜなら、全てのノードが常時全てのデータを受け取り、検証し、場合によっては過去全てのデータを保管しているからです。ノードの数だけ検証が行われ、データが保管されるなら、その対価としてコストがかかってしまうことは自明です。

したがって、イーサリアムのようにオンチェーンでスマートコントラクトの状態データを保管しているとスケーラビリティの問題を引き起こし、ユースケースはより高い手数料でもリターンが得られるものに限られてきます。
この影響はビットコインでも同様ですね。

当たり前のようなことですが、イーサリアムでは特にスマートコントラクトがオンチェーンなことがスケーラビリティの問題に繋がり、ネットワーク全体に負担がかかる理由になっています。

スマートコントラクトをオンチェーンでスケールさせたいイーサリアムは、最近もガスリミット(1ブロックあたりの処理数、ビットコインでいうブロックサイズ)を拡張するなどしていますが、マイニングの中央集権化ユーザー自身がノードを建てることの難しさにつながることなど、オンチェーンスケーリングには物理的な限界があります。
そのあたりにイーサリアンの大多数はあまり関心がないようですが、これらはビットコイナーには受け入れられないトレードオフなので、ビットコインがこの路線を選ぶことはないでしょう。

"ETH Supplygate"も、本質的にはイーサリアンが自身のノードを建てて検証せずに他者をトラストしていることをビットコイナーが皮肉る話です。
ブロックチェーンからの解放

ブロックチェーンの制約から解放されるのがレイヤー2です。
例えばライトニングでは、ブロックチェーン外での取引の情報は当事者たちのみが管理して、最終的な結果を記帳することができます。各当事者間のデバイスのスペックなどの制約こそあれど、そこにネットワーク全体でのスケーリングの上限はありませんし、多数の人にデータを検証・保管してもらう必要もないのでコストも安くなります。単純なペイメントチャネルでピンポン送金を繰り返すだけならチャネルの残高の制限内でなら無限に行えます。

ブロックチェーンのように全てのノードが検証するのと違い、当事者たちのみが必要なだけのデータを検証することを「Client Side Validation」といい、RGBにおいても中心的な役割を果たしています。

RGBを使えば、RGBを使って発行されたトークンの移転やスマートコントラクトの状態遷移をライトニングチャネルに結びつけることで、ブロックチェーンにトランザクションを発行することなく二重支払いを防止しつつ、そのスマートコントラクトの参加者間で取引をすることができます。

また、自分が所有する(使用する)トークンのオフチェーンの取引記録のうち、さらに自分の所有分に関する記録のみを検証するだけで良いので、全ての記録を検証・保管するより大幅に負担が軽くなります。皆それぞれ受け取るトークンの記録を検証すれば、全体を検証できたことになるという発想ですね。

このような仕組みを使うと、ステーブルコインやセキュリティートークンの流通はかなり簡単にできるようになるのではないかと思います。実際に、USDTの発行体であるTether/BitfinexはRGBに関心を示しており、RGB上でUSDTを発行したいようです。

そして現在はトークン発行機能に注目が集まっていますが、もし今後RGBのスマートコントラクト機能が充実したら、ユーザーは自身が関係するスマートコントラクトの検証のみ行えば良い上、Client Side Validationにはプライバシー面でもメリットがあるため、イーサリアムのスマートコントラクトと比べて合理的な設計といえる場合も出てくるでしょう。

RGBがETH 2.0の将来像にあるシャーディングという仕組みに近いと感じる人も多いです。(どちらが先に実現するかはわかりませんし、ネットワーク効果を獲得するのも大変かもしれませんが)
オンチェーンが勝るところ

基本的に、スケールしないブロックチェーンに色んなものを詰め込むオンチェーンスマートコントラクトが悪手だと感じていただけたと思います。
それでも、少なくとも現状ではレイヤー2でやるよりブロックチェーン自体でやる方がシンプルなこともあります。

例えばマネーレゴと称されるDefiコントラクトの組み合わせなどは、オンチェーンで行うほうが簡単ではあるでしょう。(そもそも各スマートコントラクトの最新状態がブロックチェーンという1ヶ所に保存されていることで非常にやりやすくなっています。)
RGBが成熟してくるとインターブロックチェーンのような仕組みを実現することができるかもしれません。

また、トークン同士の交換という点では、Liquid Networkなどもすでに秘匿トランザクションでトークン間でのAtomic Swapができるので、RGBでも異なるトークンの交換が簡単にできるようになってほしいとも思います。
DEXは比較的早期に開発されるかもしれません。

実際に、Spectrumという名前ですでにRGBを使ったDEX・インターブロックチェーンのような仕組みを実現する構想があります。

RGB自体でビットコイン自体を扱うことも難しいと考えられます。例えばスマートコントラクトを使ってビットコインで利息を付与したりするためにはビットコインにペグしたRGB-Bitcoinのようなものを作り出す必要がありますが、この仕組みは現時点では考えられていません。実現したとして、割と複雑な仕組みになるかもしれません。

最後に、一番重要な違いですが、RGBはコントラクトの所有者(=状態に対応するUTXOの所有者)が必要で、この所有者にしか状態遷移を行うことができません。つまり、スマートコントラクトの状態が基本的に公共物で制限されていなければ誰にでも呼び出せるイーサリアムとは違い、RGBのコントラクトには必ず中央集権的な所有者が存在します
これは、STOやステーブルコインにおいては好ましい場合もあるでしょうし、実質運営者のいるスマートコントラクトも多いのですが、誰にでも状態遷移が行える完全な公共物としてのスマートコントラクトは実現できません。何をするにも所有者が協力的であることが前提となります。

ただし、RGBにおいてコントラクトの所有者は全てのトランザクションを停止することはできても、特定のトランザクションだけを選んで検閲することはできません。
ほとんどの場合、発行主体は発行したトークンの流通に協力的であると考えられます。
ポスト・ブロックチェーン?

イーサリアムは需要のあるアプリケーションを実現することに今のところ成功していますが、スケーリングに問題を抱えており、また1つのレイヤーに複雑な機能を盛り込んでしまったせいで保守性にも問題を抱えています。

なので、自分は機能をレイヤーごとに分け、スケーリングの問題も解決したRGBのような仕組みが「スマートコントラクトのポスト・ブロックチェーン(オフチェーン)時代」として数年後には持ち上げられるのではないかと思っています。
開発はまだまだ初期ですが、開発者をオンボーディングするための毎週の解説ミーティングを見ていると、ビットコイン開発者の間で関心が高いことがわかります。

ビットコイン上でトークンやスマートコントラクトを実現するかなり革新的な仕組みが出てきたという程度には認知しておくといいかもしれません。