Bitcoin Forum
May 05, 2024, 09:11:54 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Development & Technical Discussion / Re: Bitcoin Naming System / Alias Idea on: June 18, 2021, 07:45:44 PM
Just want to clarify a couple of things. This blockchain/spacechain for name space wouldn't store the association between a name and a singular BTC address. It would store a name, a pubkey, an LN node uri and potentially some sort of state variable that is updated every time a call to a name server for that association is made. This last one might pose too much overhead on a network.

So let's imagine a decentralized naming system where a name, a node uri and associated pubkey are stored. To send to, for example, @rebelofbabylon, you would need to get association from a node running this software, then connect to LN node via the given node uri. If sending on-chain, you multiply the pubkey with a random value which can then become a btc address. Because presumably you as the alias holder would store a pubkey for which you own the corresponding private key, if I told you this random number, (via our connected LN nodes), you would then also have the corresponding priv key for the address. This way, no address reuse. Atleast that is what I understood from this .

The advantage of doing so is it simplifies the UX. Currently to send someone BTC onchain, you have to ask them every time for a new address, whereas here, this protocol abstracts that away. Your alias compatible wallet would abstract the exchange of secret random value away, you simply would just type in the alias and send. The receiver would also need to run a wallet that is alias compatible to receive the random value and be able to derivate the private key for the wallet the BTC was sent to.

For off-chain via LN, I guess this protocol wouldn't be necessary. You can currently set an alias for your node uri. And once connected, it's possible to design a wallet right now that would ask the receiver for an invoice without the receiver being aware (so long as their node is online). So the UX isn't very complicated. And then there's also different ways to send without the invoice protocol used in LN right now.

Also, as Franky mentioned, QR codes do abstract away a lot of the issues with long, complex BTC addresses or invoices. But QR codes are good when dealing with an online service or in person interaction. Sending a friend BTC when not together in person isn't as frictionless. This is where I see an alias protocol working best.

Also I appreciate all the feedback here. Like I said in the original post, I wouldn't pursue this idea if people didn't like it. I just want to frame the idea as clearly as possible, something I think I've failed to do at this point.  

2  Bitcoin / Development & Technical Discussion / Re: Bitcoin Naming System / Alias Idea on: June 17, 2021, 09:03:42 PM
I wouldn't want to replace the current UX, just add to it. Maybe I ought to have specified, would an alias type feature for specific use cases like sending to a business be good? You could also avoid address reuse with such a scheme if you associated a pubkey to a name and then just used a random number or a known number to generate a new BTC address that you send too. This process would be abstracted away from the user and would be entirely optional.
3  Bitcoin / Development & Technical Discussion / Re: Bitcoin Naming System / Alias Idea on: June 17, 2021, 08:22:33 PM
channels dont last forever.
unlike webaddresses that are registered for like a decade
I'm not sure what you meant here. To connect to a node, you need their node uri. I was under the impression it doesn't change. For example, yalls.org in the "Join the Yall's Community" . the node uri never changes.
so the downside of having a alias blockchain is everyone needs to store the blockchain even after names are out of date after a couple months.
so you might want to invent some prune method

having a dns server is more centralised and thus more risk of messing with the names

..
other ideas are not to have a public registry of
name=channel&IP

and instead just have 2 participants that make up 2 names
eg rebelofbabylon1433   and frank17331

so you broadcast frank17331:yourIP
everyone sees this but no one knows the required response.
so i knowing its meant for me. then IP connect to you with my response rebelofbabylon1433
so you get that and know its me.
after all everyone else wont know they are looking for rebelofbabylon1433 so you decline all connects trying to connect but not using your specific name

which is much the same as relaying namespaces in a alias blockchain. but without storing the names in a blockchain

so best of both words decentralised. but not archived

So you're proposing almost like an address book type of feature. Instead of a global namespace, local namespace in LN wallets that you can assign to node uri's. That would be a useful feature.

Do you think that a global namespace for node uri's or BTC wallet addresses like domain names for webpages is a worth while idea? Genuienly asking.
4  Bitcoin / Development & Technical Discussion / Re: Bitcoin Naming System / Alias Idea on: June 17, 2021, 04:23:50 PM
(...)I see catastrophic consequences for confidentiality,
Can you elaborate? I found an interesting project that addresses some of the issues with confidentiality here. Any thoughts? The way I see it, no matter what, assigning an address or a set of addresses to an alias has privacy issues. But we aren't limited to only using these addresses, we can also use coinjoin or payjoin between these tainted addresses and our more confidential addresses much like you would to break deterministic links from an exchange. There are use cases where confidentiality isn't as much of a concern (like sending to the alias of a business, sending money between trusted friends) and this would be an optional feature. 
although this issue fades into the background due to the impossibility of implementation, (at least globally).
Impossible to implement? Can you elaborate on this position?
5  Bitcoin / Development & Technical Discussion / Re: Bitcoin Naming System / Alias Idea on: June 17, 2021, 01:28:44 PM
The Bitcoin Core frontend already has a feature to assign labels to addresses and while they are not universal, it allows people to reuse names that otherwise would be taken and this reusability is perhaps important because most people's transactions are not to other people, they ar to services, so being able to use the service name as a label is handy.

Interesting I didn't know about this. Ideally though, a global system would be better, that way anyone can use whatever wallet software they want.

As far as a global labeling system is concerned, that's not possible without making transaction sizes bigger (all labels will have to be stored on the blockchain).

I definitely would not want to hardfork. I propose we use a spacechain and SIGHASH_ANYPREVOUT. Basically, 1 tx on the BTC blockchain becomes the anchor for the spacechain. Block producers for the spacechain would compete for their tx to be included on the BTC blockchain by outbidding eachother (with fees). A better explanation for this is found here.
6  Bitcoin / Development & Technical Discussion / Bitcoin Naming System / Alias Idea on: June 16, 2021, 07:18:47 PM
I'm sure I'm not the first one with the idea, but I'd like to potentially pursue this if there was sufficient interest and support from the community.

The idea would be for an alias system which could be used within bitcoin wallets. Instead of having to ask someone for a new BTC address or for their lightning node url, we could instead just ask for their alias. Something like @rebelofbabylon would resolve to my LN node or BTC address.

Taking inspiration from projects like Namecoin, it would ideally be decentralized. Instead of Merged Mining, Blind Merged Mining with the help of SIGHASH_ANYPREVOUT (more info here) would be used as to not create a competing coin. There could be some sort of standard for names (32 character length limit, numbers, letters, some special characters, perhaps rules to avoid "i" and "l" being used in an alias or something like that). I'd also like if it were easy to run this on top of your LN node (which is also a BTC node).

I found this abandoned project which suggests a way to enable privacy with this kind of system. Perhaps instead of storing the association between an alias and a BTC address, the association is with a pubKey and an incrementor state variable is also stored to ensure no address reuse.  

I'm still doing research and gathering ideas. I'm by no means an expert (I realize to seriously undertake such a project, I have a lot of learning to do) and would love any feedback  :-)  

EDIT: I want to add that this sort of system would be optional and in no way would I want to replace BTC address scheme (I couldn't even if I wanted to)
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!