日本語で読むビットコイン原論文

議論・討論 ホワイトペーパー 勉強

17 Res. 0.01021553 MONA 11 Fav.

今日はここまでにします。続きは後日
詳しい方。解説をお願いします!

1 :アフロ六段範士:2018/01/28 22:50:52 (6年前)  0.01021553MONA/5人

サトシナカモト氏の論文を今一度読んでみるトピです。
出来れば解説したいけど、分からない所は皆さん教えてください

サトシナカモト氏が目指した暗号通過とは何か
今の暗号通貨界は間違った道を進んでいないか

原文をコピペしながら、ぐぐりながら進めて行きます
https://coincheck.com/blog/292

2 :アフロ六段範士:2018/01/28 22:51:21 (6年前)  0MONA/0人

ビットコイン:P2P 電子マネーシステム
中本 哲史
satoshi@gmx.com

www.bitcoin.co.jp

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

3 :アフロ六段範士:2018/01/28 22:56:59 (6年前)  0MONA/0人

>金融機関を通さない甲乙間の直接的オンライン取引が可能になる。
やっぱすごい発想ですね
>このネットワークは取引に、ハッシュベースの継続的なプルーフ・オブ・ワークチェーンにハッシュ値として更新日時を記録し、
更新日時記録しとけば、確かに二重使用防げそう
>大多数のCPUパワー
初めはCPUを想定してたんですね
>ノードは自由にネットワークから離脱、再接続することができ、離脱していた間のイベントの証明として最長のプルーフ・オブ・ワークチェーンを受信する。
気まぐれにマイニング出来るってことですね

4 :アフロ六段範士:2018/01/28 22:57:37 (6年前)  0MONA/0人

1. イントロダクション
インターネットでの商取引は、ほぼ例外なく、電子取引を処理する信用できる第三者機関としての金融機関に頼っているのが現状である。大多数の取引においてはこのシステムで十分であるものの、信頼に基づくモデルであるがゆえの弱点は残っている。金融機関は争議の仲裁を避けて通ることができないため、完全に非可逆的な取引を扱うことができない。仲裁コストが取引のコストを引き上げることで、取引規模は限定され、小額取引の可能性が失われる。また、非可逆的サービスに対する非可逆的支払いを提供することができないことによる損失はより広範にわたる。可逆的取引を扱うためには信用が問われる。商業主は顧客に対し用心深くあらねばならず、顧客から多くの情報を求める。一定の割合の詐欺は避けられないものとして受け入れられている。対個人におけるこれらの損失や支払いの不確さは有形通貨を使うことで避けられるが、第三者機関を通さずに通信チャンネル経由で支払いを可能にするメカニズムは存在していない。必要なのは、信用ではなく暗号化された証明に基づく電子取引システムであり、これにより希望する二者が信用できる第三者機関を介さずに直接取引できるようになる。コンピュータ的に事実上非可逆的な取引は売り手を詐欺から守り、容易に実施できる習慣的なエスクロー(第三者預託)メカニズムにより買い手も守られる。この論文では、時系列取引のコンピュータ的証明を作成するP2P分散型タイムスタンプ・サーバーを用いた、二重支払い問題の解決策を提案する。本システムは、良心的なノードが集合的に、攻撃者グループのノードを上回るCPUパワーをコントロールしている限り安全である。

5 :アフロ六段範士:2018/01/28 23:02:28 (6年前)  0MONA/0人

>仲裁コストが取引のコストを引き上げることで、取引規模は限定され、小額取引の可能性が失われる。
投げ銭の障害になってたんですね
>可逆的取引を扱うためには信用が問われる。商業主は顧客に対し用心深くあらねばならず、顧客から多くの情報を求める。
情報渡したくないですよね
>第三者機関を通さずに通信チャンネル経由で支払いを可能にするメカニズムは存在していない。
そしてビットコインは生まれたと
>コンピュータ的に事実上非可逆的な取引は売り手を詐欺から守り、
取引所という第三者を介した事で、詐欺は起こってしまいましたね

