Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Lightning Networkとは
Search
Nayuta
May 25, 2019
Technology
0
210
Lightning Networkとは
Lightning Networkを簡単に説明
Nayuta
May 25, 2019
Tweet
Share
More Decks by Nayuta
See All by Nayuta
Lightning Networkノード運用(2019年6月版)
nayutainc
1
300
Lightning Network Ptarmigan Hands-on
nayutainc
0
190
How to use Lightning Software
nayutainc
0
170
For_BCCC(20190520)
nayutainc
0
260
Other Decks in Technology
See All in Technology
レガシーシステムへのDatadog APM導入奮闘記
mtakeya4062
0
120
乗っ取れKubernetes!!~リスクから学ぶKubernetesセキュリティの考え方~/k8s-risk-and-security
mochizuki875
3
360
B11-SharePoint サイトのストレージ管理を考えよう
maekawa123
0
100
Nutanixにいらっしゃいませ。Moveと仮想マシン移行のポイント紹介
shadowhat
0
120
【CNDW2024】SIerで200人クラウドネイティブのファンを増やした話
yuta1979
0
190
2024年のAmazon Bedrockアップデート一挙おさらい 〜まだ間に合う! re:Invent直前までの重大ニュースを速習しよう〜
minorun365
PRO
3
150
実践/先取り「入門 Kubernetes Validating/Mutating Admission Policy」 / CloudNative Days Winter 2024
pfn
PRO
0
120
データカタログを自作したけど 運用しなかった話@Findy Lunch LT「データカタログ 事例から学ぶメタデータ管理の実態」
ryo_suzuki
2
360
プルリクが全てじゃない!実は喜ばれるOSS貢献の方法8選
tkikuc
12
1.5k
プラットフォームエンジニアリングアーキテクチャ道場 on AWS & EKS Kubernetes / Platform Engineering Architecture Dojo
riita10069
7
16k
モバイルアプリ開発未経験者が プロダクト開発に携わるまでに取り組んだこと/nikkei-tech-talk-27-3
nikkei_engineer_recruiting
0
110
LINEヤフーにおけるPrerender技術の導入とその効果
narirou
3
3.5k
Featured
See All Featured
Building Adaptive Systems
keathley
38
2.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Music & Morning Musume
bryan
46
6.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.3k
The Cost Of JavaScript in 2023
addyosmani
45
6.8k
Automating Front-end Workflow
addyosmani
1366
200k
Code Review Best Practice
trishagee
64
17k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Thoughts on Productivity
jonyablonski
67
4.3k
Designing for Performance
lara
604
68k
Transcript
Lightning Network 技術的ではない概要の説明
Lightning Networkって? Bitcoinのブロックチェーンを 間接的に使ってBitcoinを送金するしくみ。
何がうれしいの? • 送金完了=決済完了 ◦ マイニングされるまで待つ、というような時間が不要 • サーバ不要 ◦ Bitcoinと同じく、誰かに情報登録するようなことはしない
その代わり・・・ • Lightning Networkというネットワークに参加しないと使えない ◦ ネットワーク上の誰かと接続する ◦ 接続するだけじゃなく、その間に「チャネル」というBitcoinアドレスを作って、どちらかが送金しないといけない
◦ チャネルを作るところまではBitcoinなので、マイニングされるまで時間がかかる • チャネルに入っているBitcoin量の範囲でしか送金できない ◦ 2人の間のBitcoin量が増減することで送金を表現しているので、後から追加できない ▪ 将来の仕様で検討中 • 送金先の相手が、そのタイミングでネットワーク上に存在していないとダメ ◦ Bitcoinだとブロックチェーンに書き込めばよいので、相手の状態は気にしなくてよい • しくみが複雑 ◦ 説明しても、誰も理解してくれない・・・
よくあるLightning払い (1) 今日もおいしかったよ。 サバが特に良かった。 ありがとうございます。 次回はカツオの季節ですね。
QR code こちらで お支払い ください。
よくあるLightning払い (2) QRコードを読み込ん で、支払い、っと
よくあるLightning払い (3) ・・・ ・・・ ・・・
よくあるLightning払い (4) ありがとうございます! また 来るよ いただき ました!
何が行われていたのか? 最初のこのシーンでは、支払いを受ける人が、支払う人に対してQRコードを渡している。 このQRコードは「invoice」(請求書)と呼ばれるもので、以下のような情報が入っている。 • invoiceを作成した人だけがチェックできるデータ ◦ payment
hashやR-HASHなどと呼ばれる • 送金してほしい金額 ◦ 単位:msat=1000分の1 satoshi=1000億分の1 BTC • invoiceを作成した日時 • invoiceの有効期間 • invoice作成者のデジタル署名
何が行われていたのか? このシーンでは、スマートフォンにインストールされているLightning WalletアプリケーションでinvoiceのQRコー ドを読み取っている。 ここでは以下を前提とした。 • 既にLightning Networkに参加している
• Lightning Networkで支払うのに十分な金額がある もし参加していなければQRコードを読む前に参加を促されるだろうし、金額が足りないようであればQRコード を読み取った時点で警告されて支払うことができない。
何が行われていたのか? そしてこのシーン。 ここではいろいろなことが内部で行われている。 • 支払いするLightning Networkの選択 ◦ 各Networkの人には中継手数料を払う(少額だが)
• 実際に送金したものの、途中でNetworkが切断されていたので選択のやり直し ◦ 成功するまで繰り返すので、たまに時間がかかることがある • 相手まで送金する意思が届いたので、送金側が間違いないか確認 • 送金情報に問題がなかったので、受け取った証明データを返す • 送金した人が、受け取った証明データに問題が無いことを確認 ・・・ ・・・ ・・・
何が行われていたのか? そして、全部問題なかったのでOKとなりました。 めでたしめでたし。 もしどこかでOKにならなかった場合? それは、送金失敗、になるだけである。 送金額が足りているのに失敗する場合は、自分と支払先のNetworkがどこかで切断されていることになるの
で、どうにかしてNetworkを作らないと先に進めない。 一番簡単なのは、送金先と直接Networkを作ることだろうが、作成完了まで時間がかかる・・・
Bitcoinを取り戻す Lightning Networkでの送金は、Lightning Network内で行われているだけなので、 Bitcoinとして使いたいので あればBitcoinとして取り戻すことになる。 Lightning Networkへ参加する場合は、別の参加者との間に Bitcoinアドレスを用意し、そこに送金した。 取り戻す場合はその逆で、送金した
Bitcoinアドレスからそれぞれに払い戻すことになる。 それはすなわち、そのルートでの Lightning Networkへの参加を 止めることを意味する。 なお、同時に複数のLightning Networkルートを作っておくのは 問題ない(むしろ、そちらの方が普通かもしれない )。 MultiSig 参加 取り戻す=離脱
おわりに Lightning Networkの概要を紹介した。 雰囲気だけでもつかんでもらえれば幸いである。 実際に動かしてみると、読んで想像したのと違うという印象を受けるのではないかと思う。 testnetであれば失敗しても金額的に損はしないので、ぜひ体験していただきたい。