VC とブロックチェーンの関係
「VC = ブロックチェーン」という誤解 がありますが、実際は異なります。このドキュメントでは、VC とブロックチェーンの関係を整理します。
まず結論:ブロックチェーンは必須ではない
よくある誤解:
「VC はブロックチェーン技術」
「VC を使うにはブロックチェーンが必要」
実際:
VC = デジタル署名技術
ブロックチェーンは「オプションの1つ」に過ぎない
VC の本質は「署名付き JSON」です。 ブロックチェーンがなくても、デジタル署名があれば検証可能です。
VC のどこにブロックチェーンが使われうるか
┌─────────────────────────────────────────────────────────────┐
│ Verifiable Credential │
│ │
│ issuer: "did:ethr:0x..." ◄─── DID がブロックチェーン上 │
│ (オプション) │
│ │
│ credentialSubject: { ... } ◄─── VC 本体をブロックチェーンに │
│ 記録する場合もある │
│ (公開情報の場合) │
│ │
│ credentialStatus: ◄─── 失効リストがブロックチェーン│
│ statusListCredential 上(オプション) │
│ │
│ proof: { ... } ◄─── ブロックチェーンのトランザ │
│ クション自体が proof になる │
│ 場合もある │
└─────────────────────────────────────────────────────────────┘
| 部分 | ブロックチェーンを使う? |
|---|---|
| DID(issuer 等) | △ 使う場合もある |
| VC 本体 | △ 公開証明書の場合は使う |
| 署名(proof) | △ トランザクション署名を使う場合も |
| 失効リスト | △ 使う場合もある |
| 信頼レジストリ | △ 使う場合もある |
DID メソッドとブロックチェーン
DID(Decentralized Identifier)には様々な「メソッド」があり、ブロックチェーンを使うものと使わないものがあります。
ブロックチェーンを使わない DID
| メソッド | 基盤 | 特徴 |
|---|---|---|
did:web | Web サーバー | 最も実用的。DNS + HTTPS で信頼 |
did:key | なし | 公開鍵から導出。解決不要 |
did:jwk | なし | JWK から導出。did:key の JWK 版 |
did:web の例:
did:web:university.example.com
│
▼
https://university.example.com/.well-known/did.json
│
▼
{
"id": "did:web:university.example.com",
"verificationMethod": [{
"id": "did:web:university.example.com#key-1",
"publicKeyJwk": { ... }
}]
}
→ 通常の Web サーバーで DID Document をホスト
ブロックチェーンを使う DID
| メソッド | 基盤 | 特徴 |
|---|---|---|
did:ethr | Ethereum | スマートコントラクトで管理 |
did:ion | Bitcoin(Layer 2) | Microsoft 開発、Sidetree プロトコル |
did:indy | Hyperledger Indy | エンタ ープライズ向け |
did:pkh | 各種チェーン | 既存のウォレットアドレスを活用 |
did:ethr の例:
did:ethr:0x123abc...
│
▼
Ethereum のレジストリコントラクト
│
▼
公開鍵やサービスエンドポイントを取得