徹底サーベイ : デジタル通貨の15年

40
i-WAT Trust Model Geek Credit/Ripple Trust Model * 2005 Ripple : 15 2014.10 (2) [email protected] : 15 — 2014-10-31 – p.1/37

Upload: kenji-saito

Post on 17-Jun-2015

801 views

Category:

Technology


0 download

DESCRIPTION

2014年10月31日、ギークオフィス恵比寿にて開催した斉藤賢爾研究会 2014.10「徹底サーベイ : デジタル通貨の15年」(2回目) で使用したスライドです。

TRANSCRIPT

Page 1: 徹底サーベイ : デジタル通貨の15年

i-WAT Trust Model Geek Credit/Ripple Trust Model

* 2005 年に斉藤の博士論文公聴会で使用したスライドから。Rippleが当時少なくとも概念としては存在していた証拠。

徹底サーベイ : デジタル通貨の15年斉藤賢爾研究会 2014.10 (2)

[email protected]

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.1/37

Page 2: 徹底サーベイ : デジタル通貨の15年

かんたんな自己紹介斉藤賢爾 (さいとうけんじ)慶應義塾大学 SFC研究所上席所員 (訪問)一般社団法人アカデミーキャンプ代表理事http://twitter.com/ks91020 http://www.facebook.com/ks91media

経歴1993年、コーネル大学大学院より M.Eng取得(コンピュータサイエンス)

2006年、慶應義塾大学より博士号取得 (政策・メディア)

インターネットと社会に関する研究・教育に従事慶應義塾大学 SFC村井研究室所属主な研究テーマ : 「人間のデジタル通貨」の開発と実用化

福島のこどもたちのための「アカデミーキャンプ」を実施

つながってるね!

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.2/37

Page 3: 徹底サーベイ : デジタル通貨の15年

かんたんな自己紹介斉藤賢爾 (さいとうけんじ)慶應義塾大学 SFC研究所上席所員 (訪問)一般社団法人アカデミーキャンプ代表理事http://twitter.com/ks91020 http://www.facebook.com/ks91media

経歴1993年、コーネル大学大学院より M.Eng取得(コンピュータサイエンス)

2006年、慶應義塾大学より博士号取得 (政策・メディア)

インターネットと社会に関する研究・教育に従事慶應義塾大学 SFC村井研究室所属主な研究テーマ : 「人間のデジタル通貨」の開発と実用化

福島のこどもたちのための「アカデミーキャンプ」を実施→ つながってるね!

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.2/37

Page 4: 徹底サーベイ : デジタル通貨の15年

この回の目的と手段デジタル通貨の研究開発の最近 15年を俯瞰します

2000年より過去の基礎技術についても見ます

IOU通貨→ブロックチェイン通貨の変形を試みますブロックチェインの発想の源流を探る思考実験です

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.3/37

Page 5: 徹底サーベイ : デジタル通貨の15年

トピック (青字は自分)

2000年より過去Blind signature (1983)Magic Money (1990s)Hashcash (1997)

2000∼2006年MojoNation (2000), Karma (2003)Samsara (2003), PPay (2003), i-WAT (2003)Ripple (この辺)

2007∼2014年SSC (2008)Bitcoin (2008), (altcoins), Ethereum (2014)

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.4/37

Page 6: 徹底サーベイ : デジタル通貨の15年

2000年より過去Blind signature (1983)匿名の支払いのためのデジタル署名

Magic Money (1990s)Blind signatureを応用した PGP通貨匿名プログラマ Pr0duct Cypherによる特許権を侵害していたため違法

Hashcash (1997)スパム抑止のための Proof Of WorkBitcoinの構想で応用される

背景 : インターネットの商用利用のはじまり

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.5/37

Page 7: 徹底サーベイ : デジタル通貨の15年

基礎技術 -暗号学的ハッシュ関数

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.6/37

Page 8: 徹底サーベイ : デジタル通貨の15年

基礎技術 -デジタル署名

本人が送ったものであり改竄されていないことが証明できるRSA, DSA, ECDSA (楕円曲線 DSA)等

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.7/37

Page 9: 徹底サーベイ : デジタル通貨の15年

Blind Signature

署名対象を隠してデジタル署名する乱数を被せたデータに署名してもらい、戻ってきた署名から乱数を剥ぎとる

応用イメージ (匿名での支払い)1. “造幣局”が Aさんのコインに署名する2. Aさんが Bさんに支払う3. Bさんが “造幣局”にコインを戻すが、誰のコインか判別できないDigiCash (1990)

論文 “On blind signatures and perfect crimes” (1992)が新聞を使った完全犯罪の可能性に言及

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.8/37

Page 10: 徹底サーベイ : デジタル通貨の15年

Hashcashメールヘッダに多少の CPU時間を使って計算できるスタンプを載せる例:

X-Hashcash: 1:20:060408:[email protected]::1QTjaYd7niiQA/sc:ePa

SHA-1ハッシュ値の最初の 20ビット (当時)が0になるような乱数を入れる

これによりスパムを抑止する1通のメールの送信準備に 1秒ほどかかる受信側での確認は一瞬で、スタンプが無効ならスパムと扱うスパマーは大きな打撃を受ける

Bitcoinの設計文書がこの仕組みに言及している徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.9/37

Page 11: 徹底サーベイ : デジタル通貨の15年

2000∼2006年 (青字は自分)

MojoNation (2000)ファイル取引のためのトークンサーバ

Karma (2003)DHTによるバンクセット

Samsara (2003)ストレージのバーター取引システム

PPay (2003), i-WAT (2003)IOU通貨

Ripple (この辺)支払いルーティング

背景 : P2Pの実用化と P2Pの経済的側面徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.10/37

Page 12: 徹底サーベイ : デジタル通貨の15年

DHT (Distributed Hash Table)

ハッシュ表/ハッシュテーブル<キー,値>ペアを格納し、高速にルックアップするためのデータ構造+アルゴリズム

分散ハッシュテーブルハッシュ表の考え方を拡張ネットワーク上に<キー,値>ペアを格納し、キーに対応する値をルックアップする

手法ノードの識別子とキーを暗号学的ハッシュ関数で同一の固定長ビット空間に配置当該空間上でキーに近接するノードに<キー,値>ペアを格納する

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.11/37

Page 13: 徹底サーベイ : デジタル通貨の15年

Samsara

a) Storing a claim

Data owned by x Storage claim by x

b) Forwarding the claim

c) Finding a cycle

(a) (b) (a) (b) (c)

(a) (b) (c) (a) (b) (c)

B

X

B C

B C B C A

a

x

aa

a

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.12/37

Page 14: 徹底サーベイ : デジタル通貨の15年

i-WAT取引手順の概要

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.13/37

Page 15: 徹底サーベイ : デジタル通貨の15年

i-WAT取引手順の概要

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.13/37

Page 16: 徹底サーベイ : デジタル通貨の15年

i-WAT取引手順の概要

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.13/37

Page 17: 徹底サーベイ : デジタル通貨の15年

ROT (Reduction Over Time)

機能を標準搭載、発券時に指定可能 (2005年に実応用)徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.14/37

Page 18: 徹底サーベイ : デジタル通貨の15年

Ripple

Ripple pathAさんがCさんに支払いたいが、直接つながりがないAさんはBさんに支払えるBさんはCさんに支払えるA→B→Cが ripple pathとなる

手数料を共通通貨である XRP (Ripple credits)で支払う

実装までずいぶんかかった印象

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.15/37

Page 19: 徹底サーベイ : デジタル通貨の15年

2007∼2014年 (青字は自分)

SSC (2008)Samsara + i-WATで実現するストレージ本位通貨

Bitcoin (2008), (altcoins), Ethereum (2014)ブロックチェイン通貨/分散応用プラットフォーム

背景 : 広義のサイバーフィジカルな環境の出現

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.16/37

Page 20: 徹底サーベイ : デジタル通貨の15年

ビットコインシステム

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.17/37

Page 21: 徹底サーベイ : デジタル通貨の15年

ブロックチェインの概要

1. 各マイナーは、過去 10分ほどの間に収集した取引データをブロックに格納し、マイニング (くじ引き)を行う2. 成功したらネットワーク内にブロードキャストする3. 各マイナーは、それをチェインの新しい末尾と認めるなら、その後ろにブロックを繋げるべく 1に戻る

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.18/37

Page 22: 徹底サーベイ : デジタル通貨の15年

量の限界

21万ブロック毎 (約 4年毎)に、マイナーへの報酬 (手数料除く)は半減する

このことにより 2,100万 BTCという極限値が求まる1億分の 1 BTCが最小単位なので、2140年頃、手数料を除く報酬はゼロになる

20,999,999.9769 BTCを「採掘」し終える徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.19/37

Page 23: 徹底サーベイ : デジタル通貨の15年

マイニング

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.20/37

Page 24: 徹底サーベイ : デジタル通貨の15年

