Bitcoin Forum
October 25, 2026, 10:26:40 PM *
News: Latest Bitcoin Core release: 31.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Why are username systems in wallets centralized?  (Read 369 times)
big-mops (OP)
Newbie
*
Offline

Activity: 8
Merit: 0


View Profile
September 03, 2026, 06:34:38 PM
 #1

Yo! Cool

Why is it that 99% of modern crypto wallets, even if they have username systems, store usernames centrally in a database?

That's wrong if the product advocates complete decentralization. I thought about this for a long time and came up with a good mechanism based on the IPFS network.
The wallet generates keys. It creates a file in the IPFS network with a signature, public network addresses, and most importantly, its username.
And Nostr Relay stores the registration fact and a link to the SID file with the signature.
In fact, such a system is very secure against sanctions, because removing a user from the network requires coordination with all nodes, which is practically impossible.

What do you think?
Danish Ali
Member
**
Offline

Activity: 98
Merit: 181


View Profile
September 04, 2026, 01:58:26 AM
Merited by d5000 (4), ABCbits (2), hugeblack (2), vapourminer (1)
 #2

Problem with this is, how do you make sure that two different people do not use the same username at the same time?

Content addressed storage (made possible with IPFS, which allows files to never change), and Nostr relays help distribute the content. But neither of them gives you a way to agree on order.

Assume that Alice and Bob try to register "satoshi" at the same time. Both of them sign and upload their files onto IPFS and then announce it on various Nostr relays. But, who is satoshi, really? Alice's registration reaches Relay A first, Bob's reaches Relay B first. If a common source of truth is not present, then in this environment users may end up with different perceptions of who owns that same name.

This is Zooko's Triangle in action — you cannot get decentralized, secure, and human readable names without a global ordering system. This is why blockchain is used in name services, a ledger is required as proof of who was first to register. There is no such state machine available via IPFS + Nostr alone.

A few other things worth thinking on:

  • If someone is not pinning their files on IPFS, they will eventually stop existing. Who is in charge of keeping the username records stored for the long term?
  • Relay filtering: Relays can decide not to distribute certain events, so this is only censorship-resistant if enough independently operated relays are carrying it.

But you would still need a lightweight consensus mechanism (such as an on-chain timestamp) so that there is no username clash. How would you handle that conflict scenario?
ABCbits
Legendary
*
Offline

Activity: 3766
Merit: 10451



View Profile
September 04, 2026, 07:32:36 AM
Merited by vapourminer (1)
 #3

In fact, such a system is very secure against sanctions, because removing a user from the network requires coordination with all nodes, which is practically impossible.

Both BitTorrent and IPFS protocol have similar limitation, device or node that willing to store the data. How many IPFS node would store and verify data with format you specified?

What do you think?

Such feature is better as part of the coin/network itself. That way, some issues such as  who register the username first and immutability can be considered as solved.

Assume that Alice and Bob try to register "satoshi" at the same time. Both of them sign and upload their files onto IPFS and then announce it on various Nostr relays. But, who is satoshi, really? Alice's registration reaches Relay A first, Bob's reaches Relay B first. If a common source of truth is not present, then in this environment users may end up with different perceptions of who owns that same name.

In addition, how would new IPFS node or Nostr relay known which one register "satoshi" first.

LoyceV
Legendary
*
Offline

Activity: 4200
Merit: 23012


Thick-Skinned Gang Leader and Golden Feather 2021


View Profile WWW
September 06, 2026, 09:47:15 AM
Last edit: September 06, 2026, 04:06:51 PM by LoyceV
 #4

Why is it that 99% of modern crypto wallets, even if they have username systems, store usernames centrally in a database?
What makes you say this? I use at least 6 different wallets on a regular basis, and none of them asks for a username.

¡uʍop ǝpᴉsdn pɐǝɥ ɹnoʎ ɥʇᴉʍ ʎuunɟ ʞool no⅄
[MUSIC] The Ballad of LoyceV
Cinexa
Member
**
Offline

Activity: 112
Merit: 209


View Profile WWW
September 06, 2026, 01:15:59 PM
Last edit: October 05, 2026, 12:45:33 PM by Cinexa
 #5

Wallets store usernames in a database because username is not a key, a username is a declaration "this human string uniquely belongs to me, forever." Keys don't require a global notary. Names do.

IPFS + Nostr can host the file and gossip that you registered @alice; They can't tell two strangers who received Satoshi first if Alice & Bob both send data to different relays simultaneously. There is no common ordering; so no unique name exists. This is why every functional name system relies on a ledger.

The few tangible problems on this are: when no node pins the CID the username vanishes. If registration is free bot registration devours a domain registry within an hour. And "you have to synchronize with all nodes to revoke someone" is unlike how clients currently achieve that; they query a few relays & a gateway; Block the relayed names & the user is generally vanished.

