見出し画像

SBTやVCsとも違う新しいブロックチェーン証明書Ethereum Attestation Service -ラジオ投稿証明書プロダクトによる実例解説-

先日、ラジオのユーザー投稿等の貢献に対して誰でも簡単にオンチェーン証明書を発行できるAir Chainというプロダクトをリリースしました!本記事では、オンチェーン証明書の発行に活用しているEthereum Attestation Serviceについて解説します。
Air Chainの詳細については、こちらをご覧ください。


① Ethereum Attestation Service概要

Ethereum Attestation Service(EAS)は、あらゆるフォーマットのオンチェーン/オフチェーン証明書を発行/検証できるオープンソースのpublic goodです。現在は、Ethereum, Arbitrum, Optimism等で運用されており、Polygonへの拡張も予定されています。Gitcoinでの実証実験もスタートしている注目のサービスです。
実際に自分で発行したラジオ投稿証明書を使って、仕様を解説していきます。

Schema

EASでAttestation(証明書)を発行する際は、Schemaという証明書のフレームワークをまず作成します。

このSchemaはこちらから確認できます。
上記で作ってみたSchemaでは、下記の3つのデータを含んだ証明書を発行するように設定しています。
RadioStationName: ラジオ局名
Date: 発行日
TypeofParticipation: 参加方法(ラジオで実際に投稿が取り上げられた、年間ベスト投稿など)
Schemaは一度発行すれば、同じ形式の証明書で再利用することができます。左下のAttestation countから分かるように、現在このSchemaを使って19の証明書が発行されています。

Attestation

続いて、下記が先ほどのSchemaを使って発行したAttestationのひとつです。

実際のAttestationはこちらから確認できます。
From: 発行者(ラジオ局)のwallet address
To: 発行先(投稿者)のwallet address
Decoded data: Schemaで設定された項目の情報
Raw data: Decode前の16進法データ。完全にオンチェーン保存
となっています。

EASを活用することで、このように簡単にSchema、Attestationともに完全にオンチェーンに情報が保存することができ、分散型ストレージを含めたすべての外部情報から独立してオンチェーンの証明書を作成することができます。また、Schemaの自由度も非常に高く、Excelの表で表現できる内容であればほぼ何でも、好きな数だけ証明書に反映できます。この証明書発行をブロックチェーンの知識がない方でも簡単に発行できるようにしたのが弊プロダクトのAir Chainです。
また、EASには、パスポート情報などプライバシーが関わる情報を証明するためのオフチェーン証明機能もあります。その他にも、一度発行した証明書の失効やガス代の肩代わりなど様々な機能があるので関心のある方はドキュメントをご参照ください。このAttestationを、すでに証明書として活用されているSBTやVCsと使い分けて補完しあうことで、より網羅的にオンライン/オフラインの事象に対するブロックチェーン証明書を発行できるようになります。

②ブロックチェーン証明書がweb3全体に与えるインパクト

DAOの投票やQuadratic fundingなど、web3によるPluralism(多元主義)の実現の根幹になる要素のひとつがDecentralized Identity (DID)です。DIDをガバナンスにおいて適切に機能させるためには、シビル攻撃耐性をいかに高めるかが課題になっています。Gitcoin Passportをはじめとして、ソーシャルグラフ、外部サービス認証、CAPTCHAなど様々な方法でシビル攻撃耐性を高める取り組みが為されていますが、近年のAIの加速度的な進歩を考えると特効薬は存在しない状況だと考えています。DIDの市場規模を5600億ドルとする試算もあります。
そもそも、古典的な哲学的ゾンビの思考実験でも言及される通り、僕たちは目の前の人間が本当にクオリアを持った人間なのかをverifyすることさえできません。僕たちにできることは、可能な限り多く、そして多角的な「人間らしさ」をブロックチェーン上に積み上げてアイデンティティを構成していくことだと思います。
この文脈で、SBTよりも厳格で自由、かつVCsよりも気軽な(次章詳細)オンチェーン証明書としてのAttestationは、SBTやVCsでは手が届かない領域の証明書発行に活用することができます。Air Chainにおけるラジオ投稿証明のように、小さなオンチェーン証明の積み重ねで非中央集権的に自分だけのアイデンティティを構成できるようになります。また、EASを活用した他のプロダクトでは、リアルで出会った人同士がQRコードで証明書を発行するといったものもあり、オフラインでもオンラインでも、Cookieのように自分の行動を主体的に証明書として蓄積していくことができます。国も人種も、あらゆる出自や背景を超えて、自分の選んだ行動や好きなもので構築したアイデンティティを互いに認証しあって意思決定に参与していく社会は素敵だと思いませんか?

