SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
Copyright ©2016 HAW International Inc. all rights reserved.
e-ZUKA Tech Night
Bitcoinのブロックチェーンで
できるコントラクト
2016/08/10
株式会社ハウインターナショナル
安土茂亨
Copyright ©2016 HAW International Inc. all rights reserved.
株式会社ハウインターナショナル
Blockchainに関する取り組み
•共同研究
‣カラードコインの電子投票などへの応用
‣Open Assets Protocolの実装の一つである
openassets-rubyを独自開発しGithubで公開
‣共同研究者
- 近畿大学 産業理工学部 山崎重一郎 教授
● 専門分野:暗号技術など
•製品・サービス開発
‣Congrechain
‣ブロックチェーン実証環境Chaintope
‣Open Assets Explorer
Copyright ©2016 HAW International Inc. all rights reserved.
Blockchainのデータ構造
Block
Transaction Input
Output
Block Block Block
Transaction
Transaction
Input
Output
Output
Output
Output
10 min 10 min 10 min
Copyright ©2016 HAW International Inc. all rights reserved.
Blockchainのデータ構造
Transaction
Input
Output
Input
Output
Output
Transaction
Input
Output
Output
Transaction
Input
Output
Input
Output
Output
Transaction
Input
Input
…
入力は必ず既存のトランザク
ションの出力と1対1になる
入力に使われていない出力(UTXO)が
使用可能なBitcoinの量
Copyright ©2016 HAW International Inc. all rights reserved.
通常のBitcoinの送付
Transaction
Output (3 BTC)Input (5 BTC)
Output (2 BTC)
【Address】
1Kci5….iNbt
【Address】
19XW….VpA
アリス
ボブ
アリスからボブに3 BTCを送付
②署名
③ブロードキャスト
①トランザクションを作成
Copyright ©2016 HAW International Inc. all rights reserved.
アドレスの種類
● P2PKH(Pay to PubKey Hash)
”1”から始まる一般的に利用されるアドレスで、
相手の公開鍵ハッシュへ支払う。
BTCを受け取ったユーザは、公開鍵ハッシュに対応する
秘密鍵を使えばBTCを使用できる。
● P2SH(Pay to Script Hash)
”3”から始まるアドレスで、公開鍵に代わって任意の
スクリプトのハッシュへ支払う。
このBTCを利用するには元のScript(redeem script)を
知り、その解除条件を満たす必要がある。
Copyright ©2016 HAW International Inc. all rights reserved.
Bitcoinで使えるScript
BitcoinにはTransaction内にスタック型のScriptが記述でき、
このScriptを使ってBitcoinの取引を行っている。
P2PKHを使った送金であれば ↓
このロックを解除するのが
● 署名と公開鍵をスタックにPUSH
● OP_DUPでスタックの一番上のアイテム(公開鍵)をコピー
● OP_HASH160で一番上のアイテム(公開鍵)の
RIPMED160(SHA256×2)のハッシュ値を返却
● OP_EQUALVERIFYでさっき計算したハッシュ値とトランザクションの
公開鍵のハッシュが一致するかチェック
● OP_CHECKSIGで署名が公開鍵に対応したものかチェック
OP_DUP OP_HASH160 公開鍵ハッシュ OP_EQUALVERIFY OP_CHECKSIG
公開鍵に対応した秘密鍵による署名 公開鍵
Copyright ©2016 HAW International Inc. all rights reserved.
マルチシグ
Bitcoinを使用する際に複数個の署名を必要とする仕組み。
3人のうち2人の署名があればBitcoinを使用できる
アリス ボブ キャロル
2 アリスの公開鍵 ボブの公開鍵 キャロルの公開鍵 3 CHECKMULTISIG
2-of-3のマルチシグScript
Copyright ©2016 HAW International Inc. all rights reserved.
タイムロック
将来のある時点までBitcoinをロックする仕組み
● OP_CLTV(Check Locktime Verify)
絶対時刻でロックする方法
この出力を指定ブロック高 or 指定時刻までロックする
● OP_CSV(Check Sequence Verify)
相対時間でロックする方法
この出力を持つトランザクションがBlockに含まれてから
○○ブロック経過するまでロックする
Copyright ©2016 HAW International Inc. all rights reserved.
Scriptを組み合わせて作るコントラクト
● 有効期限のあるエスクロー
アリスとボブとエスクローのうち2つの署名があれば、
いつでもBitcoinを利用可能だが、30日経過すると
アリスの署名だけでBitcoinを利用可能になる。
IF
2 <アリスの公開鍵> <ボブの公開鍵> <エスクローの公開鍵> 3 CHECKMULTISIGVERIFY
ELSE
"30d" CHECKSEQUENCEVERIFY DROP
<アリスの公開鍵> CHECKSIGVERIFY
ENDIF
Copyright ©2016 HAW International Inc. all rights reserved.
Scriptを組み合わせて作るコントラクト
● 資金の凍結
● 期間限定クーポン
Open Assets等のアセットと組み合わせて
期間を限定したクーポンアセットを表現
IF
<アリスの公開鍵> CHECKSIGVERIFY
ELSE
"30d" CHECKSEQUENCEVERIFY DROP
<管理者の公開鍵> CHECKSIGVERIFY
ENDIF
<凍結時間> CHECKLOCKTIMEVERIFY DROP DUP HASH160 <所有者の公開
鍵> EQUALVERIFY CHECKSIG
Copyright ©2016 HAW International Inc. all rights reserved.
P2SH(Pay to Script Hash)
<凍結時間> CHECKLOCKTIMEVERIFY DROP DUP HASH160 <所有者の公開
鍵> EQUALVERIFY CHECKSIG
03883e0db1752103e39299dcced3f711fd5042bb491d6351ec38b1e05140817
9ca579f1d7b4ac80bac
c367b99a86f207d6345ff37a32b7001a64fc70f4
シリアライズ
ハッシュ生成
HASH160 c367b99a86f207d6345ff37a32b7001a64fc70f4 EQUAL
P2SHスクリプト作成
3NB4S1dZew1kYzxyikM2T6qEsF2mZ3zCzLk
P2SHアドレス
Copyright ©2016 HAW International Inc. all rights reserved.
Bitcoin 2.0と呼ばれるプロダクトの一種。
Bitcoinに色付けをすることで株式、証券、ユーザ独自通貨等のあらゆる資産
を表現し、Blockchain上でアセットの発行や送付を可能にするプロトコル。
Bitcoinと異なり、発行主体が存在するため債権債務関係などを構成できる。
第三者機関による
オーソリティが必要
Open Assets Protocol
従来の権利の移転
Blockchainにおける権利の移転
Block Block Block
Transaction
Output
Input
第三者機関
ブロードキャスト
署名
Copyright ©2016 HAW International Inc. all rights reserved.
Asset IDによる色付け
色を識別するID = Asset ID(発行者の秘密鍵から生成)
“AJk2Gx5V67S2wNuwTK5hef3TpHunfbjcmX”
Asset Quantity
Asset QuantityでBitcoinとは別にアセットの量を定義
Metadata
アセットに関する定義をJSONで定義
※約款のような位置付け
Open Assets Protocolに登場する概念
Copyright ©2016 HAW International Inc. all rights reserved.
BitcoinのBlockchainの上位Protocol
Transaction
Input
Output
Input
Output
Output
通常のBitcoinのトランザクションにMarker Outputと呼ばれる特殊な出力を
1つ加えることでOpen Assetsのトランザクションになる
OP_RETURN 4f41010001904e00...
Marker Output
OAP Marker 4f41
Version number 0100
Asset quantity count 1
Asset quantity list [ 2000 ]
Metadata length 16
Metadata u=http://goo.gl/fS4mEj
Bitcoinの上位Protocolであるため
Bitcoinの制約を受けるが、
BitcoinのScriptなど機能は
そのまま利用可能
Copyright ©2016 HAW International Inc. all rights reserved.
Bitcoinで作るコントラクト
Bitcoinではコインのロック及びその解除条件を
Scriptとして記述し、コントラクトを表現する。
● マルチシグ
● タイムロック(OP_CLTV、OP_CSV)
● SIGHASH_TYPEによる部分的な署名
● etc...

