OmniLayer / spec

Omni Protocol Specification (formerly Mastercoin)
The Unlicense
341 stars 118 forks source link

Name resolution system #216

Open ripper234 opened 10 years ago

ripper234 commented 10 years ago

Motivation / context.

The idea is to create a separate embedded system (optional to use) that maps a unique string name to a currency ID (or other entities in the system).

The use-case is just like domain names: It's nice to be able to type in something unique other than "Currency ID 1273015" to get to a currency. Instead think of "currency-cool-hoverboard-tokens-series-a".

The design for this should borrow from DNS, Namecoin, and Nxt's embedded "DNS-like" system.

TL;DR

  1. Names are unique
  2. Registering a name entry would burn X MSC.
  3. Renewing a name entry would burn Y MSC
  4. Mapping a name you control to an asset would burn Z MSC (we don't want people switching these pointers around all the time!)
  5. If you don't renew an asset and it expires, everybody can register that.

Things we need to decide:

  1. Is uniqueness case sensitive or insensitive? (advantage of insensitive - we don't really want two assets names that differ only by upper/lower case)
  2. ...
LOLLOLOOLOL commented 10 years ago

Can I suggest this as an Omniwallet ("premium") feature to integrate Namecoin? Realistically, Namecoin already functions (and can be used, both as DNS and other functions), and there's no reason to redesign the wheel.

petertodd commented 10 years ago

Namecoin doesn't actually have any real functionality beyond what Bitcoin already does, and it's highly centralised because only a few big pools mine it. (it's incompatible with p2pool's varience reduction) I can't recommend that we use it.

On 5 July 2014 23:27:37 CEST, LOLLOLOOLOL notifications@github.com wrote:

Can I suggest this as an Omniwallet ("premium") feature to integrate Namecoin? Realistically, Namecoin already functions (and can be used, both as DNS and other functions), and there's no reason to redesign the wheel.


Reply to this email directly or view it on GitHub: https://github.com/mastercoin-MSC/spec/issues/216#issuecomment-48096926

taariq commented 10 years ago

Agreed with Peter on this one. No functionality beyond novelty.

ripper234 commented 10 years ago

What about my original idea of including a Namecoin-like resolution system in Master Protocol itself? Wouldn't this be more useful than Namecoin?

@petertodd @taariq ?

dacoinminster commented 10 years ago

This is interesting. Why limit it to name->currency matchups though? Why not do real DNS too? In fact, why not just a decentalized key/value table?

For instance:

type: "DNS-IPV4" key: "mydomain" value: "1.2.3.4" type: "MSC-SP" key: "mycurrency" value: "1234" type: "mynewtype" key: "mykey" value:"myvalue" . . . .

Rules would be

On Sun, Jul 6, 2014 at 2:07 AM, Ron Gross notifications@github.com wrote:

What about my original idea of including a Namecoin-like resolution system in Master Protocol itself? Wouldn't this be more useful than Namecoin?

@petertodd https://github.com/petertodd @taariq https://github.com/taariq ?

— Reply to this email directly or view it on GitHub https://github.com/mastercoin-MSC/spec/issues/216#issuecomment-48106613.

ripper234 commented 10 years ago

Looks great, we can make it generic. I think Ethereum has something along these lines.

dacoinminster commented 10 years ago

I probably don't need to add this, but I will anyway: this is another feature that should burn a bit of Mastercoin :)

On Tue, Jul 15, 2014 at 12:05 PM, Ron Gross notifications@github.com wrote:

Looks great, we can make it generic. I think Ethereum has something along these lines.

— Reply to this email directly or view it on GitHub https://github.com/mastercoin-MSC/spec/issues/216#issuecomment-49077829.

ripper234 commented 10 years ago

+1 for burning some MSC for registering a name.

While designing something like this ... we probablly should to incorporate:

The first two are blockers, without that all major names would be squatted up to an infinite period of time.

marv-engine commented 10 years ago

Is this a proposal to use the blockchain to store arbitrary key/value pairs? I thought that's frowned on. Why would the blockchain be the right place to store that data? See #215 and the earlier proposal that's referenced there.

petertodd commented 10 years ago

Security is the reason. Now I don't agree with promoting yet more namespaces - I think they are disincentives to using Mastercoin - but if you are going to do is the blockchain is the place to do it in. Secondly on a technical level there's some clever stuff that can be done with using the UTXO set for it by bruteforcing prefixes to make it easy to retrieve entries later.

Incidentally, my proof of concept for blockpop, certificate transparency via the blockchain, is progressing nicely. It's interesting how its turning how to be a very similar problem: you have some key, a software package, and you want to know all values associated with it, all PGP signed releases issued by the developers.

On 16 July 2014 11:03:32 GMT-04:00, Marv Schneider notifications@github.com wrote:

Is this a proposal to use the blockchain to store arbitrary key/value pairs? I thought that's frowned on. Why would the blockchain be the right place to store that data? See #215 and the earlier proposal that's referenced there.


Reply to this email directly or view it on GitHub: https://github.com/mastercoin-MSC/spec/issues/216#issuecomment-49178712