RGB プロトコルにおける "schema"

RGB プロトコルにおける "schema"

RGB プロトコルは、アセットの状態(state)遷移(transition)をクライアントサイドで検証(validate)します。

本稿では、どのように検証を行っているのか、という内部の解説を試みます。

他プラットフォームでの仕組み

本論に入る前に、先行する他のアセット発行流通プラットフォームについて、仕組みをおさらいしてみます。

Ethereum

RGB と同様にアセットを発行・移転ができるプラットフォームとしては、Ethereum がよく知られています。

Ethererum は EVM という仮想マシンを土台としたプラットフォームであり、ERC20 ERC721 といったトークンは、EVM を利用したプログラム…スマートコントラクト…として定義されます。

Counterparty

Ethereum と同様に、アセットの発行・移転ができるプラットフォームとして、Counterparty もよく知られているかもしれません。

Counterparty は、スマートコントラクトに相当する処理は、事前にハードコードされています。少なくとも現時点では、コア開発者以外での拡張はできません。過去に EVM を搭載する計画がありましたが、頓挫しています。

Omni

概ね Counterparty と同じ仕組みです。

RGB での仕組み

RGB は Ethereum とも Counterparty とも違う方針を採っています。

まず、 RGB では、EVM のような自由度の高い仮想マシンはオプションです。無くても動きます。RGB と同じく LNP/BP association の下で開発が行われている AluVM は、採用有力ながらも、本稿執筆時点ではオプションであり必須ではありません。

しかし、Counterparty や Omni のように決め打ちでもありません。

RGB アセットの挙動を決める根幹技術が、 schema です。

schema には、下記のような情報を記述できます。

  • アセットに持たせたい属性
  • 誰にどの属性を操作可能とするか
  • 状態遷移の種類と許可条件

アセットの生成者(issuer) は、アセットに任意の schema を設定できます。

その後、RGB アセットが状態変化(典型的には送信)を起こそうとする都度 schema が参照され、状態変化を認めるか否かが各ノード(クライアント)により判断されます。

Ethereum での ERC721 に相当する、RGB21 アセットの schema では、状態遷移の許可条件として、各ノードに埋め込みの条件を使うよう記述されています。

今後は、許可条件として、AluVM で記述されたコントラクトを使えるようになるはずです。

まとめ

本稿では、RGB プロトコルでのアセットを定義する "schema" を紹介しました。挙動ではなく制約条件を宣言的に記述することで、EVM のような仮想マシンを導入せず、かつ Counteparty より自由度の高いアセット設計が可能となっています。今後、AluVM 等の仮想マシンを導入可能とする余地が残されていることで、AMM や DAO のような、複雑なシステムに向けたプラットフォームとなる可能性も秘めています。

schema の具体例は、たとえば RGB-21 が参考になります。

Remaining : 0 characters / 0 images
100

Sign up / Continue after login

Related stories

Writer

偽物です。

Share

Popular stories

RGB protocol での転送(transfer)

109

RGB protocol を外堀から埋める (1/n)

62

Spotlight 参戦

51