40
Smart Contract とと 1 契契契 契契契契契契契契契 By Tomoaki Sato

約束としてのスマートコントラクト (Smart contract as a way of promise) 

Embed Size (px)

Citation preview

Page 1: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

Smart Contract とは

1

契約書・電子契約書との比較

By Tomoaki Sato

Page 2: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

2

より安価に、より確実に、より早く合意形成とその執行を行うための技術

スマートコントラクトとは

Page 3: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

今回は、合意の形成と執行には、合意内容を当事者以外に分散することが必要であるという前提に基づき、

分散型ネットワーク側の方の話をします。(パブリックチェーン・コンソーシアムチェーン)と呼ばれます。

3

前提条件

Private

A B

CD

Public Public

中央集権型・ネットワークの参加に許可が必要なネットワーク

分散型・ネットワークの参加に許可の無いネットワーク

Copyright© 2016 Smart Contract Japan

Page 4: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

4

分かりやすく考えると

どうすれば約束が効率的かつ確実に果たされるように出来るのかを考える。

Page 5: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

前提条件

約束が執行される確度の高さ   オンラインで完結する世界  >  オフラインとオンラインの 両方の事象を考える世界

5

先ずはオンラインの事象だけを考えると

Page 6: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

6

前提条件

1 . 個人や法人のお金が絡む様々な宣言や、約束は、お金が絡まない約束よりも信頼性が低いものとなる。

2. 約束が必ず行われるようにするには、当事者以外に約束を「分散」して当事者たちを制約することが必要

3 . オンラインで完結する世界はオフラインの事象が混じる世界よりも確実に約束通りの内容が起こる

4 . 「約束」の流れは、約束の1 . 形成、2 . 分散、3 . 執行

Page 7: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

7

1.合意内容の形成

紙の法律の契約書

安さ 早さ 確実さ

契約書を作成し費用がかかる

電子契約書

スマートコントラクト

公正証書の作成までいくと費用がかかる

自然言語であるため読みやすく齟齬が生じずらい

契約書作成に費用がかかる、紙より安い

内容をメールのようにして電子的にやりとり出来、早い

自然言語であるため読みやすい齟齬が生じずらい

技術の普及と発展と共にコストが下がる

内容をメールのようにして電子的にやりとり出来、早い

プログラミングコードを理解できなければならない

Page 8: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

8

2.合意内容の分散

公正証書の作成には費用と時間がかかる

公正証書の作成には時間がかかる

国家の信頼において果たされる

電子公正証書の作成には費用がかかる

電子公正証書の作成には時間がかかる

国家の信頼において果たされる

当事者以外の他の nodeに分散し、費用は 0

2016 年現在分散は 17 秒程でできる

プロトコルへの信頼において分散が果たされる

紙の法律の契約書

安さ 早さ 確実さ

電子契約書

スマートコントラクト

Page 9: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

9

3.合意内容の執行 ( 双方合意で揉めなかった場合 )

契約書を使う必要がある1 契約 (100 円以上 )

契約書を使う必要があり( 1 日 -1 ヶ月 )

契約書の内容と異なる内容が果たされている可能性がある ( メリットでもデメリットでもある)契約書を使う必要はな

く、安い(ないし 0)契約書を使う必要はなく、早い(ないし 0)

契約書の内容と異なる内容が果たされている可能性がある

契約書をコンピューターによって実行、高くても100 JPY以内

契約書をコンピューターによって実行、 10分以内に執行

合意内容と全く同一の内容が果たされる

紙の法律の契約書

安さ 早さ 確実さ

電子契約書

スマートコントラクト

Page 10: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

10

3.合意内容の執行 ( 双方合意せず揉めた場合 )

契約書を裁判所で証拠とし、高い費用がかかる

契約書を裁判所で証拠とし、高い費用がかかる

契約書の内容と異なる内容が果たされている可能性がある

契約書を裁判所で証拠とし、高い費用がかかる

契約書を裁判所で証拠とし、高い費用がかかる

契約書の内容と異なる内容が果たされている可能性がある

契約内容をコンピューターが実行、高くても100 JPY以内

契約内容をコンピューターが実行、 10 分以内に執行

合意内容と全く同一の内容が果たされる(例外処理として記載された処理)

紙の法律の契約書

安さ 早さ 確実さ

電子契約書

スマートコントラクト

Page 11: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

11

スマートコントラクトの書き方における現在の法的なベストプラクティス

電子契約書

スマートコントラクト

必要なこと:電子契約書の内容をスマートコントラクト内に保存する(ブロックチェーン上で電子契約書+スマートコントラクトのコードに合意する)

手段:電子契約書の内容への同意 => 電子署名電子契約書が同意されたことへのタイムスタンプ => ブロックチェーン上に記載容量の問題(ブロックチェーン上に大容量のドキュメントは保存出来ない、ないし高コスト) => IPFS, Storj, Swarm 等の分散型ストレージに保存し、ハッシュ値をスマートコントラクトに記載

Page 12: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

12

合意形成 分散 執行

安価で大量の定型化された合意(例 :ウェブ・アプリサービス利用規約、デバイス間コミュニケーション)

多数のコンピューターが監視している状況であればあるほど確実に執行また、安価で高速

スマートコントラクトが生きそうな部分は

資産の移転について移転履歴を証明できる形で残したい合意( OTC デリバティブ)

大量の合意に対してテンプレを素早く適用

ファイル共有システムのようにコンピューター間で互いに合意内容を分散低コスト・高速

合意通りの資産の移転が起こるため監査証跡や、資産の移転証明として使用可能

分散することによって移転履歴が改ざんされない形で残る

メールのような形で細かい契約内容を互いに合意することが出来る。

Page 13: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

13

例えば、

A さんに 100万円を貸すことになり、1年後に 105万円にして返して貰う約束をしたい場合

A さんに保証人をつける、A さんが返さなかった時には強制労働させられるような条項を付けておく、A さんの信用力がなくなったら50万円取り敢えず返してもらうようにする。

A さんに貸す際のリスクのヘッジ方法

Page 14: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

14

例えば、

A さんに保証人をつける(分散化)、A さんが返さなかった時には強制労働させられるような条項を付けておく(例外処理)、A さんの信用力がなくなったら50万円取り敢えず返してもらうようにする。(継続的な監視)。

A さんに 100万円を貸すことになり、1年後に 105万円にして返して貰う約束をしたい場合

Page 15: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

15

合意の確実な執行がなされるようにするために様々な方法がある

A さんに保証人をつける(分散化) => 勝手に A さんの保証人からお金が振り込まれてくるA さんが返さなかった時には強制労働させられるような条項を付けておく(例外処理)=> 勝手に A さんが強制労働を始めるA さんの信用力を常に確認する(継続的な監視)。=> A さんの信用力が落ちたら自動的に50万円返してもらう

A さんに 100万円を貸すことになり、1年後に 105万円にして返して貰う約束をしたい場合

Page 16: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

16

合意の確実な執行に役立ちそうな性質

分散化例外処理の追加継続的な状態の監視可用性の向上当事者間だけで合意内容を執行出来る(第三者への信用を分散することによって、 普遍的に情報処理を行うことが出来る)

Page 17: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

17

分散型システムとスマートコントラクト

Page 18: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

18

1.合意内容をプログラミングコードへ1.2者間でスマートコントラクトを結ぶ

A は B に1年後に105万円を返します。

貸す人 B

借りる人 A

A は B に1年後に105万円を返します。

Page 19: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

19

2.合意内容の分散

実際はもっと多く何千 -何万

A は B に1年後に105万円を返します。

貸す人 B

借りる人 A

A は B に1年後に105万円を返します。

A は B に1年後に105万円を返します。

A は B に1年後に105万円を返します。A は B に1年後に105万円を返します。

Page 20: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

20

2.合意内容の分散:冗長性

合意内容が消失しても分散されていることによってより安全に保管される

A は B に1年後に105万円を返します。

貸す人 B

借りる人 A

A は B に1年後に105万円を返します。

A は B に1年後に105万円を返します。

A は B に1年後に105万円を返します。

Page 21: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

21

2.合意内容の分散:改ざん耐性の向上

合意内容が改ざんされても分散されていることによって真実が多数決によって分かる。

A は B に1年後に1円を返します。

A は B に1年後に105万円を返します。

A は B に1年後に105万円を返します。

A は B に1年後に105万円を返します。

A は B に1年後に105万円を返します。

Page 22: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

22

2.合意内容の分散:約束した当人たちのコントロールからも離れる

約束を伝播した時点で、当人のコントロールから離れ、将来的に確実に果たされる約束になる

A は B に1年後に1円を返します。

A は B に1年後に105万円を返します。

A は B に1年後に105万円を返します。

A は B に1年後に105万円を返します。

A は B に1年後に105万円を返します。

Page 23: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

23

3.合意内容の執行

執行=状態の変更コードを実行して各ノードの状態が全て変更される

A: -105万円B : + 105万円

A: -105万円B : + 105万円

A: -105万円B : + 105万円

A: -105万円B : + 105万円

A: -105万円B : + 105万円

Page 24: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

24

3.合意内容の執行:執行後が確定する

