Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Trampoline Payment
Search
shigeyuki azuchi
October 17, 2023
Technology
74
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Trampoline Payment
GBECの解説動画の資料です。
https://goblockchain.network/2023/10/trampoline-payment/
shigeyuki azuchi
October 17, 2023
More Decks by shigeyuki azuchi
See All by shigeyuki azuchi
SLH-DSA (SPHINCS+)
azuchi
0
10
Hyper Tree
azuchi
0
18
FORS
azuchi
0
30
クラスターmempool
azuchi
0
42
W-OTS+
azuchi
0
49
Shorのアルゴリズム
azuchi
0
71
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
55
Fiat-Shamir変換と注意点
azuchi
0
260
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
69
Other Decks in Technology
See All in Technology
アクセスキーこわい やめかたと漏らさない工夫
sassssan68
1
350
Cloudflare Workers 向けアプリを C# で構築する ~WASM Native AOT への道~
nenonaninu
0
100
データ_AIの事業の勝敗をわけるもの
nek0128
1
410
エージェントはローカル、検証はMicroVM — Lambda MicroVMsでつくるServerless CI
fujioka6789
1
110
Claude in Chrome 入門 / Introduction to Claude in Chrome
cielo1985
0
840
AgentCore Runtime上にAgentic Coding基盤を構築・展開する際の設計ポイントと限界点 / Design considerations and limitations when building an agentic coding platform on AgentCore Runtime
har1101
4
220
synctest時代のhttptest Go 1.27で変わるHTTPサーバテストの裏側 / go conference2026 synctest and httptest
budougumi0617
1
3k
HHKBエバンジェリストになる方法
941
0
110
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
25
16k
負債のメタファと2026年 / Debt Metaphor in Agentic Engineering Age 202609 Edition
twada
PRO
9
3.8k
映像変換サーバーなしで端末内でHLSを生成してライブ配信
hikarusato
0
120
「守り」で活用するオンデバイスLLM 〜写ってはいけないを総力戦で防ぐ〜 / iOSDC Japan 2026
nakamuuu
0
170
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
300
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
200
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
540
New Earth Scene 8
popppiees
4
2.6k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.9k
sira's awesome portfolio website redesign presentation
elsirapls
0
410
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
390
Transcript
Trampoline Payment
LNの支払いでは、受信者から Invoiceを受け取った送信者が、受信者までの支払いの経路を決定する ソース・ルーティング という仕組みを採用している。 1 LNのルーティング 送信者 受信者
ホップ1 ホップ2 ホップ3 Invoice Onion Payload 1 • short_channel_id • amt_to_forward • cltv_value Onion Payload 2 • short_channel_id • amt_to_forward • cltv_value Onion Payload 3 • short_channel_id • amt_to_forward • cltv_value Onion Payload 4 • amt_to_forward • cltv_value • payment_secret • total_msat 経路上の各ノードの Onion Payloadを作成 • ランダムなセッション鍵を生成 • 各ホップのノード公開鍵とのECDHで共有シークレット/セッション鍵を導出 • 各ホップの共有シークレットを使って Onion Payloadを暗号化 • 各Onionをレイヤー化し OnionPacketを構築
2 チャネルグラフの構築 Lightning Node Lightning Node Lightning Node Lightning Node
channel Node Channel Node Lightning Node DNS Server 返ってきたノード情報を元に、 ネットワーク内のノードに接続 ネットワークに参加すると、リモートピアから、 チャネルとノードに関する通知を受け取ることができる。 • node_announcement ノードに関する情報を公表 公開鍵、接続情報(IPアドレス、ポート) サポートする機能など • channel_annoucement 新しいチャネルの情報を公表 • chanel_update 各方向毎のチャネルの情報を公表 ◦ 手数料 ◦ タイムロックの差分 ◦ HTLCの最低金額 Lightning Node Channel Graph LNノードはこのチャネルグラフを 最新に保ちながら、支払いを ルーティング可能な経路を探索する
3 経路探索 ネットワークにゴシップされるのはチャネルのキャパシティ(総量)のみ チャネルの参加者のどちらにどれだけの残高があるかは不明 ノードは、支払い額以上のキャパシティを持つ経路をピックアックし、 • 手数料(固定、比例) •
タイムロック時間 • これまでの支払いの試行の成功確率 の重みを持つ有向グラフ(フローネットワーク)から、 最適な経路を選択する。 ダイクストラ(Dijkstra)法など、最短経路問題のアルゴリズムを適用。 ネットワーク内のチャネル情報を最新に保ち、 経路計算をする必要があり、(ストレージ、計算コスト的に) 常時稼働していないスマートフォンなどのデバイスには不向き
4 Trampoline Payment スマートフォンなど制限のあるデバイス向けに、経路探索をアウトソースする提案:
• Trampoline Routing: https://github.com/lightning/bolts/pull/829/ • Trampoline onion format: https://github.com/lightning/bolts/pull/836/ Lightning Node Trampoline Node Light Client Lightning Node Lightning Node Lightning Node 軽量デバイスは、近隣の Trampoline Nodeまでの経路計算して支払いを送信 ※ ネットワーク全体のViewを持つ必要はない Trampoline Nodeは送信者に代わって、 受信者までの以降のルートを計算し、支払いを転送する。 ネットワーク・トポロジーの全体像を保持するノード。
5 Trampoline Paymentの流れ Lightning Node L3 Trampoline Node T3 Light
Client Lightning Node L5 Lightning Node L6 Lightning Node L4 Trampoline Node T1 Trampoline Node T2 Trampoline Node T4 Lightning Node L2 Lightning Node L1 Invoice Trampoline Hint • T1 • T2 • T3 ① 受信者は近隣のTrampoline Node情報を Trampoline Hintとして記載したインボイスを送信 (受信者が非公開チャネルの場合に利用) ② 支払人は、支払いに使用するTrampoline Nodeを選択し (T4, T3)、Trampoline Packetを作成する(後述) ③ 支払人は、最初のTrampoline Nodeまでの経路を選択し、 Onion Packetを作成し(後述)支払いを転送する ④ Trampoline Nodeは、 Trampoline Packetを解釈し、 次のTrampoline Nodeまでの経路を計算し、 経路に沿ってOnion Packetを作成し、支払いを転送する ⑤ 受信したOnion Packet内の Trampoline Packet から Trampoline Paymentを認識
6 Trampoline Payload Lightning Node L3 Trampoline Node T3 Light
Client Lightning Node L6 Lightning Node L4 Trampoline Node T4 Lightning Node L2 Lightning Node L1 Onion Payload for L1 • short_channel_id • amt_to_forward • cltv_value Onion Payload for T4 • amt_to_forward • cltv_value • payment_secret • total_amount • Trampoline Onion Trampoline Payload T4 • amt_to_forward • cltv_value • outgoing_node_id Trampoline Payload T3 • amt_to_forward • cltv_value • outgoing_node_id Trampoline Payload L6 • amt_to_forward • cltv_value • total_amount • payment_secret Onion Payload for T3 • amt_to_forward • cltv_value • payment_secret • total_amount • Trampoline Onion Trampoline Payload T3 • amt_to_forward • cltv_value • outgoing_node_id Trampoline Payload L6 • amt_to_forward • cltv_value • total_amount • payment_secret Onion Payload for L6 • amt_to_forward • cltv_value • payment_secret • total_amount • Trampoline Onion Trampoline Payload L6 • amt_to_forward • cltv_value • total_amount • payment_secret 送信者が作成する Onion Payload … … Trampoline Node T4 が作成 Trampoline Node T3 が作成 Trampoline Routingの場合も通常のOnion Routingと同様のプライバシーがある
7 Gossip Protocolに期待される変更 ※ 支払人は、少なくとも近隣のTrampoline Nodeまでの経路は計算する必要がある Light Client Lightning
Node Lightning Node channel_update channel_update Filter Filter • Nホップより遠いノードの更新情報のリレーの破棄を依頼 • 最大Nホップまでのノードのアップデート情報を照会 近隣のピアとTrampoline Nodeのみのネットワークグラフを維持し ストレージコストとネットワーク帯域幅を削減