Is the availability of coordinators a constraint on adoption? I can’t remember any extended time when no coordinators were online.
I want to put a Wasabi coordinator in each Wasabi client and allow users to decide whether they want to act as coordinators or not.
Currently, a WabiSabi coordinator only requires:
* The gettxout RPC call to verify that inputs being registered are unspent and mature
* A mining fee rate provider to determine how much each input/output should pay to the network
These requirements can be satisfied even by a pruned Bitcoin node and don't present any obstacles.
In an ideal world, each coordinator would announce itself (for example, as an onion service), and then clients could agree on which coordinator to connect to for the next CoinJoin round. However, in the real world, malicious actors could create hundreds or thousands of onion services to maximize their chances of being selected.
Is there any way to solve this coordinator selection problem without creating a centralized directory of coordinators?
nostr:npub1vadcfln4ugt2h9ruwsuwu5vu5am4xaka7pw6m7axy79aqyhp6u5q9knuu7 any suggestion to read?
Discussion
Availability is not a problem, until it is. Right now there are three public coordinators that could be compromised, attacked or shut down. Even when I am sure new coordinators would pop up in case of mayor disruptions, and I am also sure liquidity will eventually find its way to the next coordinator, the process is slow and painful because requires users to choose a new coordinator.
Running a coordinator in each Wasabi client would make the whole system more resistant and would remove the easy targets by distributing the load of coordinating transactions.
No doubt making clients potential coordinators is a step toward better decentralization. But that’s not my question, which is: is lack of coordinator decentralization preventing people from using wasabi who otherwise would?
I think so, yes. Because the lack of coordinator decentralization ruins the UX by forcing users to research how the whole thing works, find a coordinator and configure the client to use it. Having decentralized coordinators would allow us to select the coordinator for the next round automatically making the feature immediately available after Wasabi installation for everyone.
Why don't you select randomly already? If it's because you don't feel it's appropriate to give implicit trust to the coordinators, I understand that, but then surely that wouldn't change if it was decentralized?
That was the very first idea that came to my mind, but then the question is once again: how to prevent someone from generating a million identities?