技術的詳細情報
バリデータスタック・アーキテクチャ
「MIZUHIKI」の「バリデータスタック1」アーキテクチャは、Ethereum の実行およびコンセンサスプロトコルの最新の進展と変更を取り入れながら、許可制バリデータクライアント群と基本的なコンプライアンス機能を両立できるよう設計されています。
「MIZUHIKI」バリデータスタックは、実行クライアント(Execution Client)、コンセンサスクライアント(Consensus Client)、バリデータクライアント(Validator Client)の 3 つのコンポーネントで構成されています。実行クライアントとコンセンサスクライアントは標準的な Ethereum ソフトウェアコンポーネントであり、バリデータクライアントオペレーターに指定されていない者でも、主に読み取り専用の形で個別に稼働できます。
-
バリデータクライアント
- 「MIZUHIKI」は、バリデータクライアントを実行できる主体をホワイトリストで限定し、高水準のトークン閾値を設定しています。
- プロトコルは、ネットワークの安全性とコンセンサス維持に貢献した対価として彼らに報酬を付与します。
- バリデータクライアントの主な役割はブロック提案、ブロックの妥当性アテステーション、およびライトクライアント2の同期支援です。
-
コンセンサスクライアント
- PoS コンセンサスプロトコルに基づき、バリデータクライアントの「ビーコン」状態を管理し、フォークチョイスとファイナリティを担保します。
- 複数のバリデータクライアントを調整し、メッセージの受け渡しやブロック提案などの職務割当を行います。
- 他のコンセンサスクライアントと P2P ネットワーク上でコンセンサスメッセージを交換します。
実行クライアント
- 実行クライアント
- 他の実行クライアントとの P2P ネットワークで保留中トランザクションを受信およびゴシップします。
- トランザクションをバリデータクライアントが提案するペイロードにパッケージ化します。
- Ethereum Virtual Machine(EVM)上でブロックを実行し、ブロックチェーン状態を更新します。
- JSON-RPC API を公開し、ユーザーがトランザクション送信やエクスプローラーでのチェーン参照を行えるようにします。
- EVM のロジックを保持します。
コンセンサスプロトコル - Proof of Stake
「MIZUHIKI」は、Proof of Stake(PoS)コンセンサスプロトコルを採用した EVM 互換のブロックチェーンネットワークです。このブロックチェーンは、財団が定める厳格なハードウェアおよびソフトウェア基準に従い、日本国内に設置された 21 のバリデータクライアントオペレーター(各オペレーターがバリデータクライアントを稼働)によってバリデートされます。
「MIZUHIKI」では、許可制バリデータクライアントに対しコンセンサス業務が定期的に割り当てられ、正確かつ迅速に遂行した場合は報酬が与えられ、業務を怠るか誤って遂行したことが証明された場合にはペナルティが科される PoS 方式を適用しています。
MIZUHIKI コンプライアンス スイート:分散型識別子と検証可能な資格情報の活用
MIZUHIKI コンプライアンス・スイート は「MIZUHIKI」ネットワーク向けに最適化されたユニバーサル・アイデンティティ・プロトコルです。この包括的なスイートの核となる「MIZUHIKI ID」により、信頼できる MIZUHIKI アテスターが利用者のブロックチェーンアドレスへ検証可能なプレゼンテーション(VP)3 または**ソウルバウンドトークン(SBT)**を発行できます。
MIZUHIKI アテスターは、日本の主権下でライセンスを受けたコンプライアンス準拠のアテスター網であり、個人・法人等の実世界のアイデンティティとデジタルアイデンティティを結び付ける「信頼の根」を形成します。アテスターは利用者の分散型識別子(DID)に検証可能な資格情報(VC)を発行できます。VC に含まれる個人データはオンチェーンに保存されず、「MIZUHIKI」のクライアントオペレーターやバリデータからも不可視です。利用者はゼロ知識証明を提示することで個人情報を一切開示することなしにVC の有効性のみを開示し、必要なオンチェーンアクションの資格を証明することができます。これは VP または SBT、およびその両方の形をとります。
検証可能な資格情報(Verifiable Credentials, VC)は W3C 勧告に基づく仕様で、分散型識別子と組み合わせて資格情報の発行・保持・提示・検証を行います4。資格情報には、大学の卒業証明書、運転免許証、身分証明書など、さまざまな文書が含まれる可能性があります。MIZUHIKI ID ツールキットには、日本国内で所定の KYC・スクリーニングを完了したことを示すオンチェーン VP「MIZUHIKI Verified」 が用意され、規制対象アプリケーションとの相互運用を可能にします。
「MIZUHIKI」が VC・VP・SBT(VP の一形態と考えることができる)を活用できるのは、分散型識別子の採用によるものです。
分散型識別子(Decentralized Identifiers, DID)は、分散環境での主体の認証可能な識別を目的に、W3C ワーキンググループ5によって推奨されたデジタル識別子です。
各 DID は URI として構造化されており、識別子によって参照される文書を解決および検証するための方法に関する情報を含んでいます。
分散型識別子(DID)の一例6
MIZUHIKI コンプライアンス・スイートは、「MIZUHIKI DID(MIZUHIKI DID メソッド)」と呼ばれる W3C の仕様に準拠した独自の DID メソッドを備えています。このメソッドは、接頭辞 did:mizuhiki で始まる分散型識別子(DID)およびその DID ドキュメントに対し、構文・リゾルブ・検証・認可の各プロセスを規定します。
MIZUHIKI DID レジストリ は、犯罪収益移転防止法に基づく KYC を完了したユーザーの一意な DID と DID ドキュメントのメタデータを記録するスマートコントラクトレジストリです。
KYC は 「MIZUHIKI コントローラー」 により実施され、同コントローラーは登録済み JPKI サービスプロバイダーである必要があります7。
エンドユーザー向け MIZUHIKI ID 利用手順
MIZUHIKI ID プロセスを完了し、MIZUHIKI 上で「MIZUHIKI Verified」アドレスを取得するためのエンドユーザーのフローは以下のステップで構成されます。
DID の生成と登録
-
ユーザーはMIZUHIKI コントローラー(以下「コントローラー」)とともに MIZUHIKI ID 確認プロセスを開始し、本人確認に必要な書類を提出します。プライバシー保護のため、コントローラーは本人確認と書類チェックを完全にオフチェーンで実施します。
-
MIZUHIKI アテスターが MIZUHIKI SDK(開発中)を用いて、ユーザーの DID をオンチェーンに生成・登録します。
MIZUHIKI Verified ソウルバウンドトークン
-
ユーザーは MIZUHIKI SDK または対応アプリ上で、該当 DID の所有者として認証された後、自身の MIZUHIKI アドレスへ「MIZUHIKI Verified」ソウルバウンドトークン(SBT)を発行できます。
-
ソウルバウンドトークンは MIZUHIKI コントローラーによって発行され、譲渡不可ですが、コントローラーまたはユーザー(またはその両者)によりバーンが可能です。重要な点として、ソウルバウンドトークンは DID をはじめとした個人を特定できる情報(PII)を含みません。
検証可能な資格情報(Verifiable Credentials, VC)
-
ユーザーが追加の資格情報を管理したい場合、大学や登録済み団体などの信頼できる機関(「MIZUHIKI アテスター」)に VC の発行を依頼しなければなりません。この機関は MIZUHIKI DID メソッドと W3C VC 仕様に準拠している必要があります。
-
VC のリクエストを受けた後、MIZUHIKI アテスターはオフチェーンでユーザーに VC を発行します。VC はユーザーの MIZUHIKI DID に安全・非公開の形でひも付けられます。ユーザーは DID の verification method で認可を完了すると VC にアクセスできます。
VC には生年月日・GPA・住所など複数の主張(クレーム)が含まれます。必要に応じ、ユーザーはその一部だけをバリデータへ提示する「検証可能なプレゼンテーション(VP)」を作成できます。言い換えると、ユーザーは生年月日を非公開のまま年齢層を開示したり、居住地の住所を隠したままエリアを開示したりすることが可能です。
検証可能プレゼンテーション(Verifiable Presentations, VP)
- ユーザーは MIZUHIKI SDK を通じて、保有する検証可能な資格情報(VC)を基に、MIZUHIKI アドレスや「MIZUHIKI」上の他アプリケーションへ ― たとえばソウルバウンドトークン(SBT)形式で ― オンチェーン互換の検証可能なプレゼンテーション(VP)を生成・発行できます。VP は VC を保持するユーザー自身、またはその VC の発行者のいずれかが発行可能なものです。オンチェーン VP には、DID を含むいかなる個人識別情報(PII)も含めることはできません。VP はオフチェーン形式でも提供でき、その場合は PII を含むことがあります。
SBT/VC を用いたコンプライアンス&リスク管理ルールエンジン
ユーザーが「MIZUHIKI」上で規制対象の活動(例:金融取引)を行う場合、MIZUHIKI コンプライアンス・スイートを介して自分のSBT/VCを提示し、当該規制サービスを提供する MIZUHIKI アプリケーションに対して適格性を証明できます。