https://github.com/libbitcoin/libbitcoin-system/wiki/Auditability-Fallacy
> On Jul 5, 2021, at 21:54, ZmnSCPxj <zmnsc...@protonmail.com> wrote: > > Good morning Billy, > > >> >>> The two participants in the channel can sign a plaintext containing their >>> node pubkeys and how much each owns >> >> Sure, but even if both participants in the channel sign a correct statement >> of truth, one of the participants can send funds out in the next second, >> invalidating that truth. While proof of ownership of on-chain UTXOs can be >> seen publicly in real time if they are spent, LN transactions aren't public >> like that. So any balance attestation is at best only valid the instant its >> taken, and can't be used as verification the money is still owned by the >> same channel partner in the next second. > > The same problem really also exists onchain --- a thief (or "thief") who has > gotten a copy of the key can sign a transaction that spends it, one second > after the proof-of-reserves is made. > > Really, though, the issue is that ownership of funds is conditional on > *knowledge* of keys. > And *knowledge* is easily copyable. > > Thus, it is possible that the funds that are "proven" to be the reserve of a > custodian is actually *also* owned by someone else who has gotten to the > privkeys (e.g. somebody threw a copy of it from a boating accident and a > fearless scuba diver rescued it), and thus can also move the funds outside of > the control of the custodian. > This condition can remain for many months or years, as well, without > knowledge of the custodian clients, *or* of the custodian itself. > > There is no way to prove that there is no alternate copy of the privkeys, > hence "if only one could prove that he won't get into a boating accident". > > On the other hand, one could argue that at least the onchain proof requires > more conditions to occur, so we might plausibly live with "we cannot prove we > will never get into a boating accident but we can show evidence that we live > in a landlocked city far from any lakes, seas, or rivers". > > Regards, > ZmnSCPxj > >> >>> a custodian Lightning node is unable to "freeze" a snapshot of its >>> current state and make an atomic proof-of-reserves of *all* channels >> >> That would be a neat trick. But yeah, I don't know how that would be >> possible. >> >>> I believe it is one reason why custodian proof-of-reserves is not that >>> popular ... it does not prove that the key will not get lost >> >> True, but at least if funds do get lost, it would be come clear far quicker. >> Today, an insolvent company could go many months without the public finding >> out. >> >> On Mon, Jul 5, 2021 at 5:09 PM ZmnSCPxj <zmnsc...@protonmail.com> wrote: >> >>> Good morning e, >>> >>>> If only one could prove that he won’t get into a boating accident. >>> >>> At least in the context of Lightning channels, if one party in the channel >>> loses its key in a boating accident, the other party (assuming it is a true >>> separate person and not a sockpuppet) has every incentive to unilaterally >>> close the channel, which reveals the exact amounts (though not necessarily >>> who owns which). >>> If the other party then uses its funds in a new proof-of-reserves, then >>> obviously the other output of the unilateral close was the one lost in the >>> boating accident. >>> >>> On the other hand, yes, custodians losing custodied funds in boating >>> accidents is much too common. >>> I believe it is one reason why custodian proof-of-reserves is not that >>> popular --- it only proves that the funds were owned under a particular key >>> at some snapshot of the past, it does not prove that the key will not get >>> lost (or "lost and then salvaged by a scuba diver") later. >>> >>> Regards, >>> ZmnSCPxj >>> >>>> >>>> e >>>> >>>>> On Jul 5, 2021, at 16:26, ZmnSCPxj via bitcoin-dev >>>>> bitcoin-dev@lists.linuxfoundation.org wrote: >>>>> Good morning Billy, >>>>> >>>>>> I wonder if there would be some way to include the ability to prove >>>>>> balances held on the lightning network, but I suspect that isn't >>>>>> generally possible. >>>>> >>>>> Thinking about this in terms of economic logic: >>>>> Every channel is anchored onchain, and that anchor (the funding txout) is >>>>> proof of the existence, and size, of the channel. >>>>> The two participants in the channel can sign a plaintext containing their >>>>> node pubkeys and how much each owns. >>>>> One of the participants should provably be the custodian. >>>>> >>>>> - If the counterparty is a true third party, it has no incentive to lie >>>>> about its money. >>>>> - Especially if the counterparty is another custodian who wants >>>>> proof-of-reserves, it has every incentive to overreport, but then the >>>>> first party will refuse to sign. >>>>> It has a disincentive to underreport, and would itself refuse to >>>>> sign a dishonest report that assigns more funds to the first party. >>>>> The only case that would be acceptable to both custodians would be >>>>> to honestly report their holdings in the Lightning channel. >>>>> >>>>> - If the counterparty is a sockpuppet of the custodian, then the entire >>>>> channel is owned by the custodian and it would be fairly dumb of he >>>>> custodian to claim to have less funds than the entire channel. >>>>> >>>>> Perhaps a more practical problem is that Lightning channel states change >>>>> fairly quickly, and there are possible race conditions, due to network >>>>> latency (remember, both nodes need to sign, meaning both of them need to >>>>> communicate with each other, thus hit by network latency and other race >>>>> conditions) where a custodian Lightning node is unable to "freeze" a >>>>> snapshot of its current state and make an atomic proof-of-reserves of all >>>>> channels. >>>>> Regards, >>>>> ZmnSCPxj >>>>> >>>>> bitcoin-dev mailing list >>>>> bitcoin-dev@lists.linuxfoundation.org >>>>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev > >
_______________________________________________ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev