Idea: Sidechains for Names

Post Reply
biolizard89
Posts: 2001
Joined: Tue Jun 05, 2012 6:25 am
os: linux

Idea: Sidechains for Names

Post by biolizard89 »

If pegged sidechains are successful, naming blockchains like Namecoin could use them.

Terminology:
  • DMMS = dynamic-membership multiparty signature, i.e. an SPV proof. See the pegged sidechains white paper for details.
  • Namecoin and BitShares are the example sidechains, but these could be any naming blockchain.
I'm not actually certain that BitShares supports generating a DMMS of a transaction, since they're using DPOS (delegated proof of stake) for mining. Would this actually be a SMMS (static-membership multiparty signature), with the static members being the BitShares delegates? If you like, substitute your favorite naming sidechain for BitShares. (I'd love to see naming sidechains that use Lamport signatures or other cool crypto.) In principle, you could even use Bitcoin as a naming sidechain, since Namecoin name transactions are valid Bitcoin transactions. (Of course, this would be a horrible idea, since Bitcoin doesn't enforce name security in block validation, but the pegged sidechain rules don't care.)

Okay, so here's how this would work:

example.bit is registered on Namecoin.

Control of example.bit is transferred to BitShares by locking the name in Namecoin and posting a DMMS to BitShares.

BitShares maintains a separate name database for different genesis blocks, so example.bit is still a .bit name, not a .p2p name (despite both being d/ namespace).

End users must have a Namecoin and BitShares client to resolve a .bit name that is controlled by the BitShares blockchain.

To renew:
  1. Issue a renewal in BitShares. This is subject to miner fees in BitShares but not name fees.
  2. Post a DMMS of BitShares renewal in Namecoin. This is subject to miner fees and name fees.
  3. The BitShares DMMS must pass Namecoin name security rules, since it is a Namecoin name (name field has not changed, a la Michael Gronager's CoinSlayer attack).
  4. However, the BitShares DMMS need not pass Namecoin tx security rules, since it is a BitShares transaction (if BitShares is broken and the name is stolen, Namecoin will accept that reality).
  5. The renewal in Namecoin is effective from the most recent block with a timestamp before the timestamp in the BitShares block referenced by the DMMS. If the BitShares timestamp is invalid for the mining Namecoin block, then the DMMS is invalid.
Fun bonus idea: allow import to reference names with different genesis blocks. So you could enforce that example.bit and sample.p2p always have the same value.

Thoughts on this?
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

phelix
Posts: 1634
Joined: Thu Aug 18, 2011 6:59 am

Re: Idea: Sidechains for Names

Post by phelix »

What is the benefit?
nx.bit - some namecoin stats
nf.bit - shortcut to this forum

johnc
Posts: 89
Joined: Sun Dec 28, 2014 10:03 am

Re: Idea: Sidechains for Names

Post by johnc »

looks very complicated, i thought pegged side-chains were for making sub-blockchains with different rules but using the same coins. (in an attempt to improve scalability.)

So for example, any coin could have a sidechain that once you transfer 1 coin there it gives you 1 million coins, so the sidechain becomes like dogecoin, it looks like you are rich and tx are very cheap and effectively "offchain" of the main chain. Maybe the sidechain can be pruned periodically and other experimental features etc.

hla
Posts: 46
Joined: Mon Nov 10, 2014 12:01 am
os: linux
Contact:

Re: Idea: Sidechains for Names

Post by hla »

biolizard89 wrote: example.bit is registered on Namecoin.

Control of example.bit is transferred to BitShares by locking the name in Namecoin and posting a DMMS to BitShares.
This seems like a very bad idea, as it means the resolvability of a .bit domain is uncertain, and varies base on whether the resolver supports BitShares.

This would essentially allow the problem of resolution to become unbounded in scope, limited only by the number of cryptographically secure distributed key-value stores, seriously damaging the feasibility of lightweight resolvers.

It should be possible to say that "if X.bit exists, piece of software Y can resolve it."

biolizard89
Posts: 2001
Joined: Tue Jun 05, 2012 6:25 am
os: linux

Re: Idea: Sidechains for Names

Post by biolizard89 »

phelix wrote:What is the benefit?
The benefits are basically the same as the benefits of pegged sidechains for currency. I.e. you can experiment with new blockchain features without needing to create a new economy. I mentioned the example of a sidechain with Lamport signatures, which are resistant to quantum attacks.
hla wrote:This seems like a very bad idea, as it means the resolvability of a .bit domain is uncertain, and varies base on whether the resolver supports BitShares.

This would essentially allow the problem of resolution to become unbounded in scope, limited only by the number of cryptographically secure distributed key-value stores, seriously damaging the feasibility of lightweight resolvers.

It should be possible to say that "if X.bit exists, piece of software Y can resolve it."
I don't think this is any worse than a situation that has multiple non-interoperable blockchains, is it? Presumably the network effect would encourage people to agree on a small number of pegged sidechains, otherwise risk their intended audience not being able to view it.
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

kresp0
Posts: 12
Joined: Fri Apr 17, 2015 5:40 pm
os: linux

Re: Idea: Sidechains for Names

Post by kresp0 »

biolizard89 wrote: I don't think this is any worse than a situation that has multiple non-interoperable blockchains, is it? Presumably the network effect would encourage people to agree on a small number of pegged sidechains, otherwise risk their intended audience not being able to view it.
I want to be able to resolve any .bit domain with certainty, using a clearly defined and "stable" algorithm. If I have to keep up with the news and keep adding all kinds of sidechains just to be sure that I'm able to resolve any .bit then I think I'll just trust the original Namecoin's Blockchain with the most popular/de-facto d/ and id/ specs. Or use another blockchain-based solution, but that would be a pity as I think that Namecoin is the second most strong blockchain.

Now it is hard enough with the various d/ specs. As an example, OpenNIC DNS's are not working with all the different d/ specs.

biolizard89
Posts: 2001
Joined: Tue Jun 05, 2012 6:25 am
os: linux

Re: Idea: Sidechains for Names

Post by biolizard89 »

kresp0 wrote:
biolizard89 wrote: I don't think this is any worse than a situation that has multiple non-interoperable blockchains, is it? Presumably the network effect would encourage people to agree on a small number of pegged sidechains, otherwise risk their intended audience not being able to view it.
I want to be able to resolve any .bit domain with certainty, using a clearly defined and "stable" algorithm. If I have to keep up with the news and keep adding all kinds of sidechains just to be sure that I'm able to resolve any .bit then I think I'll just trust the original Namecoin's Blockchain with the most popular/de-facto d/ and id/ specs. Or use another blockchain-based solution, but that would be a pity as I think that Namecoin is the second most strong blockchain.

Now it is hard enough with the various d/ specs. As an example, OpenNIC DNS's are not working with all the different d/ specs.
Fragmentation is bad, yes. But the situation without sidechains is worse, because if you create a chain for experimentation, it is *completely* non-interoperable with Namecoin. With sidechains, you can create a chain for testing things, and things still are mostly compatible. Also, this doesn't introduce any "new" incompatibilities that aren't already a problem. For example, I can already make a .bit domain that's an alias of a BitShares domain, which introduces identical compatibility issues to what you're describing. The only thing this changes is improving interoperability so that new crypto and features can be tested in the real world without risking critical infrastructure. To be clear, I don't expect a flood of new sidechains. I would expect a small number of sidechains to be popular, and I would expect very few popular domains to use the sidechains that do come into existence.
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

Post Reply