6 :アフロ六段範士:2018/01/28 23:04:02 (6年前)  0MONA/0人

2. 取引
一つの電子コインは、連続するデジタル署名のチェーンと定義される。電子コインの各所有者は、直前の取引のハッシュと次の所有者のパブリック・キー(公開鍵)をデジタル署名でコインの最後に加えることにより、電子コインを次の所有者に転送する。受取人は一連の署名を検証することで、過去の所有権を検証できる。

(図は>>1のサイトをご覧ください)

無論、問題は受取人には過去の所有者がコインを二重使用していないことを検証できないことにある。一般的な解決法は信用のおける中央機関もしくは造幣局を間に入れ、全取引を監視させることである。取引の度にコインは造幣局に戻され、新しいコインが発行され、造幣局から新しく発行されたこのコインのみが二重使用されていないものとして信用される。この解決法の問題は、全取引が造幣局を通じて行われるため、銀行と同様に造幣局を運営している企業に、金融システム全ての運命が左右されることである。必要なのは、コインの受取人に今までの所有者らが二重署名していないことを知らせる方法である。この目的においては、最初の取引だけが論点であるので、後の二重支払いの試みについては関係のないものとする。取引がなかったことを明確にするには全取引を監視する必要がある。造幣局モデルでは造幣局が全取引を監視し取引の順番を決定していた。これを第三者機関なしに行うには、取引が公開され、参加者たちが受け取った順番の唯一の取引履歴に合意することのできるシステムが必要となる。受取人は取引毎に、取引が行われた時点で大多数のノードがそのコインが初めて使用されたことに賛同したという証明を必要とする。

7 :アフロ六段範士:2018/01/28 23:09:46 (6年前)  0MONA/0人

>受取人は一連の署名を検証することで、過去の所有権を検証できる。
あるビットコインの所有者は誰かって事ですね
>受取人は取引毎に、取引が行われた時点で大多数のノードがそのコインが初めて使用されたことに賛同したという証明を必要とする。
全てのノードではなく、大多数のノードの賛同によって、取引は承認されるわけですね

8 :アフロ六段範士:2018/01/28 23:11:12 (6年前)  0MONA/0人

3. タイムスタンプ・サーバー
提案する解決法は、まずタイムスタンプ・サーバーから始まる。タイムスタンプ・サーバーは、タイムスタンプされる複数アイテムを含むデータブロックをハッシュとして処理し、そのハッシュを新聞やUsenetポスト[2-5]のように広範囲に公開する。タイムスタンプにより、そのデータがタイムスタンプされた時点でハッシュとなるために存在していたことが証明される。各タイムスタンプはそのハッシュの中に直前のタイムスタンプを含んでいくことでチェーンを形成し、タイムスタンプが増えるたびに以前のタイムスタンプを強化していく。

(図は>>1のサイトを参照)

9 :アフロ六段範士:2018/01/28 23:14:13 (6年前)  0MONA/0人

>そのハッシュを新聞やUsenetポスト[2-5]のように広範囲に公開する。
ブロックチェーンは広範囲に公開されてますね
>各タイムスタンプはそのハッシュの中に直前のタイムスタンプを含んでいくことでチェーンを形成し、タイムスタンプが増えるたびに以前のタイムスタンプを強化していく。
ブロックチェーンが長くなる=強化される っていうイメージでしょうか?

10 :アフロ六段範士:2018/01/28 23:17:28 (6年前)  0MONA/0人

