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
Atomic_Multi-Path_Payment.pdf
Search
bruwbird
March 15, 2019
Technology
0
110
Atomic_Multi-Path_Payment.pdf
Atomic_Multi-Path_Payment
bruwbird
March 15, 2019
Tweet
Share
More Decks by bruwbird
See All by bruwbird
Discreet Log Contracts
bruwbird
1
210
Other Decks in Technology
See All in Technology
💡Ruby 川辺で灯すPicoRubyからの光
bash0c7
0
120
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
21
11k
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1.1k
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
20
10k
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
480
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
580
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
1k
Practical Agentic AI in Software Engineering
uzyn
0
110
2025年夏 コーディングエージェントを統べる者
nwiizo
0
170
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
570
いま注目のAIエージェントを作ってみよう
supermarimobros
0
300
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.7k
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Bash Introduction
62gerente
615
210k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
How to Ace a Technical Interview
jacobian
279
23k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Embracing the Ebb and Flow
colly
87
4.8k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Invisible Side of Design
smashingmag
301
51k
Rails Girls Zürich Keynote
gr2m
95
14k
Transcript
"UPNJD.VMUJ1BUI 1BZNFOUTPWFS-JHIUOJOH גࣜձࣾϝϧϖΠਗ਼ਫ༐հ
࣍ w ࣗݾհ w "UPNJD.VMUJ1BUI1BZNFOUT֓ཁ w ͳͥ*OWPJDFܾࡁͳͷ͔ w "UPNJD.VMUJ1BUI1BZNFOUʹΑΔղফ w
·ͱΊ
ࣗݾհ w גࣜձࣾϝϧϖΠΤϯδχΞ w ҉߸ࢿ࢈ͷۀΛߦ͍ͬͯ·͢
"UPNJD.VMUJ1BUI 1BZNFOUT֓ཁ w ෳͷ-/νϟωϧΛར༻ͨ͠ΞτϛοΫͳܾࡁΛՄೳʹ ͢Δٕज़Ͱ͢ɻ w *OWPJDFܾࡁ͔͠Ͱ͖ͳ͔ͬͨ-JHIUOJOH/FUXPSLʹ͓͍ ͯɺTFOEQBZNFOUΛՄೳʹ͠·͢ɻ w IVCͷՉԽΛ͗·͢ɻ
"UPNJD.VMUJ1BUI 1BZNFOUT֓ཁ w ݄̎ʹ։ൃऀϝʔϦϯάϦετʹߘ w ݄̍ʹΫϥΠΞϯτιϑτΣΞ-/%ʹQVMM SFRVFTUՃ w ςετωοτͰํ͕࣮͍ͯ͠Εར༻Մೳ w
#0-5ͷՃWFSͷ༧ఆ
ͳͥ*OWPJDFܾࡁͳͷ͔ w -JHIUOJOH/FUXPSLJOWPJDFܾࡁ͔͋͠Γ·ͤΜɻ w ओମతʹૹۚ͢Δ͜ͱ͕Ͱ͖ͳ͍ঢ়ଶͰ͢ɻ 1BZϘλϯΛԡ͢ *OWPJDFͷೖྗ͕ٻΊΒΕΔ ʢόʔίʔυϦʔμʔՄೳʣ ֹ͕ۚදࣔ͞Εɺࢧཱ͍͕͢Δ
ͳͥ*OWPJDFܾࡁͳͷ͔ " # #ެ։伴ɺ6590 Φʔϓχϯά59 */ɿ"ʢॺ໊ࡁʣɹᶇ 065ɿ"#NVMUJTJHɹᶌ ίϛοτϝϯτ59 */ɿ"#NVMUJTJHɹᶌ 065ɿ"ɹᶆ
065ɿᶈ ᶃ$47# ᶄ4FDSFU#ʴ" ϒϩʔυΩϟετ "ɺ#ͷํQBZNFOUDIBOOFM 4FDSFU)BTI" ίϛοτϝϯτ59 */ɿ"#NVMUJTJHɹᶌ 065ɿ#ɹᶈ 065ɿᶆ ᶃ$47" ᶄ4FDSFU"ʴ# w ͭͳ͕ͬͨQBZNFOUDIBOOFMͰTFOEͰ͖·͢ɻ ίϛοτϝϯτ59 */ɿ"#NVMUJTJH 065ɿ"ɹᶊ ίϛοτϝϯτ59 */ɿ"#NVMUJTJH 065ɿ#ɹᶄ 065ɿᶄ ᶃ$47ɹ# ᶄ4FDSFU#ʴ" 065ɿᶊ ᶃ$47ɹ" ᶄ4FDSFU"ʴ# Ϋϩʔδϯά59 */ɿ"#NVMUJTJH 065ɿ"ɹᶊ 065ɿ#ɹᶄ ϒϩʔυΩϟετ DIBOOFM։ઃ ߴߋ৽ɺΫϩʔζ " # ̑ˠ̔ ̑ˠ̎ /ճ 4FDSFU)BTI# */ɿ#ɹᶇ 4FDSFU)BTI"̎ 4FDSFU)BTI#̎ 4FDSFU"̍ 4FDSFU#̍ Φʔϓχϯά59Λ*/ʹ͢Δ ͜ͱͰɺඞͣࢿۚΛऔΓग़ ͤΔঢ়ଶͱ͢Δ 4FDSFUΛަ͍ͯ͠ΔͨΊɺ աڈͷ59Λෆਖ਼ʹެ։͢Δ ͱ$47·Ͱʹͯ͢ͷߴ ΛऔΒΕΔ
ͳͥ*OWPJDFܾࡁͳͷ͔ w NVMUJIPQQBZNFOUͷ߹ɺJOWPJDFࣜʹݶΒΕ·͢ɻ ࢧ͍อূʢ"ͱ#ɺ#ͱ$νϟωϧ։ઃࡁʣ γʔΫϨοτͷϋογϡ3ͷަ γʔΫϨοτͷϋογϡ3ͷަ " # ̍̌ˠ̕ /ճ
$ ̑ˠ̒ /ճ 4FDSFU)BTI"̎ 4FDSFU)BTI#̎ ίϛοτϝϯτ59 */ɿ"#NVMUJTJHɹᶎ 065ɿ"ɹᶋ 065ɿᶄ ᶃ$47ɹ# ᶄ4FDSFU#ʴ" 065ɿᶃ ᶃ$47ɺTFDSFU3ɺ# ᶄ4FDSFU#ʴ" ᶅ$-57ɺ" ίϛοτϝϯτ59 */ɿ"#NVMUJTJHɹᶎ 065ɿ#ɹᶄ 065ɿᶋ ᶃ$47ɹ" ᶄ4FDSFU"ʴ# 065ɿᶃ ᶃTFDSFU3ɺ# ᶄ4FDSFU"ʴ# ᶅ$-57ɺ$47ɺ" 4FDSFU"̍ 4FDSFU#̍ 4FDSFU)BTI#̎ 4FDSFU)BTI$̎ ίϛοτϝϯτ59 */ɿ#$NVMUJTJHɹᶌ 065ɿ#ɹᶆ 065ɿᶇ ᶃ$47ɹ$ ᶄ4FDSFU$̏ʴ# 065ɿᶃ ᶃ$47ɺTFDSFU3ɺ$ ᶄ4FDSFU$ʴ# ᶅ$-57ɺ# ίϛοτϝϯτ59 */ɿ#$NVMUJTJHɹᶌ 065ɿ$ɹᶇ 065ɿᶆ ᶃ$47ɹ# ᶄ4FDSFU$̏ʴ# 065ɿᶃ ᶃTFDSFU3ɺ$ ᶄ4FDSFU#ʴ$ ᶅ$-57ɺ$47ɺ# 4FDSFU#̍ 4FDSFU$̍ 4FDSFU3 4FDSFU)BTI#̏ 4FDSFU)BTI$̏ ίϛοτϝϯτ59 */ɿ#$NVMUJTJHɹᶌ 065ɿ$ɹᶈ 065ɿᶆ ᶃ$47ɹ# ᶄ4FDSFU#̏ʴ$ ࢧ͍ ίϛοτϝϯτ59 */ɿ#$NVMUJTJHɹᶌ 065ɿ#ɹᶆ 065ɿᶈ ᶃ$47ɹ$ ᶄ4FDSFU$̏ʴ# 4FDSFU3 4FDSFU)BTI#̏ 4FDSFU)BTI"̎ ίϛοτϝϯτ59 */ɿ"ɹ#NVMUJTJHɹᶎ 065ɿ#ɹᶅ 065ɿᶋ ᶃ$47ɹ" ᶄ4FDSFU"̏ʴ# ίϛοτϝϯτ59 */ɿ"ɹ#NVMUJTJHɹᶎ 065ɿ"ɹᶋ 065ɿᶅ ᶃ$47ɹ# ᶄ4FDSFU#̏ʴ" " # $
"UPNJD.VMUJ1BUI 1BZNFOUʹΑΔղফ w ૹ৴ऀ͕QSFJNBHFΛ࡞͠OPOJOUFSBDUJWFʹηοτΞο ϓՄೳͱͳΓ·͢ɻ lncli --network=simnet sendpayment --dest=02788242941915ed5a101511b8dfeb6db81e0fcd7546f6a55ef4dedf590a7d7ff4 --sphinx
{ "payment_error": "", "payment_preimage": "0b1661fb77071fa5efd2217e380c93068bc3dc6e40e302673ff6373ecd8997b5", "payment_route": { "total_time_lock": 3299, "total_amt": 100, "hops": [ { "chan_id": 3610796185681920, "chan_capacity": 15000000, "amt_to_forward": 100, "expiry": 3299, "amt_to_forward_msat": 100000, "pub_key": "02788242941915ed5a101511b8dfeb6db81e0fcd7546f6a55ef4dedf590a7d7ff4" } ], "total_amt_msat": 100000 } } -/%ͰTFOEQBZNFOUΛ࣮ߦͨ͠ྫ
"UPNJD.VMUJ1BUI 1BZNFOUʹΑΔղফ w ௨৴ޙɺ௨ৗͷ.VMUJ)PQ1BZNFOUͱಉ༷ͷॲཧ͕࣮ ࢪ͞Ε·͢ɻ " # $ % "
# ̍ճ $ ̍ճ % ̍ճ ̍ճ (FOFSBUF#1 ࢧ͍ɿ̎ 4FDSFUIBTIɿT *%ɿ̍ ࢧ͍ɿ̎ 4FDSFUIBTIɿT̎ *%ɿ̍ 3PVUJOH 3PVUJOH "UPNJD.VMUJ1BUI1BZNFOUʹ#ɺ$Λհͨ͠ࢧ͍ #1ͷ෮ݩ γʔΫϨοτͷϋογϡ3ͷަ γʔΫϨοτͷϋογϡ3ͷަ Ҏ߱௨ৗͷNVMUJIPQQBZNFOU ૹ৴ऀϕʔεϓϦΠϝʔδʢ#1ʣΛੜ͠·͢ ෦తͳࢧ͍ͷ ̽ ͷγΣΞʢTʣΛαϯϓϦϯά͠ɺͦͷഉଞతཧ Λܭࢉ͢Δ͜ͱͰࢉग़͠·͢ɻ #1T?T?T??TO ?ഉଞతཧ ࢧ͍ O ɺTɺࢧ͍*%Λड৴ऀʹಧ͚Δ͜ͱͰɺதؒऀʹ෮ݩෆՄͱͳ Γ·͢ɻ
"UPNJD.VMUJ1BUI 1BZNFOUʹΑΔղফ w -JHIUOJOH/FUXPSLɺEFQPTJUֹΑΓগͳֹ͍͔͠ૹۚ Ͱ͖ͣɺIVC͕ՉԽ͢Δͱ͍͏൷͕͋Γ·͢ɻ ࣮ࡍଟ͘ͷOPEF͕USVF7JTJPODMVCʹूத͓ͯ͠ΓɺՉԽ͍ͯ͠Δɻ IUUQTFYQMPSFSBDJORDP
"UPNJD.VMUJ1BUI 1BZNFOUʹΑΔղফ w ".1ͰෳͷϧʔτͰBUPNJDʹࢧ͏ͷͰ͜ͷ͕ ղܾ͠ɺՉԽΛ͙͜ͱ͕Ͱ͖·͢ " # $ %
̎ "͕$ʹ̎ࢧ͏߹ɺ#ɺ%ϧʔτͦΕͧΕͰͣͭૹ Δ͜ͱ͕ՄೳͱͳΔɻ " # $ % ̎ "͕$ʹ̎ͷNVMUJIPQQBZNFOU͍ͨ͠߹ɺ#Ͱ DBQBDJUZ͕Γͳ͍ͷͰ%Λհ͢Δ͜ͱʹͳΔɻ%ख ྉΛऔΓɺܾࡁػؔʹ͍ۙ;Δ·͍Λߦ͏ɻ ✗ ✗ ݱࡏ ".1
·ͱΊ w ".1-JHIUOJOH/FUXPSLͷ࣋ͭ՝Λղܾ͢ΔՄೳੑͷ ͋Δٕज़ͷҰͭͰ͢ɻ w ओମతͳૹ͕ۚՄೳʹͳΓɺ͔ͭIVCͷՉԽΛ͙ͱ͍ ͏ظ͋Γ·͢ɻ w ༻ʹɺૹ৴ऀɺड৴ऀํ͕࣮͍ͯ͠Δඞཁ͕͋Γ ·͢ɻ
w ݱࡏ-JHIUOJOH-BCTͰυϥϑτ࣮͕ߦΘΕ͍ͯΔʹཹ ·Γ·͢ɻ