41
(2) (IoT ) 2015.2 [email protected] (2) — 2015-02-27 – p.1/41

深読みビットコイン (2) コンセンサスの行方

Embed Size (px)

Citation preview

深読みビットコイン (2)コンセンサスの行方

(IoTとブロックチェインのつれない関係)

斉藤賢爾研究会 2015.2

[email protected]

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.1/41

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

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

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

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

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

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.2/41

最新刊『角川インターネット講座 (10)

第三の産業革命経済と労働の変化』第 9章インターネットと金融 –弱体化する貨幣経済(2015)

ジャンル:ピケティは関係ありません

金融での FPGAの応用に始まりビットコインについても触れながら章の最後には人工知能と地球規模 OSの話に

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.3/41

この回の目的と手段デジタル技術によるコンセンサス基盤とその応用について考えます

ビットコインを契機にして立ち起こったコンセンサス基盤のためのさまざまな技術を振り返ります現存するコンセンサス技術をサイバーフィジカル/IoT環境に適用することに関する問題を提起しますサイバーフィジカル : 物理環境のサイバー化IoT : Internet of Things

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.4/41

おさらい –ブロックチェイン

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.5/41

ブロックチェインとは?ブロックのチェイン

ブロック←トランザクション (取引)の集まりトランザクション←状態の変化の記述

パブリッシングのプラットフォーム“A timestamp server works by taking a hash of a block ofitems to be timestamped and widely publishing the hash,such as in a newspaper or Usenet post”

“To implement a distributed timestamp server on apeer-to-peer basis, we will need to use a proof-of-worksystem similar to Adam Back’s Hashcash, rather thannewspaper or Usenet posts”

– Satoshi Nakamoto (2008)

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.6/41

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

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.7/41

基礎技術 -デジタル署名

本人が送ったものであり改竄されていないことが証明できるRSA, DSA, ECDSA (楕円曲線 DSA)等トランザクションはデジタル署名される

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.8/41

ブロックチェインの概要 (ビットコインの場合)

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

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.9/41

ブロックチェインの (現在までの)応用通貨例 : ビットコイン、ライトコイン、. . .

存在証明例 : Proof of Existence

ネームサービス例 : ネームコイン

DAO/DAC —自律分散 (企業)組織例 : ビットコイン、. . .ユーザを株主、ビットコインを株式、採掘者たちを従業員と考えればそのプログラムコードは、株式の移転を業とするその組織の経営の仕方を記述していると見なすこともできる

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.10/41

地球規模OS (2007)

複数主体による地球上の資源の利用を調整する

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.11/41

基盤としての地球規模OS金融・貨幣経済システムを時代遅れにする決済システムを内包プログラミング言語を内包コードが社会の規範をかたちづくる

人的資源を含む地球上の資源の会計システム人々が業を起こすための基盤政府も、営利組織も、NPO/NGOも利用できる

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.12/41

Proof of Work (作業証明)再訪

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.13/41

Proof of Workとは?計算コストを投入したことの証明

作業は困難だが、その結果の検証は容易それにより、スパムや不正行為を抑止する

例 : Hashcash (1997)メールヘッダに SHA-1ハッシュ値の最初の 20ビット (当時)が 0になるような乱数を用いたスタンプを載せる

1 通のメールの送信準備に 1 秒ほどかかる受信側での確認は一瞬で、スタンプが無効ならスパムと扱う

ハッシュ値/ダイジェストを用いる場合の一般化あるターゲット以下になるようなダイジェストとなるデータを見つけよ

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.14/41

マイニング (ビットコインの場合)

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.15/41

ターゲットの調整 (ビットコインの場合)

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.16/41

POWによる保護

Proof Of Work (作業証明)を課すことで改ざんを抑止する深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.17/41

Proof of Workの課題 (ビットコインの場合)

エネルギー消費パワーの集約

ASIC化マイニングプール

ブロックチェインを維持する動機と無関係全ブロックを保存していなくてもマイニング自体は可能(ただしトランザクションを検証できない)

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.18/41

Dagger HashimotoアルゴリズムEthereum v1.0で採用予定のハッシュ関数Dagger (V. Buterin) + Hashimoto (T. Dryja)

Hashimotoブロックチェインデータに対する頻繁なメモリI/Oに基づく

Dagger有向非巡回グラフへのアクセスに基づき、検証を軽量化

⇒ ASIC化を抑止し、軽量クライアントにより検証可能で、ブロックチェインデータの保持が動機づけられる

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.19/41

Proof of Stake (持ち分証明)

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.20/41

Proof of Stakeとは?ブロックを生成できる確率が、当該コインの持ち分の多さに応じて上昇する次の利点をもつと言われるエネルギー消費が低い (無視できる)集約がより困難 (コインの過半数を所有できるか)

ピアコインなどで採用される

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.21/41