4. プルーフ・オブ・ワーク
P2Pベースで分散型サーバーを実行するには、新聞やUsenetポストというよりはアダム・バックのハッシュキャッシュ[6]に似た、プルーフ・オブ・ワークシステムを使用する必要がある。プルーフ・オブ・ワークには、例えばSHA-256のような、ハッシュ化された時に0ビットの番号で始まるハッシュ値のスキャンが含まれる。通常作業に要求されるのは、必要な0ビットの番号の指数関数であり、これはハッシュ一つを実行することで検証される。我々のタイムスタンプネットワークでは、ハッシュ化の際に要求される0ビットを与える値が見つかるまでの間、データブロックにワンタイムパスワードを足すことでプルーフ・オブ・ワークを実現している。一度プルーフ・オブ・ワークを満たすべくCPUパワーが費やされると、この作業をやり直さない限りそのデータブロックを変更することはできない。その後のデータブロックもチェーン化されて後に連なるため、該当ブロックを書き換えようとするならば、それ以降の全てのブロックを書き換えなくてはならない。

このプルーフ・オブ・ワークはまた、多数決で意思決定をする際の代表をどうするかという問題を解決する。もし1IPアドレスにつき一票としたならば、多くのIPアドレスを取得できる者は誰でもシステムを乗っ取ることができてしまう。プルーフ・オブ・ワークは原則的に1CPUにつき一票である。多数決の意思決定は、最も多くのプルーフ・オブ・ワークの労力が費やされたことを示す最も長いチェーンによって表される。CPUパワーの過半数が良心的なノードによってコントロールされるとき、その良心的なチェーンは他のどのチェーンよりも早く成長する。過去のデータブロックを書き換えるためには、攻撃者はそのブロックのプルーフ・オブ・ワークだけでなくその後に続くプルーフ・オブ・ワークを書き換え、さらに良心的なチェーンに追いつき、追い越さなければならない。低速の攻撃者が良心的チェーンに追いつく可能性は、後続のブロックが追加されるごとに指数関数的に減少していくことをのちに説明する。加速するハードウェアスピードと長期的に変動する利益レートに対応するために、プルーフ・オブ・ワーク算出の難易度は、一時間ごとのブロック数を一定の平均値に保つことを目指す平均移動によって決定される。ブロック算出のスピードが速ければ速いほど難易度が増す。

11 :アフロ六段範士:2018/01/28 23:24:24 (6年前)  0MONA/0人

>プルーフ・オブ・ワークには、例えばSHA-256のような、
SHA-256以外のアルゴリズムの暗号通貨の出現は予想してたんでしょうね
>該当ブロックを書き換えようとするならば、それ以降の全てのブロックを書き換えなくてはならない。
ブロックチェーンを書き換えるには、ものすごく労力が必要ってことですね
>CPUパワーの過半数が良心的なノードによってコントロールされるとき、その良心的なチェーンは他のどのチェーンよりも早く成長する。
51%アタックの説明ですね
>難易度は、一時間ごとのブロック数を一定の平均値に保つことを目指す平均移動によって決定される。ブロック算出のスピードが速ければ速いほど難易度が増す。
採掘難易度調整ですね

この論文すごく論理的で分かりやすいですね
難しい事を順序だてて説明してくれるので、頭に入りやすい

12 :名無し三段錬士:2018/01/28 23:57:57 (6年前)  0MONA/0人

http://askmona.org/8204

13 :アフロ六段範士:2018/02/03 12:39:00 (6年前)  0MONA/0人

>>12
大石哲之さんのブログ面白そうですね

14 :アフロ六段範士:2018/02/03 13:03:48 (6年前)  0MONA/0人

5. ネットワーク
ネットワーク実行の手順は以下の通りである

新しい取引は全ノードに送信される。
各ノードが新しい取引をブロックに取り入れる。
各ノードがそのブロックへのプルーフ・オブ・ワークを算出する。
プルーフ・オブ・ワークを見つけ次第、各ノードはそれを全ノードに告知する。
ノードは、ブロックに含まれる全ての取引が有効であり、以前に使われていない場合のみ、それを承認する。
ノードは、承認されたブロックのハッシュを直前のハッシュとして用いて、チェーンの次のブロックの作成を開始することで、ブロック承認を表明する。
ノードは常に最長のチェーンを正しいものと判断し、それをさらに延長しようとする。もし二つのノードが同時に異なる二パターンのブロックを次のブロックとして告知した場合、ノードによって受信の順番が入れ替わる可能性がある。その場合、ノードは最初に受信した方のブロックを処理するが、もう一つのブロックも保存しそちらのチェーンが長くなった場合に備えておく。次のプルーフ・オブ・ワークが発見され、どちらかのチェーンが伸びたとき、そちらが正しいチェーンと認識され、もう一つのチェーンに取り組んでいたノードはより長いチェーンに切り替える。