ターゲットの調整ターゲットはブロックに埋め込まれている

10/31現在のターゲット (16進表記):00000000000000001E8DC0000000000000000000000000000000000000000000

その値を、マイニングが平均して 10分に 1回の割合で成功するように調整する調整は 2,016ブロック毎に行う調整が完璧であれば丁度 2週間となる実際にかかった時間と 2週間を比較し、新しいターゲットをブロックに埋め込む1

4∼ 4倍を超えて変化させない

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.21/37

Page 25: 徹底サーベイ : デジタル通貨の15年

POWによる保護

Proof Of Work (作業証明)を課すことで改ざんを抑止する徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.22/37

Page 26: 徹底サーベイ : デジタル通貨の15年

取引の形式

一度参照された出力 (=コイン)は、消費済みとなり、二度と使えない 徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.23/37

Page 27: 徹底サーベイ : デジタル通貨の15年

取引の実現方法

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.24/37

Page 28: 徹底サーベイ : デジタル通貨の15年

スクリプト (通常)

出力側:

OP_DUP OP_HASH160

OP_PUSHDATA* <公開鍵ハッシュ値 >

OP_EQUALVERIFY OP_CHECKSIG

入力側:

OP_PUSHDATA* <署名> OP_PUSHDATA* <公開鍵>

公開鍵ハッシュ値に宛てたトランザクションの出力と、参照する入力のスクリプト

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.25/37

Page 29: 徹底サーベイ : デジタル通貨の15年

スクリプトの処理

入力側→出力側の順にスクリプトを結合する左から順にスタックに積み、処理していく(実際の処理では、演算子を律儀にスタックに積む必要は無い)

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.26/37

Page 30: 徹底サーベイ : デジタル通貨の15年

スクリプト (生成)

出力側:OP_PUSHDATA* <公開鍵> OP_CHECKSIG

入力側:OP_PUSHDATA* <署名>

生成取引の出力と、参照する入力のスクリプト自分の公開鍵は知っているのでハッシュ値で指定する必要はない安全性を 160ビットに落とさずに済む

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.27/37

Page 31: 徹底サーベイ : デジタル通貨の15年

Ethereumブロックチェインの応用プラットフォームスマートコントラクトとして抽象化ある意味新たな新聞 (公知化プラットフォーム)

チューリング完全な言語 (プログラミング言語) を提供いかなる逐次アルゴリズムも記述可能

手数料を Etherで支払う

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.28/37

Page 32: 徹底サーベイ : デジタル通貨の15年

Ethereumへの懸念下位P2Pネットワークが健全であることに依存エクリプス攻撃 (経路表ポイズニング) に対して脆弱では?

スケーラブルでない構造世界のあらゆるスマートコントラクトを処理可能か?

どちらも根本的なところで分散化されていないことの問題

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.29/37

Page 33: 徹底サーベイ : デジタル通貨の15年

エクリプス攻撃

BA

DE

HI

G

C

F

- A modest number of malicious nodes eclipse correct nodes from each other's view

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.30/37

Page 34: 徹底サーベイ : デジタル通貨の15年

スケーラブルな P2Pネットワークとは

Kademliaの場合 (DHTの一種)

4 ビットの ID 空間でバケット長 k = 2の例ノード 0110から見た場合、灰色で囲まれたノード群が経路表の各バケットの対象となり、それぞれ 0∼2 個のリンク (矢印)を持てる

数十万ノードで動いている実績徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.31/37

Page 35: 徹底サーベイ : デジタル通貨の15年

ブロックチェイン通貨の終わり方終わりゆく altcoinsを観察することで分かることは?

AuroracoinCoinye

Bitcoinのようなポピュラーなシステムには適用できないかも知れない

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.32/37

Page 36: 徹底サーベイ : デジタル通貨の15年

ブロックチェイン通貨の導出IOU通貨→ブロックチェイン通貨の変形約束→量負債→汲み出し承認の集団化ブロック化、ブロックチェイン化追記人の選択方式署名チェインが維持されていることの意味

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.33/37

Page 37: 徹底サーベイ : デジタル通貨の15年

紙券 IOU通貨

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.34/37

Page 38: 徹底サーベイ : デジタル通貨の15年

デジタル IOU通貨

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.35/37

Page 39: 徹底サーベイ : デジタル通貨の15年

ブロックチェイン通貨

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.36/37

Page 40: 徹底サーベイ : デジタル通貨の15年

ご質問や議論を

徹底サーベイ : デジタル通貨の 15 年— 2014-10-31 – p.37/37