Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
EthereumのLayer構造とホットトピック
Search
CryptoAge
July 14, 2018
0
120
EthereumのLayer構造とホットトピック
Ethereumの多種多様な情報にキャッチアップする手助けになるように広く浅くトピックを拾っています。
CryptoAge
July 14, 2018
Tweet
Share
More Decks by CryptoAge
See All by CryptoAge
なぜブロックチェーンは革新的なのか?
tokyo
0
13
BnacorProtocol
tokyo
0
26
7月世界のスタートアップ20選
tokyo
0
30
The World of Web 3.0
tokyo
0
27
The Nature of Tokens and Its Possibilities
tokyo
0
17
Featured
See All Featured
Building Adaptive Systems
keathley
30
1.9k
Building Your Own Lightsaber
phodgson
98
5.7k
Building a Scalable Design System with Sketch
lauravandoore
455
32k
Build your cross-platform service in a week with App Engine
jlugia
225
17k
Git: the NoSQL Database
bkeepers
PRO
422
63k
10 Git Anti Patterns You Should be Aware of
lemiorhan
647
58k
Optimizing for Happiness
mojombo
370
69k
Web Components: a chance to create the future
zenorocha
305
41k
Gamification - CAS2011
davidbonilla
76
4.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
16
1.4k
What’s in a name? Adding method to the madness
productmarketing
PRO
15
2.6k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Transcript
EthereumのLayer構造と ホットトピック 東大Blockchain開発団体BitPenguin 大森 晃太朗
自己紹介 もりこ(大森 晃太朗) 岡山県倉敷市出身 東京大学工学部システム創成学科PSIコース4年 昨年10月ブロックチェーンのポテンシャルの高さを確信したものの、勉強できるような環境がなかったため、学科の友人とともに学生団体を立ち上げ場を 作ろうと試みる。 最近、名古屋や東北でも同じような動きが出てきて地味に嬉しい。 ※Twitter 僕→(@ktromr)
団体→(@Blockchain_UT) ※ぼちぼち海外PJの分析記事を発信していこうと思っています。よければフォローしてください!
今日の話 こんな方に向けてお話しします! 「Ethereumに興味が出てきて、調べてみようと思った。 けど、なんか色々情報出てきて結局よく分からない…。」 \ Ethereum半端ないって!アイツ半端ないって! 勉強する範囲めっちゃあるもん! そんなん勉強できひんやん普通。 /
というわけで 今日は、 Ethereumがどういう構造になっているのか と 各Layerごとのホットトピック を紹介します。 何か新しい情報が入った時、それが 「どこに起こった、どういう影響を及ぼす話なのか」 を前提として抑え、自分でキャッチアップする手助けに なることを目指します。
つまり、 ブロックチェーンプラットフォームの現状を 把握するために、 非エンジニアの方にとってみても面白いと 思うトピックを広く浅く紹介します。
EthereumのLayer構造 ※Gincoさんのブログによくまとまっているので、 ここを参考に中身を紹介していきます。 https://magazine.ginco.io/post/kisochishiki_blo ckchain_ecosystem/
EthereumのLayer構造 P2P Protocol Consensus Protocol Virtual Machine Data Scaling Machine
Scaling Basement DApps DApps
P2P Protocol ノード間の通信方法、ブロック/トランザクション の記録生成方法、ブロックの伝搬方法を規定し た層
P2P Protocol ※知っておくべきトピック 次のConsensus Protocolと不可分です。さらにサイドチェーンの仕組みと課題を理解する上で も重要。 暗号理論 ハッシュ関数、楕円曲線、秘密鍵暗号方式 ※何か適当な暗号技術入門書を読みましょう。 トランザクションについて
Segwitについて調べると大体分かる(Bitcoin、UTXOの課題、Schnorr署名) ブロックについて データ構造(StateとMarkle Tree、EOAとCA) ※この辺を参照 サイト https://zoom-blc.com/what-is-ethereum http://www.jpbitcoinblog.info/entry/20160428/1461825646 http://www.jpbitcoinblog.info/entry/20160911/1473579819 http://block-chain.jp/ethereum/ethereum-basics-for-engineer/#outline__10_1 著書 暗号技術入門(著:結城浩、僕が読んだもの)
EthereumのLayer構造 P2P Protocol Consensus Protocol Virtual Machine Data Scaling Machine
Scaling Basement DApps DApps
Consensus Protocol ビザンチン障害を含む不特定多数のノードを用 い、時間の経過とともにその時点の合意が覆る 確率が0へ収束するプロトコル(JBAの定義より) 厳密にいうと難しいので、 合意形成の仕組みを、アルゴリズムとそこに付 随するインセンティブで非中央集権的に設計し たもの
Consensus Protocol ※知っておくべきトピック PoW,PoS,PoA それぞれどういう不正(代表例:ビサンチン将軍問題)が考えられて、それをどういうインセンティヴ設計で防いでいるか押さえる。 GHOSTプロトコル Ethereumマイニングの寡占を防ぐためのプロトコル (近々改良するらしい?→White Paper「Modified GHOST
Implementation」参照) Scaling対策 PoS、Casper(生成をPoW、承認にコインをBetする、懲罰アルゴリズムSlasher) Sharding(検証をみんなで分担、Zilliqa) ※この辺を参照 サイト https://zoom-blc.com/proof-of-stake https://zoom-blc.com/slasher-in-ethereum-proof-of-stake https://zoom-blc.com/sharding-ethereum https://zoom-blc.com/ethereum-blockchain 著書 分散処理システム(著:真鍋義文、東工大川くんオススメ、ビサンチン将軍問題について分かる)
EthereumのLayer構造 P2P Protocol Consensus Protocol Virtual Machine Data Scaling Machine
Scaling Basement DApps DApps
Virtual Machine コンパイルしたバイトコードを実行するための仮 想マシン
Virtual Machine ※NTTデータ株式会社 「ブロックチェーン入門3(http://www.intellilink.co.jp/article/column/ethereum03.html)」より引用 Contract実行の様子
Virtual Machine ※注目すべきトピック チューリング完全 チューリング完全とはどういうことか?なぜチューリング完全 である必要があるのか? 関連して、悪意あるプログラムに対する対策とか。 (Ethereum White Paper「
Computation And Turing-Completeness」を参照) eWASM EVMに代わる可能性のある新しいVMの仕組み コントラクトコードの実行速度・開発環境の改善を目指す ( https://blockchain.gunosy.io/entry/2018/06/20/155726 )
EthereumのLayer構造 P2P Protocol Consensus Protocol Virtual Machine Data Scaling Machine
Scaling Basement DApps DApps
Data Scaling ブロックチェーンのデータ規模の拡張に伴う問 題を解決するための層
Data Scaling サイドチェーン技術 メインチェーンの機能拡張のために実装された補助 チェーン クロスチェーン技術 異なるブロックチェーン間を結ぶためのチェーン
Data Scaling サイドチェーン技術の代表例 トランザクション機能の拡張 Plasma(Ethereum) Lightning Network(Bitcoin) Raiden Network(Ethereum) (参照:https://zoom-blc.com/raiden-network)
プログラミング機能の拡張 Rootstock Project(Bitcoin) メインチェーンのビットコインの価値を、Rootstock上のRSKトークンの価値に固定。 Rootstock上でスマートコントラクトを構築・実行する。
Data Scaling ※クロスチェーンの代表例 Polkadot COSMOS ICON ※詳しくはこの後、東工大の川くんが説明してく れます! COSMOSについての記事 ConsenSysJP(@ConsensysMed_jp)
EthereumのLayer構造 P2P Protocol Consensus Protocol Virtual Machine Data Scaling Machine
Scaling Basement DApps DApps
Machine Scaling EVMでプログラムを実行しても、 ・処理に必要なデータをどうやって持ってくるか ・変数をどこに保持するか ・処理を計算資源にどう配分するか 等といったことは別問題。 スマートコントラクト実行のための周辺機能を担う層 ファイルデータ管理の仕組みや、メッセージングのや り方に決め事が必要。
Machine Scaling ※知っておくべきトピック Oracle ブロックチェーンの外側で起こった情報(天気や株の値動きなど)をブロック チェーンの内側に取り込む仕組み。 Project例 Augur、BlockOne IQ、ChainLink、Oraclize File/Storage
Smart Contaractの変数等を保持する領域。正確にはstorage,memory,stackに分 けられる。 Project例: Storj.io(NodeのStorage保持されているデータをバラバラにして分散管理、マーク ルツリーにしたがって復活させる) Messaging DApps間でのコミュニケーション機能。アプリ実行された通知とかも。 Project例: Status(DAppをスマホで使えるようにしたプラットフォーム)
EthereumのLayer構造 P2P Protocol Consensus Protocol Virtual Machine Data Scaling Machine
Scaling Basement DApps DApps
Basement DApps ブロックチェーンの分散型アプリケーションの基 板になるような層 DAOとかDEXとか。 ソフトボールをDAppsとしたら野球がBasement DAppsみたいな。
Basement DApps ※注目すべきトピック DEX 分散型取引所、Smart Contractによるトラストレスな取引が可 能。 0x , Keyber
Network , AirSwap DAO 中央集権的な管理者がいなくても成り立つ自律分散的な組 織(Smart ContractとAIによってルールを決める?) Colony ※この辺を参照 DEX(https://bitcoin-yoro.com/altcoin/dex) The DAO事件(Ethereumベースの分散型投資ファンドに起こった事 件) (http://www.tottemoyasashiibitcoin.net/entry/2016/12/29/143540)
Basement DApps DAOについて、Blockchainのプラットフォーム上 で実現するのかは(個人的に)懐疑的。 ただし、なぜ分散型組織の思想が出てきたの かという流れや、思想そのものは興味深い。 White Paper読みましょう。
EthereumのLayer構造 P2P Protocol Consensus Protocol Virtual Machine Data Scaling Machine
Scaling Basement DApps DApps
DApps イーサリアムの各ノード上で実行される分散型 アプリケーション。一度デプロイしたら訂正(改 竄)できない。
DApps Coinjinja、ICO Schedule、有識者のツイートから 好きなプロジェクト調べましょう。
まとめ Ethereumは全体で1つのプラットフォームであり、 一口に言っても範囲は広い! 各々の興味に応じて、必要な情報をキャッチ アップしましょう!
まとめ 個人的には、実現性的な課題こそあれ、設計思想 や、その設計思想にいたるまでの流れが面白い 例えば、 ・Consensus Protocolに考えられる不正とそれに対 するインセンティヴ設計 ・Data Scaling層ライトニングネットワークの不正を 防ぐためのプロトコルの原理
・DEXやDAO、その設計に至った理由、自律分散の 意味 などなど。
まとめ もし分からない・議論したいところがあれば Twitter:もりこ(@ktromr)までご連絡を! 一緒に勉強していけたら嬉しいです!
ご静聴ありがとうございました Thank you for your listening !!
参照 https://magazine.ginco.io/post/kisochishiki_blockchain_ecosy stem/ http://www.ikedahayato.com/20180109/73962631.html http://www.intellilink.co.jp/article/column/ethereum03.html https://zoom-blc.com/what-is-ethereum http://www.jpbitcoinblog.info/entry/20160428/1461825646 http://www.jpbitcoinblog.info/entry/20160911/1473579819 https://ethereum-japan.net/wiki/swarm/ https://qiita.com/zacky1972/items/ef4486e8a6d95edb68fd
http://gusyakarakennja.site/archives/979 https://coinotaku.com/?p=1961