Oddbean new post about | logout
 “Not your keys, not your name?”

Just saw this article about a new approach to self-sovereign names called “Spaces”. Any opinions on this approach or suggestions of others to consider?

https://bitcoinmagazine.com/culture/not-your-keys-not-your-name-heres-why-naming-is-the-next-killer-app-for-bitcoin 
 It's pretty cool.  Only thing Im not so huge on, is the annual renewal. 
 agreed, annual renewal seems like it decreases self-sovereignty

do you understand why a hierarchical namespace is chosen? is it to reduce impact to on-chain blockspace?

I haven’t fully digested the details of what kind of control the owners of the “spaces” might have over the owners of the “subspaces”. After the auction are these held/mapped/updated in a trust-minimized way? 
 I dont know.  But I guess so you can sell subdomains?  Handshake does something similar.

There is a reasonable amount of trust in the system, I think.  But bitcoin provides a level playing field.

We need something for nostr.  I was happy to go with nomen, it seems no longer active.

I what might be best is to use runes for names, it's at 12 characters now, and reduces every 4 months.  It has a big eco system and is widely publicized as a level playing field.  But you really want it down to 8 characters for a TLD.  Which is another 16 months away.

https://m.primal.net/KEhA.png 

Also take a look at:

https://en.wikipedia.org/wiki/Resource-oriented_computing 
 i just saw this, ive not read about it yet, or even formed an opionion but might be relevant:

https://ordinaldomains.io/#/ 
 this looks like a way to allocate “.btc” domains? but “.btc” is still controlled by ICANN? 
 Yes, but I dont think it's very good, and they dont really have a legit claim to ".btc".  I spoke to ICANN about this, and they are secretly worried about all the different DNS methods out there.  They suggested putting .arpa on the end of all their domain names, and then hiding it in the browser, but I think that would break too much.  There's going to be competing systems including handshake (which had a token sale and air drop).  I favour:

- bitcoin native
- no expiry
- level playing field, and wide eco system
- nostr compatibility

Narrows it down quite a bit. 
 I agree with the principles you listed, except I don’t think we can expect a wide eco system to begin with. Something genuinely new here probably doesn’t have a wide-ecosystem of support from day one (i.e. wallets, browsers, nostr-clients, etc.)

independently I wrote up these core principles which I think a winning solution will probably need to uphold:

+ No central issuer
+ Fair distribution (open to everyone from day 1, scarcity in issuance, verifiable)
+ Market cost to create/issue
+ Market cost to update
+ No ongoing cost to own/hold
+ Proactive name issuance (not a side-effect of some other protocol function) 
 I have something like this thought out and am in the middle of trying to write out a protocol description. It ticks your boxes, except possibly the last one, since that wasn’t my main focus. Can I ask for your comment once I get over myself and actually publish my idea? 
 yes, I’d love to learn about what you’re building! please do share for comment 
 Here goes… 

https://github.com/pubkeychain/pkc-protocol 
 I’ve read a few times, but still not sure if I’ve digested the purpose. Is it mostly to help existing PKI be published/shared somewhere?

the specific problem I’m interested in is around establishing a global namespace e.g. so you could own the handle “nusa” and we could use that to find this nostr-account or a website or whatever else you’d want to point it to. does your protocol touch on a solution to that problem? 
 First, thank you 😊

It touches on both, depending on the service you plug it into. I’ll try to describe what I mean. 

The handle or global namespace is the satoshi name, for instance the satoshi with ord number 1953186218210489 has a name of ‘aaaaaaaaaaa’.

For nostr, you could save the sat name to your profile and after anyone plugging that satoshi name into search could retrieve all history of all pubkeys contained in the inscriptions of that satoshi and it would all be your content.   There are also ways to make sure your pubkeys aren’t appropriated by others.

I can also imagine a service that would handle websites. Dns basically does cert and ip lookup. If you extend the inscription and provide the ip address beside the pubkey, which can be used to verify that the server holds the private key, I can imagine a legit request can be made to get the website data. 

Does that make sense? 
 Ah, I think I get it better now. So you’re relying on the satoshi names from Ordinals? There’s a bunch to like about that naming system, but I also have concerns with the fact that it’s going to be a long time before we can get short names which presumably would entice a lot of people to participate/promote such a system early-on. The proposal I’ve read that attempts to mitigate this problem reduces the self-sovereignty of ownership.

Do you agree that the sat names from Ordinals have not gotten substantial adoption? Are you assuming that will change soon for some reason? 
 My main focus has been on providing a self sovereign failsafe for lost nostr keys, and my reason for using the ord name instead or number was because it’s shorter. Readability of handles didn’t matter to me as much. I consider it more in the sense of a ‘telephone number’ made up with letters, for which you could maintain a personal ‘phonebook’ and just name things what you want for your reference, but you never need to look at the ‘phone number’ to get to the person or website you want. 

I see the value in naming though and in vanity names. I don’t expect the ord names to become suddenly popular and the availability of names people actually want is a real problem. But I absolutely don’t want to introduce a third party authority into it. That’s a hard pass. 
 agreed on 3rd party authorities being a hard pass. the only way such a thing could work would be if it was neutral 
 In the end it’s possible that the names don’t even matter. For the lookup to work you need a static identifier to which you can associate new ips and new certs. Maybe we can live without the global naming, since we use search engines, social media posts, adds, and qr codes to get where we want to go. 
 Wow, I was spectacularly unclear 🙈 I meant to say that the static identifier can as well be a satoshi name even if it’s a mostly random mix of letters and the websites and users can then name themselves whatever they want. 
 So I just had a look at this.  And if you remove the expiry then it's basically a nostr event.  We can already do this today with runes/glyphs.  So I will just use that for names, rather than inventing a whole new eco system.  Then set the records using nostr relay network and dnstr.  We'll have to wait 1-2 years for the really good names, but can experiment during that time on testnet and mainnet.

https://docs.ordinaldomains.io/on-chain-data-structure 
 The dominant naming on bitcoin protocol right now is Runes.

I have a nostr back compatible version, not associated with ordinals.

Not done domain names yet, but I think rules will do something there, then I'll evaluate that, nomen and runes.  

https://github.com/glyph-protocol/glyphs 
 keys must be unique, but names are conventions, so they don't have to.

I search for "Lyn", I get the npub that has the highest probability of being what I am looking for, which is nostr:nprofile1qqsw4v882mfjhq9u63j08kzyhqzqxqc8tgf740p4nxnk9jdv02u37ncpz4mhxue69uhhyetvv9uju6mpd4czuumfw3jsz9nhwden5te0wfjkccte9ec8y6tdv9kzumn9wsq3yamnwvaz7tmsw4e8qmr9wpskwtn9wvql3tqm, because of how I am connected to her.

There are many other Lyns out there, some at the center of someone else's WoT.

I don't see why this can't work for websites or other things.  
 I agree that names are merely conventions, but I also think it’s helpful to have a unique namespace that allows me to tell someone how to find me even if we’re not directly connected through WoT. I’d guess such connections are an important way of creating WoT density. 
 If you want a global namespace, then you'll have name squatting and all the problems that come with it.

On average the distance between two people is 6 hops, so it's very unlikely that you won't find what you are looking for. The problem is how to sort properly all the things that are connected to you. 
 If you could solve name-squatting would you find it useful?

e.g. simple use case: imagine you see someone on a video interview and they have a by-line at the bottom of the screen where they can have their handle listed so you can find/follow them on nostr to learn more

I agree WoT solves a lot, but I’m not convinced that it solves certain high impact, but possibly lower volume use-case 
 > If you could solve name-squatting would you find it useful?

yes, but my guess is that it's unsolvable. Why? because it requires someone/something to know that "Apple" it's one npub and not all others, so it has to have knowledge of meatspace, of what "Apple Inc" the company listed on the stock exchange is. Such a protocol would have to have knowledge outside of its boundaries, and in some cases should rely on trusted third parties like in the example with stock exchange, which become trusted.

Also, the use case you mention can be solved by adding the QR code of the npub next to the name, or by looking at the set of npubs next to the platform/that is interviewing the creator (I prefer the first) 
 I don’t believe it’s unsolvable, though I haven’t seen a solution yet which I would consider good enough.

I would think of names as a socially agreed upon convention that can live entirely in digital space with no knowledge of meatspace.

I don’t see any reason that Apple Inc should necessarily own the name “Apple”, but in an open market they might be able to pay more than “Farmer John’s Apple Orchard, Inc.” to purchase that scarce digital asset from a previous owner. 
 > I would think of names as a socially agreed upon convention that can live entirely in digital space with no knowledge of meatspace.

Then there is no protection from name squatting

> I don’t see any reason that Apple Inc should necessarily own the name “Apple”, but in an open market they might be able to pay more than “Farmer John’s Apple Orchard, Inc.” to purchase that scarce digital asset from a previous owner.

This is literally name squatting. 
 meaning it’s obvious to you which of the two hypothetical parties should own it? who is name squatting in this example? 
 if Farmer John Apple can take the name Apple, so does a bot. And if it's possible with one, it's possible with all names. 
 I’m interested in thinking about ways of using digital scarcity (that we already have present in bitcoin) to prevent bots from taking all available names, while allowing Farmer John Apple to express their interest/demand for that specific name because of its relevance to their business. 
 I thought about this some more.  I think that runes has probably already won the naming race on bitcoin.  There's 100,000++ paid names, and game theory, a whole eco system.  It will be hard to replace it with anything fairer.

The one problem might be that the spec changes.  There is a "turbo" flag which allows you to opt in to future upgrades.

My fork of runes, called glyphs, adds a similar flag to PROTECT against spec changes, and will allow it to advance with glyphs which will be nostr friendly.

I think I'm going to use glyphs in all my projects as the naming source of truth.  So from my POV, runes has already won this race.  I'd have gone with nomen, but it's no longer maintained.  I like spaces protocol but annual renewal is a flag for me, and also it'll be likely much smaller than runes for ages, or forever.  I might as well bet on the winner, and rework things if something overtakes it.

That said, runes have not yet tied in the domain name part.  So it's not a foregone conclusion. 
 Runes does seem like a promising direction at a high level, but I’m not very informed about the implementation details of the project.

Is there any easy way to review all the Runes names that are already issued? If someone built an extension to the indexer software or an API to make it easy to find Runes names (and their mappings?) do you think nostr client developers would be interested in including them like we have with NIP-05 names? Do runes exist as bearer assets like inscribed sats (so they are transferrable)? 
 You can actually do i think 11-12 letters today, so you could do:

insurance•nostr

and things like that already.  rules allows a "spacer" character, which is like a dot.

Gonna come down to what the future clients support.  But it ought to be the first fair system that is going.  There may be some grift and token sales involved, knowing some folks around, which would lead to competing names, which is bad for nostr.  However, often how the politics plays out. 
 the 11-12 characters thing sounds like a limitation I heard about in the current ordinals approach to a decentralized namespace… is that what you’re referring to or is there an 11-12 character thing in Spaces? 
 Runes, which is different.  Link below I think you'll like, if you havent seen already.

Runes reduces the namespace by 1 character every 4 months, so it's fun gamification.  In 4 years the good names will be available.

Spaces has auctions, which is also gamification.

https://public.bnbstatic.com/static/files/research/the-future-of-bitcoin-2-tokens.pdf