見出し画像

サトシ・ナカモトって誰なのか?どんな論文を書いたの?(前編)

はじめに

Project LUCKと書く人

Project LUCKメンバーの大橋です!Project LUCKというのは、株式会社マーキュリー(代表取締役:都木聡)の中で立ち上げたプロジェクトです。そのコアメンバーが日々、自分たちが学んだことや読者の皆さんとコミュニケーションをとりたいと思い、さまざまな記事を書いています。

今回のテーマ

皆さん、サトシ・ナカモトという名前をご存知でしょうか?
暗号資産に詳しい方はご存知の方も多いと思いますが、初心者の方はなんとなく聞いたことあるけど、何をした人だっけという方もいらっしゃるのではないでしょうか。今回は「サトシ・ナカモトって誰なのか?どんな論文を書いたの?」というテーマで前編・後編にわけて書いてみたいと思います。


サトシ・ナカモトとは

サトシ・ナカモトとは、2008年に発表された論文「Bitcoin: A Peer-to-Peer Electronic Cash System(ビットコイン:P2P電子キャッシュシステム)」の著者です。この論文に基づき、世界で最初に発行された暗号資産ビットコインが生まれました。

つまり、サトシ・ナカモトとはビットコインの生みの親ですね。
しかしながら、その正体は未だ明らかになっていません。


サトシ・ナカモトが書いた論文とは

暗号資産やITに詳しくない方向けに、彼(性別は不明ですが、本文では仮に彼と表現しています)の論文について章ごとにざっくりご説明します。
「サトシ・ナカモトって誰なのか?どんな論文を書いたの?(後編)」の最後に重要なポイントのみをまとめていますので、お時間がない方はそちらだけご確認いただいても大丈夫です!
チェーンの詳しい構造等、詳細が気になった方はぜひ論文を読んでみてくださいね。


概要(Abstract)

本論文では、金融機関等を通さずに、個人同士が直接オンラインで支払取引を行うためにはどのようなシステムを構築すれば良いのかについて説明されています。

上記の直接取引を行うためにはいくつかの問題があり、電子署名を使用することで一部の問題は解決されますが、依然として二重使用問題(double-spending problem)が残ります。

そこで、本論文では、二重使用(コインが二重に使用されること)を防ぐため、二重使用問題の解決策について主に説明されています。


第1章 イントロダクション(Introduction)
ー 信用に基づく取引システムの弱点 ー

インターネット上での取引の多くは、金融機関等の信用できる第三者(Trusted third party)を通して行われていますが、この取引システムは信用に基づいて構築されているため、いくつかの弱点があると彼は考えています。

信用に基づく取引システムの弱点
顧客

・取引手数料により、少額取引がしづらい(一般的に海外送金等は数千円かかります)
・信用に基づく取引となるため、多くの情報を金融機関に提出しなければならない
金融機関
・多くの情報を顧客から集めても、詐欺によるある程度の損失は避けられない

そこで、彼は信用ではなく、暗号化された証明に基づく取引システムを構築することで、これらのデメリットを解消し、個人同士で直接取引が可能になると考えました。


第2章 取引(Transactions)
ー 電子署名によるコインの所有権の移転 ー

まず、コインの所有権に係る問題については電子署名を使うことで解決できます。

コインの定義
 コイン=電子署名が連なったチェーン
所有権の移転方法
コイン(チェーン)の最後に電子署名によりデータ(直前の取引及び受取人の公開鍵データ)を追加することで可能

しかし、上記の電子署名だけでは二重署名されているかどうかが検証できないため、既に使用されているコインか確認できません。

そこで、彼は取引データを公開し、そのコインが初めて使用されたと大多数の参加者(ノード)が承認することで二重使用されていないと証明できるのではと考えました。
以降の章でこの二重使用問題に対する解決策が説明されています。


第3章 タイムスタンプ・サーバー(Timestamp Server)
ー タイムスタンプ技術をどのように使用するか ー

最近では電子契約書や帳簿等にタイムスタンプを付与する例も多いですよね。第3章ではそのタイムスタンプ技術をどのように使用するかについて説明されています。

✓タイムスタンプにより確認できること
複数の取引データをまとめた各ブロックにタイムスタンプを付与することで、その電子取引データが存在していた日時やその日時以降、取引データが改ざんされていないかが確認できる

各ブロックには、電子取引データが存在していた日時等の情報が含まれており、前のブロックの情報に基づき次のブロックが作成されていきます。(ブロックを作成する手順については第5章を参照)

そのため、ブロックが増え、チェーンが延びていくほどに過去データの改ざんが難しくなっていきます。
ブロックが増える毎に何度も過去のデータが暗号化されるイメージですね。

✓通常の電子契約書等に使用されるタイムスタンプとの大きな違い
・サービスを提供している第三者がいない
・取引データが公開されているため、ネットワークに参加すれば、誰でもタイムスタンプを付与する権利がある


第4章 プルーフ・オブ・ワーク(Proof-of-Work)
ー プルーフ・オブ・ワークとは何か、なぜ改ざんが難しいのか ー

第3章で説明した分散型のタイムスタンプ・サーバーを実行するためにはプルーフ・オブ・ワークシステムを使う必要があり、第4章ではプルーフ・オブ・ワークとはどのようなものなのか、なぜプルーフ・オブ・ワークにより二重使用問題が解決できるのかが説明されています。

彼は膨大な計算を行い、指定の条件に合致する値(ナンス)を探すことで、プルーフ・オブ・ワーク(PoW)を実行することができるとしています。

参照:Bitcoin: A Peer-to-Peer Electronic Cash System


ブロックはチェーンのように連なっているため、もし過去の取引データを改ざんしようと思ったら、改ざんしたいデータが含まれているブロック以降、全てのブロックについてPoWをやり直す必要があり、その膨大な量の計算を行うことは困難です。

そのため、電子取引が正しいことを証明・保証してくれる第三者がいなくても、複数のノード(PC等の端末を持つ参加者)がPoWを行うことでその電子取引が正しいと証明できるとしています。


第5章 ネットワーク(Network)
ー ネットワーク上でブロックを作成する手順 ー

第5章では実際にネットワーク上で実行する手順について説明しています。
具体的な手順は以下の通り。

✓ブロックの作成手順
1.  新しい取引を全てのノード
(PC等の端末を持つ参加者)に送信(ブロードキャスト)する
2. 各ノードは新しいいくつかの取引をまとめ、ブロックを作成する
3. 各ノードはそのブロックに対するPoWを見つけるため、計算を行う
4. PoWを見つけたノード(仮にノードAと置きます)は、そのブロックの情報を全てのノードに対して公表(ブロードキャスト)する
5. ノードA以外のノードは二重使用されていないか等を検証の上、そのブロック内の全ての取引が有効であり、以前に使用されていない場合のみ、そのブロックを承認する
6. ノードA以外のノードはそのブロックを承認するのであれば、そのブロックの値(ハッシュ)を使用して、次のブロックを作成する

上記のように次々にブロックが連なって作成されていくことで、ブロックのチェーンが出来上がるということですね。
また、詳細は割愛しますが、この章ではチェーンが分岐した場合のルールについても説明されています。


第6章 インセンティブ(Incentive)
ー ブロック作成によりどのような報酬が与えられるか ー

各ノードに承認されたブロックを作成した者(第5章の例でいうとノードA)にはインセンティブとして、送金者が支払う取引手数料と新たに発行した一定量のコインが与えられます。

ブロック作成による報酬
インセンティブ = 取引手数料 + 新たに発行した一定量のコイン

つまり、各ノードはこの報酬を目的として競争を行っている訳ですね。

また、サイバー攻撃等を行うことによる労力や損失を考えると、ルールに沿ってブロックを作成することで得られる報酬の方がメリットが大きいため、この報酬制度により攻撃者を生み出すことを防げるのではないかと彼は述べています。


長くなってしまいましたが、以上が第6章までの内容でした。
第7章以降は「サトシ・ナカモトって誰なのか?どんな論文を書いたの?(後編)」で記載していきたいと思いますので、もう少しだけお付き合いいただけたら嬉しいです…!


参考文献

  1. Satoshi Nakamoto 「Bitcoin: A Peer-to-Peer Electronic Cash System」
    https://bitcoin.org/bitcoin.pdf

  2. オブジェクトの広場「ビットコイン論文からさぐるブロックチェーンのヒント」
    https://www.ogis-ri.co.jp/otc/hiroba/technical/bitcoinpaper/part1.html



いいなと思ったら応援しよう!