A B O U T M Y S E L F
ࣗݾհ
Tomokazu Kozuma
@Tomokazu106
౦ژۀେֶେֶӃଔۀޙɺαΠόʔΤʔδΣϯτͰεϚϗήʔϜͷαʔόɺΠϯ
ϑϥશൠΛ୲ɻԾ௨՟ʹ͍ٕͭͯज़ϒϩάΛॻ͍ͯΔ͏ͪʹ಄͠ɺຊ৬ͱ
ͯ͠ྗ͢ΔͨΊʹ(JODPʹೖࣾɻ(JODPͰϒϩοΫνΣʔϯͷϊʔυӡ༻ɺϋʔ
υϑΥʔΫରԠɺόοΫΤϯυͳͲൣғΛ୲ɻ
֓ཁ
• #$)ͱ#47ͷಛͱ
• ͭͷεϓϦοτํ๏
• 01@$)&$,%"5"4*(ΛͬͨεϓϦοτ
A g e n d a
Slide 7
Slide 7 text
#$)ͱ#47ͷಛͱ
P A R T 1
Slide 8
Slide 8 text
#$)ͱ#47ͷಛ
• #$)#5$͔Β)'ʢ݄ʣ
• #47#$)͔Β)'ʢ݄ʣ
• ͲͪΒϒϩοΫαΠζΛେ͖͘͠ɺΦϯνΣʔϯͰ
εέʔϥϏϦςΟΛղܾ͢Δ͜ͱΛࢦ͍ͯ͠Δ
T I T L E T E X T
Slide 9
Slide 9 text
#$)ͱ#47ͷಛ
• 01@$0%&ͷ෮ݩɿ
[email protected]ɺ01@-4)*'5ɺ01@34)*'5ɺ01@*/7&35
• εΫϦϓτ͋ͨΓ01@$0%&ͷ੍ݶΛऔΓআ͘
• ࠷େϒϩοΫαΠζΛ.#·Ͱ֦େ
F e a t u r e o f B C H a n d B S V
• ৽ن01@$0%&ɿ01@$)&$,%"5"4*( 7&3*':
• $BOPOJDBM5SBOTBDUJPO0SEFSJOHʢ$503ʣͷಋೖ
B C H ɿ B i t c o i n A B C
B S V ɿ n C h a i n
Slide 10
Slide 10 text
#$)ͱ#47ͷ
• ϦϓϨΠϓϩςΫγϣϯػೳ͕ͳ͍ʢ#$)ʹ݄ಋೖ༧ఆʣ
P r o b l e m
• #$)Λૹۚ͢Δͱ#47ૹۚ͞Ε
ˠτϥϯβΫγϣϯϦϓϨΠ͕ൃੜ
• ͓٬༷͕ࢿ࢈Λ҆શʹཧͰ͖ΔΑ͏ʹ͢Δඞཁ͕͋Δ
ˠεϓϦοτػೳΛ࣮
Slide 11
Slide 11 text
ͭͷεϓϦοτํ๏
P A R T 2
Slide 12
Slide 12 text
5
5
S p l i t
%VTU5SBOTBDUJPO
O-PDL5JNF
01@$0%&
ͭͷεϓϦοτํ๏
Slide 13
Slide 13 text
%VTU5SBOTBDUJPO
• खྉͱͯ͠औΓࠐ·Εͳ͍࠷ֹۚʢTBUʣͷ
6590Λ༻
A b o u t D u s t T r a n s a c t i o n ?
• #$)ʹ͔͠ଘࡏ͠ͳ͍%VTU5YΛΠϯϓοτʹؚΊͯ
ૹۚ͢Δ
• #47ͷνΣʔϯʹଘࡏ͠ͳ͍6590͕Πϯϓοτʹ
ؚ·Ε͍ͯΔͨΊঝೝ͞Εͳ͍
Slide 14
Slide 14 text
O-PDL5JNF
• τϥϯβΫγϣϯʹࢦఆͰ͖Δύϥϝʔλ
A b o u t n L o c k T i m e
• ࢦఆͨ͠ϒϩοΫߴɺ6OJY5JNF·ͰϒϩοΫʹ
औΓࠐ·Εͳ͍
• #$)ͱ#47ͷ࠷৽ϒϩοΫߴͷࠩΛར༻ͯ͠
εϓϦοτ͢Δํ๏
01@$0%&Λ࠾༻ͨ͠ཧ༝
• ҙͷλΠϛϯάͰԿճεϓϦοτͰ͖Δ
ˠ̍ճ͋ͨΓԁ͘Β͍
• ͕ࣝͳͯ͘؆୯ʹ࣮ߦͰ͖Δ
• ࣄۀऀଆͷίετෛ୲͕ͳ͍
R e a s o n t o U s e O P _ C O D E
Slide 17
Slide 17 text
01@$)&$,%"5"4*(Λ
ͬͨεϓϦοτ
P A R T 3
Slide 18
Slide 18 text
01@$)&$,%"5"4*(ͱʁ
• ϒϩοΫνΣʔϯ֎ͷσʔλʢΦϥΫϧʣͷॺ໊ݕূΛߦ͑Δ
A b o u t O P _ C H E C K D A T A S I G
OP_CHECKDATASIG
S c r i p t
• ΦϥΫϧ͕͑ΔͷͰΞτϛοΫεϫοϓͷԠ༻ʹظ
Slide 19
Slide 19 text
5
S p l i t U s i n g P 2 P K H a n d P 2 S H
εϓϦοτͷखॱ
3FEFFN4DSJQUͷߏஙͱղআ
01@$)&$,%"5"4*(ΛͬͨεϓϦοτํ๏
Slide 20
Slide 20 text
εϓϦοτͷखॱ
• εϓϦοτࣗશֹૹۚΛճߦ͏
F l o w o f S p l i t
• ճ01@$)&$,%"5"4*(Λ3FEFFN4DSJQUʹ
ؚΉΞυϨεʹૹۚ͢Δ͜ͱ͕త
• ճͷૹۚ01@$)&$,%"5"4*(ΛؚΉ6590Λ
ղআͯ͠11,)ʹૹۚ͢Δ͜ͱ͕త
3FEFFN4DSJQUͷߏங
• 3FEFFN4DSJQUͰॺ໊ݕূ͕݁͢ΔΑ͏ߏங
B u i l d i n g R e d e e m S c r i p t
OP_CHECKDATASIGVERIFY
R e d e e m S c r i p t
• ͜Εͩͱ୭Ͱղআͯ͠༻͢Δ͜ͱ͕Ͱ͖ͯ͠·͏ͷͰɺ
3FEFFN4DSJQUʹࣗͷެ։伴ΛΈࠐΉ
Slide 24
Slide 24 text
• 11,)Λ3FEFFN4DSJQUʹΈࠐΉ
OP_CHECKDATASIGVERIFY
OP_DUP OP_HASH160 <20-bytes-pubkey-hash> OP_EQUALVERIFY OP_CHECKSIG
R e d e e m S c r i p t
3FEFFN4DSJQUͷߏங
B u i l d i n g R e d e e m S c r i p t
Slide 25
Slide 25 text
3FEFFN4DSJQUͷղআ
• 3FEFFN4DSJQUͷαΠζ͕#ZUFTΛ͑ΔͷͰ
01@164)%"5"Λ͏
L o c k i n g S c r i p t
OP_HASH160 <20-bytes-redeem-script—hash> OP_EQUAL
U n l o c k i n g S c r i p t
OP_PUSHDATA1 redeem-script
Slide 26
Slide 26 text
·ͱΊ
• ϦϓϨΠϓϩςΫγϣϯ͕ϓϩτίϧʹΈࠐ·Ε͍ͯͳͯ͘
༷ʹΑͬͯରԠͰ͖Δ
• 01@$0%&Λ͏ͱϢʔβͷҙͷλΠϛϯάͰεϓϦοτͰ͖ɺ
ίετ͕΄΅͔͔Βͳ͍
S u m m a r y