Bitcoin2.0の本命 Ethereum とは何か

Preview:

DESCRIPTION

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

Citation preview

Bitcoin 2.0の本命 Ethereum とは何か?

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

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

• Bitcoinの特徴

• Bitcoin 2.0とは

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

• Bitcoinの特徴

• Bitcoin 2.0とは

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

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

2008年 Satoshi Nakamoto が解決!

特徴

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

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

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

Bitcoinの解決策 - Blockchain technology

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

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

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

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

全体構造

Bitcoinのtechnology

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

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

Bitcoinのtechnology

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

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

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

BlockChain

Bitcoinのtechnology

Mining

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

Mining!

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

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

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

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

• Bitcoinの特徴

• Bitcoin 2.0とは

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

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

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

スゴイ!!!

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

スゴイ!!!

ちょっと待った!

ひょっとして

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

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

Bitcoin2.0

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

Smart Contract

Smart Property

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

smart contract の一種

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

example: 車のownership

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

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

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

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

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

•自動執行

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

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

Bitcoin2.0 Project

NamecoinColored coinsMastercoinMaidSafeSwarmEthereum……..

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

Namecoin

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

       Blockchain technologyそのもの!

Namecoin

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

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

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

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

Namecoin

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

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

Namecoin

どうやって実現した?

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

Coloredcoins

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

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

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

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

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

Coloredcoins

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

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

Maidsafe, storj

分散型のcloud storage

現状のBitcoin2.0の実現方法

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

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

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

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

Bitcoinスクリプトの弱点は?

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

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

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

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

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

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

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

• Bitcoinの特徴

• Bitcoin 2.0とは

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

Ethereumとは何か?

いきなり結論を書くと

Ethereumとは何か?

Smart contract & Decentralized Application

Platform

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

Ethereumとは何か?

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

Ethereumとは何か?

Technology的には、

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

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

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

contract アカウント  

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

message 

を送ることができる

Ethereum の2種類のアカウント

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

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

トークンシステム

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を実現

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

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

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

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

•多段のmultisig

•複数署名エスクロー

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

•予測市場

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

Smart Contractのプラットフォーム

Decentralized Application

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

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

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

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

Decentralized Autonomous Organizations

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

CryptoeconomicにおけるIPO

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

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

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

Dr.Gavin Wood presentation

Web3.0

Swarm = BitTorent likeWhisper = P2P messagingEthereum = contract issue

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

Internetを decentralizedな構造に戻す

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

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

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

If you must trust, trust people, not orgs!

Dr.Gavin Wood

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

栗元の個人的感想

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

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

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

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

Make cultureとの親和性

Shareの精神との親和性

気になる点

まだPoC5 (proof of concept5)

scalabilityがあるか?

実装のデバッグの大変さ

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

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

Ethereum Decentralized!

Hucker Culture

Decentralize!

まとめ

Recommended