You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are two related issues: hubs connecting to other hubs and advertising themselves, and clients discovering other hubs to connect to.
Before starting any of this, look at how current Electrum server federation works. Look at server.peer.subscribe. It may already do most of this, and may actually work better than described below. Most likely we'll have to make modifications to what's there, for example for jurisdictions.
user stories
As a hub operator, in order to avoid doing work to get ppl to use my server, I want to have my server be automatically discoverable by others.
As a LBRY user, in order to trust the network and have a good experience, I want a robust system of hubs that doesn't depend on LBRY Inc to run them all.
part 1 - clients learning from hubs
on the hub
hardcode a list of other known hub peers. this is temporary. the list will become dynamic in part 2
on the client
when client connects to hub, it subscribes to be notified about the list and changes to it
merge these hubs into the client's list of known hubs
store known hubs on disk in a known_hubs file
load stored hubs from disk on client startup
if custom hubs are set in config, only use those. if not, use all known hubs.
if old "wallet_servers" config value is set to exactly the default hubs, delete it from config
add "jurisdiction" config. only use hubs that match the client jurisdiction.
test like this: have one preset hub, connect to it, discover one more hub, disconnect from first hub. this should cause client to try to connect to the newly-discovered hub
test that clients with this feature sitll work with hubs without it
fallback to TCP for jurisdiction if UDP doesnt work
jack had ideas about how to do the requesting of new hub as part of the udp connection process. i think that's an extra thing that we can implement later.
this is a matter of flipping a switch on server side and asking for peers on client side, I think its groomed but is blocked by properly verifying proofs because the current real issue is that an "evil" server can send fake data without being caught as of now
There are two related issues: hubs connecting to other hubs and advertising themselves, and clients discovering other hubs to connect to.
Before starting any of this, look at how current Electrum server federation works. Look at
server.peer.subscribe
. It may already do most of this, and may actually work better than described below. Most likely we'll have to make modifications to what's there, for example for jurisdictions.user stories
As a hub operator, in order to avoid doing work to get ppl to use my server, I want to have my server be automatically discoverable by others.
As a LBRY user, in order to trust the network and have a good experience, I want a robust system of hubs that doesn't depend on LBRY Inc to run them all.
part 1 - clients learning from hubs
on the hub
on the client
known_hubs
filejack had ideas about how to do the requesting of new hub as part of the udp connection process. i think that's an extra thing that we can implement later.
part 1 can be PRed on it's own
part 2 - hubs learning from other hubs
moved to #3338
later
questions
hub config algo v1
The text was updated successfully, but these errors were encountered: