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
Blockchain技術勉強会 #Lightning Networkの技術と最前線
Search
Takaya Imai
May 26, 2018
Technology
4
1.1k
Blockchain技術勉強会 #Lightning Networkの技術と最前線
東大ブロックチェーン開発団体BitPenguin主催
Blockchain技術勉強会@EastVenturesオフィス
2018/05/26
Takaya Imai
May 26, 2018
Tweet
Share
More Decks by Takaya Imai
See All by Takaya Imai
ライトニングネットワーク ペイメントの新潮流〜貨幣システムはどこまで刷新されるのか〜
takayaimai
0
500
サイドチャネル攻撃とその防衛手法@暗号通貨読書会#34
takayaimai
2
690
Spartan: Efficient and general-purpose zkSNARKs without trusted setup
takayaimai
0
420
Bitcoin History and Lightning Network in Future - ligtning hackday hong kong 2019
takayaimai
0
140
ライトニングネットワーク 技術基礎と今後の見通し
takayaimai
4
1.1k
Lightning Factories
takayaimai
1
500
Lightning_ecosystem_HashHub20180721.pdf
takayaimai
1
81
booting_lightning-node.pdf
takayaimai
0
81
1st presentation of ライトニングネットワーク JBA 2018/04/24
takayaimai
0
280
Other Decks in Technology
See All in Technology
RDS for Db2 はじめの一歩・作り方編 #2/ 20240628 First RDS for Db2 creation
kyokonishito
0
190
新常識! Javascript×AWS Lambdaがアツい!!
watany
3
250
The Art of Malware C2 Scanning - How to Reverse and Emulate Protocol Obfuscated by Compiler
takahiro_haruyama
0
680
日本発24時間グローバルイベント"JAWS PANKRATION 2024"の紹介
yoshimi0227
1
160
Kotlinらしいコードを書こう - Convert Java File to Kotlin File のあとにやること / What to do after Convert Java File to Kotlin File
yanzm
0
1.8k
超入門 SRE
ryuichi1208
6
3.3k
RAG構築におけるKendraとPineconeの使い分け
sonoda_mj
2
220
育休を約半年取得しまた1カ⽉取ろうとしているエンジニア
sansantech
PRO
1
170
ビズリーチが目指す「開発生産性」ダッシュボード 〜 データ収集の壁と乗り越え方 〜 / dev-productivity-con2024
visional_engineering_and_design
13
6.2k
タクシーアプリ『GO』におけるプラットフォームエンジニアリングの実践
mot_techtalk
10
5.1k
Phluxorでアクターモデルを 理解・体験しよう / toolkit-for-flexible-actor-models-in-php-phluxor
ytake
1
110
実践チームトポロジー: プラットフォーム性とイネイブリング性の戦略 / Practical Team Topologies in Timee
go0517go
7
2.7k
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
Six Lessons from altMBA
skipperchong
22
3.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
24
1.7k
Creatively Recalculating Your Daily Design Routine
revolveconf
213
11k
Documentation Writing (for coders)
carmenintech
62
4.1k
Optimizing for Happiness
mojombo
372
69k
KATA
mclloyd
18
12k
Large-scale JavaScript Application Architecture
addyosmani
505
110k
Rails Girls Zürich Keynote
gr2m
91
13k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.8k
Agile that works and the tools we love
rasmusluckow
325
20k
Transcript
Lightning Networkͷٕज़ͱ࠷લઢ 5BLBZB*NBJ $&0!'SPOUJFS1BSUOFST--$ $PGPVOEFSBOE$50!6OJUFE#JUDPJOFST*OD ౦େϒϩοΫνΣʔϯ։ൃஂମ#JU1FOHVJO #MPDLDIBJOٕज़ษڧձ!&BTU7FOUVSFTΦϑΟε
ࣗݾհ ϑϩϯςΟΞύʔτφʔζ߹ಉձࣾ දCEO United Bitcoiners Inc. ڞಉۀऀˍऔకCTO ϚελϦϯάϏοτίΠϯɺ༁ऀද ੈքͰॳΊͯͷɺຊޠʹΑΔϏοτίΠϯɾϒϩοΫνΣʔϯͷৄࡉ ٕज़ॻ
શମͷׂ̕Λ༁ 2016/7/14ग़൛ ిࢠॻ੶൛(kindle) ΦʔϓϯΤσΟγϣϯ൛ https://www.bitcoinbook.info ౦ژେֶ٬һݚڀһ
ࣗݾհ όοΫάϥϯυ ৽ׁେֶେֶӃɹૉཻࢠཧཧɹത࢜(ཧ) ΧΧΫίϜ ݕࡧΤϯδϯ։ൃɹݕࡧαʔόΫϥελߏஙӡ༻ɹେنσʔλॲཧɹػցֶशɹ ը૾ೝࣝ σʔλλϫʔגࣜձࣾɹදऔక
ϥΠτχϯάωοτϫʔΫʁ
ϥΠτχϯάωοτϫʔΫʁ 20152݄ʹJoseph PoonͱThaddeus DryjaʹΑͬͯఏҊ͞ ΕͨϏοτίΠϯ্ͷηΧϯυϨΠϠʔٕज़ औҾखྉΛ҆͘͢Δ͜ͱͱૹۚΛ͘͢Δ͜ͱΛ తͱ͍ͯ͠Δ “νϟωϧ”ͱ͍͏̎ऀؒૹۚܦ࿏ʹΑΔP̎PωοτϫʔΫ Ͱ͋ΓɺෳͷνϟωϧΛܦ༝ͯ͠ૹۚ͢Δ νϟωϧऔҾ૬खɺૹۚհऀΛ৴༻͢Δඞཁ͕ͳ͍
ϏοτίΠϯͷ εέʔϦϯά εέʔϦϯά ඵؒऔҾ͕̓݅ఔ 1MB / 256byte /10/60ඵ = 6.8औҾຖඵ
Segwit (Segregated Witness)༗ޮԽޙɺ̍ϒϩοΫʹ̍MBΑΓೖΔΑ͏ʹͳͬͨͨΊɺඵؒऔҾ લΑΓվળ ϒϩοΫνΣʔϯαΠζͷ૿େ ̍̒̔GB (2018/5/26ݱࡏ) τϥϯβΫγϣϯखྉͷߴಅ ૹ͞ΕΔτϥϯβΫγϣϯͷ͕૿͑ΔͱɺϚΠφʔΑΓखྉͷߴ͍τϥϯβΫγϣϯ͔Β ϒϩοΫʹऔΓࠐ͏ͱ͢Δ ࠷ۙ̍ճͷૹۚ͋ͨΓ20ԁఔ(5satoshi/byte) 201712݄ϐʔΫͰ̍ճͷૹۚ͋ͨΓ4000ԁఔͷͱ͖͋ͬͨ
None
168GB
4.6tx/sec
4000ԁ͘Β͍/tx
͍Ζ͍Ζͳղܾࡦ ΦϯνΣʔϯεέʔϦϯά औҾຖʹϒϩοΫνΣʔϯʹॻ͖ࠐΉ͜ͱΛલఏͱͯ͠ɺॲཧೳ ྗͷ૿ڧΛ͢ΔεέʔϦϯάํ๏ ΦϑνΣʔϯεέʔϦϯά ϒϩοΫνΣʔϯʹॻ͖ࠐΉճΛݮΒ͢͜ͱͰɺॲཧೳྗͷ૿ ڧΛ͢ΔεέʔϦϯάํ๏ ϒϩοΫνΣʔϯͷརΛ׆༻ͭͭ͠ɺϒϩοΫνΣʔϯͱ૬ ޓ࡞༻Λසൟʹ͠ͳ͍ॲཧΛઃ͚ͯૹۚॲཧΛ࣮ߦ͢Δ
͍Ζ͍Ζͳղܾࡦ ΦϯνΣʔϯଆ ผͷϒϩοΫνΣʔϯʹॲཧΛԡ͠Δ αΠυνΣʔϯ/υϥΠϒνΣʔϯ τϥϯβΫγϣϯͷσʔλͷҰ෦Λผʹԡ͠Δ SegWit (Segregated Witness) ϒϩοΫαΠζΛେ͖͘͢Δ ϏοάϒϩοΫ
ϒϩοΫͷୡํ๏ͷվળɺGraphen τϥϯβΫγϣϯͷαΠζΛখ͘͢͞Δ γϡϊΞॺ໊(Schnorr Signature) Θͳ͍τϥϯβΫγϣϯεΫϦϓτΛল͘ɺ Graftroot … ΦϑνΣʔϯଆ ϥΠτχϯάωοτϫʔΫ Ethereum(ϥΠσϯωοτϫʔΫɺϚΠΫϩϥΠσ ϯ)
#MPDLDIBJO DPOOFDUFEUP #JUDPJO ;DBTI #MPDLDIBJO &UIFSFVN #MPDLDIBJO #JUDPJO #MPDLDIBJO ʜ
-JHIUOJOH/FUXPSL "UPNJD 4XBQ 1BZQBM 7JTB *OUFS#MPDLDIBJO #MPDLDIBJO DPOOFDUFEUP TPNF CMPDLDIBJOT 3BJEFO/FUXPSL ΦϯνΣʔϯଆ ΦϑνΣʔϯଆ 4JEFDIBJO ϒϩοΫνΣʔϯ֎ ֤ٕज़ͷؔ࿈Πϝʔδ *OUFSMFEHFS
Layer Blockchain Lightning Payment Channel Routing Algorithm Atomic Multi-Path Payments
Lapps Physical Layer Link Layer Network Layer Transport Layer Application Layer Sphinx Presentation Layer Lightning Internet HTLC Session Layer
ϥΠτχϯάωοτϫʔΫʁ ಛΛ̍ͭ̍ͭઆ໌͠·͢ɻ
ϥΠτχϯάωοτϫʔ Ϋʁ جຊతͳΞΠσΞ̍ ຖճऔҾΛϒϩοΫνΣʔϯʹॻ͖ࠐΉͷͰͳ͘ɺ֤औҾͷ݁Ռͱͯ͠ਖ਼ຯͷ͓ۚΛ࠷ޙʹ ϒϩοΫνΣʔϯʹॻ͖ࠐΉ ֓೦ྫ(ݫີʹͪΐͬͱҧ͍·͕͢) 1. A͞Μ͕B͞Μʹ1000ԁିͨ͠ 2. B͞Μ͕A͞Μʹ500ԁ͝൧Λग़ͨ͠
3. ݁ہɺB͞ΜA͞Μʹ500ԁฦͨ͠ ͜ΕΛͰ͖ΔΑ͏ʹ͢ΔೋऀʹΑΔ࠷খߏ୯ҐΛνϟωϧͱ͍͏ɻ νϟωϧHTLC(Hashed Time Lock Contractɺϋογϡ੍͖࣌ؒݶίϯτϥΫτ)Λͬͯ࡞ Δ ࠷ऴঢ়ଶΛϒϩοΫνΣʔϯʹॻ͖ࠐΉ·Ͱɺ྆ऀͷ߹ҙͷ্Ͱঢ়ଶͷߋ৽Λ͢Δ
10000ԁ 2000ԁ 3500ԁ 4000ԁ 500ԁ
ϥΠτχϯάωοτϫʔ Ϋʁ جຊతͳΞΠσΞ̍ νϟωϧΛ࡞ͬͨยํͷਓ͕ѱਓͰɺࣗͷૹۚΛͳ͔ͬͨ͜ͱʹ͍͕ͨͨ͠Ίʹɺ࠷ऴ ঢ়ଶͰͳ͍ͷΛҰํతʹϒϩοΫνΣʔϯʹॻ͖ࠐΜͩΒͲ͏͢Δͷʁ ࠷ऴঢ়ଶͰͳ͍τϥϯβΫγϣϯʹɺѱਓଆʹର͢Δࢿۚ༻੍࣌ؒݶ͕͔͔ͬ ͍ͯ·͢ɻ ରͯ͠ɺળਓଆѱਓଆ͔ΒΒͬͨγʔΫϨοτΩʔΛ࠷ऴঢ়ଶͰͳ͍τϥϯβ Ϋγϣϯʹରͯ͠͏ͱɺνϟωϧ্ʹ͋ͬͨѱਓͷࢿۚΛͪʹશͯୣ͑ΔΑ͏ʹ ͳ͍ͬͯ·͢ɻ
γʔΫϨοτΩʔ࠷ऴঢ়ଶʹ྆ऀ͕߹ҙ͢Δࡍʹɺ྆ऀ͕औΓަΘ̍͢ݸલͷ ͷΛແޮԽ͢ΔͨΊͷΩʔ ͜ͷΑ͏ͳϖφϧςΟʔ͕͋ΔͨΊɺѱਓଆʹ૬खΛཪΔΠϯηϯςΟϒ͕ͳ͍ ѱਓଆͷཪΓʹର͙ͯ͢͠ʹϖφϧςΟʔΛߦͰ͖ΔΑ͏ʹɺτϥϯβΫγϣϯΛৗ ʹࢹ͓͔ͯ͠ͳ͚Ε͍͚ͳ͍
ϥΠτχϯάωοτϫʔ Ϋʁ جຊతͳΞΠσΞ̎ ϒϩοΫνΣʔϯͷෛՙΛԼ͛ɺखྉΛ҆͘͢ΔͨΊɺνϟωϧΛෳ ͭͳ͍Ͱૹۚ͢Δ
ϥΠτχϯάωοτϫʔ Ϋʁ հऀ͕͓ۚΛ౪ΊΔͷͰʁ հऀBob͕͓ۚΛಘΔͨΊʹϓϨΠϝʔδͱݺΕΔจࣈྻ͕ͳ͍ͱ͍͚ ͳ͍ Bob͓ۚΛհ͢Δͱ͍͏ଋ͢Δ͕ɺଋͨ࣌͠ͰϓϨΠϝʔδΛ ϋογϡԽͨ͠ϓϨΠϝʔδϋογϡ͔࣋ͬͯ͠ͳ͍ͨΊɺ͓ۚΛ౪Ίͳ͍ ͜ΕΛ࣮ߦ͢ΔͨΊʹHTLCΛ͏ ૹۚऀ डۚऀ
"MJDF #PC $BSPM
؆қతͳઆ໌ ૹۚऀ डۚऀ "MJDF #PC $BSPM ᶃ͖݅ૹۚଋ ᶄ͖݅ૹۚଋ ᶅૹۚ ᶆૹۚ
ϥΠτχϯάωοτϫʔ Ϋʁ ૹۚऀ डۚऀ "MJDF #PC $BSPM $BSPMϓϨΠϝʔδ 3 $BSPMϓϨΠϝʔδϋογϡ
)
ϥΠτχϯάωοτϫʔ Ϋʁ ૹۚऀ डۚऀ "MJDF #PC $BSPM $BSPM ϓϨΠϝʔδϋογϡ )
ᶃϓϨΠϝʔδϋογϡ)ૹ UYXJUI) OFFE3 UPVTF UYXJUI) OFFE3 UPVTF ᶄ59XJUI)ૹ UYXJUI) OFFE3 UPVTF ᶅ59XJUI)ૹ ᶆϓϨΠϝʔδ3ૹ 3 ᶇϓϨΠϝʔδ3ૹ 3 $BSPM ϓϨΠϝʔδ 3 ଋ͢Δ͚Ͳ౪Ίͳ͍ Carol R͕͋Δ͔Β ड͚औΕΔ
ϥΠτχϯάωοτϫʔ Ϋʁ Carol͕ҙѱͰɺϓϨΠϝʔδRΛ͘Εͳ͔ͬͨΒBobCarolʹ͓ۚΛୣΘΕͯऴΘ Γʁ ڠྗతνϟωϧΫϩʔζʹ͢Δ߹ɺ૬ख͔Βࢧ͍தͷͷ(in-flight HTLC)ͷϓ ϨΠϝʔδRΛΒΘͳ͍ͱԠ͡ͳ͍Α͏ʹ͢Δ Carol͕ͣͬͱRΛͣ͞ҰํతʹνϟωϧΫϩʔζ͓ۚ͠Λͬͨ߹ɺϓϨΠ ϝʔδRύϒϦοΫϒϩοΫνΣʔϯ্Ͱެ։͞ΕΔͨΊɺͦΕΛͬͯBob Alice͔Β͓ۚΛಘΔɻͨͩ͠ɺ͕͔͔࣌ؒΔɻ
Carol͕ͣͬͱRΛͣ͞ɺ͔͓ۚ͠ΛΘͳ͔ͬͨ߹ɺBob͋Β͔͡Ίઃ ఆ͓͍ͯͨ࣌ؒ͠Ҏ߱ʹͳΕ͓ۚΛऔΓͤΔ༏ઌݖ͕͋Δɻͨͩ͠ɺ͕࣌ؒ ͔͔Δɻ ૹۚऀ डۚऀ "MJDF #PC $BSPM
ϥΠτχϯάωοτϫʔ Ϋʁ ϊʔυ ϊʔυ ϊʔυ*% ϊʔυ νϟωϧ ϊʔυ νϟωϧ νϟωϧ
νϟωϧ ϊʔυ ϊʔυ*% ϊʔυ*% ϊʔυ*% ϊʔυ νϟωϧ ϊʔυ*% νϟωϧ ϊʔυ ϊʔυ*% ͷେ͖͞νϟωϧʹ͍ͬͯΔϏοτίΠϯͷྔ
ϥΠτχϯάωοτϫʔΫ ϊʔυϓϩδΣΫτҰཡ $PNQBOZ 0SHBOJ[BUJPO -JHIUOJOH -BCT .*5%$* #MPDLTUSFBN "$*/2 CDPJOPSH
/BZVUB 1SPEVDU /BNF MOE MJU MJHIUOJOHE FDMBJS QMBTNB QUBSNJHBO MOXBMMFU $PNNJUPST 5IBEEFVT %SZKB +PTFQI 1PPO 0MBPMVXB 0TVOUPLVO 5IBEEFVT %SZKB 3VTUZ3VTTFM $ISJTUJBO %FDLFS 1JFSSF.BSJF 1BEJPV 'BCSJDF %SPVJO EQBE $ISJTUPQIFS +F⒎SFZ OBZVUBVFOP "OUPO ,VNBJHPSPET LJ -BOHVBHF (P (P $ 4DBMB /PEFKT $ 4DBMB pSTUDPNNJU +45 NBTUFS MBTUFTU DPNNJU +45 HJUIVC IUUQT HJUIVCDPN MJHIUOJOHOFU XPSLMOE IUUQT HJUIVCDPN NJUEDJMJU IUUQT HJUIVCDPN &MFNFOUT1SPK FDUMJHIUOJOH IUUQT HJUIVCDPN "$*/2FDMBJS IUUQT HJUIVCDPN CDPJOPSH QMBTNB IUUQT HJUIVCDPN OBZVUBDP QUBSNJHBO IUUQT HJUIVCDPN CUDPOUSBDU MOXBMMFU PUIFST BOESPJEBQQ
ςετωοτ ࢲͷϊʔυ: btctest.lnetwork.tokyo (160.16.233.215)
ϝΠϯωοτ ϦΞϧͳ͓͕ۚྲྀΕΔϥΠτχϯάωοτϫʔΫ 20183݄22
ϝΠϯωοτ 20184݄24
ࢲͷϊʔυ: btc.lnetwork.tokyo (153.126.136.98) pubkey: 028dcc199be86786818c8c32bffe9db8855c5fca98951eec99d1fa335d841605c2
ٕज़ৄࡉ ٕज़ৄࡉʹ͍ͭͯͪ͜ΒΛࢀর͍ͩ͘͞(ӳޠ) 20176݄ʹΠεϥΤϧͷςϧΞϏϒͰࢲ͕ͨ࣌͠ ͷࢿྉ https://www.slideshare.net/takayaimai/lightning- network-in-tel-aviv-israel ࠷৽࣮͔Βগ͠ဃ͕͋Γ·͕͢ɺجຊతͳಈ࡞ ݪཧಉ͡Ͱ͢ɻ
Layer Blockchain Lightning Payment Channel Routing Algorithm Atomic Multi-Path Payments
Lapps Physical Layer Link Layer Network Layer Transport Layer Application Layer Sphinx Presentation Layer Lightning Internet HTLC Session Layer
͍ͯ͠Δ ϥΠτχϯάٕज़ϓϩδΣΫτ Atomic Multi-Path Payments(ෆՄͳෳܦ࿏ࢧ͍ɺϥΠτχϯάωοτϫʔΫඇதԝूݖԽ/ଟֹૹۚ) b+l wallet (ड͕ۚͰ͖Δݱࡏ།ҰͷϥΠτχϯάΥϨοτ) eltoo(νϟωϧߋ৽ͷγϯϓϧԽ) Splicing(νϟωϧσϙδοτͷಈతมߋ)
Data Loss Protection(νϟωϧঢ়ଶͷอଘ) Olympus Server(νϟωϧঢ়ଶͷόοΫΞοϓࢄҕୗͱҕΠϯηϯςΟϒઃܭ) Outsourcing WatchTower (τϥϯβΫγϣϯࢹͷ֎෦Խ/ҕୗ) Atomic Swap(ϥΠτχϯάΛͬͨϒϩοΫνΣʔϯؒෆՄίΠϯަ) Streaming Payments (ϥΠτχϯάૹۚͷ͞ΒͳΔޮԽɺૹۚϧʔτҰճҰճดͣ͡ʹϧʔτΛ͍ճ͢)
͍ͯ͠Δ ϥΠτχϯάٕज़̍
͍ͯ͠Δ ϥΠτχϯάٕज़̍ AMP: Atomic Multi-Path Payments(ෆՄͳෳܦ࿏ࢧ͍) ݱঢ় ૹۚऀ͔Βडۚऀͷૹۚܦ࿏̍ͭ ྫ͑ɺ100ԁΛૹΓ͍ͨ߹ɺૹۚऀ͔Βडۚऀͷܦ࿏ͷશͯͷνϟωϧ͕100ԁૹۚՄೳͰͳ͍ͱ ͍͚ͳ͍
·ͱ·͓ͬͨۚΛૹΕͳ͍ ̍ສԁͳͲ͋Δఔ·ͱ·͓ͬͨۚɺϥΠτχϯάωοτϫʔΫΛΘͳ͍΄͏͕͍͍ͱࢥ͍ ·͢ νϟωϧʹଟ͘ͷ͓ۚΛஔ͍͓ͯ͘ͷࢿ͕ۚ๛͔ͳਓ -> தԝूݖԽ 1ͭͷૹۚܦ࿏ʹґଘͯ͠͠·͏ ૹۚܦ࿏্ͷϊʔυ͕ૹۚதʹԠ͠ͳ͘ͳΔͳͲ͕ى͖ͨ߹ɺૹ్͕ۚதͰࢭ·ͬͯ͠ ·ͬͯಈ͔ͳ͘ͳΔͱ͍͏͜ͱͳ͍͕ɺૹۚྃ·Ͱ͕͔͔࣌ؒͬͯ͠·͏
͍ͯ͠Δ ϥΠτχϯάٕज़̍ AMP: Atomic Multi-Path Payments(ෆՄͳෳܦ࿏ࢧ͍) ղܾํ๏ ̍ճͷૹۚΛɺෳͷૹۚܦ࿏ʹׂͯ͠ૹΔ ྑ͍ ૹۚܦ࿏ͷબࢶ͕ͬͱ૿͑ɺϥΠχϯάωοτϫʔΫશମͷϦιʔεΛ͏·͑͘Δ
νϟωϧʹେ͖ͳ͓ۚΛஔ͍͓͔ͯͳͯ͘ɺϥΠτχϯάωοτϫʔΫʹߩݙͰ͖Δ ѱ͍ ϥΠτχϯάωοτϫʔΫશମͰͷૹۚॲཧ૿͑ΔͨΊɺׂΛେ͖͗͘͢͠ΔͱϥΠτ χϯάωοτϫʔΫ͕ͯ͠͠·͏
͍ͯ͠Δ ϥΠτχϯάٕज़̍ AMP: Atomic Multi-Path Payments(ෆՄͳෳܦ࿏ࢧ͍) ਐల۩߹ ΞτϛοΫੑͷఆٛ࠷దͳ࣮ํ๏ʹ͍ͭͯɺlightning-devϝʔϦϯάϦετͰٞத ·ͩϥΠτχϯάωοτϫʔΫRFCʹͳ͍ͬͯͳ͍ ͜ΕɺݸਓతʹScaling
Bitcoin Workshop 2017 @ Stanford Univ. ʹఏҊ͍ͯͨ͠ͷ(೦ͳ͕ΒτʔΫ ʹ࠾༻͞Ε·ͤΜͰ͕ͨ͠ɻɻ) https://github.com/takaya-imai/packetization_for_paymentchannel
͍ͯ͠Δ ϥΠτχϯάϓϩδΣΫτ̎ εϚϗΞϓϦΛϥΠτχϯάωοτϫʔΫʹ डۚͰ͖Δ lnwallet http://lightning-wallet.com
͍ͯ͠Δ ϥΠτχϯάٕज़̎ ໘ന͍ τϥϯβΫγϣϯࢹͷ؆қԽ͕࣮ͯ͋͠Γɺࢹͷ֎෦ҕΛ؇Ͱ͖Δ ୯७ʹɺεϚϗΞϓϦϥΠτχϯάωοτϫʔΫʹࢀՃͰ͖·ͤΜ εϚϗͷి͕ΕΔɺΠϯλʔωοτʹଓͰ͖ͳ͘ͳΔͳͲͯ͠ɺτϥϯβΫγϣϯͷࢹ͕ Ͱ͖ͳ͘ͳΔͨΊɻ ૹ͚ۚͩͰ͋ΕͰ͖·͕͢ɺϥΠτχϯάωοτϫʔΫͷҰ෦ͱͯ͠ૹۚܦ࿏ʹߩݙ͢Δʹૹ ۚͱडۚͷ྆ํ͕ඞཁ τϥϯβΫγϣϯࢹ͕ෆཁͱ͍͏Θ͚Ͱͳ͍Ͱ͢
εϚϗ্ͷτϥϯβΫγϣϯσʔλ͕յΕͯ͠·ͬͨͳ͘ͳͬͯ͠·ͬͨͱ͖ͷͨΊʹɺόοΫΞοϓΛ औ͓ͬͯ͘͜ͱ͕Ͱ͖Δ όοΫΞοϓอଘͷࢄҕΛड͚ΔଆʹͱͬͯͷΠϯηϯςΟϒ͕͢Ͱʹ࣮ͯ͋͠Δ ͜ΕΒΛߦ͏ͷ͕ɺOlympusαʔόͰ͢ɻ εϚϗΞϓϦϋϯζΦϯΛ͍ͬͯΔͷͰɺͦ͜Ͱਐల۩߹ެ։͍͖ͯ͠·͢ɻ
͍ͯ͠Δ ϥΠτχϯάٕज़̏ eltoo: ߋ৽ํ๏ͷ͞ΒͳΔγϯϓϧԽ
͍ͯ͠Δ ϥΠτχϯάٕज़̐ Splicing (Splice-in, Splice-out) νϟωϧσϙδοτͷಈతมߋ Splice-in: σϙδοτΛ૿͢ Splice-out: σϙδοτΛݮΒ͢
Funding TX Commitment TX ௨ৗ Funding TX Commitment TX2 Splicing Funding TX2
͍ͯ͠Δ ϥΠτχϯάٕज़̐ Data Loss Protection νϟωϧঢ়ଶͷอଘ ҉߸௨՟ʹ෮ݩϑϨʔζ(mnemonic code)͕͋ΓɺΥϨοτ͕յΕ ͯ͠·͏ɾεϚϗ͕յΕͯ͠·͏ͱ͍ͬͨ࣌ʹ෮ݩϑϨʔζΛ͑ ΥϨοτΛݩʹͤΔ
͔͠͠ɺΦϑνΣʔϯٕज़Ͱ͋ΔϥΠτχϯάͰऔҾσʔλϒϩο ΫνΣʔϯʹͳ͍ͨΊ෮ݩϑϨʔζͰνϟωϧঢ়ଶͷ෮ݩͰ͖ͳ͍ ͜ͷͨΊɺΥϨοτͷ෮ݩϑϨʔζͰνϟωϧঢ়ଶ෮ݩͰ͖ΔΑ͏ ͳΈ͕ඞཁ
͍ͯ͠Δ ϥΠτχϯάٕज़̑ Olympus Server νϟωϧঢ়ଶόοΫΞοϓͷࢄҕͱҕΠϯηϯςΟϒઃܭ http://lightning-wallet.com/what-does-olympus-server-do#what-does-olympus-server-do b+l walletͱ࿈ܞͯ͠Քಇ͢ΔΈ νϟωϧΛ։͘ͱOlympus Serverʹνϟωϧঢ়ଶΛ҉߸Խͨ͠ঢ়ଶͰૹ͠ɺb+l
walletϥΠτχϯάܦ༝Ͱ όοΫΞοϓखྉΛ͏ Olympus Server͕ཪΔՄೳੑ(νϟωϧঢ়ଶΛͯ͘͠Εͳ͍)͕͋ΔͨΊɺෳͷOlympus Serverʹνϟωϧঢ় ଶΛૹΔࢄҕୗͷํ͕ྑ͍Α͏ʹࢥ͏
͍ͯ͠Δ ϥΠτχϯάٕज़̒ Outsourcing WatchTower τϥϯβΫγϣϯࢹͷ֎෦Խ/ҕୗ νϟωϧΛҡ࣋͢Δʹ͋ͨͬͯɺνϟωϧ૬ख͕ෆਖ਼Λ͠ͳ͍Α͏ʹνϟωϧ͕উखʹด͡ΒΕͳ ͍͔Λࢹ͠ͳ͍ͱ͍͚ͳ͍ εϚϗ্ͷϥΠτχϯάΞϓϦͷ߹ɺεϚϗ͕յΕΔ·ͨి͕ΕΔͱ͍ͬͨ߹ʹ͜ͷ τϥϯβΫγϣϯࢹ͕Ͱ͖ͳ͘ͳΔͨΊɺࢹͷ֎෦Խ/ҕୗ͕ඞཁʹͳΔ ಛʹɺडۚͷࡍʹ͜ͷτϥϯβΫγϣϯࢹ͕ॏཁɻݱࡏ΄ͱΜͲͷϥΠτχϯάΞϓϦͰૹۚͷ
Έ͔͠Ͱ͖ͳ͍ͷɺૹۚʹτϥϯβΫγϣϯࢹ͕ෆཁͳͨΊɻ b+l walletͰݱࡏτϥϯβΫγϣϯࢹ͕ͳ͍ʹؔΘΒͣड͕ۚͰ͖Δ(·ͩςετωοτ)ɻෆ ਖ਼ଆʹର͢Δࢿۚ༻੍࣌ؒݶΛࡾϲ݄ͱ͔ʹͯ͠ɺ͍ͱ͍͑ͲεϚϗ͕Ұϲ݄Πϯλʔ ωοτ͔ΒΓ͞ΕΔ͜ͱͳ͍ΑͶʁͱ͍͏͍͏͜ͱΛར༻͠ɺͦΕͳΓʹ҆શʹड͕ۚͰ͖ ΔΑ͏ʹ͍ͯ͠Δɻ
͍ͯ͠Δ ϥΠτχϯάٕज़̓ Atomic Swaps ϥΠτχϯάΛͬͨϒϩοΫνΣʔϯؒෆՄίΠϯަ
͍ͯ͠Δ ϥΠτχϯάٕज़̓ Atomic Swaps ϥΠτχϯάΛͬͨϒϩοΫνΣʔϯؒίΠϯަ ϊʔυA ϊʔυB ϊʔυA BTCνϟωϧ ETHνϟωϧ
ϊʔυBɺBTCͱETH྆ํΛ ࣋ͨͳ͍ͱ͍͚ͳ͍
͍ͯ͠Δ ϥΠτχϯάٕज़̔ Streaming Payments ϥΠτχϯάૹۚͷ͞ΒͳΔޮԽɺૹۚϧʔτҰճҰճดͣ͡ʹ ϧʔτΛ͍ճ͢ ͜͜ΛԆͤ͞Δ͜ͱͰ ϓϨΠϝʔδϋογϡΛ͍·Θ͠ TX with
HͷૹֹۚΛ Կॻ͖͑Δ
Layer Blockchain Lightning Payment Channel Routing Algorithm Atomic Multi-Path Payments
Lapps Physical Layer Link Layer Network Layer Transport Layer Application Layer Sphinx Presentation Layer Lightning Internet HTLC Session Layer
ϥΠτχϯάʹڵຯ͕͋Δํ͝ࢀՃ͍ͩ͘͞ɻ
ϏοτίΠϯɾϒϩοΫνΣʔϯεΫʔϧͬͯ·͢ ͝ڵຯ͋ΔํࢀՃ͍͚ͨͩΕͱࢥ͍·͢ɻ
fin.