➂SBTやVCsとの違い

Attestationの他にも、ブロックチェーン上の証明書としてSoul Bound Token(SBT)やVerifiable Credentials (VCs)が使われています。それぞれに長所と短所があるのですが、Attestationは「SBTとVCsの中間」というのが分かりやすいです。
SBTとVCsのそれぞれについて、Attestationと比較していきましょう。

SBT

SBTは、TransferできないNFTで、文字通りwallet addressの「魂に紐づいた」トークンで、そのwallet addressの属性を表す手段として使われます。詳細についてはこちらのペーパーをご覧ください。
アイデンティティ証明におけるSBTの課題は大きく2つあると考えています。

  1. データのほとんどが外部情報依存であること。多くの場合、SBTのメタデータ(画像やDescriptionなど)はIPFS等のブロックチェーン外の分散型ストレージに保存されます。ストレージ側に何かしらの問題があった場合、SBTは何の情報も持たないIDがついただけのトークンになりえます。またメタデータが書き換えられる可能性もあります。(自分のアイデンティティにとって重要なSBTが朝起きたらうんこSBTに変わっている様子を想像してみてください。)
    ⇒Attestationでは、証明書情報はすべてオンチェーンで保存することができるのでこの問題は解決できます。

  2. wallet保有者の意志に関わらずwalletにマッピングされてしまうこと。SBTは、誰もが、誰にでも送信することができ、受信者側にそれを拒む手段はありません。そして、一度受信してしまったNFTを削除することはできず、永遠にそのwalletに残ります。また、第三者がそのwalletの保有SBTを閲覧してその人がどんな人なのかを知りたいときに、それぞれのSBTが、望んで手に入れたものなのかどうか、正当な手段で手に入れたものなのかどうか判別することは非常に困難です。この点の批判についてはこちらの記事をご覧ください。
    イメージとしては、自分の仕事用の名刺に赤の他人が好きなように二度と剥がせないシールを貼れるみたいな状態です。
    ⇒Attestationでは、証明書はwalletに直接マッピングされないほか、一度発行した証明書を失効する機能があります。

一方で、あるサービスが発行したSBTを1対1の関係でトークンゲートに使うことについては利便性が高いです。Attestationをゲートにしたサービスも可能ですが、現状の開発はSBTのほうが行いやすい状況だと思います。
また、Attestationは常に発行者側(ラジオの例ではラジオ局)が署名をする必要がある一方で、SBTにおいては条件付けをして受信者(ラジオの例では投稿者)が直接ミントをすることができる特性もあります。

VCs

VCsは、人によって定義も流動的なため、ここでは代表的なBlockcertsを例に取り上げます。
VCsは基本的に、前述のSBTの2つの課題を解決した自己主権型アイデンティティ(Self-Sovereign Identity)を目指しています。アイデンティティを完全に自分でコントロールして、任意の相手にのみ情報を開示するような形です。

Blockcertsでは、json形式の証明書(名前や証明内容など)をハッシュ化してブロックチェーン上に書き込みます。その後、jsonファイルとハッシュ値を復号することでその証明書の正しさを検証することができます。パブリックに公開されているブロックチェーン上の情報はハッシュ値のみで、jsonファイルを渡した相手だけが証明内容を確認できるため、自己主権的にアイデンティティの管理ができます。

