Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reword lede #588

Open
wants to merge 1 commit into
base: beta
Choose a base branch
from
Open

Reword lede #588

wants to merge 1 commit into from

Conversation

yanmaani
Copy link

This patch changes the description of Namecoin into one that, in my view, gives a better indication of what problems it tries to solve.

I've tried to model it after Bitcoin's old description:

Bitcoin is an experimental new digital currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. Bitcoin is also the name of the open source software which enables the use of this currency.

@JeremyRand
Copy link
Member

I think this needs some more work, I'll make some suggestions within the next couple days.

@yanmaani
Copy link
Author

@domob1812 Would you be able to review this? I shall be obliged.

@domob1812
Copy link

Sounds fine to me. But let's wait for Jeremy's suggestions.

@JeremyRand
Copy link
Member

Suggest the following:

Namecoin is a peer-to-peer naming system, like the DNS. Namecoin names are globally unique and human-meaningful, just like in the DNS. Unlike the DNS, Namecoin names are also resistant to censorship, hijacking, theft, or other tampering by anyone who does not possess the owner's private key. Namecoin's security properties make it well-suited to both locating information (e.g. pointing to IP addresses) and authenticating information (e.g. acting as a public key infrastructure). Namecoin was the first solution to Zooko's Triangle, the first project forked from Bitcoin, the first production sidechain, and the first NFT; design began in 2010, with mainnet launch in 2011.

