PAGE TOP

頓活

印刷する

ブロックチェーンを調べる《01》

さぼ郎
今回の記事では「台帳」データの管理に焦点を当てます。

ブロックチェーン」の別名(日本語)は「分散型台帳技術」とも呼ばれています。そこで、何冊かの本を読みましたし、udemyで2つのブロックチェーンの講座を受けてみました。

img01

そこからわかってきたことを書いてみます。

ブロックチェーンは、ビットコインを実現するための背景技術であること。ビットコインの主たる目的は、なんと言っても「通貨」であることと、その「通貨」の移動(送金や支払い)を公開(パブリック)して利用することになります。

それを支える技術として「改ざんができないこと」「不正ができないこと」が不可欠になります。

さらに、ブロックチェーンの重要な新規性は、胴元(つまり、管理者)がいないことです。

まず、ビットコインには、現行通貨(どこの国においても)に換金できる貨幣価値があること。これが重要なポイントになります。

というのは、胴元が不在だとして誰かが管理しない限り、換金性のある「通貨」としての流通は不可能であることは自明のことだからです。

答えを言えば「マイナー(採掘者)」という役割があって、マイナーはインセンティブ欲しさにブロックチェーンをせっせと作っているから世界中でビットコインが運用されています。

img02

こまかな技術に関する情報は興味があったら他を参照してみて下さい。
簡単な流れは、

ビットコインを動かす(送金や支払い)
トランザクションが作成される
トランザクションはノード(集合点)に送られる
ノードがマイナー(採掘者)であるらしい
そうではないノードもあるらしいけど煩雑になるので省略する
送られたトランザクションはプールに貯められる
プールから順次、トランザクションを取り出す
取り出すのにもルールが有るが省略する
トランザクションには公開鍵と秘密鍵がある
公開鍵と秘密鍵は、今のところよくわかっていない
ハッシュを使って検証に使っているとのこと
トランザクションの正当性を確認したらブロックに加える
10分と言っているけれどブロックを作るタイミングは不明
ブロックを作ったらヘッダを作る
ヘッダを作るのに「ナンス」という無駄な計算を大量にする
膨大な総当り的な計算をして条件に合致する値を見つける
ナンスが成立したらブロックを他のノードに送る

とこのような処理をするのがビットコインのブロックチェーンのようです。実際にはもっと細かなこともしていますし、暗号化処理もギチギチに行われています。

img03

マイナーのインセンティブと公開鍵・秘密鍵・ハッシュを含む暗号技術を駆使して自律的に動いているのがビットコインで、それを支えているのがブロックチェーンということになります。

それに「P2P」という技術も使われています。これは、ネットワークを使った自律的な通信手段で、ポイントAにデータが入ると、AからB、Cへと複写していきます。Bは、D、Eへ、CはF、Gへと伝播していくことで、全てのノードが同じデータを持つことになる仕組みです。

img04

このことはトランザクションだけでなく、ブロックデータも同じことで、ノードが100とか1000あれば、その全てのノードへ攻撃をすることは不可能になります。

さて、ビットコインのブロクチェーンでは、貨幣価値のあるデータを扱うこと、単位時間あたりのトランザクションが膨大な数があること、公開(不特定な参加者がアクセスしてくる)されていることなどという特殊な条件があるため、相当複雑なことを行っていますし、「ナンス」を競争して見つけるというナンセンスなこともしています。

これが非公開(つまりプライベート)であったなら、どうでしょうか?
文書管理も「台帳管理」なわけで、うまく運用すれば暗号化テキストのチェーンで解決できると考えています。

img05

それについては、次回に書きます。

キーワード