54
Bitcoin 2.0の本命 Ethereum とは何か? 今回はEthereumの技術的な部分にはあまり立 ち入らず、 Ethereumとは何であるのかに焦点を 合わせます 解説Link : Tech Culture Bitcoin2.0 の本命 Ethereum とは何か

Bitcoin2.0の本命 Ethereum とは何か

Embed Size (px)

DESCRIPTION

スライドの解説はこちら: http://kurinkurin12.hatenablog.com/entry/2014/08/02/195133 Ethereum meetup fukuoka #1 Material

Citation preview

Page 1: Bitcoin2.0の本命 Ethereum とは何か

Bitcoin 2.0の本命 Ethereum とは何か?

今回はEthereumの技術的な部分にはあまり立ち入らず、Ethereumとは何であるのかに焦点を合わせます

解説Link : TechとCulture Bitcoin2.0の本命 Ethereumとは何か

Page 2: Bitcoin2.0の本命 Ethereum とは何か

• Bitcoinの特徴

• Bitcoin 2.0とは

• Bitcoin 2.0のフレームワーク Ethereum

Page 3: Bitcoin2.0の本命 Ethereum とは何か

• Bitcoinの特徴

• Bitcoin 2.0とは

• Bitcoin 2.0のフレームワーク Ethereum

Page 4: Bitcoin2.0の本命 Ethereum とは何か

国家や大企業のような組織に縛られない、P2Pサーバ上で取引認証が行われる電子通貨ができないか

2008年 Satoshi Nakamoto が解決!

Page 5: Bitcoin2.0の本命 Ethereum とは何か

特徴

• 特定組織の発行者がいない• 認証サーバはP2Pネットワークに存在 opensourceソフトで誰でも参加可能• 認証は10分毎に行われる、ある種の演算競争 最初に成功した人が新発行bitcoinをもらう• 決済コストは格安(議論あり)• 決済に国家が関与しないため世界単一市場• コンピュータ(モバイル)上で簡単な操作で決済

Page 6: Bitcoin2.0の本命 Ethereum とは何か

P2Pの任意ネットワークで実現???

Page 7: Bitcoin2.0の本命 Ethereum とは何か

•なりすまし(勝手に人のお金を使う)を防げる?•二重使用(自分のお金を複数回使う)を防げる?•P2Pの各ノードに情報が届くタイミングには差があるが一意にできる?

Bitcoinの解決策 - Blockchain technology

今日はBitcoin技術については厳密さを無視して簡単に説明します。詳しく知りたい方は、 Bitcoin福岡勉強会へ参加 !

Page 8: Bitcoin2.0の本命 Ethereum とは何か

•これまでの世界中でのBitcoin使用歴(transaction)すべてを全ノードが持っている

•10分間で行われた transactionに対して認証を行い後ろに付け加えて行く

•P2Pなので時々一意にならない時があるが、一意に収束するようになっている

全体構造

Page 9: Bitcoin2.0の本命 Ethereum とは何か

Bitcoinのtechnology

通貨は単なる電子データなので複製が簡単にできる。-> 他人のお金を使用されるリスク

デジタル署名をつなげて行くことで解決!

Page 10: Bitcoin2.0の本命 Ethereum とは何か

Bitcoinのtechnology

誰かになりすますことを防いでも、電子データ複製して本人が二重に使用することが容易。

中央集権システムでは、取引認証時に誰か現在幾ら持っているかをキープすることで簡単に管理できるがP2Pでは難しい

約10分かかる重い演算によって、一定期間の取引すべてを認証することを認証サーバ同士が競い合うことで解決 !(アカウントを大量に作って 51%取っても意味がなく、CPU powerの51%を取らないと支配できない。)

BlockChain

Page 11: Bitcoin2.0の本命 Ethereum とは何か

Bitcoinのtechnology

Mining

前ページの10分間の演算をP2Pネットワーク上の認証サーバに競わせ、競争に買ったサーバーは報酬としてBitCoinをもらう

Mining!

これを組み込んだシステム設計が Bitcoin最大の発明!

Bitcoinを欲しいと思う人が参加し、自然と世界中にP2P認証サーバネットワークが構築されて機能している!

Page 12: Bitcoin2.0の本命 Ethereum とは何か

インセンティブ設計により世界中にP2P認証サーバーが広がって、Bitcoinが機能

Blockchain technologyが正しく機能することが実証された!

Page 13: Bitcoin2.0の本命 Ethereum とは何か

• Bitcoinの特徴

• Bitcoin 2.0とは

• Bitcoin 2.0のフレームワーク Ethereum

Page 14: Bitcoin2.0の本命 Ethereum とは何か

Bitcoinの技術的イノベーションと投機話で世界中で話題に !

Page 15: Bitcoin2.0の本命 Ethereum とは何か

権威者無しの通貨!国家を超えて簡単決済!

スゴイ!!!

Page 16: Bitcoin2.0の本命 Ethereum とは何か

権威者無しの通貨!国家を超えて簡単決済!

スゴイ!!!

ちょっと待った!

Page 17: Bitcoin2.0の本命 Ethereum とは何か

ひょっとして