VCsの検証とプライバシー管理は非常に頑強で、学歴や就労証明などの重要な出来事の証明には最適です。
一方で、小さな出来事の膨大な数の証明には不適切だと考えています。証明用のすべてのjsonファイルをローカルで管理して適切なものをその都度提出する必要があるからです。jsonファイルを管理する外部サービスやクラウドを使った時点で厳密には自己主権性が失われてしまいます。

SBT, VCs, Attestationそれぞれに長所と短所があり、
SBT: トークンゲート機能を軸にする場合や、受信者側が自動でミントできるようにしたい場合
VCs: 大きな出来事の頑強な証明
Attestation: 小さな出来事の多様な証明
のように使い分けていくことが重要です。

④Air Chain概要

現在は、最もシンプルな「ユーザー投稿からラジオ局が選出した投稿に対する証明書発行機能」でSepoila Testnetでのα版のテストを実施しています!

①ラジオ局がユーザーの投稿タイプ選択肢を作成

②ユーザーがラジオ局ページから投稿

➂ラジオ局が管理画面からAttestをクリックして、metamaskで署名をして証明書を発行

この流れで、Ethereum Attestation Service概要でご紹介した証明書を発行できます。metamaskをお持ちの方であればどなたでも簡単にお使いいただけますので、ぜひお試しください!プロダクトの背景や詳細についてはこちらをご覧ください。
(かるべさん記事)
まだまだ発展途上のプロダクトですので、ご質問やオンラインでの説明をご希望の方はお気軽にご連絡ください。

⑤汎用性を活かした今後の展望、ロードマップ


皆さまのフィードバックをいただきながら改善を進めていきたいと思っています!現在は以下の開発を進めています。

非クリプトユーザーへの導線

最終的には、Google formよりも簡単に使える投稿フォームを目指しています。
非クリプトユーザーにとっての一番のボトルネックはやはりwallet作成だと考えています。現在はmetamask等の一般的なウォレットの他、メールアドレスによるカストディアルウォレットの作成に対応しているのですが、アカウントアブストラクションの活用等でノンカストディアルウォレットでありながら簡単なオンボーディング体験を目指したいです。

Attestationの種類の拡張

現在は下記の種類を考えています。
レビュー証明書:ユーザーのラジオ局に対するレビューをオンチェーンで発行します。タイムスタンプを活用して「初期からの推し」証明にもなって、ラジオ局側は後から優待を設定したりできます。(あとリスナーはドヤれます)
自由記述証明書:それぞれの投稿に限らず、特別な貢献をしたユーザーに対してラジオ局が自由内容の証明書を発行できるようにします。一定以上の数の投稿が取り上げられた人へのランクアップ証明書などが考えられます。
ラジオスピーカー証明書:ゲストスピーカーを招いたラジオなどでは、ゲストに対して証明書を発行できるようになります。
その他、何かアイデアがあればぜひご共有ください!

NFT/SBT発行

Discordのトークンゲートなど、他のサービスとの互換性を考えたときに、NFTやSBTのほうが使い勝手が良い場合もあるかと思います。Attestationの数などを条件にして、ユーザーがNFTやSBTを同サービス内でミントできるようにします。

ラジオ以外への拡張

長期的には、ラジオ以外のあらゆるユーザー投稿フォームに拡張して、web3版Google Formを目指しています。
Youtubeからご当地キャラの命名投稿、行政のパブリックコメントまで幅広く対応できるポテンシャルがあると考えています。

長文を最後までお読みいただきありがとうございました!
podcastなどのラジオを運営している方、EASを活用したサービスを検討している方はぜひご連絡いただけますと幸いです!

この記事が気に入ったらサポートをしてみませんか?