Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Output Descriptor
Search
shigeyuki azuchi
March 31, 2021
Technology
0
39
Output Descriptor
GBECの解説動画の資料です。
https://goblockchain.network/2021/03/output-descriptor/
shigeyuki azuchi
March 31, 2021
Tweet
Share
More Decks by shigeyuki azuchi
See All by shigeyuki azuchi
v3トランザクションリレー
azuchi
0
6
ランポート署名
azuchi
0
26
BitVM
azuchi
0
38
Replacement Cycling Attack
azuchi
0
40
Bitcoinのタイムロックの仕組み
azuchi
0
28
Inner Product Argument
azuchi
0
56
Codex32
azuchi
0
25
PSBT
azuchi
0
60
Trampoline Payment
azuchi
0
17
Other Decks in Technology
See All in Technology
GPSデバイスを使った簡易位置案内システムの構築をしてみた話。/jawsfesta2024
kwada
0
230
Automated Tests Now and Future @ SQiP Workshop Special Lecture 2024
teyamagu
PRO
2
490
KongによるAPIライフサイクル マネジメント
hashitokyo
1
160
不要なリソースを自動で定期的に整理する方法 ~Sandboxアカウントのコストを削減しよう!~
amixedcolor
4
240
Deep dive into Nuxt Server Components
wattanx
1
1.3k
AWS Step Functionsのタスク入出力に秩序を与えよう
y_kotani
0
110
サーバレスで挑む IoT プロジェクトの現実解 / Real solutions for the IoT project using serverless service
genkiogasawara
1
130
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
5
48k
Vue.js、Nuxtの機能を使い、 大量のコピペコードをリファクタリングする
igayamaguchi
3
1.4k
Covariance, Contravariance & Diamond
alexdaubois
1
120
AWS DDKを利用したDataOps事始め
beex
1
170
自然言語処理を役立てるのはなぜ難しいのか
pfn
PRO
17
4.5k
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
The Invisible Side of Design
smashingmag
297
50k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Testing 201, or: Great Expectations
jmmastey
38
7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
40
2.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Agile that works and the tools we love
rasmusluckow
327
21k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
7.6k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Bash Introduction
62gerente
608
210k
GitHub's CSS Performance
jonrohan
1030
450k
Transcript
Output Descriptor
1 Output Descriptorとは? Bitcoinのアウトプットスクリプト(scriptPubkey)を 人が理解しやすい文字列で表現する仕様 https://github.com/bitcoin/bitcoin/blob/master/doc/descriptors.md (例)P2PKH • scriptPubkey:
OP_DUP OP_HASH160 H(<公開鍵>) OP_EQUAL OP_CHECKSIG • Output Descriptor: pkh(<公開鍵>) ※鍵だけでは、どのようなscriptPubkeyが構成されたか分からない (P2PKH、P2WPKH、P2SH-P2WPKH、マルチシグなど)
2 Output Descriptor function Output Descriptorの記述タイプ • pk(KEY) • pkh(KEY)
• wpkh(KEY) • combo(KEY) → P2PK, P2PKH, P2WPKH, P2SH-P2WPKH • multi(k, KEY1, …, KEYn) • sortedmult(k, KEY1, …, KEYn) • sh(SCRIPT) • wsh(SCRIPT) wsh(multi(2, KEY1, KEY2, KEY3)) • addr(アドレス) • raw(Hex SCRIPT)
3 Output Descriptor function • KEYの形式 ◦ Hexエンコードされた公開鍵 ◦ WIFエンコードされた秘密鍵
◦ 拡張公開鍵(xpub) ◦ 拡張秘密鍵(xprv) ◦ オプション ▪ xpub/xprvにはBIP-32の導出パス(/1/2, /1’, /1/*) xpub...gGDnw/1/2 ▪ Key Origin Information([master fingerprint/path]) [d34db33f/44'/0'/0']xpub...RcEL/1/2 masterからxpubを導出した際の情報を付与 • チェックサム オプションで、アルファベット8文字のチェックサムがSuffixに。
4 Output Descriptorの採用 • Bitcoin Core v0.21.0から試験的にOutput Descriptorを使ったウォレットDescriptor Walletをサポート。 ◦
createwallet RPCのdescriptorsオプションをtrueに。 ◦ Descriptor WalletのDBはSQLiteに。 • Bitcoin Core v0.21.0でサポートされているOutput Descriptor関連のRPC ◦ scantxoutset ◦ getdescriptorinfo ◦ deriveaddresses ◦ listunspent ◦ getaddressinfo ◦ importmulti ◦ generatetodescriptor ◦ utxoupdatepsbt ◦ createmultisig ◦ addmultisigiaddress