I thought phones requesting a block of notes would be more efficient. Even if the node doesn't have it all, the phone/node knows how to complete it by requesting sub trees.

Reply to this note

Please Login to reply.

Discussion

But let's say the phone already has 95% of the block and needs only the extra 5% (the phone doesn't know how much is left) because there was some type of connectivity issue.

The majority of the time, the phone already has everything. We just need new things and the things that were missed due to some connectivity issue or busy relay.

The first time a client subs all your follows to all your relays demands a lot of bandwidth because the client has no information about the status or location of notes.

But if the client remembers which relays first served notes from a particular pubkey and stored that in a table… on ALL SUBSEQUENT subscriptions of the session the client could just ask the fastest relay for the notes of a each pubkey to provide the notes for that particular pubkey.

This would reduce the bandwidth by a factor of n relays.