Floc Basics Vol.2:ブロックチェーンの基礎技術

DLT(Distributed Ledger Technology)

ブロックチェーンは、DLT(Distributed Ledger Technology:分散型台帳技術)の1つである。

ブロックチェーンとDLT(分散型台帳技術)とは? | 日本クリプトコイン協会

▼この記事の黙読に必要な時間は約2分37秒です。 新聞を読んでいると「ブロックチェーン(分散台帳技術)」という記載内容をよく目にします。ブロックチェーンという言葉は、仮想通貨(暗号資産)に興味がない方であっても、時々、目にするキーワードではないでしょうか。 よって、興味がない方がこの様な記載を見ると 「ブロックチェーンの日本語訳は、分散台帳技術っていうんだ」 と思われるのは当然です。 …

ここでは、親子関係で記載されている。

パブリックブロックチェーン

・「管理者がいない=誰にもコントロールできない」
・情報が公開されてしまう
というデメリットがあるため、ビジネスにはあまり向いていない。

Bitcoin/Etherum/Litecoin/NEM/Orb1/Mijinなどはブロックチェーン。

DLT

・透明性の高い取引
・データ改竄検出がしやすい
・高価なサーバがなくてもダウンしにくいシステムが作れる
というメリットがある。

Fabric/Corda/Iroha/Interledger/Orb2/miyabi/IOTAなどはDLT

Bitcoinとは

Floc Basics Vol.1:ブロックチェーンの世界

に記載の通り、2009/1/3にGenesis Blockが作成され、Bitcoinが産声を上げている。

Bitcoinの特徴

・インターネット環境さえあれば、24時間365日利用可能
・中央管理者がいないので、インターネットと同様に規制が不可能
・極めて安い手数料で送金できる
・通貨発行者がいないため通貨の改悪(シニョレッジの乱用)が起こらない
・取引履歴が公開されていて誰でも閲覧可能
・発行枚数が2100万BTCに設定されている

※シニョリッジとは

シニョリッジ

シニョリッジ( 英: seigniorage, seignorage)、または 通貨発行益(つうかはっこうえき)とは、 貨幣 発行益、貨幣発行特権のことをいう経済用語。「セイニアーリッジ」「シニョレッジ」といった表記もされる。 シニョリッジとは、政府・ 中央銀行が発行する 通貨・ 紙幣 から、その製造コストを控除した分の発行利益のことである。 「シニョール」(seignior) とは古 …

Bitcoinの3つの中核技術

Bitcoinは以下の3つを中核技術としている。

・電子署名
・P2P
・Proof Of Work

電子署名

電子署名の仕組み – 電子文書ソリューション(文書署名用電子証明書) | GMOグローバルサイン

電子署名は、データが正しいものであると証明する「公開鍵」と、送信者がデータをする「秘密鍵」を利用した公開鍵暗号基盤(PKI)というものが使われています。 秘密鍵と公開鍵はペアになっており、秘密鍵は受信側だけが保持している鍵なので、そのペアとなっている公開鍵でしか復号化はできません。 …

電子署名は上記にある通り、「PKI(公開鍵暗号基盤)」を利用している。

PKIとは?|GMOグローバルサイン【公式】

PKI(公開鍵暗号基盤)とは、公開鍵と秘密鍵のキーペアからなる公開鍵暗号方式という技術を利用し、インターネット上で安全に情報のやりとりを行うセキュリティのインフラ(基盤)のことで、「公開鍵暗号方式」にて通信の暗号化を行い、情報を暗号化する「公開鍵」を含んだ「電子証明書」にて身元を保証します。

PKIについても上記にある通りで、一般的には送信者が受信者の公開鍵で暗号化をして、受信者が受信者の秘密鍵で復号化するというもの。

これだけだと、送信者が本当に正しい人から送られてきたかはわからない。

電子署名は、送信者が送信者の秘密鍵で暗号化して、受信者は送信者の公開鍵で復号化するというもの。

これだと、送信者が秘密鍵を適切に管理してさえいれば、送信者が誰であるかを信頼することができる。

※ビットコインアドレス生成

ビットコインアドレスを自分の手で作って理解する – Qiita

この記事ではビットコインで使われているビットコインアドレスを自分の手で作る手順を紹介しています。ビットコインアドレスを作ることを通して、ビットコインに対する技術的な理解を深めることが目的です。 ビットコインアドレスを作る手順は大まかに言うと以下のようになっており、この記事では各手順を順番に説明していきます。 秘密鍵を作る 公開鍵を秘密鍵から作る 公開鍵のハッシュを公開鍵から作る …

上記記事ではかなり多くの作業があるが、だいたい以下のようになる。

  1. 秘密鍵生成
  2. 公開鍵生成
  3. ビットコインアドレス生成

1. 秘密鍵生成
 RNG(Random Number Generator)+SHA256とRIPEMD-160などのハッシュ関数などで生成。

2. 公開鍵生成
 秘密鍵から楕円曲線暗号などで生成。

https://gaiax-blockchain.com/elliptic-curve-cryptography

3. ビットコインアドレス生成
 公開鍵からSHA256とRIPEMD-160などのハッシュ関数、Base58エンコードなどで公開鍵ハッシュを作って、その公開鍵ハッシュと公開鍵からビットコインアドレスを作る。

P2Pネットワーク

P2P=Peer to Peer

Peer to Peer

