<oembed><type>rich</type><version>1.0</version><author_name>npub17fjkngg0s0mfx4uhhz6n4puhflwvrhn2h5c78vdr5xda4mvqx89swntr0s</author_name><author_url>https://nostr.ae/npub17fjkngg0s0mfx4uhhz6n4puhflwvrhn2h5c78vdr5xda4mvqx89swntr0s</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2020-06-22&#xA;📝 Original message:&#xA;Thanks for the detailed write-up on how it affects incentives and&#xA;centralization,&#xA;these are good points. I need to spend more time thinking about them.&#xA;&#xA;This is one reason I suggested using independent pay-to-preimage&#xA;&gt; transactions[1]&#xA;&gt;&#xA;&#xA;While this works as a technical solution, I think it has some incentives&#xA;issues too.&#xA;In this attack, I believe the miners that hide the preimage tx in their&#xA;mempool have&#xA;to be accomplice with the attacker, otherwise they would share that tx with&#xA;some of&#xA;their peers, and some non-miner nodes would get that preimage tx and be&#xA;able to&#xA;gossip them off-chain (and even relay them to other mempools).&#xA;&#xA;If they are actively helping the attacker, they wouldn&#39;t spend the&#xA;pay-to-preimage tx,&#xA;unless they gain more from it than the share the attacker gives them. This&#xA;becomes&#xA;a simple bidding war, and the honest user will always be the losing party&#xA;here (the&#xA;attacker has nothing to lose). For this reason I&#39;m afraid it wouldn&#39;t work&#xA;out in practice&#xA;as well as we&#39;d hope...what do you think? And even if the honest user wins&#xA;the bidding&#xA;war, the attack still steals money from that user; it just goes into the&#xA;miner&#39;s pocket.&#xA;&#xA;But from the perspective of a single LN node, it&#xA;&gt; might make more sense to get the information and *not* share it&#xA;&gt;&#xA;&#xA;I think it depends. If this attack becomes doable in practice and we see it&#xA;happening,&#xA;LN routing nodes and service providers have a very high incentive to thwart&#xA;these attacks,&#xA;because otherwise they&#39;d lose their business as people would leave the&#xA;lightning network.&#xA;&#xA;As long as enough nodes think that way (with &#34;enough&#34; being a very hard to&#xA;define quantity),&#xA;this should mitigate the attack. The only risk would be a big &#34;exit scam&#34;&#xA;scenario, but the&#xA;coordination cost between all these nodes makes that scenario unlikely&#xA;(IMHO).&#xA;&#xA;Thanks,&#xA;Bastien&#xA;&#xA;Le sam. 20 juin 2020 à 12:37, David A. Harding &lt;dave at dtrt.org&gt; a écrit :&#xA;&#xA;&gt; On Sat, Jun 20, 2020 at 10:54:03AM +0200, Bastien TEINTURIER wrote:&#xA;&gt; &gt; We&#39;re simply missing information, so it looks like the only good&#xA;&gt; &gt; solution is to avoid being in that situation by having a foot in&#xA;&gt; &gt; miners&#39; mempools.&#xA;&gt;&#xA;&gt; The problem I have with that approach is that the incentive is to&#xA;&gt; connect to the highest hashrate pools and ignore the long tail of&#xA;&gt; smaller pools and solo miners.  If miners realize people are doing this,&#xA;&gt; they may begin to charge for information about their mempool and the&#xA;&gt; largest miners will likely be able to charge more money per hashrate&#xA;&gt; than smaller miners, creating a centralization force by increasing&#xA;&gt; existing economies of scale.&#xA;&gt;&#xA;&gt; Worse, information about a node&#39;s mempool is partly trusted.  A node can&#xA;&gt; easily prove what transactions it has, but it can&#39;t prove that it&#xA;&gt; doesn&#39;t have a certain transaction.  This implies incumbent pools with a&#xA;&gt; long record of trustworthy behavior may be able to charge more per&#xA;&gt; hashrate than a newer pools, creating a reputation-based centralizing&#xA;&gt; force that pushes individual miners towards well-established pools.&#xA;&gt;&#xA;&gt; This is one reason I suggested using independent pay-to-preimage&#xA;&gt; transactions[1].  Anyone who knows the preimage can mine the&#xA;&gt; transaction, so it doesn&#39;t provide reputational advantage or direct&#xA;&gt; economies of scale---pay-to-preimage is incentive equivalent to paying&#xA;&gt; normal onchain transaction fees.  There is an indirect economy of&#xA;&gt; scale---attackers are most likely to send the low-feerate&#xA;&gt; preimage-containing transaction to just the largest pools, so small&#xA;&gt; miners are unlikely to learn the preimage and thus unlikely to be able&#xA;&gt; to claim the payment.  However, if the defense is effective, the attack&#xA;&gt; should rarely happen and so this should not have a significant effect on&#xA;&gt; mining profitability---unlike monitoring miner mempools which would have&#xA;&gt; to be done continuously and forever.&#xA;&gt;&#xA;&gt; ZmnSCPxj noted that pay-to-preimage doesn&#39;t work with PTLCs.[2]  I was&#xA;&gt; hoping one of Bitcoin&#39;s several inventive cryptographers would come&#xA;&gt; along and describe how someone with an adaptor signature could use that&#xA;&gt; information to create a pubkey that could be put into a transaction with&#xA;&gt; a second output that OP_RETURN included the serialized adaptor&#xA;&gt; signature.  The pubkey would be designed to be spendable by anyone with&#xA;&gt; the final signature in a way that revealed the hidden value to the&#xA;&gt; pubkey&#39;s creator, allowing them to resolve the PTLC.  But if that&#39;s&#xA;&gt; fundamentally not possible, I think we could advocate for making&#xA;&gt; pay-to-revealed-adaptor-signature possible using something like&#xA;&gt; OP_CHECKSIGFROMSTACK.[3]&#xA;&gt;&#xA;&gt; [1]&#xA;&gt; https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-April/002664.html&#xA;&gt; [2]&#xA;&gt; https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-April/002667.html&#xA;&gt; [3] https://bitcoinops.org/en/topics/op_checksigfromstack/&#xA;&gt;&#xA;&gt; &gt; Do you think it&#39;s unreasonable to expect at least some LN nodes to&#xA;&gt; &gt; also invest in running nodes in mining pools, ensuring that they learn&#xA;&gt; &gt; about attackers&#39; txs and can potentially share discovered preimages&#xA;&gt; &gt; with the network off-chain (by gossiping preimages found in the&#xA;&gt; &gt; mempool over LN)?&#xA;&gt;&#xA;&gt; Ignoring my concerns about mining centralization and from the&#xA;&gt; perspective of just the Lightning Network, that doesn&#39;t sound&#xA;&gt; unreasonable to me.  But from the perspective of a single LN node, it&#xA;&gt; might make more sense to get the information and *not* share it,&#xA;&gt; increasing your security and allowing you to charge lower routing fees&#xA;&gt; compared to your competitors.  This effect would only be enhanced if&#xA;&gt; miners charged for their mempool contents (indeed, to maximize their&#xA;&gt; revenue, miners might require that their mempool subscribers don&#39;t share&#xA;&gt; the information---which they could trivially enforce by occasionally&#xA;&gt; sending subscribers a preimage specific to the subscriber and seeing if&#xA;&gt; it propagated to the public network).&#xA;&gt;&#xA;&gt; &gt; I think that these recent attacks show that we need (at least some)&#xA;&gt; &gt; off-chain nodes to be somewhat heavily invested in on-chain operations&#xA;&gt; &gt; (layers can&#39;t be fully decoupled with the current security assumptions&#xA;&gt; &gt; - maybe Eltoo will help change that in the future?).&#xA;&gt;&#xA;&gt; I don&#39;t see how eltoo helps.  Eltoo helps ensure you reach the final&#xA;&gt; channel state, but this problem involves an abuse of that final state.&#xA;&gt;&#xA;&gt; -Dave&#xA;&gt;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20200622/09e39b02/attachment-0001.html&gt;</html></oembed>