If only you seek "send data to another human and paste in my address doesn't have to occur," there is no need for a decentralized username; Lightning Address/BIP 353 can achieve it simply and without the pretense to be a decentralized Namecoin. Used AI to make it sound better.

ABCbits
Legendary
*
Offline

Activity: 3766
Merit: 10451



View Profile
September 07, 2026, 07:48:13 AM
 #6

Why is it that 99% of modern crypto wallets, even if they have username systems, store usernames centrally in a database?
What makes you say this? I use at least 6 different wallets on a regular basis, and none of them asks for a username.

My best guess is OP use few different crypto custodial service, but call them as crypto wallets.

Lightning Address/BIP 353 can achieve it simply and without the pretense to be a decentralized Namecoin.

For LN, LNURL-pay is also alternative. But AFAIK both BIP 353 and LN-URL pay aren't that decentralized, since it require you to own a regular domain.

LoyceV
Legendary
*
Offline

Activity: 4200
Merit: 23012


Thick-Skinned Gang Leader and Golden Feather 2021


View Profile WWW
September 07, 2026, 08:25:19 AM
 #7

My best guess is OP use few different crypto custodial service, but call them as crypto wallets.
In that case he's asking companies to stop storing their own data. That's a terrible suggestion.

¡uʍop ǝpᴉsdn pɐǝɥ ɹnoʎ ɥʇᴉʍ ʎuunɟ ʞool no⅄
[MUSIC] The Ballad of LoyceV
Kryptowerk
Legendary
*
Offline

Activity: 2450
Merit: 1603


A swap that needs a hand? zeto.cash@proton.me


View Profile
September 12, 2026, 04:37:44 PM
 #8

Problem with this is, how do you make sure that two different people do not use the same username at the same time?

Content addressed storage (made possible with IPFS, which allows files to never change), and Nostr relays help distribute the content. But neither of them gives you a way to agree on order.

Assume that Alice and Bob try to register "satoshi" at the same time. Both of them sign and upload their files onto IPFS and then announce it on various Nostr relays. But, who is satoshi, really? Alice's registration reaches Relay A first, Bob's reaches Relay B first. If a common source of truth is not present, then in this environment users may end up with different perceptions of who owns that same name.

This is Zooko's Triangle in action — you cannot get decentralized, secure, and human readable names without a global ordering system. This is why blockchain is used in name services, a ledger is required as proof of who was first to register. There is no such state machine available via IPFS + Nostr alone.

A few other things worth thinking on:

  • If someone is not pinning their files on IPFS, they will eventually stop existing. Who is in charge of keeping the username records stored for the long term?
  • Relay filtering: Relays can decide not to distribute certain events, so this is only censorship-resistant if enough independently operated relays are carrying it.

But you would still need a lightweight consensus mechanism (such as an on-chain timestamp) so that there is no username clash. How would you handle that conflict scenario?
But didn't you already come up with a solution in your reply? Using the on-chain timestamp and a set-number of confirmations before this type of username is allowed by the network could already void the danger of a "username doublespend" (I know that's a wrong
analogy but just sounds too compelling).
Also, isn't there some 2nd layer solution similar to the ENS (Ethereum Name Service) protocol already available?

Danish Ali
Member
**
Offline

Activity: 98
Merit: 181


View Profile
September 13, 2026, 05:25:51 AM
Merited by d5000 (2)
 #9

But didn't you already come up with a solution in your reply? Using the on-chain timestamp and a set-number of confirmations before this type of username is allowed by the network could already void the danger of a "username doublespend" (I know that's a wrong
analogy but just sounds too compelling).
Also, isn't there some 2nd layer solution similar to the ENS (Ethereum Name Service) protocol already available?
Spot on about the “username double-spend”. Exactly like double spend, the solution would be whoever gets confirmation from block first wins the race. But, by introducing an “on-chain timestamp + confirmations”, it means the source of truth about the order is on-chain. In such scenario, IPFS is used as off-chain data storage and nostr as a pub/sub network. By doing so, it’s a blockchain-based name service and not IPFS/nostr based name service.

There are several name service projects out there such as ENS, Unstoppable Domains and Handshake, which are general or ETH-centric. Handshake even spun-off it’s own blockchain to manage the root-level domains. On the BTC-side, we have BNS for .btc domain names on Stacks and Ordinals inscriptions (.sats domain name), and an Ordinal inscription resolves “who owns this name” question by whichever is validly inscribed and gets mined first.

All these projects attest to the truth of Zooko’s Triangle. You can’t have all of decentralized + human-readable + unique name resolution without a single, global, source-of-truth of order aka a blockchain.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!