見出し画像

契約書や証明書はブロックチェーンだけで実現できる?(コラム)

ブロックチェーン技術を活用した事例として、証明書や契約書をブロックチェーン上で保存・管理するという事例があります。ブロックチェーン技術を活用するメリットとして、「誰が」「どの証明書・契約書を」「いつ」「どこに」書き込んだのかを明確にして共有し、改ざんできないような形で保存・管理できる点が挙げられます。ただし、「ブロックチェーンだけで実現できる」という表現には注意が必要です。


ブロックチェーンだけでは実現できない

現代の私たちは、コンピューターを使って証明書を作るための基礎的な技術として、デジタル署名を活用しています。ブロックチェーンに記録される証明書も、NFTで実現するにせよ、あるいは証明書の暗号学的ダイジェストだけをブロックチェーンに書き込む形にするにせよ、その中核ではデジタル署名を用いる必要があります

このことから、デジタル署名の確認に必要となる公開鍵の真正性を保証する必要があります。それ以前に、証明書を発行する人が正しい内容を証明書として発行しているという信用(トラスト)に基づいてしか、ブロックチェーンを用いた証明書は作れません

ブロックチェーンに格納する証明書にデジタル署名(電子署名)が付くことで、発行者による証明書だということが証明できます。ただし、署名の検証に使われるのが発行者の本物の公開鍵であるという証明(認証局に対する信用)と、証明されている事項の正しさ(発行者への信用)が不可欠です


余談になりますが、例えばBitcoin(ビットコイン)ブロックチェーンにおいて、ネイティブトークンであるビットコインはブロックチェーンだけで成立しているように見えます。これは、ユーザーのアドレスを公開鍵の暗号学的ダイジェストとすることで、公開鍵が本当にユーザーのものであるかという問題を、アドレスが本当に本人のものかという問題に置き換えて、取引するユーザーにその確認の責任を委ねているからです。加えて、トークンが何の負債でもなく純然たるアセットとしてブロックチェーンの中に閉じて存在しているために、データが外界との関係を持たないからとも考えられます。

デジタル署名で証明書と発行者をつなぐ

証明書は、誰か(証明書の発行者)が何か(証明書の内容)を真実だと表明する文書です。デジタルな証明書では、本当にその誰かがその内容を証明しているかを確認できるようにするために、その誰かによるデジタル署名をその内容に対して施します。これにより、発行者が発行した証明書だということが、発行者本人でも基本的には否定できなくなります。

契約書も同様です。契約する当事者が同じ文書にそれぞれデジタル署名をすれば、意思表示が合致していることを基本的には否定できないため、法的な扱いは各社会において異なるとしても、原理的には契約が成立することになります。

■デジタル署名の抜け道

ただし、それだけでは抜け道があります。デジタル署名には秘密鍵を用いますが、秘密鍵が漏洩すると、その秘密鍵を使って誰でも偽の証明書や偽の契約書を作ることができます。デジタル署名には時間の概念がないため、ある証明書や契約書があった際に、それが秘密鍵の漏洩前に作られたのか、それとも漏洩後に作られたのかは判断がつきません。ここに、証明書や契約書を否定できる余地が生じてしまいます。

つまり、例えばどうしても契約の事実を否定したい場合、デジタル署名に使った秘密鍵を自分で漏洩させてしまえば否定できてしまうということになります。

ブロックチェーンにデジタル署名を施した証明書を書き込むと?

では、デジタル署名が施された証明書や契約書などの文書(またはその暗号学的ダイジェスト)をブロックチェーンに書き込んでおいたらどうでしょうか。

ブロックチェーンには時間の概念があります。秘密鍵が漏洩したとしても、漏洩前に作られた文書なのかどうかが区別でき、本物の証明書・契約書を引き続き有効なものとして扱えます。漏洩後に作られた文書については、偽造されたものだとして本人の責任は問われないかもしれませんが、それでも、知らないうちに漏洩していた、あるいは漏洩を報告しなかったなどの場合、やはり責任は免れないかもしれません。

■デジタル署名を検証する公開鍵のための公開鍵証明書

デジタル署名を施したブロックチェーンによって、初めて安心して証明書や契約書が使えるわけですが、それだけでは足らない部分があります。それは、公開鍵の真正性の確認です。

デジタル署名は公開鍵を用いて検証します。検証に成功すれば、その公開鍵とペアになる秘密鍵によって署名が行われたことが分かります。その秘密鍵が証明書の発行者や契約の当事者が秘密に隠し持っているものであるからこそ、本人によるデジタル署名であると言えるのです。

しかし、その公開鍵-秘密鍵のペア自体が偽物という可能性もあるでしょう。秘密鍵は当事者が秘密にしているもののため、公開鍵が本当に本人のものであることを証明する必要があります。

そこで公開鍵証明書が必要となります。これは、本人性と公開鍵を確認する役目を担う第三者(認証局)が発行する証明書であり、公開鍵証明書にはデジタル署名が施されています。

現在は特に行われていませんが、公開鍵証明書もブロックチェーンに記録することで、安全性を高められる可能性があります。しかし、認証局が信用に足る組織であることを確認できる社会的な仕組みがなければ、証明書や契約書が本物であるという保証は成り立ちません。

余談になりますが、認証局の公開鍵についても公開鍵証明書が必要だとすると、認証局の公開鍵に対する公開鍵証明書を発行する認証局が必要となり、さらにその認証局の公開鍵に対する公開鍵証明書を発行する認証局……などと、認証局がいくつあっても足らなくなります。この問題に対して、現実にウェブサーバー等の公開鍵証明書に用いられている方法では、「ルート認証局」と呼ばれる組織が自分自身の公開鍵に対する公開鍵証明書を発行していいという取り決めになっています。

証明書発行者への信用問題

加えて、証明書の発行者や契約の当事者が正しい内容の文書に署名しているという前提も、発行者や当事者への信用に基づいていると言えます。

例えば、土地の所有権に関わる証明書を考えてみましょう。日本国内における土地の所有権に関わる証明書は、法務局による登記事項証明書に当たります。信用に足る法務局のような主体が、実際の土地に照らして矛盾のないように登記のデータベースを管理しているからこそ、こうした証明書には意味があります。

登記のデータベースをブロックチェーンで置き換えるにしても、実際の土地に照らして矛盾がないかブロックチェーンが確認することはできません。登記と土地の確認を人間だけでなくロボットが担うことにしてもいいものの、そこには信用が必要となります。

このように、契約書や証明書の保管・管理にブロックチェーン技術を活用するとして、全てがトラストレスに運用できるのではなく、何らかのトラストが発生していることは理解しておく必要があると言えそうです。

The author generated this text in part with GPT-4, OpenAI's large-scale language-generation model. Upon generating draft language, the author reviewed, edited, and revised the language to their own liking and takes ultimate responsibility for the content of this publication.


Web3ポケットキャンパスはスマホアプリでも学習ができます。
アプリではnote版にはない「クイズ」と「学習履歴」の機能もあり、
よりWeb3学習を楽しく続けられます。

ぜひご利用ください

▼スマホアプリインストールはこちら


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