LN, Swap, NLoop
宮本 丈
© bitbank inc.
自己紹介
国立がんセンター: バイオインフォマティクス部門 ->
Campfire 株式会社 ->
ビットバンクの System 部門クリプトチームでR&D
from 2年前
twitter: @joemphilips
© bitbank inc.
TOC
● Lightning Network とは
● Submarine Swap とは
● NLoop とは
● Lightning の今後
● Bitbank の今後の事業計画
© bitbank inc.
背景: ブロックチェーンの逼迫: Block Size
© bitbank inc.
背景: ブロックチェーンの逼迫: Blockchain Size
© bitbank inc.
TOC
● Lightning Network とは
● Submarine Swap とは
● NLoop とは
● Lightning の今後
● Bitbank の今後の事業計画
1. ブロックチェーンにデータをほとんど乗せることなく
2. ビットコインを
3. トラストレスに支払う技術
© bitbank inc.
Lightning Network
まず「どこまで深く理解したいのか」を考
えよう
仮想バランス層
トランザクション層
ネットワーク層
© bitbank inc.
双方向ペイメントチャネル
仮想バランス層での理解
fundingに入れた資金を二者間で
何度でも自由に移動できる。
「古い状態を無効にする」方法が重
要
Alice Bob
4BTC 6BTC
Alice Bob
3BTC 7BTC
update
デポジット デポジット
Alice Bob
8BTC 2BTC
close
open
Alice Bob
8BTC 2BTC
update
© bitbank inc.
マルチホップ
仮想バランス層での理解
Alice Bob Carol
4BTC 6BTC 2BTC 8BTC
2.99 6BTC 2BTC 8BTC
1.01
秘密の値
1 8BTC
1
1 9BTC
2.99 7.01BTC 1 9BTC
Pと引き換えに渡すよ!
Pと引き換えに渡すよ!
resolve
resolve
update
update
秘密の値の
ハッシュ
BOLT11 Invoice
2.99 6BTC
1.01
2.99 6BTC
1.01
© bitbank inc.
双方向ペイメントチャネル
トランザクション層での理解
1. Funding Txの作成
2. 後続のcommitment Txの作成・交
換・検証
3. Funding Txのブロードキャスト
Alice
Bob
10BTC
4BTC
一定時間 +
or
6BTC
Funding Tx
Commitment Tx
6BTC
一定時間 +
or
4BTC
Commitment Tx
秘密の値 秘密の値
… アリスの秘密の値のハッシュ
© bitbank inc.
10BTC
Funding Tx
Bob
Alice
6BTC
4BTC
Commitment Txが
ブロックに入ってから
一定時間後
(OP_CSV) Bobがアリスの
Sを知っている
場合
つまり...
アリスが勝手に古いTxをブロードキャストした場
合、Bobはrevokeできる(逆もまた然り)
最新のTxをブロードキャストした場合、一定時間待
つ
待ちたくない場合は、交渉して協力的に閉じる
この場合
「4:6の仮想balanceを持っている」
と考えることができる。 -> オフチェーンで仮想balanceの持分を変えられる
© bitbank inc.
LN は Mesh Network にはならない
bitcoin自体と違い、チャネルの
維持にはlock upコストがかかる
ため。
参照: Mathematical Proof That the
Lightning Network Cannot Be a
Decentralized Bitcoin Scaling Solution
14
「Lightning Network Hub」- Lightning Network の全体像
#2
赤 … public channel
青 … private channel
… LP (Liquidity Provider)
… Payment Processor
… User
© bitbank inc.
TOC
● Lightning Network とは
● Submarine Swap とは
● NLoop とは
● Lightning の今後
● Bitbank の今後の事業計画
LN上の BTC を別の資産と交換すること
1. DEX のプロトコルであり
2. Channel 状態管理の手段である
© bitbank inc.
トークンとの交換
片方がオンチェーン×
マルチホップ
の場合
Alice
Bob
Carol
4BTC
6BTC
2BTC
8BTC
or
一定時間+
+
ブロードキャスト
4BTC
6BTC
2BTC
7BTC
Pと引き換えに渡すよ!
1
以下同様
matching
19
「Lightning Network Hub」 - NLoop: チャンネル管理の自動化 … 以下を自動で行う
#2
取引所 LP
close
取引所 LP
9.99BTC
LN 出金
これ以上出金できない
よー
こっちに LN 支払いしてください
代わりになにか別のもの支払うので
OK
取引所 LP
LN 支払い
5BTC 5BTC
4BTC 6BTC
HAPPY
© bitbank inc.
TOC
● Lightning Network とは
● Submarine Swap とは
● NLoop とは
● Lightning Network の今後
● Bitbank の今後の事業計画
© bitbank inc.
NLoop とは
● 何なのか
○ Submarine Swap のクライアント
● なにを目的としているのか
○ チャンネル状態を適正に保ち、 LN 入出金をスムーズに保つ
○ Swap 手数料の最適化 -> コスト削減
○ 監査の容易性
○ EventSourcing Architecture の試金石
○ LN 事業の試金石
● 将来の展望
○ DEX Client
© bitbank inc.
NLoop overview
NLoop
bitcoind
litecoind
lnd lnd
boltz-server
eventstore db Channel
bitcoind
p2p network
http
p2p network
User Liquidity Provider
(service provider)
© bitbank inc.
Event Sourcing – Functional DB Management
Object Oriented Functional Programming
On Memory Mutable Objects Immutable Objects
DB ORM Mapper/Migration EventSourcing
© bitbank inc.
Event Sourcing と DB
inside-out pattern
● Immutable Database
● Microservice 間の連携は DB を介して
行う
● DB に差分を保存する
● 差分はそれ自体をバージョン管理する
(Protobuf などを使う)
● 必要に応じて Query を Cache
出典: Event Sourcing Pattern in Microservices Architectures
利点
● No Migration / No Impedance Mismatch
● 通知と状態の一貫性
● 監査が容易
● service 間の結合が容易
● Cache の一貫性/柔軟性
© bitbank inc.
TOC
● Lightning Network とは
● Submarine Swap とは
● Why NLoop
● Lightning の今後
● Bitbank の今後の事業化計画
© bitbank inc.
API 課金 a.k.a. DAO done right
Channel
team A
team B
team C
Lightning Labs の目指す世界観(多分)
● マイクロサービスの連携に LSAT を用いる
● Organization の内/外を区別する必要がなくなる
© bitbank inc.
Lightning Labs とその他の LN 開発者とのイザコザ
● Bolts (LN の仕様書)の進展が滞り中
○ Lightning Labs に不都合なため?
● e.g.
○ dual-funding channel … Pool の重要性が下がる
○ splice in/out … Loop が完全に要らなくなる
○ offer (static invoice) … ?
© bitbank inc.
Next Bitcoin Update: Recursive Covenants
● Covenants … 次に使われる TX に制限を加える機能
○ つまり、 資産の資産の「使われ方」に制限を加える
○ 実装の仕方は議論中
■ OP_CTV (BIP119) or
■ SIGHASH_ANYPREVOUT (BIP118) or
■ OP_CHECKSIGFROMSTACK + OP_CAT
● なぜ重要なのか?
○ Loop 処理がかけるようになる = チューリング完全 = スマートコントラクトが可能
○ Vaults: より安全な資産管理
© bitbank inc.
Lightning Network v2.0
次の大きな update は、Offer, PTLC, Eltoo など
● Offer (a.k.a. Static Invoice)
○ Onchain Addressと同じように印刷して使える Invoice
● PTLC
○ 理論上はすでに可能 … だが仕様をまとめるのが大変そう
○ Point-Time-Locked-Contract の略
○ HTLC の、 Hash の代わりに Point(楕円曲線上の点 = 公開鍵) を使う
○ 匿名性向上/支払い成功率増加 など
● Eltoo
○ Covenants との兼ね合いがあるのでまだ先か
○ 支払いの回数を増やしても DB が大きくならない (特にユーザー端末で便利 )
© bitbank inc.
TOC
● Lightning Network とは
● Submarine Swap とは
● Why NLoop
● Lightning Network の今後
● Bitbank の今後の事業計画
phase1
Inazuma 入出金
phase2
LP の自社運用
phase3
LPaaS として外部提供
LP LP
NLoop による
チャンネル管理
出金フロー
「Lightning Network Hub」 - 今後の計画
#2

