> Whether that's terrible or not depends on how easy it is to retry (and > how > likely the retry is to succeed) after a failure -- if a TCP packet > fails, > it just gets automatically resent, and if that succeeds, there's a > little > lag, but your connection is still usable I'm not sure if that analogy fits here. A TCP packet will be retried (as opposed to UDP), although usually the retry strategy is because of an underlying connection issue, not a protocol mismatch or in this case "policy" mismatch, right? If network propagation and node discovery becomes an issue, and as Antoine mentions, there becomes a need for competing services as I understand it, could that give rise to indexes and trackers who spider the network to create world view? Perhaps it's a bad idea since "third party" trackers are security holes, however, to my knowledge, we already have "trusted" nodes during the initial bootstrap process. Even so, I don't think we could preclude such solutions from occurring organically if the need is arises. Cheers, -Yancy On 2022-10-30 02:02, Anthony Towns via bitcoin-dev wrote: > On Fri, Oct 28, 2022 at 09:45:09PM -1000, David A. Harding via > bitcoin-dev wrote: > >> I think this might be understating the problem. A 95% chance of >> having >> an outbound peer accept your tx conversely implies 1 in 20 payments >> will >> fail to propagate on their initial broadcast. > > Whether that's terrible or not depends on how easy it is to retry (and > how > likely the retry is to succeed) after a failure -- if a TCP packet > fails, > it just gets automatically resent, and if that succeeds, there's a > little > lag, but your connection is still usable. I think it's *conceivable* > that > a 5% failure rate could be detectable and automatically rectified. Not > that I have a good idea how you'd actually do that, in a way that's > efficient/private/decentralised... > >> Some napkin math: there are about 250,000 transactions a day; if >> we round that up to 100 million a year and assume we only want one >> transaction per year to fail to initially propagate on a network where >> 30% of nodes have adopted a more permissive policy, lightweight >> clients >> will need to connect to over 50 randomly selected nodes.[1] > > A target failure probability of 1-in-1e8 means: > > * with 8 connections, you need 90% of the network to support your txs > * with 12 connections, you need ~79% > * with 24 connections (eg everyone running a long-lived node is > listening, so long lived nodes make 12 outbound and receive about > ~12 inbound; shortlived nodes just do 24 outbound), you need ~54% > > So with that success target, and no preferential peering, you need > a majority of listening nodes to support your tx's features in most > reasonable scenarios, I think. > >> For a more >> permissive policy only adopted by 10% of nodes, the lightweight client >> needs to connect to almost 150 nodes. > > I get 175 connections needed for that scenario; or 153 with a target > failure rate of 1-in-10-million. > > Cheers, > aj > _______________________________________________ > bitcoin-dev mailing list > bitcoin-dev@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev