Open AdamISZ opened 1 year ago
It's worth mentioning something here: users want access to all counterparties. This is why we've always had a focus on "connect to every message channel, redundantly".
In contrast, "well let's just connect to some random set out of a long list", as in a gossip network, is harder to fit into our model. You want to see everyone's messages, not just "be informed of a global state update" (as in e.g. bitcoin, where gossip can make a lot more sense; you only need a few, or even one node, to tell you about a valid state update).
Here is another new directory node for consideration: wkd3kd73ze62sqhlj2ebwe6fxqvshw5sya6nkvrgcweegt7ljhuspaid.onion:5222
plq5jw5hqke6werrc5duvgwbuczrg4mphlqsqbzmdfwxwkm2ncdzxeqd.onion
I'll be using it to troubleshoot https://github.com/JoinMarket-Org/joinmarket-clientserver/issues/1435
edit: The original troubleshooting node server is currently down. It has been replaced with plq5jw5hqke6werrc5duvgwbuczrg4mphlqsqbzmdfwxwkm2ncdzxeqd.onion:5222 which should be a "permanent" node.
Here is another new directory node for consideration: wkd3kd73ze62sqhlj2ebwe6fxqvshw5sya6nkvrgcweegt7ljhuspaid.onion:5222
I'll be using it to troubleshoot #1435
Thanks!
Is there a limit to the number of directories you can add? Added these two alternates (yleg, wkd3) after the original 3,, and on startup, it only tries to connect to 3 of them based on the logs.
2023-10-19 22:38:02,430 [MainThread ] [INFO ] Trying to connect to node: bqlpq6ak24mwvuixixitift4yu42nxchlilrcqwk2ugn45tdclg42qid.onion:5222 2023-10-19 22:38:02,446 [MainThread ] [INFO ] Trying to connect to node: g3hv4uynnmynqqq2mchf3fcm3yd46kfzmcdogejuckgwknwyq5ya6iad.onion:5222 2023-10-19 22:38:02,449 [MainThread ] [INFO ] Trying to connect to node: 3kxw6lf5vf6y26emzwgibzhrzhmhqiw6ekrek3nqfjjmhwznb2moonad.onion:5222 2023-10-19 22:38:28,596 [MainThread ] [INFO ] Updating status to connected for peer 3kxw6lf5vf6y26emzwgibzhrzhmhqiw6ekrek3nqfjjmhwznb2moonad.onion:5222. 2023-10-19 22:38:28,604 [MainThread ] [INFO ] We, NOT-SERVING-ONION, are calling the handshake callback as client. 2023-10-19 22:38:28,606 [MainThread ] [INFO ] Sending this handshake: {"app-name": "joinmarket", "directory": false, "location-string": "NOT-SERVING-ONION", "proto-ver": 5, "features": {}, "nick": "J52psgw98cxvaRaX", "network": "mainnet"} to peer 3kxw6lf5vf6y26emzwgibzhrzhmhqiw6ekrek3nqfjjmhwznb2moonad.onion:5222 2023-10-19 22:38:40,224 [MainThread ] [INFO ] Updating status to connected for peer g3hv4uynnmynqqq2mchf3fcm3yd46kfzmcdogejuckgwknwyq5ya6iad.onion:5222. 2023-10-19 22:38:40,237 [MainThread ] [INFO ] We, NOT-SERVING-ONION, are calling the handshake callback as client. 2023-10-19 22:38:40,238 [MainThread ] [INFO ] Sending this handshake: {"app-name": "joinmarket", "directory": false, "location-string": "NOT-SERVING-ONION", "proto-ver": 5, "features": {}, "nick": "J52psgw98cxvaRaX", "network": "mainnet"} to peer g3hv4uynnmynqqq2mchf3fcm3yd46kfzmcdogejuckgwknwyq5ya6iad.onion:5222 2023-10-19 22:38:40,299 [MainThread ] [DEBUG] We got a disconnect event: g3hv4uynnmynqqq2mchf3fcm3yd46kfzmcdogejuckgwknwyq5ya6iad.onion:5222
Is there a limit to the number of directories you can add? Added these two alternates (yleg, wkd3) after the original 3,, and on startup, it only tries to connect to 3 of them based on the logs.
I don't believe so, I have several in my configs that all seem to at least attempt to connect. Maybe double check the formatting, I remember having a similar problem and was either missing a comma or port number iirc.
Note, I've edited my comment above due to the wkd3 node being down currently (not related to the issues here).
new node to consider: odpwaf67rs5226uabcamvypg3y4bngzmfk7255flcdodesqhsvkptaid.onion:5222
the only realistic solution I think, over time, is some kind of gossip of directory nodes done dynamically, via something like seed directory nodes. There is a lot to discuss about that idea, and nothing has been coded yet.
I think with recent news regarding coinjoins, we should prioritize this and start discussing solutions.
I think with recent news regarding coinjoins, we should prioritize this and start discussing solutions.
We may want to use directory nodes to gossip active directory nodes as follows.
We could maybe think of some sort of a DN connectivity score, starting at 0, slowly increasing with time, and decreasing on each failed connection attempt. Client could maintain their local score, and DN could average scores received from various clients. This should allow highly available/rarely failing DN to be prioritized over others.
Jam docker standalone currently sets (https://github.com/joinmarket-webui/jam-docker/blob/6bb93e1d362659655ba3bf91231d2d4aae32cb6f/standalone/default.cfg#L83):
g3hv4uynnmynqqq2mchf3fcm3yd46kfzmcdogejuckgwknwyq5ya6iad.onion:5222
3kxw6lf5vf6y26emzwgibzhrzhmhqiw6ekrek3nqfjjmhwznb2moonad.onion:5222
bqlpq6ak24mwvuixixitift4yu42nxchlilrcqwk2ugn45tdclg42qid.onion:5222
wkd3kd73ze62sqhlj2ebwe6fxqvshw5sya6nkvrgcweegt7ljhuspaid.onion:5222
ylegp63psfqh3zk2huckf2xth6dxvh2z364ykjfmvsoze6tkfjceq7qd.onion:5222
g3hv
, 3kxw
and bqlp
are taken from the current defaults. wkd3
and ylegp
have been added based on the suggestions here.
Should
plq5jw5hqke6werrc5duvgwbuczrg4mphlqsqbzmdfwxwkm2ncdzxeqd.onion:5222
odpwaf67rs5226uabcamvypg3y4bngzmfk7255flcdodesqhsvkptaid.onion:5222
be added as well? What do you think?
Also, which ones to remove? wkd3
@CohibAA ? Kind of do not want to remove the defaults, even when they are not working reliably. It is quite a burden to maintain the list manually.
What do you think?
I'd say odpwa
can be added. It has something like 95% uptime, and except for maintenance, I do not plan at taking service down in the near future.
Our current defaults are here.
Here is a newly proposed one: ylegp63psfqh3zk2huckf2xth6dxvh2z364ykjfmvsoze6tkfjceq7qd.onion:5222
We could add more to this page over time.
"Stopgap": because, the only realistic solution I think, over time, is some kind of gossip of directory nodes done dynamically, via something like seed directory nodes. There is a lot to discuss about that idea, and nothing has been coded yet. Hence as a stopgap, barring regularly re-releasing the software every week or something, we can perhaps just list possible directory nodes here. The idea is that they don't need trust, they are very lightweight, and they don't hold funds nor user information.