Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Ethereumホワイトペーパー
ざっくり解説
Tomohiro Matsuo @gakutomo
Ethereumとは?
DApps(非中央集権型アプリケーション)を実行で
きるプラットフォーム
例:Namecoin
分散型名前登録データベース
ICANN無しにブロックチェーンでドメイン管理
そもそもDappsってなに
X.com 987A.com 234
B.com 123
Z.com 321
独自のブロックチェーンを作る方法
- 規模が小さいとブロックチェーンの正当性を保ちにくい
DAppを作る方法は大きく3つ
どの方法も欠点がある
Bitcoinのブロックチェーンを土台とする方法
- スケーラビリティが無い
Bitcoinのスクリ...
Ethereum
そこで分散・非中央集権型アプリのためのプラットフォーム
特定のひとつ、あるいはいくつかのアプリケーションのためだけに設計さ
れたブロックチェーンをつくる代わりに、あらゆる目的のために使えるブロ
ックチェーンのプラットフォームをつくればいいんじゃないかと気づいたん
だ。少しのコードを書いて、アップロー...
Ethereumの概観
コードA
コードB
コードC
①コードを生成
② コードがブロックに書き込まれる
コードA
コードB
コード
Ethereumの概観
コードA
コードB
コードC
コードA
コードB
コードC’
③コードCを実行させる
メッセージを送信
④ 実行結果が次のブロックで反映
コードA
コードB
名前登録サービスなら…
コードA
コードB
コードC
①コードを生成
② コードがブロックに書き込まれる
コードA
コードB
ドメイン名が空いていれば
IPアドレスを登録する
名前登録サービスなら…
コードA
コードB
コードC
コードA
コードB
コードC
Matsuo.com
123.234.345
③コードCを実行させる
④ 実行結果が次のブロックで反映
コードA
コードB
コードCへ
Matsuo.com,
...
もうちょっとくわしく
①コードの生成
Ethereumでは2種類のアカウントがある
EOAはContract Accountを生成できる
Contract AccountExternally Owned Account
コード
②ブロックに書き込まれる
アカウントは状態を保持
・アカウントのアドレス
・Etherの残高
・コード
・ストレージ
* Etherは手数料を支払うための内
部通過
EOA
Address: 14c5f..8ba
Balance:15 ethe...
③コードを実行させる
EOAはContractにメッセージを送ることで
コードを実行させることができる
メッセージの内容
・宛先アドレス
・送信者の署名
・送るEtherの量
・データ
・STARTGAS
・GASPRICE
コード
コードの実行にはgasが必要
STARTGAS
コード実行に伴う計算ステップ数の最大値
GASPRICE
1計算ステップ数あたりの手数料
gas = STARTGAS ✕ GASPRICE
さらに、メッセージのサイズ1byte あたり 5 ga...
④コードの実行
ノードのEVM(Ethereum Virtual Machine)で実行
下記のような高級言語Serpentで記述し
EVM codeと呼ばれる低級言語へ
Key/Value型のストレージを利用できる。
受信したメッセージにアク...
Ethereumの利用例
スマートコントラクト
契約書をコードとして書き込み、第三者機関の介入無しに
債務履行を勝手に行ってくれるもの
コード
① ②
③③
買い手 売り手
トークンシステム
def send(to, value):
if self.storage[msg.sender] >= value:
self.storage[msg.sender] = self.storage[msg.sender] – ...
その他にも
・ギャンブル
・分散データフィード
・分散型ファイルストレージ
・保険
Etc…
まとめ
特定の目的を持つプロトコルではなく、チューリング完全なプロ
グラミング言語によってあらゆるアプリケーションが作成できる
プラットフォームである
今後の金融および非金融の多くのプロトコルの
基礎レイヤーになっていくことが期待される
Upcoming SlideShare
Loading in …5
×
Upcoming SlideShare
Ethereumとはなにか(日本海賊党ニコ生資料)
Next
Download to read offline and view in fullscreen.

2

Share

Download to read offline

Ethereumホワイトペーパーざっくり解説

Download to read offline

Ethereumのホワイトペーパーを簡単にまとめてみました。
http://gacktomo.hatenablog.com/

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Ethereumホワイトペーパーざっくり解説

  1. 1. Ethereumホワイトペーパー ざっくり解説 Tomohiro Matsuo @gakutomo
  2. 2. Ethereumとは? DApps(非中央集権型アプリケーション)を実行で きるプラットフォーム
  3. 3. 例:Namecoin 分散型名前登録データベース ICANN無しにブロックチェーンでドメイン管理 そもそもDappsってなに X.com 987A.com 234 B.com 123 Z.com 321
  4. 4. 独自のブロックチェーンを作る方法 - 規模が小さいとブロックチェーンの正当性を保ちにくい DAppを作る方法は大きく3つ どの方法も欠点がある Bitcoinのブロックチェーンを土台とする方法 - スケーラビリティが無い Bitcoinのスクリプト言語を使用する方法 - チューリング完全性がない
  5. 5. Ethereum そこで分散・非中央集権型アプリのためのプラットフォーム
  6. 6. 特定のひとつ、あるいはいくつかのアプリケーションのためだけに設計さ れたブロックチェーンをつくる代わりに、あらゆる目的のために使えるブロ ックチェーンのプラットフォームをつくればいいんじゃないかと気づいたん だ。少しのコードを書いて、アップロードするだけで、個別のアプリケーショ ンのためのブロックチェーンシステムが手に入れられるようなプラットフォ ームだ。 考案者によると Wired インタビューページより引用 https://wired.jp/special/2017/vitalik-buterin/
  7. 7. Ethereumの概観 コードA コードB コードC ①コードを生成 ② コードがブロックに書き込まれる コードA コードB コード
  8. 8. Ethereumの概観 コードA コードB コードC コードA コードB コードC’ ③コードCを実行させる メッセージを送信 ④ 実行結果が次のブロックで反映 コードA コードB
  9. 9. 名前登録サービスなら… コードA コードB コードC ①コードを生成 ② コードがブロックに書き込まれる コードA コードB ドメイン名が空いていれば IPアドレスを登録する
  10. 10. 名前登録サービスなら… コードA コードB コードC コードA コードB コードC Matsuo.com 123.234.345 ③コードCを実行させる ④ 実行結果が次のブロックで反映 コードA コードB コードCへ Matsuo.com, 123.234.345
  11. 11. もうちょっとくわしく
  12. 12. ①コードの生成 Ethereumでは2種類のアカウントがある EOAはContract Accountを生成できる Contract AccountExternally Owned Account コード
  13. 13. ②ブロックに書き込まれる アカウントは状態を保持 ・アカウントのアドレス ・Etherの残高 ・コード ・ストレージ * Etherは手数料を支払うための内 部通過 EOA Address: 14c5f..8ba Balance:15 ether Contract Address: e5a3..62d Balance:0 ether Contract code: xxxx Storage: []
  14. 14. ③コードを実行させる EOAはContractにメッセージを送ることで コードを実行させることができる メッセージの内容 ・宛先アドレス ・送信者の署名 ・送るEtherの量 ・データ ・STARTGAS ・GASPRICE コード
  15. 15. コードの実行にはgasが必要 STARTGAS コード実行に伴う計算ステップ数の最大値 GASPRICE 1計算ステップ数あたりの手数料 gas = STARTGAS ✕ GASPRICE さらに、メッセージのサイズ1byte あたり 5 gas が必要
  16. 16. ④コードの実行 ノードのEVM(Ethereum Virtual Machine)で実行 下記のような高級言語Serpentで記述し EVM codeと呼ばれる低級言語へ Key/Value型のストレージを利用できる。 受信したメッセージにアクセス可能 if !contract.storage[msg.data[0]]: contract.storage[msg.data[0]] = msg.data[1]
  17. 17. Ethereumの利用例
  18. 18. スマートコントラクト 契約書をコードとして書き込み、第三者機関の介入無しに 債務履行を勝手に行ってくれるもの コード ① ② ③③ 買い手 売り手
  19. 19. トークンシステム def send(to, value): if self.storage[msg.sender] >= value: self.storage[msg.sender] = self.storage[msg.sender] – value self.storage[to] = self.storage[to] + value 独自のトークンシステムを構築できる これを利用した ICO (Initial Coin Offering) が盛ん
  20. 20. その他にも ・ギャンブル ・分散データフィード ・分散型ファイルストレージ ・保険 Etc…
  21. 21. まとめ 特定の目的を持つプロトコルではなく、チューリング完全なプロ グラミング言語によってあらゆるアプリケーションが作成できる プラットフォームである 今後の金融および非金融の多くのプロトコルの 基礎レイヤーになっていくことが期待される
  • NafaC

    Feb. 9, 2018
  • arandoros

    Dec. 27, 2017

Ethereumのホワイトペーパーを簡単にまとめてみました。 http://gacktomo.hatenablog.com/

Views

Total views

1,115

On Slideshare

0

From embeds

0

Number of embeds

350

Actions

Downloads

15

Shares

0

Comments

0

Likes

2

×