lightning-dev

Scaling Lightning With Simple Covenants

Scaling Lightning With Simple Covenants

Posted on: September 17, 2023 00:52 UTC

In this email, John agrees with aj's observation about the tradeoff between trust/safety and capital-efficiency.

He suggests a solution where dedicated user B pairs with another dedicated user C, creating a hierarchical channel funded by the timeout-tree leaves. This idea is described in the "Improving Capital Efficiency" section of the post [1]. John acknowledges that passive rollovers complicate matters, but he proposes using aj's idea of funding an HTLC from one of two possible sources, where one source will eventually be available to them [2][3]. By using funds from the old and new timeout-trees that are not owned by A_i, B and C can route payments. Although hierarchical channels improve capital efficiency, John expresses concern about the "thundering herd" problem. He explains that casual users may become accustomed to larger timeout-trees without any issues. However, if a large number of dedicated users collude by not rolling over timeout-trees simultaneously, they can create congestion on the blockchain and steal a significant portion of the casual users' funds. To address this problem, John proposes a change to the Bitcoin consensus rules. Instead of timeout-trees expiring at a specific block height, they would expire only after a sufficient number of low-fee blocks have been added to the blockchain. This way, if dedicated users attempt to steal funds, the influx of transactions from casual users would raise fees and prevent the timeout-trees from expiring, safeguarding the casual users' funds. The consequence for the dedicated users would be longer unavailability of their capital, in addition to reputational damage.John mentions that he is currently writing a paper and post to describe this proposed change in detail. He provides a few additional details about the mechanism, such as measuring time in low-fee windows, programmable thresholds for low-fee blocks, a bound on waiting for low-fee windows to limit storage and compute overheads, and support for relative delays. He believes this mechanism will be useful in various areas, including HTLCs, but emphasizes that timeout-trees particularly highlight the need for such a solution [1].Please note that the farewell part of the email has been ignored as per the given instructions.