SlideShare a Scribd company logo
1 of 32
Download to read offline
マルチシグネチャアドレス
(multisignature address)
の作成方法・送金方法
2014年4月20日
モナーコインで遊ぶ会@東京
 名前:とく(@Mona_toku)
 20歳 学生
 回路屋さん
マイコン
FPGA など
かる〜く自己紹介
最近ソフトウェア系の話題などに興味がわく
スクリプト言語やサーバー・Webプログラミングの勉強をする
1
マルチシグネチャアドレスについての
 文献・ソースが少ない(英語よめませーん)
 活用したサービスが少ない
 アドレス作成に公開鍵暗号の知識が少っしだけ必要
出金の仕組みが複雑
2
講演の経緯
ぜひ理解して、マルチシグネチャアドレスの
サービスの開発や利用を!
マルチシグネチャアドレスについて
いくつか質問!!
どの程度知られているのかな?
3
1. 「マルチシグネチャアドレス」というワードを
聞いたことがある
4
2. マルチシグネチャアドレスがどういうものか
知っている
3. マルチシグネチャアドレスを作成したこと
がある
4. マルチシグネチャアドレスで送金をしたこと
がある
5. マルチシグネチャアドレスを利用したWeb
サービスなどを考えたことがある
マルチシグネチャアドレス
5
説明上の用語・略語
マルチシグアドレス
着金 出金
説明の便宜上、アドレスをお財布とおいている。
公開鍵 秘密鍵
マルチシグアドレスとは
6
7
通常のアドレス
鍵が1個掛けられており、
出金には対応した鍵が1個必要
マルチシグアドレス
鍵がM個掛けられているが、
出金は対応した鍵がN個で可能
例では・・・
鍵が3個掛けられているが、
出金は対応した鍵が2個で可能
(N≦M)
2−of−3
マルチシグアドレス
 Mの設定できる値
0<M≦16
 Nの設定できる値
0<N≦M
8
MとNの設定できる値
マルチシグアドレスの作成方法
いきなり技術的な話!
開発者・サービス提供者向け!
9
とりあえず財布つくってみよう!!
10
その前に・・・
1. 秘密鍵と公開鍵のペア
2. 自ウォレットで作成された通常のアドレス
3. インポートされた通常のアドレス
これらに該当するものを鍵をかける数(M)だけ
用意する
1.はWIF(Wallet Import Format)の知識が必要
わりかし簡単な2.の方法
で説明!
 鍵をかける数(M)だけのアドレスを作成
getnewaddressコマンドで作成出来る
(このアドレスが公開鍵として使用される
[validateaddressで参照可能])
 作成したアドレスの秘密鍵を取り出す
dumpprivkeyコマンドで取得
(出金承認時に必要)
11
マルチシグアドレスの作成準備
さぁ!アドレス作成!!
12
13
createmultisigコマンド
addmultisigaddressコマンド
createmultisig <nrequired> <‘[“key”,”key”,…]’>
addmultisigaddress <nrequired> <‘[“key”,”key”,…]’> [account]
createmultisig N ‘[“address1”, “address2”,…]’
addmultisigaddress N ‘[“address1”, “address2”,…]’ [label]
わかりやすく〜
N:出金時必要な鍵(署名)の数
adderss:アドレス(公開鍵でもOK!)
label:ウォレットに表示されるlabelのこと
(開発を行う上ではaccount)
実際に、やってみる。
14
address:マルチシグアドレス
redeemScript:出金時に必要!!
償還スクリプト
createmultisig 2 '["MAQDRBoRei2U8pHWc1XGcmgWy8AK4dBUP7",
"MDfxu3scxRP9syLnxMZQ1h3pvASmnHQjGm",
"MMwG8XGMEMGQTMazJec4MrckynuigiHeKQ"]’
{
"address" : "3QxBKdzTusR3LahTLCzkHFy6R8vYMNZfH4",
"redeemScript" : "5221033cb51d0ace038b613390a43bf9e3fdc12ce32fb03
cf87f1257d3462231693cfa2103ebda741dcaace3d7c59bb0dc3462d51764b5
424277edbf4a12781e3b3451e35521023203603ea470f93ea288b47ad1f3e5d
8ed1554f013addd6f10c6d4e0dd05825553ae”
}
マルチシグアドレスで出金!
15
入金は通常と同じだよ!
出金の前に・・・
Walletにすべての秘密鍵がインポートされている場合
16
マルチシグアドレスでは残高が記憶できない!?
(みたい・・・)
listunspentコマンドを使用し
着金情報を取得する
 コマンドからtxid、vout、scriptPubKeyを取得
 同時にredeemScriptも取得することが出来る
出金の前に・・・
Walletにすべての秘密鍵がインポートされていない場合
17
マルチシグアドレスでは残高が記憶できない!?
(みたい・・・)
着金に関するトランザクション(txid)を
すべて記憶する必要がある
 出金したユーザからtxidを通知してもらう
 トランザクションを作成し、出金するユーザに署名
してもらう
1. createrawtransactionコマンドを使い
トランザクション情報の作成
1. signrawtransactionコマンドを使い
トランザクション情報に署名
1. sendrawtransactionコマンドを使い
トランザクションを実行!
18
マルチシグアドレスの
出金の流れ
19
1. createrawtransaction
通常:createrawtransaction [{"txid":txid,"vout":n},...] {address:amount,...}
マルチシグ:createrawtransaction [{"txid":txid,"vout":n, "scriptPubKey":"hex",
"redeemScript":"hex"},...] {address:amount,...}
着金の情報 出金の情報
 着金の情報
 txid:トランザクションID
 vout:出金情報番号(index)
 scriptPubKey:検証用スクリプト
 redeemScript:償還スクリプト
 出金の情報
 address:出金先アドレス
 amount:出金金額
20
着金の情報の詳細・説明
vout
vin txid
vout
・・・
txid
vout
・・・
txid
vout
・・・
1
txid
value
scriptPubKey
・・・
2
txid
value
scriptPubKey
・・・
3
txid
value
scriptPubKey
・・・
createrawtransaction
txid:97dc7aa76e7d0ee5f83a635d05ab2eb0984cf3fd69ffc916c391a5b4dec7e3c7
gettrawtransaction
で見れるよ!
実際に、やってみる。
21
createrawtransaction ‘[{"txid":"97dc7aa76e7d0ee5f83a635d05ab2e(ry・・・",
"vout":0,
"scriptPubKey":"a914ff28fa4840a1edddf196f(ry・・・",
"redeemScript":"5221033cb51d0ace038b6133(ry・・・"}]'
'{"MXC8hYF6ScqqgSWGY2L3Emz9n4ownkW8gq":0.08}'
0100000001c7e3c7deb4a591c316c9ff69fdf34c98b02eab055d633af8e50e7d6
ea77adc970000000000ffffffff0100127a00000000001976a914ff80af5e0a8a3a
420276514a85a644c32d79208d88ac00000000
HEXでエンコードされた
トランザクション情報
1. createrawtransactionコマンドを使い
トランザクション情報の作成
1. signrawtransactionコマンドを使い
トランザクション情報に署名
1. sendrawtransactionコマンドを使い
トランザクションを実行!
22
マルチシグアドレスの
出金の流れ
23
2. signrawtransaction
signrawtransaction <hex string> [{"txid":txid,"vout":n,
"scriptPubKey":hex,"redeemScript":hex},...]
[<privatekey1>,...] 着金の情報
秘密鍵
 hex string
 HEXでエンコードされたトランザクション情報
 着金の情報
 createrawtransactionで使用したものと同じ
 秘密鍵
 WIF形式の秘密鍵(複数指定可)
(dumprivkeyで取り出したもの)
実際に、やってみる。
24
signrawtransaction 0100000001c7e3c7deb4a591c316c9ff69fdf34c98(ry・・・
' [{"txid":"97dc7aa76e7d0ee5f83a63(ry・・・",(ry・・・}] '
' ["TQQoLcRqWnR7NySfQooRXFQ4Kg45w7ocUa(ry・・・"] '
{
"hex" : "0100000001c7e3c7deb4a591c316c9ff69fdf34c98b02eab055d633af8e50e7d6ea77adc9700000000b60049304602
2100ad0e6b9e8e1db6525f876d95967d13450d736ca9e2c869bf631d249fef809567022100e4f58ae538ae964ed3c6d2391c6f794d
e603ede3f5e55c78fa09ca0b56a55c4e014c695221033cb51d0ace038b613390a43bf9e3fdc12ce32fb03cf87f1257d3462231693cfa2
103ebda741dcaace3d7c59bb0dc3462d51764b5424277edbf4a12781e3b3451e35521023203603ea470f93ea288b47ad1f3e5d8ed155
4f013addd6f10c6d4e0dd05825553aeffffffff0100127a00000000001976a914ff80af5e0a8a3a420276514a85a644c32d79208d88ac
00000000",
"complete" : false
}
署名(鍵)が2個必要なため
まだ送金ができない
実際に、やってみる。2
25
signrawtransaction 0100000001c7e3c7deb4a591c316c9ff69fdf34c98b0(ry・・・
' [{"txid":"97dc7aa76e7d0ee5f83a63(ry・・・",(ry・・・}] '
' ["TQ8jEssUoEPhG5fiQC1KUaK7xsqKbE4qRRwbb(ry・・・"] '
{
"hex" : ”00100000001c7e3c7deb4a591c316c9ff69fdf34c98b02eab055d633af8e50e7d6ea77adc9700000000fdff000049304
6022100ad0e6b9e8e1db6525f876d95967d13450d736ca9e2c869bf631d249fef809567022100e4f58ae538ae964ed3c6d2391c6f794
de603ede3f5e55c78fa09ca0b56a55c4e01483045022011e269a4780d6dd6228585d978882f1a40156e4cfe68112a1f5d6ce4a3603b3a
022100f34a2d341b6ccb47ebc56d14c59e60db025f8f4f8173b196e976bba5131bc2be014c695221033cb51d0ace038b613390a43bf9e3
fdc12ce32fb03cf87f1257d3462231693cfa2103ebda741dcaace3d7c59bb0dc3462d51764b5424277edbf4a12781e3b3451e35521023203
603ea470f93ea288b47ad1f3e5d8ed1554f013addd6f10c6d4e0dd05825553aeffffffff0100127a00000000001976a914ff80af5e0a8a3a
420276514a85a644c32d79208d88ac00000000",
"complete" : true
}
署名(解除)完了!!
1. createrawtransactionコマンドを使い
トランザクション情報の作成
1. signrawtransactionコマンドを使い
トランザクション情報に署名
1. sendrawtransactionコマンドを使い
トランザクションを実行!
26
マルチシグアドレスの
出金の流れ
27
3. sendrawtransaction
sendrawtransaction <hex string>
 hex string
 HEXでエンコードされたトランザクション情報
(今回は署名が完了した物)
だけ!!
実際に、やってみる。
28
sendrawtransaction 0100000001c7e3c7deb4a591c316c9ff69fdf34c98b(ry・・・
99b5cd179b85f38538c44ca15e520ecdf10e50dc126d498b9c04fc599db0161e
マルチシグアドレスから送金処理
を行ったトランザクションのID
 マルチシグネチャアドレスの説明
 マルチシグネチャアドレスの作成
 マルチシグネチャアドレスから送金の処理
29
まとめ
 できれば2−of−3の仕組みを説明したかった
なぁ・・・
 マルチシグネチャアドレス、わかればそんなに
難しくないw!!
 マルチシグネチャアドレスをWebサービスなどに
是非ご検討を!!
30
最後に
ご清聴ありがとうございました!

More Related Content

Featured

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 

Featured (20)

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 

マルチシグネチャアドレスの作成・送金方法