【完全版】ゼロからわかるビットコイン原文解説!(概要編)

こんにちは!大田です!

今回はビットコインを技術的な面から解説して行こうかと思います。

現在、ビットコインが上がった、下がったですごい数の人が一喜一憂してますが、それはお金なんでそうなってしまう面は当たり前ちゃ当たり前で、そりゃー僕も上がったら嬉しいです。

しかし、ビットコインが本質的に面白いところはそこじゃなくて技術的なとこにあると思うのです。

今日からは、2008年にサトシ中本が出したビットコインに関する論文の解説を何も知らない人が見てもわかるように説明していきたいと思います!

この論文がいかに革命的だったのか。それを楽しんでください。

といことで、まずは概要の解説から入ります。

 

日本語で読むビットコイン原論文 [by Satoshi Nakamoto]

ビットコインに関する論文が始めて公開されたのは、2009年であり、原論文はこちらで公開されています。英語で原論文を読みたい方はこちらをご参照下さい。

Bitcoin: A Peer-to-Peer Electronic Cash System

以下、論文です。

ビットコイン:P2P 電子マネーシステム

中本 哲史

satoshi@gmx.com

www.bitcoin.co.jp

概要

純粋なP2P電子マネーによって、金融機関を通さない甲乙間の直接的オンライン取引が可能になる。電子署名は問題の一部を解決するが、依然信用できる第三者機関による二重使用予防が求めらため、その恩恵は失われる。当システムはP2P電子マネーにおける二重使用問題の解決を提案する。このネットワークは取引に、ハッシュベースの継続的なプルーフ・オブ・ワークチェーンにハッシュ値として更新日時を記録し、プルーフ・オブ・ワークをやり直さない限り変更できない履歴を作成する。最長である一連のチェーンは、取引履歴を証明するだけでなく、それがCPUパワーの最大のプールから発せられたことを証明する。大多数のCPUパワーがネットワークを攻撃していないノード(ネットワーク接続ポイント)によってコントロールされている限り最長のチェーンが作成され、攻撃者を凌ぐ。ネットワーク自体は最小限の構成でよい。メッセージは最善努力原則で送信され、ノードは自由にネットワークから離脱、再接続することができ、離脱していた間のイベントの証明として最長のプルーフ・オブ・ワークチェーンを受信する。

 

今日は概要の解説からしていきます。

ビットコインの仕組みはとても面白いです。

しかし、理解するまでに少し時間がかかります。

ですが、わからない用語を一つ一つ理解して行くうちに理解できるようになっていきます。

1行ずつ解説していきます。

純粋なP2P電子マネーによって、金融機関を通さない甲乙間の直接的オンライン取引が可能になる。

P2P(Peer to Peer)とは?

まず、Peerは日本語に訳すと同格者という意味です。同格のパソコンから別の同格のパソコンへと直接ファイルを送るシステムなわけです。

同格のパソコンってなんやねんってこれが聞こえてきそうなのでもう少し詳しく説明します。

普段私たちが使っているのパソコンはP2P方式の反対のクライアント-サーバ方式です。ネットワークに繋がれパソコンには『クライアント』『サーバー』という2種類のものがあります。

僕たちが普段使っているパソコンは『クライアント』で、検索やメールサービスなどを提供してくれてる企業の巨大コンピュータが「サーバー」(サービス提供者)

僕たちがメールを使えるのは真ん中に巨大コンピューターがあるからなんですね。

(こんなイメージ)

つまり、全ての情報を真ん中のサーバーにためているのが、クライアント-サーバ方式です。

P2Pは、その逆です。ネットワークに接続されたコンピューター同士が端末装置として対等の立場、機能で直接通信するんです。

クライアント-サーバ方式では、繋いでるパソコンの数が非常に多くなると、サーバおよびそれにつながる回線に負荷が集中するのに対して、Peer to Peer方式は、端末数が膨大になっても特定端末へのアクセス集中が発生しづらいという特徴がある。

