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
Lightning Networkとは
Search
Nayuta
May 25, 2019
Technology
0
230
Lightning Networkとは
Lightning Networkを簡単に説明
Nayuta
May 25, 2019
Tweet
Share
More Decks by Nayuta
See All by Nayuta
Lightning Networkノード運用(2019年6月版)
nayutainc
1
320
Lightning Network Ptarmigan Hands-on
nayutainc
0
200
How to use Lightning Software
nayutainc
0
180
For_BCCC(20190520)
nayutainc
0
260
Other Decks in Technology
See All in Technology
JAWS AI/ML #30 AI コーディング IDE "Kiro" を触ってみよう
inariku
3
400
Amazon Qで2Dゲームを作成してみた
siromi
0
170
LLM 機能を支える Langfuse / ClickHouse のサーバレス化
yuu26
9
2.6k
「Roblox」の開発環境とその効率化 ~DAU9700万人超の巨大プラットフォームの開発 事始め~
keitatanji
0
140
AIが住民向けコンシェルジュに?Amazon Connectと生成AIで実現する自治体AIエージェント!
yuyeah
0
190
結局QUICで通信は速くなるの?
kota_yata
8
7.4k
形式手法特論:位相空間としての並行プログラミング #kernelvm / Kernel VM Study Tokyo 18th
ytaka23
3
1.5k
データモデリング通り #2オンライン勉強会 ~方法論の話をしよう~
datayokocho
0
190
Autonomous Database Serverless 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
18
52k
いかにして命令の入れ替わりについて心配するのをやめ、メモリモデルを愛するようになったか(改)
nullpo_head
7
2.7k
Infrastructure as Prompt実装記 〜Bedrock AgentCoreで作る自然言語インフラエージェント〜
yusukeshimizu
1
160
Google Agentspaceを実際に導入した効果と今後の展望
mixi_engineers
PRO
3
780
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
890
Rails Girls Zürich Keynote
gr2m
95
14k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
4 Signs Your Business is Dying
shpigford
184
22k
The Language of Interfaces
destraynor
159
25k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
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であれば失敗しても金額的に損はしないので、ぜひ体験していただきたい。