【和訳】BOLT 12 IS A SLEEPING GIANT PART 2 - LN.capital
ライトニングは世界を席巻する。
しかし、現金のようにプライベートなものになるのだろうか?
BOLT 12 IS A SLEEPING GIANT PART 2 *プライバシー編*
分解してみよう。
DeepLほぼ直訳
ライトニングは世界を席巻する。
しかし、現金のようにプライベートなものになるのだろうか?
BOLT 12 IS A SLEEPING GIANT PART 2 *プライバシー編*
分解してみよう。
BOLTとはBasis of Lightning Technologyの略です。
BOLTはライトニングネットワークのBIPのようなものです。
BOLT 12はすでに@blockstreamの@core_LNで利用可能で、@acinqと@lightningdevkitのチームも積極的に実装しています。
BOLT 12のパート1をご覧になっていない方は、こちらでお読みください。
では、現在のLightning仕様(BOLT 11)のプライバシーに関する問題点は何でしょうか?
1. BOLT 11で公開された請求書は、解読される可能性があります。
デコードされたインボイスには、以下のような受信者の機密情報が含まれています。
-Pubkeyとノードエイリアス
-IPアドレスと場所(非Torの場合のみ)
-パブリックチャネル容量とノードバランス
2. BOLT11では、返金はプライベートなものではありません。
返金の受取人は、お金を受け取るために自分の情報を漏らさなければなりません。
これは受け入れがたいトレードオフを生み出します。
ラスティ・トゥイット(@rusty_twit)氏の言葉を借りると。
"金が欲しいのか、匿名が欲しいのか"
3. チャンネルは、オンチェーンUTXOをdoxオープンします。
Lightningでチャンネルを開くには、2 of 2のマルチシグトランザクションが必要です。
現在、LNチャンネルオープンは通常のビットコイントランザクションとは異なる外観をしています。
これにより、オンチェーンの履歴がLightningにリンクされ、匿名性が解除されます。
では、BOLT12はこれらのプライバシー問題をどのように解決するのでしょうか。
主に3つの方法があります:
1. ブラインドパス
2. ペイヤープルーフ
3. シュノア署名
ブラインド・パス:
ブラインドパスは、ユーザーが実際にどこに資金が送られるかを知ることなく、ネットワーク上で資金を送ることを可能にします。
ブラインドパスのトランザクションの最後の数ホップは、直近のホップのみが次のホップの宛先を知ることができるように暗号化される。
送信者はトランザクションが目的地に到着したかどうかだけを知っている。彼らは宛先も支払い経路も知らない。
LNユーザーにとっては、支払いを受けるために自分の機密情報を公開する必要がなくなるので、プライバシーが大幅に向上する。
複雑そう。トレードオフはないのでしょうか?
LN上のBlinded Pathsは、速度を犠牲にしません。
しかし、支払いに失敗したときに返す情報は少なくなります。(受信者の匿名性を保つため)
これは、なぜ支払いが失敗したのかを知ることを難しくする。
Blinded Pathsは、プライバシー万能薬でもない。
タイミング攻撃の対象になることに変わりはない。
しかし、正しい方向への一歩であることは間違いない。
支払者の証明:
すべてのBOLT12オファーには、"Payer Key "が含まれています。
このキーは、あなたが請求書を作成したことを証明するために使用することができます。
これにより、マーチャントはお客様からの返金要求が有効であることを確認できるため、返金が容易になります。
BOLT 12のオファーは実際にはMerkle Treeであるため、お客様の機密情報を明かすことなく、支払いを行ったことを証明することができるのです。
Blinded Pathsと組み合わせることで、BOLT 12のオファーは、BOLT 11よりもはるかに優れたUXでプライベートな返金を可能にします。
シュノア署名:
BOLT 12の仕様では、Taproot Schnorr Signaturesを全面的に使用しています。
これは、ライトニングでチャンネルを開くと(2 of 2マルチシグネチャトランザクション)、通常のビットコインの使用と全く同じに見えることを意味します。
これにより、オンチェーンBTCとライトニングの間のリンクが断ち切られます。
しかし、TaprootとSchnorrは問題の一部しか解決していません。
チャンネルオープン(ノード間)はプライバシーを侵害しませんが、チャンネルアナウンスメント(ノードからネットワーク)は、プライバシーを侵害します。
これは、LN ゴシップ・アーキテクチャの動作に関係しています。
ゴシップv2が準備中ですが、それはまた別のスレッドで。
結論から言うと
BOLT 11は受信者のプライバシーを欠き、プライベートな払い戻しを不可能にし、オンチェーンBTCをLightningにリンクさせます。
BOLT 12は、Blinded Paths、Payer Proofs、Taproot Schnorr Signaturesでこれを修正した。
LN上のプライバシーはまだ作業が必要です。
しかし、BOLT 12は素晴らしいスタートです。
お読みいただきありがとうございました。
いいね、リツイート、フォローをして、Lightningのスレッドをもっと見てください。
https://twitter.com/LN_Capital/status/1594408238539218956
また
ルーティングノードを運営していますか?Torqをチェックしてみてください。https://github.com/lncapital/torq
以下原文
Lightning will take over the world.
But will it ever be as private as cash?
BOLT 12 IS A SLEEPING GIANT PART 2 *Privacy Edition*
Let’s break it down:
If you didn’t already know, BOLT stands for Basis of Lightning Technology.
BOLTs are like BIPs for the Lightning Network.
BOLT 12 is already available on @blockstream’s @core_LN and is also being actively implemented by the teams at @acinq and @lightningdevkit
If you didn't catch BOLT 12 part 1, you can read it here:
So what are the privacy problems with the current Lightning spec (BOLT 11)?
1. Any BOLT 11 invoice that is posted publicly can be decoded.
The decoded invoice contains sensitive information about the receiver, including:
-Pubkey & node alias-IP address & location (only if non-Tor)-Public channel capacity & node balance
2. Refunds aren’t private on BOLT 11.
The refund recipient must leak their information to receive their money.
This creates an unacceptable tradeoff.
In the words of @rusty_twit,
“Do you want your money or your anonymity?”
3. Channel opens doxx on-chain UTXOs.
Opening a channel on Lightning requires a 2 of 2 multi-sig transaction.
Currently, LN channel opens look different from normal bitcoin transactions.
This links your on-chain history to Lightning, which de-anonymizes you.
So how does BOLT 12 solve these privacy issues?
Three main ways:
1. Blinded Paths2. Payer Proofs3. Schnorr Signatures
Blinded Paths:
Blinded Paths allow a user to send funds over the network without actually knowing where the funds are being sent.
The last few hops of a blinded path transaction are encrypted so that only the most recent hop knows the destination of the next hop.
The sender only knows whether or not the transaction arrived at its destination. They don’t know the destination or the payment route.
This is a huge privacy increase for LN users because now they aren’t required to doxx their sensitive info to receive a payment.
You might be thinking, “This sounds complicated. Are there any tradeoffs?”
Blinded Paths on LN don’t sacrifice speed.
However, they return less information when a payment fails. (to keep the receiver anonymous)
This makes it harder to know why a payment failed.
Blinded Paths aren’t a privacy panacea, either.
They’re still subject to timing attacks.
But they’re certainly a step in the right direction.
Payer Proofs:
Every BOLT 12 offer contains a “payer key”
This key can be used to prove that you created an invoice.
This makes refunds easier, as the merchant can verify that a customer’s refund request is valid.
Since BOLT 12 offers are actually Merkle Trees, you can prove that you made a payment *without* revealing your sensitive information.
Combined with Blinded Paths, BOLT 12 offers allow for private refunds with much better UX than BOLT 11.
Schnorr Signatures:
The BOLT 12 spec uses Taproot Schnorr Signatures throughout.
This means that opening a channel on Lightning (the 2 of 2 multi-sig transaction), will look exactly the same as a regular bitcoin spend.
This severs the link between on-chain BTC and Lightning.
But Taproot & Schnorr only solve part of the problem.
Channel opens (node to node) won’t doxx privacy, but channel announcements (node to network), will.
This has to do with the way the LN gossip architecture works.
Gossip v2 is in the pipeline, but that’s for another thread.
TLDR:
BOLT 11 lacks receiver privacy, makes private refunds impossible, and links on-chain BTC to Lightning.
BOLT 12 fixes this with Blinded Paths, Payer Proofs, and Taproot Schnorr Signatures.
Privacy on LN still needs work.
But BOLT 12 is a great start.
Thanks for reading.
Drop a like, re-tweet, and follow us for more Lightning threads!
https://twitter.com/LN_Capital/status/1594408238539218956
Also:
Do you run a routing node? Check out Torq:
https://github.com/lncapital/torq