🌟

Verifiable Credentialsとは?概要説明から活用事例まで

2023/06/03に公開

PitPaでエンジニアをしている森田です。
PitPaでDID/VCを活用したキャリア証明書が作成できるsakazukiの開発に関わるようになり、Verifiable Credentials(VC)に触れる機会が多くなったので自身の整理も兼ねて記事にすることにしました。

本記事では、主にVCの概要や活用事例としてsakazukiについて紹介します。
VCとセットでDIDという技術が出てきますが、DIDについてはこちらの記事で説明してますのでご参照ください!

VCとは

VCは、Verifiable Credentialsの略で日本語では検証可能な資格証明と呼ばれます。

VCは、学歴・キャリア証明書や運転免許証などの情報を保有し、それが信頼できる機関によって検証されていることを証明するデジタル証明書です。

VCは、実際には下記のようなjson形式のデータになります。

{
    "@context": [
        "https://www.w3.org/2018/credentials/v1",
        "https://www.w3.org/2018/credentials/examples/v1"
    ],
    "id": "http://example.edu/credentials/1872",
    "type": [
        "VerifiableCredential",
        "AlumniCredential"
    ],
    "issuer": "did:example:76e12ec712ebc6f1c221ebfeb1f",
    "issuanceDate": "2010-01-01T19:23:24Z",
    "credentialSubject": {
        "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
        "alumniOf": {
            "id": "did:example:c276e12ec21ebfeb1f712ebc6f1",
            "name": [
                {
                    "value": "Example University",
                    "lang": "en"
                },
                {
                    "value": "Exemple d'Université",
                    "lang": "fr"
                }
            ]
        }
    },
    "proof": {
        "type": "RsaSignature2018",
        "created": "2017-06-18T21:19:10Z",
        "proofPurpose": "assertionMethod",
        "verificationMethod": "https://example.edu/issuers/565049#key-1",
        "jws": "eyJhbGciOiJSUzI1NiIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..TCYt5X
        sITJX1CxPCT8yAV-TVkIEq_PbChOMqsLfRoPsnsgw5WEuts01mq-pQy7UJiN5mgRxD-WUc
        X16dUEMGlv50aqzpqh4Qktb3rk-BuQy72IFLOqV0G_zS245-kronKb78cPN25DGlcTwLtj
        PAYuNzVBAh4vGHSrQyHUdBBPM"
    }
}

参照: https://www.w3.org/TR/vc-data-model/#contexts

この例のVCの所有者は、Example Universityの卒業生であることが証明されてます。
Example Universityの卒業生であるという情報は、credentialSubjectの部分で記載されてます。
この部分でVC所有者のDID(did:example:ebfeb1f712ebc6f1c276e12ec21)と卒業証明情報が紐づけられてます。

また、proofの部分がVCの検証で使われます。

検証についてはDID/VCによる検証の仕組みで説明します。

DID/VCによる検証の仕組み

DID/VCによる検証プロセスは、公開鍵暗号の仕組みを使用してます。

公開鍵暗号は、秘密鍵と公開鍵のペアで動作します。
データが秘密鍵で署名されると、その署名は対応する公開鍵でのみ検証することができます。
これにより、署名が秘密鍵の所有者から来たことを証明できます。

この仕組みを活用してVCの情報が正しいことを保証しています。
VC発行者(上記の例だと、Example University)が所有する秘密鍵でVCを署名して、VCのproofの部分に含めます。
このVCをVC発行者の公開鍵で検証して、検証が通ったら情報が改ざんされてない正しい証明書であることを保証することができます。

検証プロセスは下記のようになります。

  • DIDドキュメントやVerifiable Data Registryについてはこちらで解説してますので良ければご参照ください

DID/VCの活用事例: sakazuki

sakazuki (https://sakazuki.xyz/ ) は、DID/VCを活用して簡単に第三者証明のキャリア証明書を発行できるサービスです。実績や職歴を可視化することで、個人の可能性の最大化を目指します。


sakazukiは、企業や大学などの組織がVC発行者になり、その組織に所属する社員や学生などの組織メンバーにVCを発行することができます。

発行されたVCは、組織メンバー個人が所有するウォレットアドレスで生成されたDIDに紐づいているため、組織を抜けた後も、個人は半永久的にVCを所有することができます。

また、発行されたVCは、その真正性をオンライン上でいつでも、どこでも、そして誰もが検証できる設計になっています。

そのため、自作した職務経歴書よりも信用度の高い実績を活用して、転職活動やキャリアアップをおこなうことができるようになります!

didkit

sakazukiは、DID/VC周りの機能をdidkit ( https://www.spruceid.dev/didkit/didkit ) というオープンソースを使用して実装しております。
didkitは、Spruce Systems社によって開発されたオープンソースでDID/VCの発行・検証などを簡単におこなうことができます。

didkitの使用方法については Hid3さんの記事が参考になりますのでご参照ください!

最後に

本記事では、VCの概要説明とVCを活用した事例としてsakazukiのことを紹介させていただきました。
僕自身がユーザーとして考えた際に、エンジニアとしての実績をキャリア証明書に残せるのはかなりありがたいなと思いました。
転職や副業が当たり前の時代になってきており、採用活動で変な人に出会う確率も高くなると思います。
そのため、VCなどの証明可能な技術が普及されていくのかなと思いながら日々開発に着手しております。

もしDID/VCなどの技術に興味がある方がいましたら、是非一緒に開発してみませんか?

PitPaでは web3やメディア事業に興味のあるエンジニアの方とお話できればと考えてます。まだ発表できていないプロジェクトもあるので、ぜひお気軽に代表の石部にご連絡いただけたら幸いです。

▼石部のTwitterアカウントはこちらです。DMでお気軽にご連絡ください!
https://twitter.com/isbtty7

▼【ポッドキャスト公開中!〜PitPaの創業から現在まで〜】
代表の石部より、PitPa創業の話から現在取り組んでいるポッドキャスト事業・Web3事業の現在とこれからについてトークしました。ぜひこちらもご拝聴いただけますと幸いです。
https://open.spotify.com/show/2slv3BafA5c32038qFGYis

▼sakazukiにご興味がある方はこちらもご参照ください!
https://speakerdeck.com/pitpa_pr/vcwohuo-yong-sita-kiyariazheng-ming-shu-nofa-xing-sabisu-sakazuki-shao-jie-zi-liao

PitPa Tech Blog

Discussion