変更後の状態を持つノードが消失・改ざんされても状態は保たれる

A: -105万円B : + 105万円

A: -105万円B : + 105万円

A: -105万円B : + 105万円

A: -105万円B : + 105万円

A: -105万円B : + 105万円

Page 25: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

25

3.合意内容の執行:透明な合意内容の執行

変更の履歴が残るので、不正の防止や、監査証跡として使用することが可能

A: -105万円B : + 105万円

A: -105万円B : + 105万円

A: -105万円B : + 105万円

A: -105万円B : + 105万円

A: -105万円B : + 105万円

Page 26: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

前提条件

約束が執行される確度の高さ   オンラインで完結する世界  >  オフラインとオンラインの 両方の事象を考える世界

26

オフラインとオンラインの両方の事象を考えると

Page 27: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

27

オフラインの事象を全てオンラインへ

Page 28: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

28

もう少し正確にいうと、オフラインの事象を全てオンラインへ送り、ブロックチェーンを“ Source of Truth” に出来るのか?

Page 29: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

ブロックチェーン上で確認することの出来ない事実の提供者をオラクルと呼びます。

29

2016 年1月1日東京で雨がふった 

○☓  花子さんが現在生きているかどうか

六本木のけやき坂x番の自動販売機は電源が付いているかどうか

オバマ大統領が 2015 年のアメリカ合衆国大統領選挙で勝利した

今日東京で雨がふった 

こういった誰かがブロックチェーン上に提供してくれないと分からない情報

Page 30: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

世の中で知られている定義

30

“Oracle provides information which can not be validated or verified by blockcain.”

Page 31: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

Oracle の実装方法

31

Prediction markets(予測市場)

Smart Oracle (コードの同一性の検証VM環境、 API の提供、

ネットワーク上のノードへの分散請求・領収記録)

Single Oracle (特定のブロックチェーンへの

 ブロックチェーンのプロトコルに沿った

事実の提供)

誰が情報を提供するか?

不特定多数の重み付けされた投票

特定の誰か 特定の誰か

Page 32: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

32

その他のスマートコントラクトによるメリット(約束という意味からは少し外れます)

Page 33: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

メリット

33

透明な取引の執行 他のサービスとの互換性の向上潰れないプロトコルの制作

Page 34: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

例)取引の執行の透明性の向上によって

34

会社の会計業務の効率化( Tripple Entry Accounting )

金融取引において、不正が行われていないことの自己証明

信託銀行・金融機関が資産保全状況を自ら開示

Page 35: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

例)潰れないプロトコルの作成によって

35

参加者が1人でもいる限り永遠にサービスが継続される

例)ユーザー数が損益分岐点を突破しなかったウェブサービスは潰れる

社会福祉等、マイノリティのための社会基盤としても使用可能

Page 36: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

例)他サービスとの互換性の向上によって

36

様々なイベントと連動して自動執行される契約の作成許可無しで 使うことが出来る

金融マーケットのイベント

保険の結果

土地の登記情報の変更

天候の変化

・ファンドレイジング達成・トークン完売・リファンド・特定の個人 / 法人からの トランザクションの承認 

ファンドレイジング

・ Google の株価の 5% の下落・フラッシュ・クラッシュの発生・日経平均株価の 17,000 円超え

・  

・ P2P での保険における公平な保険金の

Page 37: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

その他懸念内容 : 契約内容の暗号化

37

Ethereum + IPFS can solve

IPFS work in progress native-encrypt/decrypt functionality

IPFS を用いて契約文書自体を暗号化して分散してそのハッシュをコントラクトに保存

紙の文書での契約文書と自動執行されるスマートコントラクトどちらも暗号化されて本人以外には見えない形で保存することが出来る。

Page 38: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

オンラインの事象をオフラインへ(例:会社登記)

38

Otonomos - Company automatically formed and managed on Ethereum blockchain

Using decentralized techonologies, IPFS, Ethereum, Key rotation scheme, Smart Contracts, then users can form, establish, manage companies online without any annoying paper work.

Fast/Cheap/Digital

Page 39: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

オンラインの事象をオフラインへ(例:予測市場)

39

Why Decentralization is important ?

Augur – Decentralized Prediction market for searching truth in the world

Using Blockchain technologies, we can make “Truth” maker with “Wisdom of the crowd”

Augur built decentralized prediction market. Prediction market sometimes suddenly shutted down by government power, but Augur will thrive forever.

Reliable/Transparent/Interoperable

Page 40: 約束としてのスマートコントラクト (Smart contract as a way of promise) 

40

Thank you for taking time to see, we hope you join the global decentralization movement !