Rationale for changes:

  • "DNS" (without article) by itself usually refers to a wire protocol, not a naming system. IETF and ICANN use "the DNS" to refer to the naming system that is rooted in the ICANN zone.
  • The term "secure" is best avoided, because it means "global" under Zooko's Triangle terminology but most people think it means something else.
  • Split the sentence about Namecoin's properties in two, based on similarities versus differences to the DNS. This makes it easier for readers to follow how Namecoin compares to the DNS.
  • Clarified that Namecoin is resistant to any kind of unauthorized tampering (including unauthorized insertion of records or unauthorized transfer), not just censorship.
  • Point out applicability as a PKI, since many people don't know that the DNS (with DNSSEC) can be used for this, and it's a major advantage for Namecoin given Namecoin's security properties.
  • The NMC currency is an implementation detaill, it is not a critically visible component of Namecoin in the way that the BTC currency is for the Bitcoin system. Thus I don't think it's appropriate to define it in the intro.
  • While the term "altcoin" is often used by developers as slang to mean "a blockchain that isn't Bitcoin", it literally means "alternative to Bitcoin", which is not an accurate description of Namecoin. I prefer to describe it as "the first project forked from Bitcoin", which avoids including random people's GitHub forks of Bitcoin, and also avoids currencies like testnet Bitcoin or tonal Bitcoin (which could arguably be called altcoins but are not projects forked from Bitcoin).
  • Only saying we were the first project forked from Bitcoin doesn't really say much about what our innovations are relative to other blockchains; thus it is useful to clarify that we were the first solution to Zooko's Triangle (can be a link to the Wikipedia article). Also desirable to point out that we were the first production sidechain (many people don't know that Namecoin is a sidechain, they often think Liquid was the first) and the first NFT (many people don't know that NFT's predate art-related use cases, hat tip to Andy for pointing out that d/bitcoin was the first NFT); I can provide FAQ entries about sidechain and NFT history.
  • There is no public record of when Vince started developing Namecoin. We only know when BitDNS was proposed (2010) and when he released the code drop (2011, which included both mainnet and testnet).

Feel free to argue any of these points, there's probably room for improvement. Apologies for the super-long delay in posting this.

@yanmaani
Copy link
Author

Most of these changes are reasonable, but all together, they make the lede way longer.

I really, really do not think we should mention NFTs, which are an entirely stupid idea to begin with. The interest in "Namecoin NFTs" appears to be solely due to one guy pumping it on Twitter. It is going to be extremely disadvantageous, and NFTs are only really useful for laundering money anyway.

I also think we should avoid the term "mainnet launch", which is mainly associated with disreputable cryptocurrency projects. I have not seen Monero or Bitcoin or anyone of serious value use it.

Going sentence-by-sentence:

  • Namecoin is a peer-to-peer naming system, like the DNS.
  • Namecoin is a peer-to-peer naming system, like DNS.

Sure, no objection.

  • Namecoin names are globally unique and human-meaningful, just like in the DNS. Unlike the DNS, Namecoin names are also resistant to censorship, hijacking, theft, or other tampering by anyone who does not possess the owner's private key.
  • It is secure, censorship-resistant, and human-readable.

This is like four times as long. Is it four times better? In particular, do we really need to enumerate all the different kinds of tampering that's possible?

How about

  • It gives global, human-readable names, like the DNS, but unlike DNS, names cannot be censored or otherwise altered without the private key.

  • Namecoin's security properties make it well-suited to both locating information (e.g. pointing to IP addresses) and authenticating information (e.g. acting as a public key infrastructure).

  • (nothing)

Seems like, we've already covered the normal DNS use-case above, so can't we just cover the TLS? Something like

  • Namecoin can also be used as a decentralized trust anchor, to replace centralized certificate authorities for e.g. TLS.

  • Namecoins are also the decentralized currency (based on Bitcoin) that are used to buy these names.

  • (nothing)

Sure, we can strike this, it was blindly copied from Bitcoin.

  • Namecoin was the first solution to Zooko's Triangle, the first project forked from Bitcoin, the first production sidechain, and the first NFT; design began in 2010, with mainnet launch in 2011.
  • It was the first altcoin, with development started in 2011.

Going bit-by-bit:

  • I think Zooko's triangle is cool, but it probably shouldn't be first. Also, other people solved it theoretically (e.g. Swartz) - Namecoin is just the first implementation of it. (Also, we may want to link to the Wikipedia page for Zooko's Triangle)
  • I think that "first project forked from Bitcoin" is a good description.
  • I don't see why we need "first production sidechain". Is Liquid even relevant? How about something like "first implementation of merged mining"?
  • I don't think NFTs should be mentioned at all, but Namecoin qua project is not even an NFT, that would be d/bitcoin
  • I don't think we need both "design begin" and "mainnet launch". I would go with "the initial release was made in 2011" only.

So my suggestions here, taken in total, would come to:

  • Namecoin is a peer-to-peer naming system, like the DNS. It gives global, human-readable names, like the DNS, but unlike DNS, names cannot be censored or otherwise altered without the private key. Namecoin can also be used as a decentralized trust anchor, to replace centralized certificate authorities for e.g. TLS. Namecoin was the first project forked from Bitcoin and the first implemented solution to Zooko's Triangle. The initial release was made in 2011.

@domob1812
Copy link

I don't have strong opinions on most of these points. I do agree with @yanmaani in that I don't like the "sidechain" term. If anything, we should just say "first blockchain after Bitcoin" or something like that.

With respect to NFTs, I think they can be quite an interesting and useful concept - definitely not just for laundering money, and Namecoin definitely is the first NFT project in a sense (even though of course noone at the time saw it as such for a good reason). I don't object to that being there, and I think it makes sense. Although if we want to make it shorter and more concise, I also think that it is not necessarily important to mention NFTs right at the top.

@JeremyRand
Copy link
Member

I realized that this component:

Namecoin was the first solution to Zooko's Triangle, the first project forked from Bitcoin, the first production sidechain, and the first NFT; design began in 2010, with mainnet launch in 2011.

Has substantial overlap with the right-column paragraph that this PR doesn't purport to replace. Can we split that component into a separate PR that amends that right-column paragraph? This also would improve the length concern that @yanmaani brought up, and will allow us to sidestep the NFT and sidechain terminology disagreement in this PR.

So the remaining text for this PR would be:

Namecoin is a peer-to-peer naming system, like the DNS. Namecoin names are globally unique and human-meaningful, just like in the DNS. Unlike the DNS, Namecoin names are also resistant to censorship, hijacking, theft, or other tampering by anyone who does not possess the owner's private key. Namecoin's security properties make it well-suited to both locating information (e.g. pointing to IP addresses) and authenticating information (e.g. acting as a public key infrastructure).

@yanmaani with the removal of that text, are any of your above concerns still applicable?

@yanmaani
Copy link
Author

Can we split that component into a separate PR that amends that right-column paragraph?

No objection.

are any of your above concerns still applicable?

Yes. With the remaining text, it is still 50-70% longer than it has to be.

In particular, I am not sure why it's necessary to enumerate every possible bad thing that can't happen without having the key in what is supposed to be a brief introduction. Also, since the comparison to the DNS has already been made, why mention that Namecoin can point to IPs again, twice?

Is the following (294 chars) missing anything?

Namecoin is a peer-to-peer naming system, like the DNS. Names are globally consistent and human-readable, but unlike in the DNS, Namecoin names can never be altered without access to the owner's private key. These properties also make Namecoin well-suited for use as public key infrastructure.

Possibly strike "access to" before "the owner's private key", or add "(for censorship, hijacking, etc.)" after "altered".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants