<oembed><type>rich</type><version>1.0</version><title>Lloyd Fournier [ARCHIVE] wrote</title><author_name>Lloyd Fournier [ARCHIVE] (npub1kh…y05yp)</author_name><author_url>https://yabu.me/npub1khlhcuz0jrjwa0ayznq2q9agg4zvxfvx5x7jljrvwnpfzngrcf0q7y05yp</author_url><provider_name>njump</provider_name><provider_url>https://yabu.me</provider_url><html>📅 Original date posted:2020-12-14&#xA;📝 Original message:&#xA;Hi Dave,&#xA;&#xA;Thanks for taking a read. You brought up really good points that need&#xA;addressing.&#xA;&#xA;This is really cool!  However, I don&#39;t understand why it&#39;s needed.  Your&#xA;&gt; goal seems to be for the sender to provide the commitment transaction&#xA;&gt; and signatures before he learns whether the receiver actually needs&#xA;&gt; them.  That&#39;s just as easily accomplished by sending the data upfront in&#xA;&gt; plain text.&#xA;&gt;&#xA;&#xA;To be clear: The goal is to offer a cooperative settlement transaction up&#xA;front to the (possibly) recovering party -- *not a commitment transaction*.&#xA;Note we cannot send a cooperative settlement tx up front for each&#xA;connection since they are not revocable -- the channel is over once it has&#xA;been received.&#xA;&#xA;I admit I didn&#39;t properly consider just sending commitment transactions&#xA;over. This is probably because it exposes the recovering party to the&#xA;punishment mechanism and in my most recent line of research you *really*&#xA;don&#39;t want to do this. The idea I&#39;m working with in revocable signature&#xA;based channels [1] is to make the node lose its static secret key if it&#xA;posts a revoked commitment tx. This means they could lose ALL funds from&#xA;ALL their channels with ALL their peers if they ever broadcast a single&#xA;revoked commitment transaction. This would be a very bad thing to happen&#xA;while you&#39;re trying to recover funds.&#xA;&#xA;I agree with your core point that in LN as it exists today the security&#xA;assumption of both methods is that the adversary will be unable to&#xA;distinguish a connection attempt after data loss from an ordinary one. If&#xA;they can reliably do this then both methods can lead to loss of funds so&#xA;why bother with the wonky crypto?&#xA;&#xA;I think there is a subtle reason why oblivious settlement signatures are&#xA;still preferable: it is difficult to provide a coherent UX for recovery&#xA;when just sending YOLO commitment transactions. It would be best if the&#xA;recovery UX was &#34;hey user I&#39;ve found 0.367 Bitcoin across these three&#xA;channels would you like to recover them?&#34;. The user can then accept this or&#xA;cancel the recovery process and go through some extra trouble to recover&#xA;their data (in practice, data is often not completely lost but recoverable&#xA;with some effort). This is how it could work using the oblivious settlement&#xA;txs I proposed.&#xA;&#xA;Using YOLO commitment transactions this becomes &#34;hey user I&#39;ve found 0.523&#xA;Bitcoin across three channels&#34; which may actually be more than you are owed&#xA;to entice you to shoot yourself in the foot. Even if it&#39;s exactly what you&#xA;are owed, when you confirm the recovery your next message might be &#34;aaaand&#xA;it&#39;s gone&#34; because one of the commit txs was revoked.&#xA;&#xA;It seems difficult to recommend YOLO commitment transactions becoming the&#xA;standard way to recover funds. It could be preferable to the current system&#xA;but even that is up for debate I guess. I feel like I can recommend&#xA;oblivious settlements because (i) it&#39;s covert (like YOLO commitments txs&#xA;unlike current system) and (ii) it&#39;s  &#34;what you see is what you get&#34; -- you&#xA;are guaranteed to recover the funds that you are presented with once you&#xA;finally trigger the recovery.&#xA;&#xA;Although I do think oblivious settlement txs is a good idea I am working on&#xA;yet *another* recovery idea for doing peer provided encrypted backup and&#xA;full channel restoration in a way that provides another guarantee: If the&#xA;peer sends you an outdated encrypted backup (perhaps in the hope that it&#xA;has a revoked commitment tx in it) -- you can punish them immediately upon&#xA;receiving the backup (if you haven&#39;t actually had data loss).&#xA;Unfortunately, It looks like this will use more heavy cryptographic&#xA;primitives.&#xA;&#xA;I think the challenge in either protocol above is deciding which peer&#xA;&gt; goes first, because whoever sends the commitment transaction reveals&#xA;&gt; what they think the current state is.  Any node that refuses to go first&#xA;&gt; can then be suspected of having lost data.  BOLT2&#xA;&gt; option_static_remotekey has this same problem, which is reasonably&#xA;&gt; mitigated IMO by LN&#39;s penalty mechanism forcing any would-be thief to&#xA;&gt; risk their own funds; this doesn&#39;t work for basic eltoo, though.&#xA;&gt;&#xA;&#xA;What is the story with option_static_remotekey? I am interested to know how&#xA;the negotiation of that option has a security issue but I don&#39;t see how it&#xA;could.&#xA;&#xA;[1]: https://github.com/LLFourn/witness-asymmetric-channel&#xA;&#xA;Cheers,&#xA;&#xA;LL&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20201214/160c7de0/attachment.html&gt;</html></oembed>