クリプト

ブロックチェーンのいろは#1

ばば's icon'
  • ばば
  • 2021/10/31 05:18
Content image

ブロックチェーンをちゃんと学ぼうと改めて思いましたので、その記録を残しておこうと筆を執ってみました。技術よりというよりか思想や社会実装に向けて学びたいので、そのつもりで、読んでください。

どう学ぶか?

ブロックチェーンの参考書と言えば…、ちょっと古いですが、DMMの加嵜さん、篠原さんが書いたこれがうちにあるので、この辺から歴史を含めて、おさらいしていこうと思います。

暗号通貨(仮想通貨)の価値を支えるブロックチェーン技術。 トランザクション、Proof of Work、データ構造。 Ethereum(イーサリアム)におけるスマートコントラクト。 独自トークンの発行、Solidityによるアプリケーション開発。 仕組みから実践までわかる、エンジニアのための解説書。と書いてあります^^。 

電子書籍だと改訂されたやつが読めるよと篠原さんに教わったのですが、既にリアル本購入済み😢だったので、ググりながら記事にはしていくつもりです。昔はこうだったが今ではこうだという流れが学べるので、あえて古い本(2018年初版)をベースにしてみました。

なので「この解釈は間違ってる」とか、「ここは今ではこうだ」とかありましたら、バシバシ突っ込んでいただけると学びになるので嬉しいです。よろしくお願いします。

ブロックチェーンを知る

改めて、ブロックチェーンについておさらいです。

ブロックチェーンとは、「管理者不在でも自立的に動作するビットコインの特性を可能にした技術の総称」です。通貨の取引履歴をブロックと呼ばれる単位でまとめ、そのブロックのハッシュ値を別のブロックに含めることで、ブロック連鎖(チェーン)を作るところが特徴です。

ビットコインの登場以来、ブロックチェーン技術をさまざまな分野に応用する研究が盛り上がり、一部には管理者が存在するシステムやブロックを使用しないシステムも存在しています。現在での利用方法は、別な機会に書きますので、ここでは、生い立ちの部分を深ぼっていきたいと思います。

ブロックチェーンの誕生

ざっと年表にしてみました。この年表順に説明していきます。

Content image

On Distributed Communications

1962年9月、ポール・バランが核攻撃に対して耐久性を持つネットワークの研究として、分散型コミュニケーションネットワークを考案しました。

Content image

上図で説明をしていて、(A)CENTRALIZED(=中央集権型)では、中央から端末(ノード)に向かって情報が拡散します。(B)DECENTRALIZED(=分権型)では、いくつかの小さなハブが小集団を形成して、中央から小集団に、小集団内も中央から端末へと情報が拡散します。これは日本における国と地方自治体の構造と同じです。そして、(C)DISTRIBUTED(=分散型)では、中央はなく、ノード同士が相互接続された構造をしています。脳の神経回路網が部分的な障害でも全体が機能不全に陥ることがないことを参考にしています。また、核攻撃に対する耐性を持つためには、各ノードが3,4の接続冗長性を備えていればよいことも確認しています。このネットワークでは伝送速度が異なる通信手段を相互接続する方法として、メッセージをメッセージ・ブロックに分割して、ホップ数(ブロックを経由したノード数)を共有しながら、メッセージを最短経路(最小ホップ数)ですぐに送信する方法を採用しています。これは、伝送ルートが利用可能かに関係なく、メッセージを受信するたびに近い相互接続地点でルーティングする方式で「ホット・ポテト・ルーティング」といい、光ネットワークで一般的に使用されています。

ちょっと本筋から外れてきたので、話を戻します。

マークル・ツリー

1979年、公開鍵暗号の研究者ラルフ・マークルが発明した二分木のことで、ツリー内のデータの整合性を検証するためにハッシュを利用しています。もともとはランポート署名を効率よく処理するために開発されたもので、一つのカギを複数のメッセージに対して利用できるので効率的なデジタル署名ができるようになりました。

Content image