新しい取引の告知は必ずしも全ノードに届かなくともよい。告知が多数のノードに受信されている限り、やがてブロックに組み込まれる。ブロック告知もまたメッセージの欠落に耐えうる。ノードがブロックを受信しなかった場合、次のブロックを受信するときにそれを要求し、一つ受信していなかったことを認識する。

15 :アフロ六段範士:2018/02/03 13:10:36 (6年前)  0MONA/0人

>ノードは、承認されたブロックのハッシュを直前のハッシュとして用いて、チェーンの次のブロックの作成を開始することで、ブロック承認を表明する。
ブロック承認の仕組みですね。ノード・ブロック・ハッシュ・チェーンと専門用語のオンパレードで、初心者は理解しにくそう
>次のプルーフ・オブ・ワークが発見され、どちらかのチェーンが伸びたとき、そちらが正しいチェーンと認識され、もう一つのチェーンに取り組んでいたノードはより長いチェーンに切り替える。
こういうことが起きるので、1承認で決済するのは危険なんでしょうね
>新しい取引の告知は必ずしも全ノードに届かなくともよい。
こういう仕様じゃないと、BTCは成り立ちませんね

16 :アフロ六段範士:2018/02/03 13:11:12 (6年前)  0MONA/0人

6. インセンティブ
慣例により、ブロック内の最初の取引は新しいコインを始める特別な取引とされ、そのコインはブロック作成者のものとなる。これはノードにネットワークを支持するインセンティブとなると同時に、コインを発行する中央機関不在の中、最初にコインを配布する方法としても機能する。新しいコインを一定量安定して追加していくことは、金鉱労働者が働いて採金し、金の流通量を増やすことと似ている。我々の場合は、働いてるのはCPU時間と電力である。インセンティブは、取引手数料によっても得ることができる。もしある取引でアウトプットされた価値がインプットされた価値よりも少ない場合、その差は取引手数料としてその取引を含むブロックのインセンティブに加算される。ひとたびコインの流通量が既定の数値に達するとインセンティブを取引手数料として使うことが可能になり、またコインは既定以上流通されないのでインフレからは完全に解放される。インセンティブはノードが良心的であり続ける動機となりうるだろう。もし欲深い攻撃者が良心的なノードの合計を上回るCPUパワーを作り出すことができたとして、攻撃者はそのパワーを使って、他の良心的なノードから自分の支払った金額を盗んで取り戻すか、新しいコインを作り出すかの選択を迫られることになり、おのずと自分の資産価値とそれを支えるシステムを損なうよりも、ルールに従って行動し、他の全ノードを合わせたよりも多くの新しいコインを作りだすほうが、自分の利益になると考えるだろう。

17 :アフロ六段範士:2018/02/03 13:20:06 (6年前)  0MONA/0人

>インセンティブは、取引手数料によっても得ることができる。
マイニングに成功すると、取引手数料も得る事が出来ます
>コインは既定以上流通されないのでインフレからは完全に解放される。
法定通貨よりも有利なポイントですね
>おのずと自分の資産価値とそれを支えるシステムを損なうよりも、ルールに従って行動し、他の全ノードを合わせたよりも多くの新しいコインを作りだすほうが、自分の利益になると考えるだろう。
51%アタックは生じにくいと言う説明です

お気に入り

新規登録してMONAをもらえた

本サイトはAsk Mona 3.0に移行しましたが、登録すると昔のAsk Monaで遊ぶことができます。

新規登録ログイン