Lightning Network, Swap, Nloop

  • 1.
  • 2.
    © bitbank inc. 自己紹介 国立がんセンター:バイオインフォマティクス部門 -> Campfire 株式会社 -> ビットバンクの System 部門クリプトチームでR&D from 2年前 twitter: @joemphilips
  • 3.
    © bitbank inc. TOC ●Lightning Network とは ● Submarine Swap とは ● NLoop とは ● Lightning の今後 ● Bitbank の今後の事業計画
  • 4.
    © bitbank inc. 背景:ブロックチェーンの逼迫: Block Size
  • 5.
    © bitbank inc. 背景:ブロックチェーンの逼迫: Blockchain Size
  • 6.
    © bitbank inc. TOC ●Lightning Network とは ● Submarine Swap とは ● NLoop とは ● Lightning の今後 ● Bitbank の今後の事業計画
  • 7.
  • 8.
    © bitbank inc. LightningNetwork まず「どこまで深く理解したいのか」を考 えよう 仮想バランス層 トランザクション層 ネットワーク層
  • 9.
  • 10.
    © bitbank inc. マルチホップ 仮想バランス層での理解 AliceBob Carol 4BTC 6BTC 2BTC 8BTC 2.99 6BTC 2BTC 8BTC 1.01 秘密の値 1 8BTC 1 1 9BTC 2.99 7.01BTC 1 9BTC Pと引き換えに渡すよ! Pと引き換えに渡すよ! resolve resolve update update 秘密の値の ハッシュ BOLT11 Invoice 2.99 6BTC 1.01 2.99 6BTC 1.01
  • 11.
    © bitbank inc. 双方向ペイメントチャネル トランザクション層での理解 1.Funding Txの作成 2. 後続のcommitment Txの作成・交 換・検証 3. Funding Txのブロードキャスト Alice Bob 10BTC 4BTC 一定時間 + or 6BTC Funding Tx Commitment Tx 6BTC 一定時間 + or 4BTC Commitment Tx 秘密の値 秘密の値 … アリスの秘密の値のハッシュ
  • 12.
    © bitbank inc. 10BTC FundingTx Bob Alice 6BTC 4BTC Commitment Txが ブロックに入ってから 一定時間後 (OP_CSV) Bobがアリスの Sを知っている 場合 つまり... アリスが勝手に古いTxをブロードキャストした場 合、Bobはrevokeできる(逆もまた然り) 最新のTxをブロードキャストした場合、一定時間待 つ 待ちたくない場合は、交渉して協力的に閉じる この場合 「4:6の仮想balanceを持っている」 と考えることができる。 -> オフチェーンで仮想balanceの持分を変えられる
  • 13.
    © bitbank inc. LNは Mesh Network にはならない bitcoin自体と違い、チャネルの 維持にはlock upコストがかかる ため。 参照: Mathematical Proof That the Lightning Network Cannot Be a Decentralized Bitcoin Scaling Solution
  • 14.
    14 「Lightning Network Hub」-Lightning Network の全体像 #2 赤 … public channel 青 … private channel … LP (Liquidity Provider) … Payment Processor … User
  • 15.
    © bitbank inc. TOC ●Lightning Network とは ● Submarine Swap とは ● NLoop とは ● Lightning の今後 ● Bitbank の今後の事業計画
  • 16.
  • 17.
    1. DEX のプロトコルであり 2.Channel 状態管理の手段である
  • 18.
  • 19.
    19 「Lightning Network Hub」- NLoop: チャンネル管理の自動化 … 以下を自動で行う #2 取引所 LP close 取引所 LP 9.99BTC LN 出金 これ以上出金できない よー こっちに LN 支払いしてください 代わりになにか別のもの支払うので OK 取引所 LP LN 支払い 5BTC 5BTC 4BTC 6BTC HAPPY
  • 20.
    © bitbank inc. TOC ●Lightning Network とは ● Submarine Swap とは ● NLoop とは ● Lightning Network の今後 ● Bitbank の今後の事業計画
  • 21.
    © bitbank inc. NLoopとは ● 何なのか ○ Submarine Swap のクライアント ● なにを目的としているのか ○ チャンネル状態を適正に保ち、 LN 入出金をスムーズに保つ ○ Swap 手数料の最適化 -> コスト削減 ○ 監査の容易性 ○ EventSourcing Architecture の試金石 ○ LN 事業の試金石 ● 将来の展望 ○ DEX Client
  • 22.
    © bitbank inc. NLoopoverview NLoop bitcoind litecoind lnd lnd boltz-server eventstore db Channel bitcoind p2p network http p2p network User Liquidity Provider (service provider)
  • 23.
    © bitbank inc. EventSourcing – Functional DB Management Object Oriented Functional Programming On Memory Mutable Objects Immutable Objects DB ORM Mapper/Migration EventSourcing
  • 24.
    © bitbank inc. EventSourcing と DB inside-out pattern ● Immutable Database ● Microservice 間の連携は DB を介して 行う ● DB に差分を保存する ● 差分はそれ自体をバージョン管理する (Protobuf などを使う) ● 必要に応じて Query を Cache 出典: Event Sourcing Pattern in Microservices Architectures 利点 ● No Migration / No Impedance Mismatch ● 通知と状態の一貫性 ● 監査が容易 ● service 間の結合が容易 ● Cache の一貫性/柔軟性
  • 25.
    © bitbank inc. TOC ●Lightning Network とは ● Submarine Swap とは ● Why NLoop ● Lightning の今後 ● Bitbank の今後の事業化計画
  • 26.
    © bitbank inc. API課金 a.k.a. DAO done right Channel team A team B team C Lightning Labs の目指す世界観(多分) ● マイクロサービスの連携に LSAT を用いる ● Organization の内/外を区別する必要がなくなる
  • 27.
    © bitbank inc. LightningLabs とその他の LN 開発者とのイザコザ ● Bolts (LN の仕様書)の進展が滞り中 ○ Lightning Labs に不都合なため? ● e.g. ○ dual-funding channel … Pool の重要性が下がる ○ splice in/out … Loop が完全に要らなくなる ○ offer (static invoice) … ?
  • 28.
    © bitbank inc. NextBitcoin Update: Recursive Covenants ● Covenants … 次に使われる TX に制限を加える機能 ○ つまり、 資産の資産の「使われ方」に制限を加える ○ 実装の仕方は議論中 ■ OP_CTV (BIP119) or ■ SIGHASH_ANYPREVOUT (BIP118) or ■ OP_CHECKSIGFROMSTACK + OP_CAT ● なぜ重要なのか? ○ Loop 処理がかけるようになる = チューリング完全 = スマートコントラクトが可能 ○ Vaults: より安全な資産管理
  • 29.
    © bitbank inc. LightningNetwork v2.0 次の大きな update は、Offer, PTLC, Eltoo など ● Offer (a.k.a. Static Invoice) ○ Onchain Addressと同じように印刷して使える Invoice ● PTLC ○ 理論上はすでに可能 … だが仕様をまとめるのが大変そう ○ Point-Time-Locked-Contract の略 ○ HTLC の、 Hash の代わりに Point(楕円曲線上の点 = 公開鍵) を使う ○ 匿名性向上/支払い成功率増加 など ● Eltoo ○ Covenants との兼ね合いがあるのでまだ先か ○ 支払いの回数を増やしても DB が大きくならない (特にユーザー端末で便利 )
  • 30.
    © bitbank inc. TOC ●Lightning Network とは ● Submarine Swap とは ● Why NLoop ● Lightning Network の今後 ● Bitbank の今後の事業計画
  • 31.
    phase1 Inazuma 入出金 phase2 LP の自社運用 phase3 LPaaSとして外部提供 LP LP NLoop による チャンネル管理 出金フロー 「Lightning Network Hub」 - 今後の計画 #2