前回に引き続き、一般の人々には理解しづらい「暗号資産(または暗号通貨)」について、
日本の義務教育でしっかり教えていないブロックチェーンの解説です。
やや専門用語に近い本日のキーワード
- 匿名性( anonymity )
- 透明性( transparency )
ブロックチェーン技術は、P2Pという通信環境で共有されているデータベースにおいて、全ての取引の「匿名性」と「透明性」を同時にサポートしながら、銀行のような仲介組織を通さずに、取引を成立させる仕組みです。
大事な定義なので繰り返します。ブロックチェーン技術は
- P2Pという通信環境で
- 共有されているデータベースにおいて
- 全ての取引の
- 匿名性をサポートしながら
- 透明性をサポートしながら
- 銀行のような仲介組織を利用せずに
- 取引を成立させる
ものです。
P2Pというのは、コンピュータ端末を利用するユーザーが選択する通信方法のひとつで、このことについては、別の機会に説明する予定です。
「取引を成立させる」と言うのは、「日時と金額と関係者を特定・登録してデータベースが存続する限り保存し続ける」ということを意味します。
電子的なものですから、世の中から電気的なインフラが消えて無くなってしまえばブロックチェーンも消滅します。
限定的・地域的なトラブルは除外されます。世界中に存在するブロックチェーンと通信できているコンピューターが使えなくなることがブロックチェーン消滅の条件です。
なぜなら、たとえ一つでもデータベースを保存しているコンピューターが残っていれば、ブロックチェーンに登録された暗号資産の存続(たとえばビットコインの全ての取引情報)は復旧可能なのです。
そういうものですから、ビットコインも2009年の最初の取引の登録から、本日この瞬間まで、一度も消失するような問題を起こさず機能しつづけています。
ブロックチェーンの匿名性
ブロックチェーンの運用ルールに従って、ビットコインなどの暗号資産の取引を行っているユーザー、個人、団体について、その個人情報が正解のブロックチェーン利用者に明らかになってしまうことはありません。
ただし例外があります
- 取引所や両替所などの組織やシステムを利用している人や組織
- P2P環境を自分で利用していない人や組織
- 取引に使った秘密鍵が公開されている人や組織
- 秘密鍵と公開鍵の運用ルールを理解していない人や組織
の秘匿性は保証されません。
この時点で脱力感を感じる読者は多いでしょう。前述の4つの条件をクリアするとなると、一般市民はブロックチェーンの秘匿性を利用できないということを意味します。
前回も紹介した、野村名誉教授は、記者クラブでの会見で、「自分の秘密鍵を第三者に渡すなどということは、自分の銀行口座の通帳と印鑑を無条件で第三者に渡すことと同じ。」
と説明しています。
ブロックチェーンの世界に登録されるユーザーは、全て「暗号管理」されています。名前や住所が登録されることはありません。
取引額も、日付も、相手の特定も全ては暗号化されて登録される仕組みになっています。そしてそういった暗号化作業の源泉になるのが、個人の「秘密鍵」と呼ばれる暗号なのです。
秘密鍵=個人を特定する16進数の暗号
秘密鍵は、いつでもネット環境で無料で手に入れることができます。
このURLから bitaddress.org と言うサイトに入って、マウスをぐるぐる動かすと “single wallet “ と言う項目が有効になります。そこを選んでください。
今、試しに筆者が生成した秘密鍵を紹介します。
こういった専門のサイトさえご存じであれば、数分で秘密鍵が手に入ります。それだけに、秘密鍵の情報管理は、よほどしっかりしないと、あっという間に人の手に渡ってしまいます。
秘密鍵は無限のパスワード
前回の解説記事で、64文字の16進数は、名古屋大学が数えた宇宙の星の数をはるかに超える組み合わせが可能であることを説明しました。(Note)
秘密鍵は 256 ビット(16進数で64文字)の長さを持ち、非常に大きな数の組み合わせが存在します。このため、他のユーザーの秘密鍵と重複する可能性は非常に低くなります。
この膨大な組み合わせ数を考えると、実際に同じ秘密鍵が生成される可能性は、現実的には無視できるほど低いと言えます。
今、試しに作成した秘密鍵も、同様に永遠に近い組み合わせが可能なので、他の人の秘密鍵と重複することはありません。
Note:ビットコインの場合ですが、前述の Transaction ID であるTXと、個人の秘密鍵とは、同じ長さの16進数で登録されるルールになっているわけです。このことの利便性は後日説明します。
ブロックチェーンの透明性
暗号資産のデータの匿名性は、秘密鍵の運用で保証されることを説明しました。
では、透明性( transparency )はどのようにサポートされているのでしょうか?
答えは「公開鍵」です。
先に作成した秘密鍵のデータを見ると、緑の表示で「公開鍵」が示されています。
実は、秘密鍵(Private Key)と公開鍵(Public Key)は、必ずペアで作成されるルールになっているのです。
では、この公開鍵にはどんな役割があるのでしょうか?
公開鍵は「詳細不明の当事者」の特定要素
公開鍵という名前の通り、こちらの鍵は、一般公開されます。この鍵を公開しないことには、ブロックチェーン上での取引は実現しません。
ただし、秘密鍵の方が公表されない限り、このこの公開鍵の持ち主は特定できません。
特定できるのは、「ある人」「ある当事者」あるいは「あるユーザー」とう不特定の人物やユーザーなのです。
全ての取引情報には、公開鍵が埋め込まれます。もちろん埋め込む瞬間には、秘密鍵が一時的に使用されます。ブロックチェーンの操作を他の人に委ねるべきでない理由がここにあるのです。
公開鍵が使われていない取引はブロックチェーンの通信環境では受け入れられません。
ブロックチェーンに登録された取引データ(関係者、日時、金額)には100%公開鍵が特定されています。
そしてこの公開鍵は、ブロックチェーンでは「アドレス(住所)」として扱われます。
つまり、銀行口座と同じIDなのです。
銀行取引の世界でも、もし銀行口座の番号と個人情報が切り離されてバラバラに管理されていれば、口座の中の金額の持ち主は特定できません。
それと同じことです。
自由に公表しても安全な「公開鍵」
筆者がビットコインを学んだチュートリアル・サイトは、英国のウェブ・クリエーターのGreg Walkerさん( “learn me bitcoin” )は、自分の公開鍵を自分のチュートリアルサイトに公開していて、「寄付」募っています。
これです。
公開鍵の長さが64文字ではないので不信に思われたと思います。この綴りは、64文字の16進数を短縮する特殊な計算を使って短縮したものです。この形式で公開鍵を流通するのが一般的なだけで、特に難しいものではありません。(後日説明しますが、これを「ハッシュ値」と呼びます)
もちろん、Greg Walker さん以外にも、自分の公開鍵のハッシュ値、つまりアドレス、を公開している人物は組織は世界中に数えきれないぐらい存在します。
特に、寄付や、クラウドファンディングのような投資目的で、ビットコインの送金を求める場合、このアドレス(公開鍵のハッシュ)を世間に公表するのはとても安全で、利便性の高い方法なんです。
アドレスに送金された暗号資産(今回の場合はビットコイン)は、秘密鍵を持っていないと絶対に引っ張り出せません。
ただし、このアドレス(公開鍵のハッシュ値)の取引履歴は、ウェブ上で検索すれば、いつでも誰でも参照可能です。参照するためには、ビットコインについての一定の知識が必要ですが、調べ方を覚えれば、とても簡単に特定のアドレスに登録してあるビットコインの額をチェックできるのです。
銀行口座に例えて言えば、ある口座番号を、ネット上のX銀行のウェブサイトに打ち込めさえすれば、預金残高も、入金履歴も全部見えるようになっているのです。
最後に少しややこしい話をしますが、この公開鍵は、常に生データとして公開されているのではなく、実際にはハッシュ関数という数学的な計算をした「ハッシュ値」という形式で公開されています。これは公開鍵の生データを保護する意味で必要なのです。
以上は暗号資産の匿名性と透明性に関する基本情報です。
次回は、この仕組みをもとに、過去に起きたシルクロード事件と呼ばれる犯罪と犯人逮捕の話、そして、恵まれない国へのビットコインの寄付が、必ず特定の受益者に届く仕組みを紹介します。
具体例がないと今ひとつわかりにくいですから
最後まで参照いただき、ありがとうございます。
前回の講座1はこちら。
コメント