だから、Twitterでみんなが一斉に『バルス』と呟くとサーバーは落ちてしまのはそれですね。

P2P通信の一例としては、インターネットに接続した一般ユーザーの複数パソコン同士が互いのIPアドレスを呼び合う直接通信が挙げられます。

実用化されたシステムとしては、特にIP電話(Skype,LINEなど)や動画配信サービス(Veohなど)といった応用例が増えてきている。意外にも既に使われています。

しかし、これらの応用技術は2000年代初頭から実用化され始めた技術であり、歴史的にはまだ日が浅く、成熟技術となるまでには、解決しなければならない様々な問題がある。そのため現在でも学術的な研究が盛んな分野です。

つまり一文目は、

純粋なP2P電子マネー(Bitcoin)によって、金融機関を通さない直接的オンライン取引(LINEみたいな感じ)でお金が使えるようになるよ。

ってことですね。

次いきましょう!!

電子署名は問題の一部を解決するが、依然信用できる第三者機関による二重使用予防が求めらため、その恩恵は失われる。当システムはP2P電子マネーにおける二重使用問題の解決を提案する。

 

「電子署名」とは?

電子署名とは、文字通り電子的な署名ですね。今まで、印鑑やサインなどで署名をしていたのですがそれをインターネット場でやるものです。

コンピュータの世界のハンコと思ってもらったら1番わかりやすいんじゃないかと思います。

しかし、この電子署名には、ずっと二重使用問題というものがありました。

「二重使用問題」とは?

二重使用問題とは言葉の通り、1つのコインを2回使えるということです。例えば100円の価値のあるコインを持っていたら200円分の価値のコインになってしまいますし、100円のコインを一つは相手に支払い一つは自分に支払う事で永遠にお金を生み出せてしまいます。

デジタル通貨電子決済システムではこの二重支払いがとても簡単にできてしまいます。なぜなら「デジタル」はコピーが容易いからです。デジタルはデータですのでデータをハードディスクにコピーすればすぐに複製を作れます。

それに対し現金のようなアナログなものでは二重支払いは困難です。現金の二重支払いは偽造通貨を作成する事によって行われます。偽札は簡単には作れないよう「透かし」や「凹凸」や「通し番号」で対策をされております。紙幣のように「目に見える対策」を打てるのであれば取引が二重支払いでないかどうかをすぐに確認ができるので単純な目視で解決をする事ができるのです。

この、ずっと問題だった二重使用問題を解決したのが、ビットコインのアルゴリズム(仕組み)なのです。

つまり

電子署名は便利にはなるけど、二重使用問題があるからその恩恵は失われしまうよね。私はビットコインでその二重使用問題の解決を提案します!

て感じです。

はい。次!!

このネットワークは取引に、ハッシュベースの継続的なプルーフ・オブ・ワークチェーンにハッシュ値として更新日時を記録し、プルーフ・オブ・ワークをやり直さない限り変更できない履歴を作成する。

ここがきっと1番難しい。

頑張りましょう。

取引

『大田が田中に10BTCを送金した』これが取引です。

ハッシュベース

「ハッシュ値が基本の」って意味です。

ハッシュ値

ハッシュ値とはハッシュ関数というものに何かをかけるとハッシュ値が叩き出させます。

ハッシュ関数とはどんなに長い文章を入れても同じ長さの数字と英語で返ってくきます。

例えば、『りんご』という単語をハッシュ関数に入れると。

いつも『3』という数字が帰ってきます。『りんご』を何回ハッシュ関数に入れても『3』なのです。

ハッシュ関数とは、以下の特徴的な性質を持つ関数です。

  • 任意の長さのデータから固定長の出力データを返す
  • あるデータを一方向にしか変換できず、ハッシュ化されたデータを元のデータに戻すことは基本的に不可能