権威者無しのP2Pネットワークで一意な取引記録できるシステムだけでもの凄いイノベーションなんじゃないの???

Page 18: Bitcoin2.0の本命 Ethereum とは何か

BitcoinのTechnologyを通貨以外の物に適用しよう!

Bitcoin2.0

Page 19: Bitcoin2.0の本命 Ethereum とは何か

コンピュータ上のtransactionシステムを活用しようというアイデアはかなり古くから存在

Smart Contract

Page 20: Bitcoin2.0の本命 Ethereum とは何か

Smart Property

実体のあるデバイスの所有権をBlockChain technologyを用いてコントロールするコンセプト

smart contract の一種

https://en.bitcoin.it/wiki/Smart_Propertyproposed by Nick Szabo in his 1997 paper

Page 21: Bitcoin2.0の本命 Ethereum とは何か

example: 車のownership

identification keyメーカが製造時に生成ダッシュボード等でアクセス可能に

ownership key0.00….1BTC仮にT Coinとする

https://en.bitcoin.it/wiki/Smart_Property

Page 22: Bitcoin2.0の本命 Ethereum とは何か

owner売りたい

買いたい

①nonce生成して送る(車のデータをくれ! )

identification key署名noncecars public certCar’s data現owner PK最後にownerが変わったtransactionとmarkle branch

②車のデータや、本当に現 ownerかどうか署名付きのデータを貰う

④新しいownership keyを作るK2

⑤新しいtransaction作って ownerに送る。 input2があるまで無効

③支払いを受け取るKey K1を作る。価格はP

⑥input2が入って、transactionが認証されれば、ownershipがCoin払いと共に移動!

input1: P Coin output1: P CoinをK1に送るinput2: T Coin output2: T CoinをK2に送る

ownership keyT Coin

transaction

Page 23: Bitcoin2.0の本命 Ethereum とは何か

今までの契約と何か変わるの???

•自動執行

•信用度の低い相手とも契約可能

“decentralized” や “minimize trust” 等と呼ばれるコンセプトにつながって行きます

Page 24: Bitcoin2.0の本命 Ethereum とは何か

Bitcoin2.0 Project

NamecoinColored coinsMastercoinMaidSafeSwarmEthereum……..

すでにサービスインしている物もある

Page 25: Bitcoin2.0の本命 Ethereum とは何か

Namecoin

Domain Name Registrationは先に名前を取った人の物であり、同一名称は後から受け付けられない。Domain Nameを持っている人は買いたい人がいれば売る事ができる。

       Blockchain technologyそのもの!

Page 26: Bitcoin2.0の本命 Ethereum とは何か

Namecoin

基本的には first-to-fileの名前登録データベース

http://***.bit という.bitのDomain Nameの登録ができる。

***.bitを見るためにはadd-onをインストール

ICANNの力の及ばない所に存在している!

Page 27: Bitcoin2.0の本命 Ethereum とは何か

Namecoin

権威の外に存在していることの重要性

mining serverを自主的に提供する人が存在する限り止まらない!

Page 28: Bitcoin2.0の本命 Ethereum とは何か

Namecoin

どうやって実現した?

Bitcoinのような専用マイニングサーバーアプリを開発してサーバーを立ち上げた

Page 29: Bitcoin2.0の本命 Ethereum とは何か

Coloredcoins

•デジタルトークンの実現

•ColoredCoins一つが現実で何を表すか(例:株券)を発行者が決める

•非常に小さな額のbitcoinを一つのcoloredcoinに

•SmartPropertyを実現したものとも言える

  詳細を知りたい人はBitcoin福岡勉強会へ ! 山崎先生のColoredcoin プロジェクト進行中

Page 30: Bitcoin2.0の本命 Ethereum とは何か

Coloredcoins

どうやって実現した???

Bitcoin上にメタプロトコル実装

Page 31: Bitcoin2.0の本命 Ethereum とは何か

Maidsafe, storj

分散型のcloud storage

Page 32: Bitcoin2.0の本命 Ethereum とは何か

現状のBitcoin2.0の実現方法

1. 独自のP2P blockchain サーバーネットワークを立ち上げる Namecoinが行ったが大変

2. Bitcoin上にメタプロトコルを作る Coloredcoinが行ったが、SPVができない等欠点あり

3. Bitcoinのスクリプトを利用する (bitcoinの通常のやり取りもscript実行です)

最も簡単に実現できるがスクリプトでできることに制限あり

Page 33: Bitcoin2.0の本命 Ethereum とは何か

Bitcoinスクリプトの弱点は?

•Turing完全性の欠如 ループが無い等

•Value-Blindness 支払い量を細かくコントロールできない

•Lack of State 支払いをするか•しないかを選択するのみ

•Blockchain-Blindness blockchainの値を参照できない

Page 34: Bitcoin2.0の本命 Ethereum とは何か

新たにP2P Blockchainサーバー群を立ち上げれば何でもできるが非常に難しい

BitcoinのスクリプトやBitcoin上のメタプロトコルではできることに制限がある

この問題を解決するのが Ethereum!

Page 35: Bitcoin2.0の本命 Ethereum とは何か

• Bitcoinの特徴

• Bitcoin 2.0とは

• Bitcoin 2.0のフレームワーク Ethereum

Page 36: Bitcoin2.0の本命 Ethereum とは何か

Ethereumとは何か?

いきなり結論を書くと

Page 37: Bitcoin2.0の本命 Ethereum とは何か

Ethereumとは何か?

Smart contract & Decentralized Application

Platform

インターネットの構造を変える 社会の構造を変える

Page 38: Bitcoin2.0の本命 Ethereum とは何か

Ethereumとは何か?

と言っても???となると思いますが、非常に大きなパラダイムシフトにチャレンジするコンセプトなので、これから少しづつ説明していきます。

Page 39: Bitcoin2.0の本命 Ethereum とは何か

Ethereumとは何か?

Technology的には、

Turing完全なプログラミング言語実行できる仮想マシンをBlockchainに組み込んだもの

Page 40: Bitcoin2.0の本命 Ethereum とは何か

外部アカウント   秘密鍵コントロール

• nonce• Ether balance(Ethereは暗号貨幣)• storage

contract アカウント  

• nonce• Ether balance• contract code• storage(key/valueストア)

message 

を送ることができる

Ethereum の2種類のアカウント

Bitcoinのアカウントみたいなもの

ユーザが書いたコードが格納されているmessageを受け取って起動する

Page 41: Bitcoin2.0の本命 Ethereum とは何か

トークンシステム

from = msg.sender

to = msg.data[0]

value = msg.data[1]

if contract.storage[from] >= value:

contract.storage[from] = contract.storage[from] - value

contract.storage[to] = contract.storage[to] + value

少ない行数でsmart propertyを実現

Page 42: Bitcoin2.0の本命 Ethereum とは何か

その他、実現できることの例

•金融デリバティブ ボラタリティの高い仮想通貨と政府発行通貨とのヘッジ

•名前登録システム like Namecoin。評判システムと連動させる等

•誰もが自分のディスクを貸し出す Dropbox的なサービス

•多段のmultisig

•複数署名エスクロー

•参加型クラウドコンピューティング

•予測市場

状態を持っていて、Turing完全な言語でcontractを記述できるため複雑な契約が実現可能!

Smart Contractのプラットフォーム

Page 43: Bitcoin2.0の本命 Ethereum とは何か

Decentralized Application

誰でも参加したい人が参加してシステムの一部になる

   会社や国のようなAuthorityが存在しない(誰のものでもない)

このようなアプリケーションが大量に出てくるプラットフォームに

構造がこれまでの物と根本的に異なる。(bitcoinやBitTorentをイメージ)

Page 44: Bitcoin2.0の本命 Ethereum とは何か

Decentralized Autonomous Organizations

仮想的なエンティティで、67%以上のメンバー、またはシェアホルダーがファンドを使ったり、コードを書き換える権利を持つ

Page 45: Bitcoin2.0の本命 Ethereum とは何か

CryptoeconomicにおけるIPO

cryptcurrencyで予算を集めてサービス開発サービスに使用するcryptcurrencyを発行サービスの人気が出ると発行したcryptcurrencyの価値が上がる

予測市場的資金集め -> DAOで開発 -> Cryptoeconomic的IPO現状の市場のVCスキームと比較してハードルを下げる

色々不明瞭な点はまだ残るが、イノベーションのハードルを下げる

Page 46: Bitcoin2.0の本命 Ethereum とは何か

Dr.Gavin Wood presentation

Web3.0

Swarm = BitTorent likeWhisper = P2P messagingEthereum = contract issue

静的データはSwarmで送り動的部分はWhisperで

Internetを decentralizedな構造に戻す

Page 47: Bitcoin2.0の本命 Ethereum とは何か

Browser開発でインターネットの構造を変える

現状はインターネット使用するために権威への依存を避けられない様々なデータを権威に取得される

リアルな世界と同じように人と人がコミュニケーションする世界

Page 48: Bitcoin2.0の本命 Ethereum とは何か

If you must trust, trust people, not orgs!

Dr.Gavin Wood

Page 49: Bitcoin2.0の本命 Ethereum とは何か

大きな組織のAuthorityで語る世界から、独立した個人と個人が話す原始的な村へ

Page 50: Bitcoin2.0の本命 Ethereum とは何か

栗元の個人的感想

Page 51: Bitcoin2.0の本命 Ethereum とは何か

アプリケーションは沢山思いつく

人々が勝手に増殖させていく P2P mesh網

負担額、メリット、利益等のバランスの取れたインセンティブ設計が重要

市民から発生するイノベーションのハードルを下げる

Make cultureとの親和性

Shareの精神との親和性

Page 52: Bitcoin2.0の本命 Ethereum とは何か

気になる点

まだPoC5 (proof of concept5)

scalabilityがあるか?

実装のデバッグの大変さ

Page 53: Bitcoin2.0の本命 Ethereum とは何か

gcc & glibc プロプラエタリからフリーソフトへ

linux & git オープンソースでバザール開発

Ethereum Decentralized!

Hucker Culture

Page 54: Bitcoin2.0の本命 Ethereum とは何か

Decentralize!

まとめ