ビットコインでは「共通鍵」という1つのカギを用いて「公開鍵暗号方式」が採用されている

スポンサーリンク

ビットコインの台帳は全員が使えて、全員がチェックできる

全取引を数台の中央サーバーまたは1台のみで管理、処理する中央集権型システムでは、安定して多くの取引を処理するにはコストがかさみます。また、ハッキングなどの問題もあり、セキュリティも強固にする必要もあります。

かたや、分散台帳システムが使われているビットコインでは、複数台のノード(コンピューター)が同じ取引を処理します。

そして、分散台帳システム技術は、システムが止まりません。

中央集権型システムでは、サーバーや予備サーバがシステムダウンしますと、運営に決定的なダメージを受けることがあります。

ビットコインの分散台帳システムは、コンピュータが一部ダウンしても、取引においてなんら影響はありません。

参加している多くのコンピュータが、全部同時にシステムダウンしないかぎり、ネットワークのシステムが止まることもありません。

今までシステムダウンはゼロです。

ビットコインのブロックチェーンは、どのコンピューターも同じ作業を行い、それらのコンピュータがデータを共有します。

全作業は複数のコンピュータで実行されますので、分散台帳システムは、中央集権型システムと比較すると、運用にかかるコストと構築は、低コストで行うことができます。バックアップも他のコンピュータに、同じデータが格納されていますので不要となります。

中央集権型システムの信用は、全取引を行っている会社および中央サーバーでしたが、分散台帳システムの場合、多くのコンピュータがシステムの維持をしており、さらに、それらのコンピュータは分散され匿名化されていますので、特定ユーザーを信頼する必要がないのです。

分散台帳システムは変更できる?

ビットコインの取引におき、デジタル署名は中核的な役割を担っています。

デジタル署名は、間違いなくコイン保有者の送金、であることを証明するものです。データ上で本人確認を可能にする公開鍵暗号を、利用したしくみがデジタル署名です。

デジタル署名は、ビットコインを受取ったり送ったりするのに使われています。秘密鍵の持ち主本人が、改ざんや偽装が行われていないビットコインを、送受信したことを証明します。

3つの流れのデジタル署名についてあげておきます。

1つ目は、

送金先のビットコインアドレスと、送金者の秘密鍵が、ビットコインの送金には必要です。楕円曲線暗号という暗号を使用して、送金者は秘密鍵から公開鍵を作るか、あらかじめ公開鍵を作っておきます。

2つ目は、

どのくらいのビットコインを誰が誰に送金したといった、取引のデータを、秘密鍵を使用してやりとりした署名デーを作成ます。

3つ目は、

ビットコインネットワーク上のマイナー(コンピューター)に、変換した公開鍵と情報を公開します。署名データの証明は公開鍵を使用します。マイナーが検証を終えて、不正行為のない正当な取引の送金であったことを証明します。

たとえば、秘密鍵が流出してしまった場合、実印や身分証明書などが悪用されるのと同じように、盗んだ人に使用されてしまうこともあります。

ビットコインを取り扱う上では、このような場合を想定し、デジタル署名としての秘密鍵は、厳重に管理しなければなりません。

ビットコインは公開鍵暗号方式が採用されています

本人だけが使えるカギとを使用して取引をします。

暗号技術を用いたデジタル署名技術で、ビットコインの処理は行われています。

共通鍵暗号方式といった、暗号技術があります。これは2者の間で、1つの共通鍵を使用して、共有する技術です。

共有鍵の情報にカギをかけます。相手に情報を送って、受信した相手がその共有鍵で、中身の情報のカギを解錠する方法です。これを復号といいます。

問題は、第三者に共通鍵が盗まれますと、盗んだ人がカギをかけた情報を確認することができてうことです。

そこで公開鍵暗号方式が考案されました。

これは2つの秘密鍵公開鍵を使って情報のやりとりを行います。このカギが対応しているのは1対1です。したがって、ペアのカギのみで、情報カギを解錠することができます。

具体的には、情報に公開鍵でカギをかけて、相手に送ります。受取った人は、公開鍵に対応している秘密鍵で復号(解錠)します。

当然ながら、その名の通り公開鍵は公開されていますが、非公開である秘密鍵は送金した人しか知りません。

公開鍵暗号方式は、実際に銀行のネットバンキングや、メールの送受信などに使用されています。

この公開鍵暗号方式は、多くの仮想通貨にも採用されています。

取引データは特殊な処理が施され、書き換えができないようになっています

ビットコインはブロック1つに、約10分間分の取引データが含まれています。ブロックチェーン技術を利用されているビットコインでは、ブロックという固まりに取引データを含めています。

ナンスを間違えますと、ハッシュ値も変化してしまいます。

ん? これはどういう意味でしょう?

ブロックチェーンはチェーン状に、過去から現在までブロックでつながっています。この中には、取引データ以外に、1個前のブロック情報が入った、ナンスとハッシュ値といものが組み込まれています。

ナンス(Number used once – Nonce)とは、1回のみ使われる数字のことです。次の新しいブロックを作るためだけに使われる値です。これは使い捨てです。

ッシュ値とは、特殊な計算式により求められた値です。データから暗号学的ハッシュ関数と呼ばれます。

元データから同じハッシュ値が得られます。データが違っていますと、別の異なるハッシュ値となります。ハッシュ値には規則性がありません。

新しいブロックが生成する権利は、ハッシュ値がある条件となったときに与えられます。

それは、ナンスの3つやタイムスタンプ、新しいブロック内にある取引データ、バージョン情報、前のブロックが作ったハッシュ値などを、暗号学的ハッシュ関数に放り込んで、2進数を計算します。

ナンス値をひたすら変化させながら、単純に総当たりをして、計算し続けるという方法で求めることができます。