現在、トークンの発行を行えるブロックチェーンとして圧倒的に使われているものはイーサリアムです。ビットコイン上でも、カウンターパーティートークンやOMNI USDTなどに使われるカラードコインという仕組みを使ってトークンを発行することはできますが、USDTも送金手数料の上昇により他のブロックチェーンに移動するなど、利用は縮小傾向です。
今日紹介するRGBは、ライトニングネットワークと互換性をもつ、カラードコインを発行し送金することができるようになるレイヤー2プロトコルです。6月末に大石さんも投稿されていたので、そちらもご覧ください。
とは言っても、まだ自分の理解も完璧には程遠いので、技術面も含めてとりあえずざっくりとした紹介に留めます。
カラードコインとRGB
RGBを理解するにはカラードコインをおさらいする必要があります。
カラードコインとは、ビットコインのブロックチェーン上で他のトークンを扱う方法の総称です。元々は特定のUTXOが別のトークンとして扱われたため、それらのコインに色がついた状態と捉えてカラードコインと呼ばれましたが、現在の利用量では任意のデータを記録できるOP_RETURNを使ってビットコインブロックチェーンに送金情報を書き込む形式のものが主流です。(OMNI USDTなど)
カラードコインはビットコインのブロックチェーンを使用するので、スケーラビリティとプライバシーの問題をはらんでいます。あまり取り上げられない印象がありますが、特にプライバシーに関してはトランザクションの母数が少ない上に判別しやすく、ミキシングなども利用できませんのでほぼ追跡可能です。
RGBのコンセプトは、カラードコインをオフチェーンでやり取りすることでスケーラビリティとプライバシーを向上する仕組みです。これを実現するために、クライアントサイドバリデーションという仕組みを使っています。
ここまでは概ね大石さんの投稿にも書かれていたような内容です。ここからはもう少し技術面に踏み込んでいきましょう。
ちなみにRGBは光の三原色を表しますが、これはカラードコイン(「色付きコイン」)という言葉からきています。オシャレなネーミングセンスですね。
クライアントサイドバリデーション
クライアントサイドバリデーションとは、トランザクションの検証に必要な情報をブロックチェーンに記載することなく各参加者が保持し、送金の際には当事者たちがP2Pで「署名されたトランザクションのチェーン」のようなものを作っていくイメージです。
ビットコインの仕組みと比較したほうがわかりやすいかもしれません。ビットコインブロックチェーンは、全てのノードが全てのトランザクションとブロックを常時検証(バリデーション)して、ネットワーク全体が常にコンセンサスを保つようになっています。
一方で、クライアントサイドバリデーションとは、当事者間でコンセンサスが確認できれば良いので、ビットコインで例えるとトランザクションやブロックの内容はとりあえず無条件で受け入れて、実際にそれを使うときにだけ当事者間で不正がないか検証と確認が行われる、というような仕組みです。