TryQuiet / zbay

GNU General Public License v3.0
18 stars 3 forks source link

User should be able to register account without Zcash blockchain #787

Closed holmesworcester closed 2 years ago

holmesworcester commented 3 years ago

Right now, our system for registering accounts depends on Zcash. This has downsides:

  1. Depends on central servers (zecwallet's lightwalletd, and our faucet/registration node).
  2. Trusts a central server, to some degree.
  3. Has different privacy and anonymity properties than Tor, and leaks IP address in relation to username.
  4. Inevitable delays in registered usernames becoming visible.
  5. Requires running a zcash node in the cloud and funds

We want a way to register accounts that does not depend on Zcash.

These are the current proposals: https://github.com/ZbayApp/zbay/issues/721#issuecomment-814259281

For this issue, the simplification is that we don't have to introduce a notion of multiple accounts or networks. We just need to switch from the existing username registration scheme based on Zcash to a new one based on waggle, with our cloud waggle node as the "owner" and the source of truth.

I think the first step is to do everything as we currently do, except build the piece of the cloud node that signs username registrations, and adds them to an orbitdb of usernames and keys.

UPDATE: I've broken this up into multiple tickets which can each be released independently:

  1. 813

  2. 814

  3. 815

  4. 816