ハッシュサイズを増やすと
安全性が増すが処理が重くなる
このあたりまでが仕組みの説明だが、もう少しだけ細かい話をしておきたい。ハッシュ関数にどんなものを使うかは自由だが、たとえばビットコインの場合は、結果が32bitの値になるものが使われている。
32bitということは、およそ43億通りということで一見無尽蔵に使えそうに見えるが、地球上の人口は74億人ほど(2016年)なので、仮にデータにそれぞれの名前を格納すると明らか43臆を超えるわけで、つまり異なるデータであっても同じハッシュの値になるケースが出てくる。
これはハッシュの衝突と呼ぶが、衝突が多くなるとハッシュ関数の信頼性が揺らぐことになる。ただ衝突を起きにくくするためには、だいたいにおいてハッシュのサイズを大きくすること(32bitではなく64/128bitにするなど)が必要になるが、こうした大きなサイズのハッシュの計算にはけっこうな処理能力が必要になり、処理が重くなるという欠点もある。
またデータとハッシュの両方をネットワーク経由で分散保持するので、ハッシュのサイズが大きくなるとネットワークの負荷も増えることになる。このあたりを勘案して、必要なハッシュのサイズを決めることになる。
同じタイミングで新規ブロックを
追加した場合は1つに統合する
また先の例ではレシートにたとえたので、新しいブロックはレジで新しい買い物が発生した際に生成されることになるが、これでは買い物が発生しないと、ずっとブロックに変更がないことになる。そこで、ビットコインでは一定時間ごとに新規ブロックを追加するようにしている。
先の例では0円の買い物レシートが追加されることになるが、幸いに買い物は0円でもレシートに記された日時は変化するため、ハッシュの値は当然変化する。こうして常にブロックを長くすることで、改竄をさらに困難にするわけだ。
またネットワーク越しにすべてのユーザーがブロックを変更できるということは、たまたま同じタイミングで異なるユーザーが新規ブロックを追加することがありえる。たとえば12時にイッペイ氏がCPUをA店で、12時1分にハッチ氏がGPUをB店で、同じく12時1分にショータ氏がC店でメモリーを買ったとする。この場合の流れをまとめたのが下図である。
A店でまずイッペイブロックができたあと、B店とC店でそれぞれ同時に、イッペイブロックの後ろにハッチブロックとショータブロックを持つ2つの分岐(ブランチ)ができることになる。
B店とC店はそれぞれお金を受け取ってこのブランチを作ったあとで、P2Pでその結果を他のノード(ハッチブランチなら店舗AとC、ショータブランチなら店舗AとB)に送り出す。この時点で初めて、ノードの分岐が発生したことがわかるわけだ。
この分岐が発生したらどうするかというと、ハッシュ値に基づく多数決方式でどちらの分岐が「正当」なのかを決める。ここで「正当」というのは、正しい取引をしたかとか、お釣りをちょろまかしたから不正だという話ではなく、単にどちらの流れをすべてのノードで共有するかを決めるだけの話である。
仮に多数決でショータブロックが正当と決まった場合、ハッチブロックは孤児ブロックという扱いになる。店舗で言えば「あれ? カード決済がうまく通らなかったので、もう一度やりますね」といったあたりだ。
この場合、ハッチ氏の決済が一度やり直され、ショータブロックの後にハッチブロックがつながることになる。店舗Bでは引き続き孤児ブロックと化したもともとのハッチ氏のブロックを保持することはできるが、それはもはや他の店舗には通知されない。
説明が長くなったが、ブロックをつなげる(チェイニングする)ということで、ブロックチェーンという名前になっているわけだ。

この連載の記事
-
第852回
PC
Google最新TPU「Ironwood」は前世代比4.7倍の性能向上かつ160Wの低消費電力で圧倒的省エネを実現 -
第851回
PC
Instinct MI400/MI500登場でAI/HPC向けGPUはどう変わる? CoWoS-L採用の詳細も判明 AMD GPUロードマップ -
第850回
デジタル
Zen 6+Zen 6c、そしてZen 7へ! EPYCは256コアへ向かう AMD CPUロードマップ -
第849回
PC
d-MatrixのAIプロセッサーCorsairはNVIDIA GB200に匹敵する性能を600Wの消費電力で実現 -
第848回
PC
消えたTofinoの残響 Intel IPU E2200がつなぐイーサネットの未来 -
第847回
PC
国産プロセッサーのPEZY-SC4sが消費電力わずか212Wで高効率99.2%を記録! 次世代省電力チップの決定版に王手 -
第846回
PC
Eコア288基の次世代Xeon「Clearwater Forest」に見る効率設計の極意 インテル CPUロードマップ -
第845回
PC
最大256MB共有キャッシュ対応で大規模処理も快適! Cuzcoが実現する高性能・拡張自在なRISC-Vプロセッサーの秘密 -
第844回
PC
耐量子暗号対応でセキュリティ強化! IBMのPower11が叶えた高信頼性と高速AI推論 -
第843回
PC
NVIDIAとインテルの協業発表によりGB10のCPUをx86に置き換えた新世代AIチップが登場する? -
第842回
PC
双方向8Tbps伝送の次世代光インターコネクト! AyarLabsのTeraPHYがもたらす革新的光通信の詳細 - この連載の一覧へ











