システムが止まらない分散台帳技術
分散台帳システムでは、「実質ゼロ・ダウンタイム」「低コスト」「高度な信頼がいらない」のが特徴的です。
中央集権型システムと分散台帳システムの違い
従来の中央集権型システムの場合、すべての取引を1台または数台の中央サーバーで処理するので、多量の取引を安定して扱えるようにするには多額のコストがかかりました。さらに、ハッキングの恐れもあるため、強固なセキュリティ対策も欠かせません。
一方、ビットコインでは分散台帳システムが使われ、複数のコンピュータ(ノード)が同じ取引を処理します。中央集権型の場合、サーバー(バックアップ用の予備サーバーも含む)がダウンするとサービス運用に致命的なダメージを与えることがありますが、分散台帳システムでは一部のコンピュータがダウンしてもシステムに影響はありません。
参加している多数のコンピュータがすべて同時にダウンしない限り、ネットワークシステムが止まることはないからです。実質ゼロ・ダウンタイム。ビットコインのブロックチェーンはどのノードも同じ仕事を行い、データは全コンピュータに共有されます。
すべての仕事は複数のコンピュータで行うため、中央集権型と比較すると構築と運用にかかるコストを低コストにすることが可能との意見もあります。また、ほかのコンピュータにも同じデータが保存されているため、バックアップも不要です。
中央集権型システムでは中央サーバーが全取引を処理しているため、信用のもとはそのサーバー(または運営会社)でした。一方、分散台帳システムでは、複数のコンピュータによってシステムが維持されており、各コンピュータは分散かつ匿名化されているため、特定のコンピュータ(またはユーザー)を信頼する必要がありません。
暗号技術を組み込んだシステム設計、デジタル署名の仕組み
ビットコインはデジタル署名された電子的コインです。そして、デジタル署名はビットコインの取引において中核的な役割を果たしています。そもそもデジタル署名とは、データ上で本人確認ができる公開鍵暗号を利用した仕組みです。
ビットコインの送金処理はこのデジタル署名を使って行われており、この署名により、ビットコインの送金が秘密鍵の持ち主本人によってされたものであり、偽造や改ざんがされていないことを証明することができます。
デジタル署名の流れは3つです。まず、ビットコインの送金には、送金者の秘密鍵と、送金先のビットコインアドレスが必要です。送金者は、楕円曲線暗号という暗号を用いて、秘密鍵から公開鍵を作成します。あらかじめ公開鍵を作成しておくケースもあります。
次に、「誰が誰に何BTCを送金した」という取引データを、秘密鍵を使って変換した「署名データ」を作ります。最後に、変換した情報と公開鍵をビットコインネットワーク上のコンピュータ(マイナー)に公開します。
署名データは、公開鍵を使って検証することができます。マイナーが検証を完了することで、その送金は不正のない有効な取引であるということが証明できます。身分証明書や実印を盗まれると悪用される可能性があるように、万が一秘密鍵が盗まれてしまった場合、本人として勝手に送金することができてしまいます。
そのため、ビットコインを取り扱う上では、このデジタル署名の性質上、秘密鍵は厳重に管理する必要があります。
ビットコインは「公開鍵暗号方式」を採用
前述したように、ビットコインは「デジタル署名」により送金処理が行われ、デジタル署名は暗号技術を用いて処理を行います。代表的な暗号技術の1つに、「共通鍵暗号方式」という方法があります。
これは、「共通鍵」という1つのカギを用いて、2者の間で共有する方法です。具体的には1つのカギ(共有鍵)である情報にカギをかけます。そして、情報を相手に送り、受け取った相手がそのカギ(共有鍵)でその情報のカギを解錠する(復号)という方法です。
しかし、この方法の場合、「共通鍵」が第三者に盗まれてしまうと、この第三者がカギをかけた情報を見ることができてしまい、大変危険です。そこで考えられたのが、「公開鍵暗号方式」という方法です。
これは、「公開鍵」と「秘密鍵」という2つのカギを使用して情報のやり取りを行います。そしてこの2つのカギは1対1で対応しており、対のペアになっているカギでのみ、カギを開けることができます。
まず、「公開鍵」で情報にカギをかけ、相手に情報を送ります。そのあと、受取人は「公開鍵」と対になっている「秘密鍵」を使ってカギを解錠(復号)します。「公開鍵」はその名の通り、公開されていますが、「秘密鍵」は非公開であり、本人(この場合受信者)しか知ることができません。
この公開鍵暗号方式は、メールの送受信など実際に幅広く使われています。ビットコインなどの多くの仮想通貨もこの公開鍵暗号方式を採用しています。さらに、ビットコインの場合、この公開鍵はビットコインのネットワークに公開されます。