『仮想通貨の教科書』 第2章 ビットコインが非中央集権を実現している仕組み その5 (修正版)
『仮想通貨の教科書』の 第2章 ビットコインが非中央集権を実現している仕組み を読んだのでメモ続き(その1,その2,その3, その4はこちら)。
ちなみに、この記事は落合陽一さんにリツイートして頂いた記事です!!うれしい笑
またKindle版の価格が50%offなのでお買い得になっています。
2.4.2 取引手数料
ビットコインは「インセンティブ」という概念を取り入れることで今まで実現できていなかった「分散型合意形成」を実現しています。
ビットコインのインセンティブは何なのかというと
1. ブロック作成報酬
2. 取引手数料
のことで、1. ブロック作成報酬に関してはその4で解説しました。
ブロック作成報酬を得ようとすると、多くの人の合意が得られる形のブロックを作成する必要が出るために、正しいブロックが自然と残っていく、というものでした。
取引手数料は自発的に支払うビットコインにプラスして払うことによって、ブロック作成者に取引手数料が届くというもの。
ブロック作成報酬がなくなるにつれて重要なインセンティブになり、インセンティブが合意形成の重要な要素であるビットコインにはなくてはならないものになる。
しかし、この仕組みが本当に上手く行くのかどうか、という点に関してはまだわからない部分が多く、これからの研究分野である。
(なぜなら、インセンティブの部分に関してはゲーム理論に基づいているので技術的に、数学的に証明されているのは話が少し異なるため)
これらのインセンティブによる合意形成にはいくつか問題点がある。
1. 「無作為にノードを選択できる」という前提を置いている点
2. インセンティブを導入することによってシステムが不安定になる点
3. インセンティブの導入による大量の悪意のあるノードが現れるリスクがある点
これらの問題点に対する解決策がPoW (Proof of Work) である。
PoWは無作為なノード選択のために、計算能力に比例したノード選択を行うというもの。
ビットコインではPoWの実現のためにハッシュパズルを利用し、ある値よりも小さいハッシュ値を求めさせることで疑似的に無作為にノードを選択する、ということを実現している。
このハッシュパズルのような計算パズルは3つの属性が求められる。
1. 計算困難性 (計算が極めて難しい必要がある)
2. パラメータ化可能 (コスト(難しさ)を調整できる必要がある)
3. 容易な確認 (PoWを正しく実施したかどうかが簡単に確認できる必要がある)
ハッシュパズルは上記の3つを満たしている。
1. 計算困難性は、先頭に0が17個並ぶハッシュ値の計算とすることで難易度を高めることができる。
2. パラメータ化可能に関しても、先頭に並ぶ0の個数の調整により難しさの調整もできる。
3. 要因な確認もハッシュ値の計算であれば、ナンスを含むブロックを再度ハッシュ化することで簡単に正しい計算がされたのか確認できる。
ナンス (ノンスともいう) は何なのか、というとランダムな使い捨ての値のこと。
ランダムな値 (ナンス) をブロックに入れてハッシュ化をして、ハッシュ値の先頭に0が17個並ぶかどうか確認して、17個以上並んでいたらそのナンスを入れてブロックを生成し、並んでいなければ再度ランダムな値 (ナンス) を作成しハッシュ化し・・・
と繰り返すのがブロック作成の作業となります。
雑記
落合陽一さんがツイッターでこんな発言をしていました。
んーハッシュと暗号化はそもそも違うしな,希望を込めて https://t.co/KGGlVAIidB
— 落合陽一/Dr.YoichiOchiai (@ochyai) 2017年12月24日
なぜ暗号通貨と呼ばずに仮想通貨と呼ぶのか。
暗号化ではなく、ハッシュ化を利用しているからとの発言のようですが、
私としてはちょっと・・・って感じがしました。
(追記:落合陽一さんはちゃんと理解した上での発言だったようです)
そもそもなぜ暗号通貨と呼ばないのか、という質問をしている人がいるかというと、仮想通貨は英語で「Cryptocurrency」といい、「Crypto」が「暗号」という意味だからです。
なので普通に訳すと「暗号通貨」となるはずなのですが、仮想通貨という表現が最近では一般的になっています。
また、なぜ私が落合さんの発言に少し違和感を感じるのかというと
ハッシュというものも暗号理論の中のひとつの技術だからです。
暗号通貨の暗号は「暗号化」の暗号ではなく、「暗号理論」の暗号なので暗号化ではなくハッシュだから仮想通貨って呼ぶ、というのはちょっと違う気がします。
(もちろん、ツイッターなのでそんな深く考えた発言ではないと思いますが)
ちなみに、暗号化とハッシュ化は全く別ものなのですが、理解するまではなかなか違いがわかりにくいものでもあります。
・暗号化は可逆なもの (元に戻すことができるもの)
・ハッシュ化は不可逆なもの (元に戻せないもの)
・パスワードはハッシュ化すること
(パスワードはハッシュ化した値の比較で合ってるかどうか確認する)
・元に戻す必要があるものは暗号化すること
・ハッシュ化はどんな長さのものでも固定の長さのハッシュ値を出力する
・暗号化 (AES) は入力と出力の長さが同じ
こんな感じの違いがあります。
落合さんはモナコインを応援しているようですね。
ビットコインやビットコインキャッシュが普及しても現状投機からなる税収しか期待できないから,モナコインの投機上昇もひと段落してきたので,マイニングや開発を含めモナコインの重要性を認識して価値を高めていかないと.
— 落合陽一/Dr.YoichiOchiai (@ochyai) 2017年12月24日
だれかモナコインcm打とうぜ
— 落合陽一/Dr.YoichiOchiai (@ochyai) 2017年12月23日
追記
落合陽一さんはちゃんと暗号について理解した上での発言でした!
あれ,これそういう意味で言ってんだけど通じなかった?
— 落合陽一/Dr.YoichiOchiai (@ochyai) 2017年12月25日
Cryptographic Hash Function ⊂ Hash Function の話とCrypto currency ⊂Virtual Currency なら,仮想通貨って呼び名は希望じゃない? https://t.co/DINhUL069u
その後もこのようなツイート
Cryptoって語源的に「地下に隠す」イメージだからマイニングって言葉との相性いいよな.
— 落合陽一/Dr.YoichiOchiai (@ochyai) 2017年12月25日
正直、落合さんの「希望」の意味の解釈に時間がかかりましたが、落合さんとしては
ビットコインなどの技術が暗号通貨という狭い範囲の技術にとどまらずに、仮想通貨という広い意味での技術に捉えられていく、というのは希望である、という意味で言ったのだと私は解釈しました。
頭の良い人の言葉は理解が難しいですね。
今後も「仮想通貨」と「落合陽一」さんの動向に注目ですね!!