Peer to Peer(ピア・トゥ・ピア または ピア・ツー・ピア)とは、複数の端末間で通信を行う際の アーキテクチャのひとつで、対等の者(Peer、ピア)同士が通信をすることを特徴とする通信方式、通信モデル、あるいは通信技術の一分野を指す。 P2Pと 略記 することが多く、以下本項目においてもP2Pとする。 P2Pに対置される用語として クライアント-サーバ方式 …

メリットデメリット
高スケーラビリティ実装の困難さ
低コスト動作確認の困難さ
耐障害性の高さ削除制御の困難さ
匿名性セキュリティ制御の困難さ
インターネットへの負荷
通信相手特定の困難性
通信経路による通信速度の制限

こう見ると、P2Pについてはデメリットの方が多い。。。とはいえ、ブロックチェーンを実装するにあたっては、開発者にとっては実装の困難さは承知の上だろうし、ユーザにとってはそこまで関係なさそう。インターネットへの負荷も特に考える必要もなさそう。削除制御の困難さもブロックチェーンにとってはメリットだったりするのかも。

Proof of Work

P2Pネットワークでは、ネットワーク上の取引が正しいかどうかの合意に達する方法=コンセンサスアルゴリズムが必要。

【図解】「Proof of Work(プルーフオブワーク / PoW)」をマイニング・ブロック内部の動きからしっかり理解する。 | PocketWP

いきなり見出しにヤバそうな高圧的な単語が3つ並んでいるが安心してほしい。 まずここの「0.前提知識を簡単解説」ではこの3つの単語について、理解できるように極力「簡単に」紐解くことに務める。 もしこれら3つの単語を知らなかった場合。離脱せずに、じっくりスクロールして読み進めてほしい。(どうしてもPoWを理解するためには、この3つの単語への理解は、ごまかそうと思っても不可避なので..。) …

プルーフオブワーク(PoW)の仕組みを知らずにビットコインは語れない

中央管理者がいないP2Pネットワークでは、分散台帳に誤ったデータが記録されたり、改ざんされないように工夫する必要があります。中央管理者がいればネットワークの参加者がその管理者を信頼することで、管理者がネットワーク全体の管理を管理・保持を行うことができます。 …

上記記事に詳しく書いてある通り、Proof Of WorkとはBitcoinやEthereumで採用されているコンセンサスアルゴリズム。

指定された難易度(先頭に0が何個並ぶかなど)の前ブロックのハッシュ値を求めるためのNonce値を探し、それが各ノードの多数決で承認されることで、報酬が支払われ、ブロックを生成することができる。

※マイニングとは

上記の通り、マイニングとはNonce値探しのことで、ASICと呼ばれる専用マシンで行われることがほとんど。

2018/9時点で、Bitcoinネットワーク全体では1秒あたり5000 – 6000京回のハッシュ計算が行われていて、世界最速スーパーコンピュータの上位500台の計算能力の合計を大幅に超えるとのこと。なので、そもそもBitcoinネットワークに影響を及ぼすような能力を保有するのは極めて困難。

※Nonce値

ノンス

ノンス( 英: nonce、 ナンスとも)は、 暗号通信で用いられる、使い捨ての ランダムな値のことである。ノンスはたいてい、認証の過程で使われ、 リプレイ攻撃を行えないようにする働きを担っている。具体例として、 HTTPの Digest認証では、 パスワードの MD5ダイジェストを計算する過程でノンスが使われている。ノンスはサーバが 401 Unauthorized …

ハッシュ値を変動させるために与えらえる数字のこと。2018/1/16時点では、ブロックのハッシュ値の先頭に0が18個並べるNonce値を求めている。先頭に並ぶ0が多いほど難易度(Difficulty)が上がる。Bitcoinネットワーク全体のハッシュ計算能力に応じて定期的にDifficultyが自動調整されている。

Difficulty

A relative measure of how difficult it is to find a new block. The difficulty is adjusted periodically as a function of how much hashing power has been deployed by the network of miners.

Hash Rate

The estimated number of tera hashes per second (trillions of hashes per second) the Bitcoin network is performing.

仮想通貨とは

仮想通貨

仮想通貨は資金決済法で定義されている。電子マネーやポイントなどの代替通貨とは区別される。英語圏では「Crypto Currency」と呼ばれる。

特徴
・中心的な発行者はいない
・利用者自身が管理
・強制通用力がない

法定通貨

英語圏では「Fiat Currency」。

特徴
・国家が発行
・国家が管理
・強制通用力がある

代替通貨(電子マネー)

特徴
・円をチャージ(変換?)して保存する
・価格は基本的に固定
・企業が管理

通貨の歴史

・物々交換
・価値と耐久性を備えたきんや銀の硬貨が発明
 →紀元前630年リディア王国のエレクトロン硬貨
・貴金属の交換手形として発行されていた証書が紙幣となって利用される
・1929の世界恐慌の影響もあり、法定通過となる
・持ち主の署名がないと利用できない小切手が発明
・電子マネーの発明

通貨の3要素

・保存
・交換(決済)
・尺度

インターネットによって情報の民主化が起きたように、仮想通貨によってお金の民主化がもたらされる可能性が十分にある。

仮想通貨を取り巻くプレイヤー

ユーザ:顧客

仮想通貨を利用する人

マイナー:プロフェッショナル社員

マイニング機材へ投資してマイニングしているおかげで、Bitcoinは信用されている。その分報酬も得ている。

コア開発者:社員

Bitcoinを使いやすい環境を作る。BitcoinCoreの改善を行っているが、報酬があるわけではない。ボランティア的な要素が強いため、課題となっている。

事業者:パートナー

Bitcoin関連の良質なサービスを考案・提供する。