上図はビットコインのツリーですが、各トランザクション(Tx0~Tx3)のハッシュ(Hash0+Hash1、Hash2+Hash3)をつなげたハッシュ(Hash01、Hash23)を利用して、最上位のRootHash(マークルルート)を作ります。この二分木構造の利点は、検証にあります。複数のデータを1つのブロックにまとめることができるのですが、そのデータが破損していないか?改ざんされていないか?を検証する際に、ルートのハッシュをチェックするだけでブロック内に変更が加わっていないことを証明できます。

タイムスタンプ

1991年、スチュアート・ヘイパーとスコット・ストルネッタによってタイムスタンプに関する論文が発表されています。文章や音楽、写真、動画などのデジタル化が進んだときに、データの作成・変更を証明する必要があるということで研究が行われていました。タイムスタンプとは、「ある時刻において、その電子データが存在していたことと、それ以降改ざんされていないことを証明する技術」です。二人が考案したタイムスタンプは、TIMESECによってマークルツリーを使って情報を効率よく格納したブロックの順番を知る方法として利用されて、ビットコインの基礎技術となっていきます。

タイムスタンプを誰が発行するか?チェックはどうするか?といった信頼の一つの解として、ヘイパーとストルネッタは、信頼性の問題を解決するために、リンキングと分散型トラストという方法を考案します。以下に解説があります。

ヘイパーとストルネッタは、信頼性の問題を解決するために、リンキングと分散型トラストという方法を考案します。

リンキングは以下のように一つ前のタイムスタンプを含めることで順番を示す方法をいいます。

Content image

ブロックチェーンぽくなってきました。そして、分散型トラストで、無作為に選んだノードがタイムスタンプを発行する際にデジタル署名を行うことで、無関係なもの同士を信頼しなくてもいい仕組みを考案しました。

さらに、TIMESECというベルギーのタイムスタンプ研究プロジェクトでは、もう一歩進んで、一定期間の間に送られてきたリクエストをまとめて処理する(一定期間後の処理をラウンドと呼ぶ、ラウンド方式)ために、マークルツリーによるブロック化を利用しています。

Content image

ラウンド・ルート・バリューからさらにハッシュを算出してラウンド・バリューを作るのですが、このとき、自身のラウンド・ルート・バリューと一つ前のラウンド・バリューで、自身のラウンド・バリューを生成します(リンキング)。ほぼ、ブロックチェーンの形になってきました。 
注意点としては2つ。このランド方式で保障されるのは、ラウンド同士の順番ですが、ラウンド内のデータの順番は分からないということと、TIMESECは分散型トラストは採用していなかったので、タイムスタンプを発行するのは、信頼できる第3者機関であることです。しかし、信頼できる第3者機関自体が不正をしていないことを検証する仕組みを取り入れました。それは、ラウンド・バリューを新聞などのメディアに掲載することで、他のタイムスタンプに対する信頼の根拠としたことです。新聞は広く大勢に配られるので改ざんが困難であるということだそうです。

だんだん、難しくなってきます。 次回はお待ちかね?PoWについてです。 こうご期待👍

Supporter profile iconSupporter profile iconSupporter profile iconSupporter profile icon
Article tip 4人がサポートしています
獲得ALIS: Article like 107.38 ALIS Article tip 27.22 ALIS
ばば's icon'
  • ばば
  • @baba
好きな言葉は縁の下の力持ち!合言葉はひとまずやってみよう!カスタマーサクセスのプロを目指しつつ、システムエンジニアとして鉄道・CVSなどのシステム開発を通して、長くご愛顧いただける関係と価値を届けます

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

CoinList(コインリスト)の登録方法

Like token Tip token
15.55 ALIS
Eye catch
クリプト

【第8回】あの仮想通貨はいま「テレグラム-TON/Gram」

Like token Tip token
69.90 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
121.79 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
クリプト

クリプトスペルズで入手したMCHCを引き出す方法

Like token Tip token
196.20 ALIS
Eye catch
クリプト

Eth2.0のステークによるDeFiへの影響を考える。

Like token Tip token
44.10 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS
Eye catch
クリプト

【DeFi】複利でトークンを運用してくれるサイト

Like token Tip token
54.01 ALIS
Eye catch
クリプト

【初心者向け】$MCHCの基本情報と獲得方法

Like token Tip token
32.32 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
クリプト

Uniswap(ユニスワップ)で$ALISのイールドファーミング(流動性提供)してみた

Like token Tip token
59.99 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS