Mais conteúdo relacionado
Semelhante a ブロックチェーン連続講義 第7回 スマートコントラクト (20)
ブロックチェーン連続講義 第7回 スマートコントラクト
- 11. CSP とチョコレート自動販売機
CSP : Communicating Sequential Processes
並行システム内の相互作用を記述する形式言語
例 : チョコレート自動販売機と人間の相互作用
VendingMachine = coin → choc → STOP
Person = (coin → STOP) [] (card → STOP)
合成すると . . .
VendingMachine |[{coin,card}]| Person
≡ coin → choc → STOP
ブロックチェーン連続講義 第 7 回「スマートコントラクト」 — 2016-04-08 – p.11/38
- 16. 契約って何だっけ?
契約とは (by 広辞苑)
1. 約束
2. 対立する複数の意思表示の合致によって成立
する法律行為
贈与・売買・交換・貸借・請負・雇用・委任・寄託などが
その例
成立の本質的要件
当事者間の意思表示の合致
そのためのメディアは
口頭、握手、石に彫る、紙 (手書き)、紙 (印刷)、. . .
機械でできることは?
cf.「メディアがメッセージだ」by McLuhan
ブロックチェーン連続講義 第 7 回「スマートコントラクト」 — 2016-04-08 – p.16/38
- 18. イーサリアムとは?
Vitalik Buterin, “Ethereum White Paper: A NEXT
GENERATION SMART CONTRACT &
DECENTRALIZED APPLICATION PLATFORM”
ブロックチェーン技術を応用
平均ブロック間隔約 12 秒
そこにプログラミング言語を載せる
チューリング完全
分散アプリケーションのための基盤
現在の金融・貨幣経済システムを時代遅れにしようと
する意図が見える
スマートコントラクトとはそもそもそういうもの
ブロックチェーン連続講義 第 7 回「スマートコントラクト」 — 2016-04-08 – p.18/38
- 21. EVM : Ethereum Virtual Machine
自律オブジェクトがメッセージを受けると起動し、コントラクトを実行
実行ステップ毎に Gas の供給が必要
ブロックチェーン連続講義 第 7 回「スマートコントラクト」 — 2016-04-08 – p.21/38
- 23. Solidity サンプルコード
contract metaCoin {
mapping (address => uint) balances;
function metaCoin() {
balances[msg.sender] = 10000;
}
function sendCoin(address receiver, uint amount) returns(bool sufficient) {
if (balances[msg.sender] < amount) return false;
balances[msg.sender] -= amount;
balances[receiver] += amount;
return true;
}
}
by hshimo さん
ブロックチェーン連続講義 第 7 回「スマートコントラクト」 — 2016-04-08 – p.23/38
- 26. ADEPT と洗濯機
ADEPT : IBM の IoT 研究プロジェクト
ブロックチェーンを用いた洗濯機の例が出てくる
一体何をやる?
モーターは制御できない
ブロックチェーン連続講義 第 7 回「スマートコントラクト」 — 2016-04-08 – p.26/38