Difference between revisions of "Namecoin"

From Organic Design wiki
m
(News: Namecoin wallet (beta) for Android on Google Play)
 
(25 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{BitcoinTrader}}
 
{{BitcoinTrader}}
[[File:Namecoin.png|right|200px]][https://dot-bit.org/Namecoin Namecoin] is a peer-to-peer generic name/value datastore system based on the [[bitcoin]] technology (a decentralized {{tag|Cryptocurrency}}). Namecoin allows you to securely register names (domains for example) with no possible censorship, and trade namecoins, the digital currency NMC. Namecoin is the first "Altcoin", and came about after the bitcoin developers chose not to support the [http://privwiki.dreamhosters.com/wiki/Bitcoin_DNS_System_Proposal BitDNS] idea which would allow data for other types of application to reside on the bitcoin blockchain. This was an intense debate that even Satoshi himself weighed in on saying that,
+
[[File:Namecoin.png|right|200px]][https://namecoin.info Namecoin] is a peer-to-peer generic name/value datastore system based on the [[bitcoin]] technology (a decentralized {{tag|Cryptocurrency}}). Namecoin allows you to securely register names (domains for example) with no possible censorship, and trade namecoins, the digital currency NMC. Namecoin is the first "Altcoin", and came about after the bitcoin developers chose not to support the [http://privwiki.dreamhosters.com/wiki/Bitcoin_DNS_System_Proposal BitDNS] idea which would allow data for other types of application to reside on the bitcoin blockchain. This was an intense debate that even Satoshi himself weighed in on saying that,
 
{{quote|Piling every proof-of-work quorum system in the world into one dataset doesn't scale. Bitcoin and BitDNS can be used separately. Users shouldn't have to download all of both to use one or the other. BitDNS users may not want to download everything the next several unrelated networks decide to pile in either.|Satoshi Nakamoto}}
 
{{quote|Piling every proof-of-work quorum system in the world into one dataset doesn't scale. Bitcoin and BitDNS can be used separately. Users shouldn't have to download all of both to use one or the other. BitDNS users may not want to download everything the next several unrelated networks decide to pile in either.|Satoshi Nakamoto}}
  
Line 14: Line 14:
  
 
== Installation and usage ==
 
== Installation and usage ==
Currently it's all done in shell with the ''namecoind'' daemon. Even though there's no GUI, it's very simple installation and usage which is described [http://dot-bit.org/InstallAndConfigureNamecoin here]. It's simply a matter of [http://dot-bit.org/ downloading namecoind], creating a simple configuration file in '''~/.namecoin/bitcoin.conf'''.
+
Installation and usage is now much simpler with the QT client which can be installed from [http://namecoin.info/?p=download here]. For [[Linux Mint]] 16, I found that the Ubuntu 14 package worked fine, but the Debian 7 package had unsatisfiable dependencies. I was able to replace the ''wallet.dat'' file with a very old one from 2011 and the program launched correctly and listed all my balance and names.
{{code|<pre>rpcuser=your_user
 
rpcpassword=your_pass
 
rpcport=8336
 
daemon=1</pre>}}
 
 
 
 
 
Then you can execute the downloaded file (it's easiest if you move the file into '''/bin''' so that you don't need to specify any pathnames to refer to it in future) and it will start as a daemon in the background. When the daemon is running you can use the system by issuing commands preceded by '''namecoind''', the most common being '''namecoind help''' and '''namecoind getinfo''' which will return useful information such as the number of blocks read and your current balance. Here's an example of the info returned.
 
{{code|<pre>    "version" : 35000,
 
    "balance" : 452.89500000,
 
    "blocks" : 69744,
 
    "connections" : 8,
 
    "proxy" : "",
 
    "generate" : false,
 
    "genproclimit" : -1,
 
    "difficulty" : 950949.83040234,
 
    "hashespersec" : 0,
 
    "testnet" : false,
 
    "keypoololdest" : 1344723121,
 
    "paytxfee" : 0.00000000,
 
    "mininput" : 0.00010000,
 
    "errors" : ""</pre>}}
 
  
 
== The Namecoin wallet ==
 
== The Namecoin wallet ==
Line 41: Line 20:
  
 
If you use [[Configure PGP for Email|PGP email]] (which you should) then the simplest way to get a secure backup is to make a ''tar'' file of your wallet (you can do you Bitcoin wallet at the same time if you like) and send it to yourself as an encrypted email. This way it's stored off-site in your IMAP folder but cannot be viewed without having access to your private key. To create a ''tar'' file of your Namecoin and Bitcoin wallets, do the following.
 
If you use [[Configure PGP for Email|PGP email]] (which you should) then the simplest way to get a secure backup is to make a ''tar'' file of your wallet (you can do you Bitcoin wallet at the same time if you like) and send it to yourself as an encrypted email. This way it's stored off-site in your IMAP folder but cannot be viewed without having access to your private key. To create a ''tar'' file of your Namecoin and Bitcoin wallets, do the following.
{{code|<bash>tar -cf ~/.namecoin/wallet.dat ~/.bitcoin/wallet.dat</bash>}}
+
<source lang="bash">
 +
tar -cf ~/.namecoin/wallet.dat ~/.bitcoin/wallet.dat
 +
</source>
 
You should delete this file after sending it since it's not encrypted.
 
You should delete this file after sending it since it's not encrypted.
  
Line 47: Line 28:
  
 
== Namecoin domain names ==
 
== Namecoin domain names ==
There are various registration sites around for registering Namecoin domains for people, but it's highly recommended to do it yourself becasue the cost is practically nothing and is only a one-off cost. If you do it through a third-party, the cost is a much higher annual cost and you don't have full control of your name. When you register a name it's created as a special kind of un-spendable coin that goes into your wallet with your normal spendable coins.
+
Names can now be registered from within the QT client itself.
*[http://dot-bit.org/How_To_Browse_Bit_Domains How to browse ''.bit'' domains]
+
*[http://bit.namecoin.info/ bit.namecoin.info] ''- the main site about ''.bit'' domains''
*[http://dot-bit.org/HowToRegisterAndConfigureBitDomains How to register and configure ''.bit'' domains]
+
*[http://namecoin.bitcoin-contact.org/domains.php List of .bit domain zones]
 
 
=== Manual name registration example ===
 
First reserve the name,
 
{{code|<pre>namecoind name_new d/organicdesign</pre>}}
 
 
 
 
 
This will output something like the following,
 
{{code|<pre>[
 
  "0e0e03510b0b0b7dbba6e301e519693f68062121b29f3cd3a6652c238360d0d0",
 
  "9f213ff4a582fd65"
 
]</pre>}}
 
 
 
 
 
Then after twelve blocks (which could take a few hours or more - check the current block [http://explorer.dot-bit.org/stats/block_count.txt here]) register the name (you'll need a small NMC balance for this). This example shows a mapping of the naked domain and all subdomains to the Organic Design servers IP address. The hex number is the shorter of the two returned from the previous reservation command.
 
{{code|<pre>namecoind name_firstupdate d/organicdesign 9f213ff4a582fd65 '{"map":{"":"69.64.87.188","*":"69.64.87.188"}}'</pre>}}
 
 
 
 
 
This may take a few blocks time to take effect, but when it does you'll be able to get info on it:
 
{{code|<pre>namecoind name_show d/organicdesign</pre>}}
 
 
 
 
 
Which will return something like the following:
 
{{code|<pre>{
 
    "name" : "d/organicdesign",
 
    "value" : "{\"map\":{\"\":\"69.64.87.188\",\"*\":\"69.64.87.188\"}}",
 
    "txid" : "c7b968a68e83937f1b149b4374fdd968bd383d57f854381aab81f1ce26942377",
 
    "address" : "Mw8iR8UkobpV5armgxg1Y2Q2V3Y7VAYuNv",
 
    "expires_in" : 35989
 
}</pre>}}
 
 
 
 
 
=== Configuring your local DNS to resolve .bit domains ===
 
The easiest way to allow your local system to resolve ''dotBit'' domain name is to change your network settings to use a [http://dot-bit.org/HowToBrowseBitDomains#List_of_DNS_servers dotBit DNS server]. I used ''dns.bit'' (178.32.31.41), some of the other servers in the list are no longer active.
 
  
 
=== Unicode names ===
 
=== Unicode names ===
Line 91: Line 39:
 
Note servers handling requests for domains containing unicode characters need to be configured with the punycode version of the name not the unicode version. For example, the domain [http://道.bit/ 道.bit] resolves to this site but is converted to the punycode name of <tt>xn--8b4a.bit</tt> and will only display as unicode in browsers that have made the whitelist change mentioned in the previous paragraph.
 
Note servers handling requests for domains containing unicode characters need to be configured with the punycode version of the name not the unicode version. For example, the domain [http://道.bit/ 道.bit] resolves to this site but is converted to the punycode name of <tt>xn--8b4a.bit</tt> and will only display as unicode in browsers that have made the whitelist change mentioned in the previous paragraph.
  
== Some ''dotBit'' sites ==
+
== Namecoin as an identity system ==
These sites are only available if you have configured your system to resolve ''dotBit'' domains.
+
In addition to domain names, namecoin now officially supports registration of [https://wiki.namecoin.info/index.php?title=Identity identity] information. Currently [[Bitmessage]], [http://oneid.io/ OneID.io] is a presentation layer for this identity information, and also the [https://nameid.org/ NameID] (Namecoin ID's + OpenID and an OTR plugin for Pidgin) can use this information. This method uses the ''id/'' namespace for it's information storage in the Namecoin blockchain.
*[https://dot-bit.org/Dot-Bit_Websites List of ''dotBit'' sites at dot-bit.org]
+
 
*[http://organicdesign.bit/ organicdesign.bit] ''- our site's ''dotBit'' domain :-)''
+
The easiest way to use the NameID system is to use their [https://nameid.org/?view=addon browser plugin], but you can also use it natively with the namecoin client. The NameID system will provide a message which needs to be signed with namecoin's ''signmessage'' function, which can be done from the command-line or from the debug window depending on whether you're using the daemon or the desktop application. The function takes two parameters, the first is the Namecoin address of the ID you're asking to sign in with, and the second is the message which needs to be enclosed within quotes since it contains spaces. This returns a signature hash which is given to the NameID app so it can ensure that you are the holder of the ID in question.
*[http://explorer.bit/ Namecoin blockchain explorer]
+
 
*[http://bitse.bit/ bitSE]
+
There are also other identity systems such as [https://onename.io OneName] and [https://openname.org OpenName] that are based on Namecoin and use the ''u/'' namespace for their data storage in the blockchain.
*[http://bitcoinx.bit/namecoin/ Namecoin info]
 
*[http://namecoin.gw.gd/ Namecoin charts]
 
  
== Projects built on Namecoin ==
+
== Projects related to Namecoin ==
 
*[http://opennamesystem.org Open Name System] ''- a protocol that extends DNS by supporting the registration and resolution of user profiles and domains on the blockchain using Namecoin''
 
*[http://opennamesystem.org Open Name System] ''- a protocol that extends DNS by supporting the registration and resolution of user profiles and domains on the blockchain using Namecoin''
*[https://github.com/okTurtles/dnschain okTurtles & DNSChain]
+
*[https://github.com/okTurtles/dnschain okTurtles & DNSChain] ''- see [http://mikeward.net/how-to-setup-a-blockchain-dns-server-with-dnschain/ here] for a setup tutorial''
 
*[https://pay.reddit.com/r/bitmessage/comments/1kqpju/namecoin_integration/ Bitmessage merges with Namecoin]
 
*[https://pay.reddit.com/r/bitmessage/comments/1kqpju/namecoin_integration/ Bitmessage merges with Namecoin]
 +
*[http://www.coindesk.com/onename-raises-seed-funding-fuel-decentralized-identity-protocol/ OneName Raises Seed Funding to Fuel Decentralized Identity Protocol]
 +
*[https://openname.org OpenName]
 +
*[https://nameid.org/ NameID] ''- Namecoin + OpenID = NameID!''
 +
*[https://wiki.namecoin.info/index.php?title=Category:NEP Namecoin wiki's list of proposed (and current) extensions]
 +
*[https://www.npmjs.com/package/nmcpp nmcpp] ''- the Namecoin data processing library''
 +
*[https://www.npmjs.com/package/nmcns nmcns] ''- the Namecoin resolving library''
 +
*[https://getdotbit.com/ GetDotBit] ''- website for registering .bit domains''
 +
*[http://bit.no.com BitNo.com] ''- Namecoin web proxy''
 +
 +
== Block explorers  and search engines ==
 +
*[http://explorer.namecoin.info/ explorer.namecoin.info]
 +
*[http://namecha.in namecha.in]
 +
*[http://namecoin.webbtc.com/ namecoin.webbtc.com]
 +
*[http://dns.dnschain.net/id/aran dns.dnschain.net] ''- look up individual values in the blockchain''
 +
*[http://kaffiene.bit/ kaffeine.bit] ''- decentralised search engine''
 +
 +
== News ==
 +
*2016-07-17: [https://play.google.com/store/apps/details?id=hashengineering.namecoin.wallet Namecoin wallet (beta) for Android on Google Play]
 +
*2015-09-29: [http://blog.namecoin.org/post/130158040415/onenames-blockstore-is-much-less-secure-than Namecoin defense: OneName's blockstore is much less secure than Namecoin]
 +
*2015-09-13: [https://www.reddit.com/r/Bitcoin/comments/3ko59w/onename_moving_from_namecoin_to_bitcoin_blockchian/ OneName in the process of migrating their 32,000 users to the bitcoin blockchain] ''- the Namecoin network has had a single miner with over 51% hash-power for weeks''
 +
*2014-12-16: Block reward halved to 25NMC today.
  
 
== See also ==
 
== See also ==
*[http://explorer.dot-bit.org/nbn=3000/fromn=0 Namecoin blockchain explorer]
+
*[http://namecoin.org/ Namecoin homepage]
*[https://github.com/vinced/namecoin/blob/master/README.md Namecoin on GitHub]
+
*[http://blog.namecoin.org/ Namecoin blog]
 
*[https://www.facebook.com/Namecoin.NMC Namecoin on Facebook]
 
*[https://www.facebook.com/Namecoin.NMC Namecoin on Facebook]
 
*[http://meowbit.com/ MeowBit!] ''- there is now a one-click installer for the Namecoin wallet''
 
*[http://meowbit.com/ MeowBit!] ''- there is now a one-click installer for the Namecoin wallet''

Latest revision as of 15:37, 17 July 2016

Namecoin.png

Namecoin is a peer-to-peer generic name/value datastore system based on the bitcoin technology (a decentralized Cryptocurrency). Namecoin allows you to securely register names (domains for example) with no possible censorship, and trade namecoins, the digital currency NMC. Namecoin is the first "Altcoin", and came about after the bitcoin developers chose not to support the BitDNS idea which would allow data for other types of application to reside on the bitcoin blockchain. This was an intense debate that even Satoshi himself weighed in on saying that,

Quote.pngPiling every proof-of-work quorum system in the world into one dataset doesn't scale. Bitcoin and BitDNS can be used separately. Users shouldn't have to download all of both to use one or the other. BitDNS users may not want to download everything the next several unrelated networks decide to pile in either.
— Satoshi Nakamoto

Dot-BIT, the first project using namecoin, is building a domain name system (DNS) using the .bit top-level-domain (TLD). Their goal is to spread .bit domains by providing resources and tools to the community, from developers to end users.

It is very useful to build the DNS system into the currency system because both are prone to corruption and control when they require a central authority to manage them. By making these decentralised and removing the requirement for a central authority we can have the foundation of a secure private internet and domain-name system which has the payment and registration system built in to it.

Namecoin exchanges

The best way to get namecoins is with bitcoins since it's still very early days for namecoin which means there's not much support for buying them with standard currencies like there is with bitcoin.

Installation and usage

Installation and usage is now much simpler with the QT client which can be installed from here. For Linux Mint 16, I found that the Ubuntu 14 package worked fine, but the Debian 7 package had unsatisfiable dependencies. I was able to replace the wallet.dat file with a very old one from 2011 and the program launched correctly and listed all my balance and names.

The Namecoin wallet

As with Bitcoin, Namecoin has a file called ~/.namecoin/wallet.dat in which all your coins are stored, but in the case of Namecoin, all your domain names (and any other kinds of names you've created) are also stored in this file as special kinds of coin that can't be spent. You must take care to back this file up and keep it safe from prying eyes because if you lose this data, you lose all your coins and names!

If you use PGP email (which you should) then the simplest way to get a secure backup is to make a tar file of your wallet (you can do you Bitcoin wallet at the same time if you like) and send it to yourself as an encrypted email. This way it's stored off-site in your IMAP folder but cannot be viewed without having access to your private key. To create a tar file of your Namecoin and Bitcoin wallets, do the following.

tar -cf ~/.namecoin/wallet.dat ~/.bitcoin/wallet.dat

You should delete this file after sending it since it's not encrypted.

Note: If you need to reinstall the system, start the daemon and then stop it again to create the .namecoin directory, then overwrite the wallet.dat file with your backed up wallet and restart the daemon. Your balance will show as zero or negative until the blockchain has loaded which could take a few hours or more depending on your bandwidth.

Namecoin domain names

Names can now be registered from within the QT client itself.

Unicode names

You can register full unicode dotBit names no problem, but the DNS system will convert them to punycode. Most modern browsers support punycode, but only certain domains and names are whitelisted by default because unicode characters open up massive potential for phishing attacks by linking unsuspecting users to fake sites with very similar characters in their domain to the real site. Some TLD configurations have protection against this so the browsers can whitelist the whole TLD be default, whereas others that do not only have some specific domain names in the whitelist.

To view the currentl TLDs and domains in Firefox's configuration, go to about:config in the browser and filter the listing with the term "IDN". To whitelist dotBit domains, add a new boolean value called network.IDN.whitelist.bit with the value true.

Note servers handling requests for domains containing unicode characters need to be configured with the punycode version of the name not the unicode version. For example, the domain 道.bit resolves to this site but is converted to the punycode name of xn--8b4a.bit and will only display as unicode in browsers that have made the whitelist change mentioned in the previous paragraph.

Namecoin as an identity system

In addition to domain names, namecoin now officially supports registration of identity information. Currently Bitmessage, OneID.io is a presentation layer for this identity information, and also the NameID (Namecoin ID's + OpenID and an OTR plugin for Pidgin) can use this information. This method uses the id/ namespace for it's information storage in the Namecoin blockchain.

The easiest way to use the NameID system is to use their browser plugin, but you can also use it natively with the namecoin client. The NameID system will provide a message which needs to be signed with namecoin's signmessage function, which can be done from the command-line or from the debug window depending on whether you're using the daemon or the desktop application. The function takes two parameters, the first is the Namecoin address of the ID you're asking to sign in with, and the second is the message which needs to be enclosed within quotes since it contains spaces. This returns a signature hash which is given to the NameID app so it can ensure that you are the holder of the ID in question.

There are also other identity systems such as OneName and OpenName that are based on Namecoin and use the u/ namespace for their data storage in the blockchain.

Projects related to Namecoin

Block explorers and search engines

News

See also