このような特徴があるので基本的には『3』は『りんご』であることを逆から突き止めることは不可能です。

これの性質により取引の安全性が確保させています。

プルーフ・オブ・ワーク

このプルーフ・オブ・ワークが二重使用問題を解決するためにナカモトサトシが提案した方法です。

今日は少し簡単に説明します。

まず、二重使用問題をを解決するためにどのようにすればいいのかを考えます。

解決策としてビットコインでは、いくつかの取引のまとまりをブロックと呼び、このブロックに不正がないことが保証されると、そのブロックが正式に承認され、次のブロックが作られます。

ビットコインのコインは必ず保有者と数量が分かるようになっているので「A」「B」違う人に同じコインを送ろうとすれば必ず見つかります。

このように取引を「全員で監視」する事でビットコインの二重支払いは防がれております。

この不正がないか確かめ取引を承認して作業のことをマイニングと呼びます。このマイニングをする人このことをマイナーというのですが、これには膨大な計算ができるコンピューターとものすごい量の電気代が必要なのですが、なぜマイナーたちはマイニングをするのかというとビットコインがもらえるからです。

ここの仕組みは複雑なので、別の記事で述べることにしますが、数学の問題を早くの解くイメージがわかりやすいと思うのですが、その答えを1番最初に導き出した人に報酬としてビットコインが支払われるようにプログラムが組まれています。

その問題は10分ごとに出せれ、それを解きブロックを形成していきます。そのブロックは一番初めの取引から最も最近の取引が全て記録され、各ブロックはチェーンのように繋がれていてます。これをブロックチェーンと呼びます。

つまり

このネットワークは取引に、ハッシュ関数を掛け合わせてブロックチェーンを形成していくプルーフ・オブ・ワークという仕組みが二重使用問題を解説するよ!

ってことですかね。

少し簡単に言いすぎましたね。笑

はい。次。

最長である一連のチェーンは、取引履歴を証明するだけでなく、それがCPUパワーの最大のプールから発せられたことを証明する。大多数のCPUパワーがネットワークを攻撃していないノード(ネットワーク接続ポイント)によってコントロールされている限り最長のチェーンが作成され、攻撃者を凌ぐ。ネットワーク自体は最小限の構成でよい。

最長である一連のチェーン?

最長のブロックチェーンという意味です。

CPUパワー?

CPUの処理能力のことです。

ブロックチェーンはネットワークの参加者によって支えられています。

みんなのパソコンのパワーを少しずつわけあって、ブロックチェーンは作られています。

そしてみんなでハッシュ関数を使って問題を解いていくわけですが、その問題の解答が間違っていないかは、みんなで答え合せをします。その答えが51%以上になれば過半数以上となり最大のプールということになります。

この確認作業によりブロックチェーンは安全性を保っています。

最長である一連のチェーンの存在が、取引履歴を証明するだけでなく、それが過半数以上の合意を得たことになるから安全性も担保させるよね!

ここでは『51%問題』というのことがよく言われるのですが、それは少しややこしいので別記事で解説します。

最後の一文です!

メッセージは最善努力原則で送信され、ノードは自由にネットワークから離脱、再接続することができ、離脱していた間のイベントの証明として最長のプルーフ・オブ・ワークチェーンを受信する。

最善努力原則

これは最善を尽くす的な意味だと思います。

つまり

できる人が最善を尽くしてマイニングをしてブロックチェーンをみんなで形成して行けばいい。それぞれのパソコンは出たり入ったりできるし、離脱しても再び戻ると最新のチェーンを受信することができる。

って感じですがね。

少し長くなってしましましたが、これでもすごく簡単に述べました。

ビットコインはそれほど技術的な部分では奥が深いです。

そしてすごい速さで進化していっています。

中々理解するまでに時間がかかると思いますが、理解できた時には数学の問題が解けたような嬉しさがあります。

しかし、これでもまだ概要です。。。

次は第1章から解説していきます!

それではまた!