Proof of Stakeの一般式

digestn(prev_digest + id + timestamp + . . .) ≤2n × balance

difficulty

digestn : nビット値を出力する暗号学的ハッシュ関数(ex. SHA-256 (n = 256))

prev_digest : 直前のブロックのダイジェストid : アカウントの識別子 (ex. 公開鍵のダイジェスト)

timestamp : 時刻 (ex. UNIX時刻 (秒))

balance : 当該アカウントの残高difficulty : 難易度 (ex. コインの総量)

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.22/41

Proof of Stakeの 3つの問題1. コインの溜め込み2. “Nothing at Stake”短期的問題長期的問題

3. 低コスト 51%攻撃

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.23/41

コインの溜め込み持ち分が多い方が有利なので、コインは溜め込まれ、使われない傾向が生じる貨幣メディアとしての基本機能が阻害される

対策 : Proof of Stake Velocity古いコインの持ち分評価を下げるReddcoinなどで採用される

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.24/41

Nothing at Stake -短期的問題

事故または故意にチェインが分岐した場合、参加者には事態を収拾する動機がない何も賭けていない

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.25/41

Nothing at Stake -長期的問題

システムを開始した者は何度でも全体をやり直せるジェネシスブロックの時点で持ち分は 100%

その他の参加者も、持ち分さえあればそこからやり直せる素の Proof of Stakeでは偽造を抑止できない

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.26/41

低コスト 51%攻撃コインの過半数を取得する意思と、そのための十分な資金の証拠を表明するすると、システムの正常な維持が期待できないと予想されるため、コインの価格が急落するそこでコインを買い占める

原理的には、ほとんどコストを払わずにコインの過半数を入手できる

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.27/41

Rippleのコンセンサスモデル

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.28/41

Rippleとは?支払い経路の発見にもとづく決済システムRipple path

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

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

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.29/41

用語体系コンセンサスネットワーク全体が同一のレッジャーに合意するプロセス

レッジャーシステムの状態のスナップショット全員の口座残高や与信情報などを含むハッシュ木により実装

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.30/41

レッジャーとトランザクション

システムはレッジャーの歴史を単一に維持するレッジャーはトランザクションの集合により変化する

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.31/41

UNLと信用UNL : Unique Node List共謀しないことを信用できる実名の検証ノード群

ユーザはそれぞれ 1,000ノード以上から成る UNLを選択する異なる大陸から 200ずつ選べとか、商業・金融・非営利・政党・宗教など異なるカテゴリーから選べとか、いろいろ推奨されるが . . .

実用上はクライアントソフトウェアのデフォルトUNLを利用する

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.32/41

重複する UNLとコンセンサスUNL内の多数決で「採用するトランザクション集合」を決めるが . . .

最大で 80%のノードの合意が必要互いと共通のノードを持たない UNLを採用すると、コンセンサスは達成できない実用上は UNLのノードは重複すると前提できる

二重消費の検出と無効化トランザクションはソートされ、矛盾するふたつのトランザクションのうち先のものが採用される

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.33/41

Ethereumとその応用

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.34/41

Ethereumとは?ブロックチェイン技術を応用そこにプログラミング言語を載せるスマートコントラクトのための分散アプリケーション基盤スマートコントラクト :デジタルに表現される資産を予め定められたルールに従って自動的に移転させる仕組み

現在の金融・貨幣経済システムを時代遅れにしようとする意図が見える

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.35/41

ブロックチェインと状態遷移

ブロックチェイン =状態マシンの run

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.36/41

用語体系Ether

Ethereumにおける通貨外部アクターデジタル署名できる実在で、アカウントをもつ

自律オブジェクトシステム内で自律動作し、アカウントをもつ

アカウントEther残高をもち、ストレージや EVMコードをもてる

EVMコードスマートコントラクトのプログラム

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.37/41

EVM : Ethereum Virtual Machine

自律オブジェクトがメッセージを受けると起動し、コントラクトを実行実行ステップ毎に Gasの供給が必要

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.38/41

応用可能性として語られるもの通貨デリバティブ等の金融商品ネームサービス、評判システム分散ファイルストレージDAO/DAC

IoT

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.39/41

IoTとブロックチェインのつれない関係センシング (物理世界の情報の取得)過去のデータのパブリッシングには有効ただしデータの順序性は原理的に保証されないブロックチェインのタイムスタンプは実時間ではない過去のデータが新しいブロックに載ることがある

アクチュエーション (物理世界への働きかけ)いつ I/Oを出すのか?

EVMからは出せない (複数のマイナーが冗長に実行するため)

ブロックが確定する時刻だとすれば確率的将来の I/Oを予約することは実用上可能かも洗濯機は本当に制御できるのか?

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.40/41

ご質問や議論を

深読みビットコイン (2)コンセンサスの行方— 2015-02-27 – p.41/41