<oembed><type>rich</type><version>1.0</version><author_name>npub1e46n428mcyfwznl7nlsf6d3s7rhlwm9x3cmkuqzt3emmdpadmkaqqjxmcu</author_name><author_url>https://nostr.ae/npub1e46n428mcyfwznl7nlsf6d3s7rhlwm9x3cmkuqzt3emmdpadmkaqqjxmcu</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2015-08-14&#xA;📝 Original message:On 08/14/15 00:47, Mark Friedenbach via bitcoin-dev wrote:&#xA;&gt; On Thu, Aug 13, 2015 at 4:42 PM, Joseph Poon via bitcoin-dev&#xA;&gt; &lt;bitcoin-dev at lists.linuxfoundation.org&#xA;&gt; &lt;mailto:bitcoin-dev at lists.linuxfoundation.org&gt;&gt; wrote:&#xA;&gt; &#xA;&gt;     I haven&#39;t tested the details of this, but is there another bit available&#xA;&gt;     for use in the future for the relative blockheight?&#xA;&gt; &#xA;&gt;     I strongly believe that Lightning needs mitigations for a systemic&#xA;&gt;     supervillan attack which attemps to flood the network with transactions,&#xA;&gt;     which can hypothetically be mitigated with something like a timestop&#xA;&gt;     bit (as originally suggested by gmaxwell).&#xA;&gt; &#xA;&gt; &#xA;&gt; This proposal includes no such provision.&#xA;&gt; &#xA;&gt; Since we talked about it, I spent considerable time thinking about the&#xA;&gt; supposed risk and proposed mitigations. I&#39;m frankly not convinced that&#xA;&gt; it is a risk of high enough credibility to worry about, or if it is that&#xA;&gt; a protocol-level complication is worth doing.&#xA;&gt; &#xA;&gt; The scenario as I understand it is a hub turns evil and tries to cheat&#xA;&gt; every single one of its users out of their bonds. Normally a lightning&#xA;&gt; user is protected form such behavior because they have time to broadcast&#xA;&gt; their own transactions spending part or all of the balance as fees.&#xA;&#xA;My concern is how the hell do you automate this? Having a threat of&#xA;&#34;well, everyone could update their software to a new version which will&#xA;destroy all coins right now&#34; is kinda useless, and trying to come up&#xA;with a reasonable set of metrics as to how much and when you move from&#xA;just paying the fee to destroying coins is really hard, especially if&#xA;you assume the attacker is a miner with, say, enough hashrate (maybe&#xA;rented) to get one or three blocks in the next day (the timeout period).&#xA;&#xA;&gt; Therefore because of the threat of mutually assured destruction, the&#xA;&gt; optimal outcome is to be an honest participant.&#xA;&gt; &#xA;&gt; But, the argument goes, the hub has many channels with many different&#xA;&gt; people closing at the same time. So if the hub tries to cheat all of&#xA;&gt; them at once by DoS&#39;ing the network, it can do so and spend more in fees&#xA;&gt; than any one participant stands to lose. My issue with this is that&#xA;&gt; users don&#39;t act alone -- users can be assured that other users will&#xA;&gt; react, and all of them together have enough coins to burn to make the&#xA;&gt; attack unprofitable.&#xA;&#xA;Now users are coordinating quickly in an attack scenario?&#xA;&#xA;&gt; The hub-cheats-many-users case really is the same&#xA;&gt; as the hub-cheats-one-user case if the users act out their role in&#xA;&gt; unison, which they don&#39;t have to coordinate to do.&#xA;&gt; &#xA;&gt; Other than that, even if you are still concerned about that  scenario,&#xA;&gt; I&#39;m not sure timestop is the appropriate solution. A timestop is a&#xA;&gt; protocol-level complication that is not trivial to implement, indeed I&#39;m&#xA;&gt; not even sure there is a way to implement it at all -- how do you&#xA;&gt; differentiate in consensus code a DoS attack from regular old blocks&#xA;&gt; filling up? And if you could, why add further complication to the&#xA;&gt; consensus protocol?&#xA;&#xA;Yea, implementation is really tricky here. I do not at all think we&#xA;should be thinking about implementing this any time soon, and should&#xA;assume Lightning will have to stand reasonably on its own without it&#xA;first, and only if it gains a lot of traction will there be enough&#xA;motivation for making such a change at the Bitcoin protocol level for&#xA;Lightning.&#xA;&#xA;&gt; A simpler solution to me seems to be outsourcing the response to an&#xA;&gt; attack to a third party&#xA;&#xA;Doesnt that defeat the purpose of Lightning?&#xA;&#xA;&gt; or otherwise engineering ways for users to&#xA;&gt; respond-by-default even if their wallet is offline, or otherwise&#xA;&gt; assuring sufficient coordination in the event of a bad hub.&#xA;&#xA;I&#39;m not even sure if sufficient coordination is a sufficient solution.&#xA;If you assume a hub just shut down, and everyone is trying to flush to&#xA;the chain, with a backlog of a few days worth of transactions (with&#xA;timeouts of a day or so), and users are even paying huge fees (99% of&#xA;what they&#39;d get back), if the former-hub is a miner, it can claim that&#xA;last 1% of many of the transactions that take longer than a day to confirm.</html></oembed>