Contenu connexe

Tendances

[2020.08.28 銀座Rails #24]Rails で Distributed Tracing をやる
[2020.08.28 銀座Rails #24]Rails で Distributed Tracing をやる[2020.08.28 銀座Rails #24]Rails で Distributed Tracing をやる
[2020.08.28 銀座Rails #24]Rails で Distributed Tracing をやるKaito Minatoya
 
5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組み5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組みRyo Shimamura
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解するKenji Urushima
 
Deconstruction of Serverless and blockchain
Deconstruction of Serverless and blockchainDeconstruction of Serverless and blockchain
Deconstruction of Serverless and blockchainTakahiro Hayashida
 
ビットコイン~原理からソースまで~
ビットコイン~原理からソースまで~ビットコイン~原理からソースまで~
ビットコイン~原理からソースまで~bitbank, Inc. Tokyo, Japan
 
ブロックチェーンの解説 In.live ppt
ブロックチェーンの解説 In.live pptブロックチェーンの解説 In.live ppt
ブロックチェーンの解説 In.live pptAsteria Corporation
 
JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602Masashi Sato
 
ブロックチェインとOpen asset protocol
ブロックチェインとOpen asset protocolブロックチェインとOpen asset protocol
ブロックチェインとOpen asset protocolKindai University
 
暗号通貨輪読会 #20 bloXroute
暗号通貨輪読会 #20 bloXroute暗号通貨輪読会 #20 bloXroute
暗号通貨輪読会 #20 bloXrouteNagato Kasaki
 
データベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみたデータベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみたHyperleger Tokyo Meetup
 
ブロックチェーンの技術と動向
ブロックチェーンの技術と動向ブロックチェーンの技術と動向
ブロックチェーンの技術と動向Koichi Masukura
 
ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性Kenji Saito
 
図解 Blockchainの仕組み
図解 Blockchainの仕組み図解 Blockchainの仕組み
図解 Blockchainの仕組みNisei Kimura
 
電子情報通信学会グローバル社会とビットコイン(山崎)
電子情報通信学会グローバル社会とビットコイン(山崎)電子情報通信学会グローバル社会とビットコイン(山崎)
電子情報通信学会グローバル社会とビットコイン(山崎)Kindai University
 
分散型台帳技術Orb DLTの紹介
分散型台帳技術Orb DLTの紹介分散型台帳技術Orb DLTの紹介
分散型台帳技術Orb DLTの紹介Orb, Inc.
 
ブロックチェーンまとめ
ブロックチェーンまとめブロックチェーンまとめ
ブロックチェーンまとめHarukiKondo
 
ブロックチェーンの基本構造
ブロックチェーンの基本構造ブロックチェーンの基本構造
ブロックチェーンの基本構造Soichiro Takagi
 

Tendances (20)

ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)
 
[2020.08.28 銀座Rails #24]Rails で Distributed Tracing をやる
[2020.08.28 銀座Rails #24]Rails で Distributed Tracing をやる[2020.08.28 銀座Rails #24]Rails で Distributed Tracing をやる
[2020.08.28 銀座Rails #24]Rails で Distributed Tracing をやる
 
5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組み5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組み
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解する
 
Deconstruction of Serverless and blockchain
Deconstruction of Serverless and blockchainDeconstruction of Serverless and blockchain
Deconstruction of Serverless and blockchain
 
ビットコイン~原理からソースまで~
ビットコイン~原理からソースまで~ビットコイン~原理からソースまで~
ビットコイン~原理からソースまで~
 
ブロックチェーンの解説 In.live ppt
ブロックチェーンの解説 In.live pptブロックチェーンの解説 In.live ppt
ブロックチェーンの解説 In.live ppt
 
JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602
 
Congre chain説明資料
Congre chain説明資料Congre chain説明資料
Congre chain説明資料
 
ブロックチェインとOpen asset protocol
ブロックチェインとOpen asset protocolブロックチェインとOpen asset protocol
ブロックチェインとOpen asset protocol
 
暗号通貨輪読会 #20 bloXroute
暗号通貨輪読会 #20 bloXroute暗号通貨輪読会 #20 bloXroute
暗号通貨輪読会 #20 bloXroute
 
データベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみたデータベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみた
 
ブロックチェーンの技術と動向
ブロックチェーンの技術と動向ブロックチェーンの技術と動向
ブロックチェーンの技術と動向
 
ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性
 
図解 Blockchainの仕組み
図解 Blockchainの仕組み図解 Blockchainの仕組み
図解 Blockchainの仕組み
 
電子情報通信学会グローバル社会とビットコイン(山崎)
電子情報通信学会グローバル社会とビットコイン(山崎)電子情報通信学会グローバル社会とビットコイン(山崎)
電子情報通信学会グローバル社会とビットコイン(山崎)
 
分散型台帳技術Orb DLTの紹介
分散型台帳技術Orb DLTの紹介分散型台帳技術Orb DLTの紹介
分散型台帳技術Orb DLTの紹介
 
ブロックチェーンまとめ
ブロックチェーンまとめブロックチェーンまとめ
ブロックチェーンまとめ
 
ブロックチェーン活用事例
ブロックチェーン活用事例ブロックチェーン活用事例
ブロックチェーン活用事例
 
ブロックチェーンの基本構造
ブロックチェーンの基本構造ブロックチェーンの基本構造
ブロックチェーンの基本構造
 

Similaire à e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト

OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月
OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月
OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月VirtualTech Japan Inc.
 
Open stack概要とよくある議論
Open stack概要とよくある議論Open stack概要とよくある議論
Open stack概要とよくある議論shintaro mizuno
 
201711 OpenStack Summit Sydney Report
201711 OpenStack Summit Sydney Report201711 OpenStack Summit Sydney Report
201711 OpenStack Summit Sydney ReportTakashi Torii
 
2016/4/16 Softlayer Bluemix Community Festa 2016講演資料
2016/4/16 Softlayer Bluemix Community Festa 2016講演資料2016/4/16 Softlayer Bluemix Community Festa 2016講演資料
2016/4/16 Softlayer Bluemix Community Festa 2016講演資料Mitsutoshi Kiuchi
 
Open stack概要 lpi-opcelサミット(当日用)
Open stack概要 lpi-opcelサミット(当日用)Open stack概要 lpi-opcelサミット(当日用)
Open stack概要 lpi-opcelサミット(当日用)shintaro mizuno
 
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.Kensaku Komatsu
 
OpenStack Summit Sydney Report (NEC鳥居) - OpenStack最新情報セミナー
OpenStack Summit Sydney Report (NEC鳥居) - OpenStack最新情報セミナーOpenStack Summit Sydney Report (NEC鳥居) - OpenStack最新情報セミナー
OpenStack Summit Sydney Report (NEC鳥居) - OpenStack最新情報セミナーVirtualTech Japan Inc.
 
Free Hardware and Open Processes | フリー・ハードウェアとオープン・プロセス
Free Hardware and Open Processes | フリー・ハードウェアとオープン・プロセスFree Hardware and Open Processes | フリー・ハードウェアとオープン・プロセス
Free Hardware and Open Processes | フリー・ハードウェアとオープン・プロセスChen Dominique
 
OpenStack Summit Vancouver Summary
OpenStack Summit Vancouver SummaryOpenStack Summit Vancouver Summary
OpenStack Summit Vancouver SummaryIkuo Kumagai
 
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月VirtualTech Japan Inc.
 
大規模Webを支えるAgileな技術
大規模Webを支えるAgileな技術大規模Webを支えるAgileな技術
大規模Webを支えるAgileな技術bash0C7
 
Web of Thingsの現状とWebRTC活用の可能性
Web of Thingsの現状とWebRTC活用の可能性Web of Thingsの現状とWebRTC活用の可能性
Web of Thingsの現状とWebRTC活用の可能性Kensaku Komatsu
 
新プロジェクト Hyperledger Cactus のご紹介
新プロジェクト Hyperledger Cactus のご紹介新プロジェクト Hyperledger Cactus のご紹介
新プロジェクト Hyperledger Cactus のご紹介Hyperleger Tokyo Meetup
 
SkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaSSkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaSKensaku Komatsu
 
OpenStack Congress Deep Dive
OpenStack Congress Deep DiveOpenStack Congress Deep Dive
OpenStack Congress Deep Divemasahito12
 
最新事例から学ぶビッグデータの活用法 #ocif16 #hortonworks
最新事例から学ぶビッグデータの活用法 #ocif16 #hortonworks最新事例から学ぶビッグデータの活用法 #ocif16 #hortonworks
最新事例から学ぶビッグデータの活用法 #ocif16 #hortonworksKimihiko Kitase
 
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針Hyperleger Tokyo Meetup
 
IETF96 Update oauth tokbind
IETF96 Update oauth tokbindIETF96 Update oauth tokbind
IETF96 Update oauth tokbindKaoru Maeda
 
OSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack OverviewOSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack Overviewirix_jp
 

Similaire à e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト (20)

OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月
OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月
OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月
 
Open stack概要とよくある議論
Open stack概要とよくある議論Open stack概要とよくある議論
Open stack概要とよくある議論
 
201711 OpenStack Summit Sydney Report
201711 OpenStack Summit Sydney Report201711 OpenStack Summit Sydney Report
201711 OpenStack Summit Sydney Report
 
2016/4/16 Softlayer Bluemix Community Festa 2016講演資料
2016/4/16 Softlayer Bluemix Community Festa 2016講演資料2016/4/16 Softlayer Bluemix Community Festa 2016講演資料
2016/4/16 Softlayer Bluemix Community Festa 2016講演資料
 
Open stack概要 lpi-opcelサミット(当日用)
Open stack概要 lpi-opcelサミット(当日用)Open stack概要 lpi-opcelサミット(当日用)
Open stack概要 lpi-opcelサミット(当日用)
 
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
 
OpenStack Summit Sydney Report (NEC鳥居) - OpenStack最新情報セミナー
OpenStack Summit Sydney Report (NEC鳥居) - OpenStack最新情報セミナーOpenStack Summit Sydney Report (NEC鳥居) - OpenStack最新情報セミナー
OpenStack Summit Sydney Report (NEC鳥居) - OpenStack最新情報セミナー
 
Free Hardware and Open Processes | フリー・ハードウェアとオープン・プロセス
Free Hardware and Open Processes | フリー・ハードウェアとオープン・プロセスFree Hardware and Open Processes | フリー・ハードウェアとオープン・プロセス
Free Hardware and Open Processes | フリー・ハードウェアとオープン・プロセス
 
OpenStack Summit Vancouver Summary
OpenStack Summit Vancouver SummaryOpenStack Summit Vancouver Summary
OpenStack Summit Vancouver Summary
 
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
 
大規模Webを支えるAgileな技術
大規模Webを支えるAgileな技術大規模Webを支えるAgileな技術
大規模Webを支えるAgileな技術
 
Web of Thingsの現状とWebRTC活用の可能性
Web of Thingsの現状とWebRTC活用の可能性Web of Thingsの現状とWebRTC活用の可能性
Web of Thingsの現状とWebRTC活用の可能性
 
新プロジェクト Hyperledger Cactus のご紹介
新プロジェクト Hyperledger Cactus のご紹介新プロジェクト Hyperledger Cactus のご紹介
新プロジェクト Hyperledger Cactus のご紹介
 
SkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaSSkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaS
 
OpenStack Congress Deep Dive
OpenStack Congress Deep DiveOpenStack Congress Deep Dive
OpenStack Congress Deep Dive
 
最新事例から学ぶビッグデータの活用法 #ocif16 #hortonworks
最新事例から学ぶビッグデータの活用法 #ocif16 #hortonworks最新事例から学ぶビッグデータの活用法 #ocif16 #hortonworks
最新事例から学ぶビッグデータの活用法 #ocif16 #hortonworks
 
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
 
IETF96 Update oauth tokbind
IETF96 Update oauth tokbindIETF96 Update oauth tokbind
IETF96 Update oauth tokbind
 
OSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack OverviewOSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack Overview
 
Contiv
ContivContiv
Contiv
 

Dernier

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Dernier (11)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト

  • 1. Copyright ©2016 HAW International Inc. all rights reserved. e-ZUKA Tech Night Bitcoinのブロックチェーンで できるコントラクト 2016/08/10 株式会社ハウインターナショナル 安土茂亨
  • 2. Copyright ©2016 HAW International Inc. all rights reserved. 株式会社ハウインターナショナル Blockchainに関する取り組み •共同研究 ‣カラードコインの電子投票などへの応用 ‣Open Assets Protocolの実装の一つである openassets-rubyを独自開発しGithubで公開 ‣共同研究者 - 近畿大学 産業理工学部 山崎重一郎 教授 ● 専門分野:暗号技術など •製品・サービス開発 ‣Congrechain ‣ブロックチェーン実証環境Chaintope ‣Open Assets Explorer
  • 3. Copyright ©2016 HAW International Inc. all rights reserved. Blockchainのデータ構造 Block Transaction Input Output Block Block Block Transaction Transaction Input Output Output Output Output 10 min 10 min 10 min
  • 4. Copyright ©2016 HAW International Inc. all rights reserved. Blockchainのデータ構造 Transaction Input Output Input Output Output Transaction Input Output Output Transaction Input Output Input Output Output Transaction Input Input … 入力は必ず既存のトランザク ションの出力と1対1になる 入力に使われていない出力(UTXO)が 使用可能なBitcoinの量
  • 5. Copyright ©2016 HAW International Inc. all rights reserved. 通常のBitcoinの送付 Transaction Output (3 BTC)Input (5 BTC) Output (2 BTC) 【Address】 1Kci5….iNbt 【Address】 19XW….VpA アリス ボブ アリスからボブに3 BTCを送付 ②署名 ③ブロードキャスト ①トランザクションを作成
  • 6. Copyright ©2016 HAW International Inc. all rights reserved. アドレスの種類 ● P2PKH(Pay to PubKey Hash) ”1”から始まる一般的に利用されるアドレスで、 相手の公開鍵ハッシュへ支払う。 BTCを受け取ったユーザは、公開鍵ハッシュに対応する 秘密鍵を使えばBTCを使用できる。 ● P2SH(Pay to Script Hash) ”3”から始まるアドレスで、公開鍵に代わって任意の スクリプトのハッシュへ支払う。 このBTCを利用するには元のScript(redeem script)を 知り、その解除条件を満たす必要がある。
  • 7. Copyright ©2016 HAW International Inc. all rights reserved. Bitcoinで使えるScript BitcoinにはTransaction内にスタック型のScriptが記述でき、 このScriptを使ってBitcoinの取引を行っている。 P2PKHを使った送金であれば ↓ このロックを解除するのが ● 署名と公開鍵をスタックにPUSH ● OP_DUPでスタックの一番上のアイテム(公開鍵)をコピー ● OP_HASH160で一番上のアイテム(公開鍵)の RIPMED160(SHA256×2)のハッシュ値を返却 ● OP_EQUALVERIFYでさっき計算したハッシュ値とトランザクションの 公開鍵のハッシュが一致するかチェック ● OP_CHECKSIGで署名が公開鍵に対応したものかチェック OP_DUP OP_HASH160 公開鍵ハッシュ OP_EQUALVERIFY OP_CHECKSIG 公開鍵に対応した秘密鍵による署名 公開鍵
  • 8. Copyright ©2016 HAW International Inc. all rights reserved. マルチシグ Bitcoinを使用する際に複数個の署名を必要とする仕組み。 3人のうち2人の署名があればBitcoinを使用できる アリス ボブ キャロル 2 アリスの公開鍵 ボブの公開鍵 キャロルの公開鍵 3 CHECKMULTISIG 2-of-3のマルチシグScript
  • 9. Copyright ©2016 HAW International Inc. all rights reserved. タイムロック 将来のある時点までBitcoinをロックする仕組み ● OP_CLTV(Check Locktime Verify) 絶対時刻でロックする方法 この出力を指定ブロック高 or 指定時刻までロックする ● OP_CSV(Check Sequence Verify) 相対時間でロックする方法 この出力を持つトランザクションがBlockに含まれてから ○○ブロック経過するまでロックする
  • 10. Copyright ©2016 HAW International Inc. all rights reserved. Scriptを組み合わせて作るコントラクト ● 有効期限のあるエスクロー アリスとボブとエスクローのうち2つの署名があれば、 いつでもBitcoinを利用可能だが、30日経過すると アリスの署名だけでBitcoinを利用可能になる。 IF 2 <アリスの公開鍵> <ボブの公開鍵> <エスクローの公開鍵> 3 CHECKMULTISIGVERIFY ELSE "30d" CHECKSEQUENCEVERIFY DROP <アリスの公開鍵> CHECKSIGVERIFY ENDIF
  • 11. Copyright ©2016 HAW International Inc. all rights reserved. Scriptを組み合わせて作るコントラクト ● 資金の凍結 ● 期間限定クーポン Open Assets等のアセットと組み合わせて 期間を限定したクーポンアセットを表現 IF <アリスの公開鍵> CHECKSIGVERIFY ELSE "30d" CHECKSEQUENCEVERIFY DROP <管理者の公開鍵> CHECKSIGVERIFY ENDIF <凍結時間> CHECKLOCKTIMEVERIFY DROP DUP HASH160 <所有者の公開 鍵> EQUALVERIFY CHECKSIG
  • 12. Copyright ©2016 HAW International Inc. all rights reserved. P2SH(Pay to Script Hash) <凍結時間> CHECKLOCKTIMEVERIFY DROP DUP HASH160 <所有者の公開 鍵> EQUALVERIFY CHECKSIG 03883e0db1752103e39299dcced3f711fd5042bb491d6351ec38b1e05140817 9ca579f1d7b4ac80bac c367b99a86f207d6345ff37a32b7001a64fc70f4 シリアライズ ハッシュ生成 HASH160 c367b99a86f207d6345ff37a32b7001a64fc70f4 EQUAL P2SHスクリプト作成 3NB4S1dZew1kYzxyikM2T6qEsF2mZ3zCzLk P2SHアドレス
  • 13. Copyright ©2016 HAW International Inc. all rights reserved. Bitcoin 2.0と呼ばれるプロダクトの一種。 Bitcoinに色付けをすることで株式、証券、ユーザ独自通貨等のあらゆる資産 を表現し、Blockchain上でアセットの発行や送付を可能にするプロトコル。 Bitcoinと異なり、発行主体が存在するため債権債務関係などを構成できる。 第三者機関による オーソリティが必要 Open Assets Protocol 従来の権利の移転 Blockchainにおける権利の移転 Block Block Block Transaction Output Input 第三者機関 ブロードキャスト 署名
  • 14. Copyright ©2016 HAW International Inc. all rights reserved. Asset IDによる色付け 色を識別するID = Asset ID(発行者の秘密鍵から生成) “AJk2Gx5V67S2wNuwTK5hef3TpHunfbjcmX” Asset Quantity Asset QuantityでBitcoinとは別にアセットの量を定義 Metadata アセットに関する定義をJSONで定義 ※約款のような位置付け Open Assets Protocolに登場する概念
  • 15. Copyright ©2016 HAW International Inc. all rights reserved. BitcoinのBlockchainの上位Protocol Transaction Input Output Input Output Output 通常のBitcoinのトランザクションにMarker Outputと呼ばれる特殊な出力を 1つ加えることでOpen Assetsのトランザクションになる OP_RETURN 4f41010001904e00... Marker Output OAP Marker 4f41 Version number 0100 Asset quantity count 1 Asset quantity list [ 2000 ] Metadata length 16 Metadata u=http://goo.gl/fS4mEj Bitcoinの上位Protocolであるため Bitcoinの制約を受けるが、 BitcoinのScriptなど機能は そのまま利用可能
  • 16. Copyright ©2016 HAW International Inc. all rights reserved. Bitcoinで作るコントラクト Bitcoinではコインのロック及びその解除条件を Scriptとして記述し、コントラクトを表現する。 ● マルチシグ ● タイムロック(OP_CLTV、OP_CSV) ● SIGHASH_TYPEによる部分的な署名 ● etc...