Bitcoin Forum

Alternate cryptocurrencies => Altcoin Discussion => Topic started by: libcoin on October 15, 2013, 10:44:53 AM



Title: Namecoin was stillborn, I had to switch off life-support
Post by: libcoin on October 15, 2013, 10:44:53 AM
This is the postmortems and obituary over namecoin. In fact it never really existed, but by block: 139872 it became clear. However, if you haven' t noticed yet read on...

Edit 131016 : A nice fix is currently being tested, so it seems like namecoin will be back in business. Cudos to the "snailbrain" and "phelix" for cooking it together and acting fast. So current status is - don't buy a domain from someone, and don't trust any important key-value pair in namecoin  before the fix has been rolled out! - Will update once it is there, but could take days to deploy at miners.

Namecoin has always been my favorite alt-coin - it had a clear purpose, different from Bitcoin, offering a nice way to keep a de-central registry of key-value pairs. About a month ago I had a closer look at namecoin, to integrate it into libcoin on the Kraken exchange. Libcoin is a complete other story, it is a library supporting bitcoin as well as several of the alt coins, enabling easy construction of anything from light weight wallets to full server wallet solutions for exchanges and merchant sites. However, back to namecoin...

I have integrated several alt coins, and I know the machinery pretty well by now. The engine of any bitcoin based crypto currency is the ConnectBlock / ConnectInputs methods in main.cpp. They keep the rules of when to accept a block and when to reject a block, and it is there you make patches to enable anything from alternative hashing algorithms (litecoin) to merged mining (namecoin and others) as well as add new features and rules. Namecoin keep a reasonable separation through the definitions of hooks, implementing the actual rules in a separate file, namecoin.cpp.

So the real interesting stuff in namecoin is happening in namecoin.cpp in the ConnectInputs method. This one is called from ConnectInputs in main.cpp and hence have the ability to change and add rules.

All namecoin rules are kept hidden from the bitcoin script rule engine through OP_DROP opcodes, i.e. some special opcodes and data is entered, followed by a matching chain of OP_DROP commands, so the normal script rule engine will simply ignore anything namecoin'ish. The special op codes of namecoin are:
Code:
OP_NAME_NEW
OP_NAME_FIRSTUPDATE
OP_NAME_UPDATE
The reason for the
Code:
OP_NAME_NEW/OP_NAME_FIRSTUPDATE
setup is to avoid domain opportunists listening for new domain reservations and issuing competing reservations to later sell the domain back. So first you issue a:
Code:
OP_NAME_NEW << hash << OP_2DROP
Where the hash is composed of a random number and the domain, hashed. You are not allowed to issue a first-update, finally registering the domain, before after 12 blocks, ensuring no block reorganizations can enable a domain opportunists to steal your domain. In the name_new/name_firstupdate RPC calls this rule is nicely enforced, however, when you look in the ConnectInputs method you find rules enforcing a fee, rules enforcing the 12 blocks, but NO RULES ENFORCING THE HASH! [namecoin.cpp line 1874-1907] ]. So any name_new can be used as input for ANY name. This means that the domain reservation is not enforced at all leaving namecoin completely open for domain opportunists.

Clearly the patient is bleeding and in urgent need for help, but brace yourselves, this is not affecting already registered domains so it is fixable by a proper patch, and a recommendation to not reserve any new domains before the patch is in effect. Relieved that there was a cure I continued with the standard examination, to check if the rest was ok.

The key lines in namecoin.cpp are probably 1930 to 1949, this is the very core of namecoin. This is the enforcing of a name_update - a name update is the script:
Code:
OP_NAME_UPDATE << vchName << vchValue << OP_2DROP << OP_DROP
So, take an already registered name and update that with a new value. Now you would expect some code enforcing that only an input of that name can be update to another value - but NO! Again there is no enforcing of the core ruleset. So you can in fact update the value of any name in namecoin by any other input name. And after that you own it, or well, as much as you can actually own a name who anyone can update.

The final test was to try it out - (sorry) - I might had overlooked something, so, I changed the name_update algorithm to enable such takeovers, and did a:
Code:
./namecoind name_fakeupdate d/postmortem d/bitcoin "Namecoin died October the 15th 2013, coinslayer"

Try name_history on d/bitcoin and see for yourselves - there is no enforced integrity of the key value pairs in namecoin. So namecoin looses its entire purpose. The problem is that there is no fix to this - it is similar to being able to randomly take ownership of other peoples money, all the value is gone. I tried, initially, a silent fix contacting namecoin developers and key users more than a month ago, but I never got any answers back. Perhaps, the best future for namecoin now is a rebirth with a new genesis, or just a cancel of all the name reservations starting from some future block ?

I should also note that up until block 139872, no one have exploited the bugs. The libcoin code actually enforced the above rules, and I was able to download and verify the entire chain, now I have added a flag, ignore_rules, to get pass block 139872.

Coinslayer aka Michael, Chief Operation Officer, Payward Inc. kraken.com


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: BitOrca on October 15, 2013, 11:24:08 AM
How they going to fix this?


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: libcoin on October 15, 2013, 11:28:59 AM
How they going to fix this?

I suggest: "or just a cancel of all the name reservations starting from some future block" - so enforce a reset of all name reservations, say from block 141000, and following that enforce the rules. This means that all domains reserved are worthless, but that is also the case today due to the bug. However, this approach might cap the NMC rate decline.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Boxman90 on October 15, 2013, 11:35:23 AM
Is it impossible for the devs to hard-fork NMC with the bugfix, and keep all/most of the current domain registrations?


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Duetschpire on October 15, 2013, 11:36:42 AM
So all the brains and noise in crypto and open source projects over looked such a disaster?
I'm not sure whether to congratulate you or offer my condolences to the dev team and the big players.

This is rather interesting, not only for crypto, but also for all open source projects; having a project "open source" and calling the myth of "open source is more secure" doesn't make the code more secure.. Having developers like yourself actually looking into the code and testing the hell out of every possibility  is what makes it secure.

Nice work, hope a fix, patch, rebirth or whatever you want to call it will be pushed out soon as such noise is in no way good to any cryptos including but not limited to Bitcoin  


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: ripper234 on October 15, 2013, 11:53:52 AM
It's great that you're reviewing the code, and sad indeed that the developers ignored you.
Still, how does this imply "Namecoin is dead"?

It's just a hardfork that needs to be done in order to enforce the rules, no?


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: libcoin on October 15, 2013, 11:58:19 AM
It's just a hardfork that needs to be done in order to enforce the rules, no?

Well, it will be awfully hard to administer such a hardfork - either you reorganize all the way back to block 139872, from when you have the patch ready, or you need to backtrack false takeovers and reverse them. I'd say that it is more fair to cancel all reservations, after all, they never really were enforced anyway... Further, it would be healthy to clean up the list of domains.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: shooter_mcgavin on October 15, 2013, 12:04:00 PM
RIP


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: pmconrad on October 15, 2013, 12:08:39 PM
@Coinslayer: Nice find... in a way. Congrats! :-)

This is rather interesting, not only for crypto, but also for all open source projects; having a project "open source" and calling the myth of "open source is more secure" doesn't make the code more secure.. Having developers like yourself actually looking into the code and testing the hell out of every possibility  is what makes it secure.

Having many people examine the code is only possible with open source. So in general that makes open source software more secure and less bug-ridden than closed source software. This is well-known.

Obviously, making a piece of software open source doesn't automatically make it more secure. While the discovery of the OP is quite desastruous for NMC, think about how much bigger the desaster would have been if the bug had been discovered by some black hat in a year or two because (?) the project was closed source.

Now the devs (assuming there are some left, but there seems to be *some* activity over at dot-bit.org) have a chance to fix the issue and bring the project back to where it's useful. I think the ideas behind NMC are quite cool, especially because this way namecoins and the NMC blockchain do have an intrinsic value, in contrast to all the other alts.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Mooshire on October 15, 2013, 12:15:43 PM
This is sad, Namecoin was a big innovation.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: crendore on October 15, 2013, 12:16:41 PM
Looks like NMC is dead. Gox will never add it after this.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: libcoin on October 15, 2013, 12:25:45 PM
Looks like NMC is dead. Gox will never add it after this.

Ironically, it was while adding it to Kraken, that I discovered this - how could we possibly, as an exchange sit with this knowledge and start trading NMC? Now, it is different, and we might take it up again, but we need to fix the namecoin key-value database integrity first, or at least see it being fixed soon.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: BitCoinNutJob on October 15, 2013, 12:26:16 PM
 :( :( :(


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: smoothie on October 15, 2013, 12:27:52 PM
So who is going to create the new name coin chain?


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: btcdrak on October 15, 2013, 12:34:18 PM
So all the brains and noise in crypto and open source projects over looked such a disaster?
I'm not sure whether to congratulate you or offer my condolences to the dev team and the big players.

This is rather interesting, not only for crypto, but also for all open source projects; having a project "open source" and calling the myth of "open source is more secure" doesn't make the code more secure.. Having developers like yourself actually looking into the code and testing the hell out of every possibility  is what makes it secure.

Nice work, hope a fix, patch, rebirth or whatever you want to call it will be pushed out soon as such noise is in no way good to any cryptos including but not limited to Bitcoin  

Open source is more secure exactly because it can get wider peer review. Programmers make mistakes, but with closed source issues can go un-notices for years - even on purpose while other exploit the 0day. The NSA have been doing this for example.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: btcdrak on October 15, 2013, 12:37:35 PM
So who is going to create the new name coin chain?

Is there even a dev team?


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Duetschpire on October 15, 2013, 12:59:53 PM
So all the brains and noise in crypto and open source projects over looked such a disaster?
I'm not sure whether to congratulate you or offer my condolences to the dev team and the big players.

This is rather interesting, not only for crypto, but also for all open source projects; having a project "open source" and calling the myth of "open source is more secure" doesn't make the code more secure.. Having developers like yourself actually looking into the code and testing the hell out of every possibility  is what makes it secure.

Nice work, hope a fix, patch, rebirth or whatever you want to call it will be pushed out soon as such noise is in no way good to any cryptos including but not limited to Bitcoin 

Open source is more secure exactly because it can get wider peer review. Programmers make mistakes, but with closed source issues can go un-notices for years - even on purpose while other exploit the 0day. The NSA have been doing this for example.

Exactly, I'm not saying it isn't, I'm trying to say that if a software is open source, it shouldn't be taken for granted. I'm not a dev myself, I wish I were, but I think devs in the crypto community should make some sort of organization to do nothing but test for such bugs and us the users can donate to them, or they should be paid from TX fees, ads etc... This community is getting wider and bigger, being decentralized doesn't mean we can't have a well known organization to look after the technical side of things for all crypto related software


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: libcoin on October 15, 2013, 01:09:24 PM
So all the brains and noise in crypto and open source projects over looked such a disaster?
I'm not sure whether to congratulate you or offer my condolences to the dev team and the big players.

This is rather interesting, not only for crypto, but also for all open source projects; having a project "open source" and calling the myth of "open source is more secure" doesn't make the code more secure.. Having developers like yourself actually looking into the code and testing the hell out of every possibility  is what makes it secure.

Nice work, hope a fix, patch, rebirth or whatever you want to call it will be pushed out soon as such noise is in no way good to any cryptos including but not limited to Bitcoin 

Open source is more secure exactly because it can get wider peer review. Programmers make mistakes, but with closed source issues can go un-notices for years - even on purpose while other exploit the 0day. The NSA have been doing this for example.

Exactly, I'm not saying it isn't, I'm trying to say that if a software is open source, it shouldn't be taken for granted. I'm not a dev myself, I wish I were, but I think devs in the crypto community should make some sort of organization to do nothing but test for such bugs and us the users can donate to them, or they should be paid from TX fees, ads etc... This community is getting wider and bigger, being decentralized doesn't mean we can't have a well known organization to look after the technical side of things for all crypto related software

Well, I disagree, I see it as the duty of the exchanges and wallet services to perform this kind of scrutiny / review before adding a new alt-coin to their assets. I know that this has not been the practice so far, while everything has been wild west gold digger mentality, but things are getting legit, and you should do your best to secure your customers values. Anyway, it was actually in this process I found the above bugs, and I have seen other bugs in other alt-currencies, but never any alarming ones until now.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: killerstorm on October 15, 2013, 01:16:19 PM
This is sad, Namecoin was a big innovation.

It was a good proof-of-concept, but implementation is incredibly amateurish.

A bunch of undergrad CS students could produce a better one. (I'm not joking.)


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: gnscoins on October 15, 2013, 01:34:07 PM
not sure if i totally understand the implications, but does the fact that anyone can update the values means that the ownership of the domain is compromised? i would guess it's not, in the sense that once they fix the bug then the real owners of the domains can just update again to the right value (in case someone else updated their value without authorization) and no one else can change it once it's patched.

i think it's not a big deal for the owner of the domain to have to do an update after the patch rather than having to cancel all the domain registrations


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: No_2 on October 15, 2013, 01:34:42 PM
Thanks for sharing this info. As a non-programmer, but technical person info like this is very valuable.

If it did come down to a hard fork I only see namecoin coming out a stronger in the long run. Decentralisation of DNS is a very strong proposition.

... Having developers like yourself actually looking into the code and testing the hell out of every possibility  is what makes it secure...

+1


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: libcoin on October 15, 2013, 01:41:25 PM
not sure if i totally understand the implications, but does the fact that anyone can update the values means that the ownership of the domain is compromised? i would guess it's not, in the sense that once they fix the bug then the real owners of the domains can just update again to the right value (in case someone else updated their value without authorization) and no one else can change it once it's patched.

i think it's not a big deal for the owner of the domain to have to do an update after the patch rather than having to cancel all the domain registrations
Yes, the ownership of the domains is compromised - in fact they are equally owned by everyone, so if you have a domain you can steal/grab/claim any other domain at will.

Well, the update I executed means that I now own the d/bitcoin domain - and tracking back trying to fix this stuff could be quite complicated.

Also, namecoin is a math based currency - the math is fine, however, someone forgot to check it before trusting in it. So today namecoin is nothing but an alt coin - it is not a secure registry for key-value pairs, but it could become one in the future, once the rules are switched on. To claim domains backwards becomes inelegant, messy and calls for an authority which we are usually not in favor of...


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Ticked on October 15, 2013, 01:49:35 PM
So all the brains and noise in crypto and open source projects over looked such a disaster?
I'm not sure whether to congratulate you or offer my condolences to the dev team and the big players.

This is rather interesting, not only for crypto, but also for all open source projects; having a project "open source" and calling the myth of "open source is more secure" doesn't make the code more secure.. Having developers like yourself actually looking into the code and testing the hell out of every possibility  is what makes it secure.

Nice work, hope a fix, patch, rebirth or whatever you want to call it will be pushed out soon as such noise is in no way good to any cryptos including but not limited to Bitcoin 

Open source is more secure exactly because it can get wider peer review. Programmers make mistakes, but with closed source issues can go un-notices for years - even on purpose while other exploit the 0day. The NSA have been doing this for example.

Exactly, I'm not saying it isn't, I'm trying to say that if a software is open source, it shouldn't be taken for granted. I'm not a dev myself, I wish I were, but I think devs in the crypto community should make some sort of organization to do nothing but test for such bugs and us the users can donate to them, or they should be paid from TX fees, ads etc... This community is getting wider and bigger, being decentralized doesn't mean we can't have a well known organization to look after the technical side of things for all crypto related software

Well, I disagree, I see it as the duty of the exchanges and wallet services to perform this kind of scrutiny / review before adding a new alt-coin to their assets. I know that this has not been the practice so far, while everything has been wild west gold digger mentality, but things are getting legit, and you should do your best to secure your customers values. Anyway, it was actually in this process I found the above bugs, and I have seen other bugs in other alt-currencies, but never any alarming ones until now.

If this were the case, we'd be putting a lot of faith into exchange devs. Historically speaking, this doesn't feel like the safest idea. Frankly, I don't see this model eliminating the aforementioned concerns. Establishing a publicly-operating organization, one disconnected from any exchanges, and without any coin devs, feels like an option that could promote more security whilst eliminating personally vested interests from influencing a specific coins reputation. If a coin could pass the organizations' tests & review, we've got a seal of approval, which could impact the frequency pump and dump coins. 

Truth be told, my technical/coding prowess is certainly underwhelming compared to many in this community, so the following is purely thoughts aloud. ...on a screen.

Operating such an organization would take a development team as coin investigation would be rigorous & thorough. This sounds expensive. How is it funded?

A. Directly by exchanges. If the organizations' Seal of Approval proved useful and gained support, this could force the exchanges to use the org's services when adding new coins, lest they run the risk of allowing other exchanges to gain a competitive edge.
B. Conglomerate. Exchanges are given the option to enroll with the organization. Upon enrollment, a % of fees generated (or flat rate [perhaps reoccurring], whatever) is contributed to a fund. This is the operating fund for the organization. New coins can submit application directly to the org for approval. At this point, the enrolled exchanges vote on investigatory review. 
C. By the community. Seems difficult as it would be donation based. This sounds like its begging for closed door deals, bribery, and kickbacks.

What to avoid?

A. Operating in private. It seems to me we'd all benefit from such a group posting their investigations so the technical community can review where any conclusions are coming from. Devs miss things, as Libcoin has pointed out. Enabling the community to review the work of the organization would lend to benefit all involved. 
B. A Future funding operation model - i.e. The organization being funded with the coins it approves. Keeping the organization unbiased is key.



This is a half formed thought.  9-5 work is calling. I could expand on these ideas if its of interest.  Cheers!


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: No_2 on October 15, 2013, 01:52:25 PM
not sure if i totally understand the implications, but does the fact that anyone can update the values means that the ownership of the domain is compromised? i would guess it's not, in the sense that once they fix the bug then the real owners of the domains can just update again to the right value (in case someone else updated their value without authorization) and no one else can change it once it's patched.

i think it's not a big deal for the owner of the domain to have to do an update after the patch rather than having to cancel all the domain registrations
Yes, the ownership of the domains is compromised - in fact they are equally owned by everyone, so if you have a domain you can steal/grab/claim any other domain at will.

Well, the update I executed means that I now own the d/bitcoin domain - and tracking back trying to fix this stuff could be quite complicated.

Also, namecoin is a math based currency - the math is fine, however, someone forgot to check it before trusting in it. So today namecoin is nothing but an alt coin - it is not a secure registry for key-value pairs, but it could become one in the future, once the rules are switched on. To claim domains backwards becomes inelegant, messy and calls for an authority which we are usually not in favor of...

What we need is some form of proof of work system to enforce the ownership of the domains...


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Rassah on October 15, 2013, 01:56:24 PM
Is this what you mentioned while in Amsterdam, when you asked the OT developers to hold off on implementing Namecoin?


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: theymos on October 15, 2013, 01:57:18 PM
I hope that someone uses this opportunity to create a decentralized DNS network that's actually good. Namecoin always had a lot of flaws which probably would have prevented any real success. In particular, DNS does not require its own currency.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: eldentyrell on October 15, 2013, 01:57:44 PM
Another reason why alternative implementations are so important.  Nice catch, libcoin.


Quote
Now you would expect some code enforcing that only an input of that name can be update to another value - but NO!

It's just a hardfork that needs to be done in order to enforce the rules, no?

Well, it will be awfully hard to administer such a hardfork - either you reorganize all the way back to block 139872,

Oh come on now, that's not difficult at all.  And calling it "reorganization" makes it sound more difficult and complicated than it really is.  The rule is simple: trust the difficultywise-longest chain that obeys the validation rules.  You found an epic bug in the check for the "obeys the validation rules" part.  Fix that bug and the system will do the right thing.

Nothing actually gets reorganized, which is why this terminology makes no sense.  You simply ignore blocks that aren't on the difficultywise-longest valid chain.

A lot of miners will lose a lot of block rewards, but they'll get over it.  Any legitimate transactions mined into the  invalid chain will be remined.





Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: eldentyrell on October 15, 2013, 02:01:02 PM
DNS does not require its own currency.

No, but it does require a serialization mechanism whose developers aren't actively hostile to it being used for information storage.

In other words, you can't use the bitcoin blockchain for this.

So if it isn't its own currency (and therefore pays no block reward) and you can't substitute the BTC blockchain, why should miners waste computing power on it?


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: No_2 on October 15, 2013, 02:06:09 PM
DNS does not require its own currency.

No, but it does require a serialization mechanism whose developers aren't actively hostile to it being used for information storage.

In other words, you can't use the bitcoin blockchain for this.

So if it isn't its own currency (and therefore pays no block reward) and you can't substitute the BTC blockchain, why should miners waste computing power on it?


If you are going to decentralise you'll need a proof of work / proof of stake mechanism.

The monetisation of proof of work such as a namecoin like system is one way to achieve this.

Other proof of work systems could potentially be used too, I'd be interested to see what gets proposed.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: theymos on October 15, 2013, 02:07:23 PM
No, but it does require a serialization mechanism whose developers aren't actively hostile to it being used for information storage.

In other words, you can't use the bitcoin blockchain for this.

So if it isn't its own currency (and therefore pays no block reward) and you can't substitute the BTC blockchain, why should miners waste computing power on it?


I'm not sure that a block chain is required at all, but if it is, it's probably best to use the Bitcoin block chain. General timestamping with Bitcoin is incredibly useful, and it can't be done in other chains because the incentives aren't right. So it should be allowed (with appropriate fees), and in practice it's probably difficult to prevent it.

why not make it easier on everyone and just allow say, 64 or 128 bytes of random data in a transaction?
That's already possible.  <pubkey> OP_CHECKSIG.  <pubkey> can be 33 to 120 bytes.

I also support a third transaction type for timestamp hash sized arbitrary data.  There's no point not having one since you can already do it anyway.  It would tell nodes they don't need to bother to index it.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: eldentyrell on October 15, 2013, 02:12:29 PM
I'm not sure that a block chain is required at all

What prevents double-transfer of names, then?


Quote
but if it is, it's probably best to use the Bitcoin block chain.

That is dangerous because of the developers' active hostility (https://bitcointalk.org/index.php?topic=196138.0) towards attempts to store non-transaction data in the chain.


it should be allowed (with appropriate fees), and in practice it's probably difficult to prevent it.

Unfortunately it's very easy to prevent and has already been discussed on bitcoin-dev (http://sourceforge.net/mailarchive/message.php?msg_id=30705609).  It can be implemented the same way P2SH was added: a miners-only upgrade that is forced on the minority once the majority adopts it.

You might wake up one day to find that the currency you'd been using to store key/value pairs is no longer accepting updates.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: phelix on October 15, 2013, 02:34:50 PM
I tried, initially, a silent fix contacting namecoin developers and key users more than a month ago, but I never got any answers back.
It seems you did not try very hard because none of the active Namecoiners heard of anything. Still, thanks for bringing it up.

We are looking into a fix that will not need a reorg. Maybe by ignoring bad name_ops until hard fork height or something.


Finally some publicity for Namecoin  ;D





Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: rassalas on October 15, 2013, 02:36:24 PM
This is the postmortems and obituary over namecoin. In fact it never really existed, but by block: 139872 it became clear. However, if you haven' t noticed yet read on...

Namecoin has always been my favorite alt-coin - it had a clear purpose, different from Bitcoin, offering a nice way to keep a de-central registry of key-value pairs. About a month ago I had a closer look at namecoin, to integrate it into libcoin. Libcoin is a complete other story, it is a library supporting bitcoin as well as several of the alt coins, enabling easy construction of anything from light weight wallets to full server wallet solutions for exchanges and merchant sites. However, back to namecoin...

I have integrated several alt coins, and I know the machinery pretty well by now. The engine of any bitcoin based crypto currency is the ConnectBlock / ConnectInputs methods in main.cpp. They keep the rules of when to accept a block and when to reject a block, and it is there you make patches to enable anything from alternative hashing algorithms (litecoin) to merged mining (namecoin and others) as well as add new features and rules. Namecoin keep a reasonable separation through the definitions of hooks, implementing the actual rules in a separate file, namecoin.cpp.

So the real interesting stuff in namecoin is happening in namecoin.cpp in the ConnectInputs method. This one is called from ConnectInputs in main.cpp and hence have the ability to change and add rules.

All namecoin rules are kept hidden from the bitcoin script rule engine through OP_DROP opcodes, i.e. some special opcodes and data is entered, followed by a matching chain of OP_DROP commands, so the normal script rule engine will simply ignore anything namecoin'ish. The special op codes of namecoin are:
Code:
OP_NAME_NEW
OP_NAME_FIRSTUPDATE
OP_NAME_UPDATE
The reason for the
Code:
OP_NAME_NEW/OP_NAME_FIRSTUPDATE
setup is to avoid domain opportunists listening for new domain reservations and issuing competing reservations to later sell the domain back. So first you issue a:
Code:
OP_NAME_NEW << hash << OP_2DROP
Where the hash is composed of a random number and the domain, hashed. You are not allowed to issue a first-update, finally registering the domain, before after 12 blocks, ensuring no block reorganizations can enable a domain opportunists to steal your domain. In the name_new/name_firstupdate RPC calls this rule is nicely enforced, however, when you look in the ConnectInputs method you find rules enforcing a fee, rules enforcing the 12 blocks, but NO RULES ENFORCING THE HASH! [namecoin.cpp line 1874-1907] ]. So any name_new can be used as input for ANY name. This means that the domain reservation is not enforced at all leaving namecoin completely open for domain opportunists.

Clearly the patient is bleeding and in urgent need for help, but brace yourselves, this is not affecting already registered domains so it is fixable by a proper patch, and a recommendation to not reserve any new domains before the patch is in effect. Relieved that there was a cure I continued with the standard examination, to check if the rest was ok.

The key lines in namecoin.cpp are probably 1930 to 1949, this is the very core of namecoin. This is the enforcing of a name_update - a name update is the script:
Code:
OP_NAME_UPDATE << vchName << vchValue << OP_2DROP << OP_DROP
So, take an already registered name and update that with a new value. Now you would expect some code enforcing that only an input of that name can be update to another value - but NO! Again there is no enforcing of the core ruleset. So you can in fact update the value of any name in namecoin by any other input name. And after that you own it, or well, as much as you can actually own a name who anyone can update.

The final test was to try it out - (sorry) - I might had overlooked something, so, I changed the name_update algorithm to enable such takeovers, and did a:
Code:
./namecoind name_fakeupdate d/postmortem d/bitcoin "Namecoin died October the 15th 2013, coinslayer"

Try name_history on d/bitcoin and see for yourselves - there is no enforced integrity of the key value pairs in namecoin. So namecoin looses its entire purpose. The problem is that there is no fix to this - it is similar to being able to randomly take ownership of other peoples money, all the value is gone. I tried, initially, a silent fix contacting namecoin developers and key users more than a month ago, but I never got any answers back. Perhaps, the best future for namecoin now is a rebirth with a new genesis, or just a cancel of all the name reservations starting from some future block ?

I should also note that up until block 139872, no one have exploited the bugs. The libcoin code actually enforced the above rules, and I was able to download and verify the entire chain, now I have added a flag, ignore_rules, to get pass block 139872.

Coinslayer


So while everyone is busy, selling all their namecoins on this rumour, has anyone bothered to fact check this? 
I would like to have independant verification that what he's writing is true.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: nkuttler on October 15, 2013, 02:43:00 PM
Code:
$ ./namecoind name_history d/bitcoin

[
    {
        "name" : "d/bitcoin",
        "value" : "webpagedeveloper.me/namecoin",
        "txid" : "ab1207bd605af57ed0b5325ac94d19578cff3bce668ebe8dda2f42a00b001f5d",
        "address" : "NGcTVLgw6cgdavaE7C9QvWaY7gKiWbLrjP",
        "expires_in" : -127790,
        "expired" : 1
    },
    {
        "name" : "d/bitcoin",
        "value" : "{\"info\":{\"registrar\":\"http://register.dot-bit.org\"},\"email\": \"register@dot-bit.org\",\"ns\":[\"ns0.web-sweet-web.net\",\"ns1.web-sweet-web.net\"],\"map\":{\"\":{\"ns\":[\"ns0.web-sweet-web.net\",\"ns1.web-sweet-web.net\"]}}}",
        "txid" : "75e7f4bbccf673d755dd2b1e4a302c15f716c1f5b5d1d8f80d94d3d805ed64d1",
        "address" : "NJpHX9pHiApFtBtCMLxpEd9n4v47G2useU",
        "expires_in" : -91788,
        "expired" : 1
    },
    {
        "name" : "d/bitcoin",
        "value" : "{\"info\":{\"registrar\":\"http://register.dot-bit.org\"},\"email\": \"register@dot-bit.org\",\"ns\":[\"ns0.web-sweet-web.net\",\"ns1.web-sweet-web.net\"],\"map\":{\"\":{\"ns\":[\"ns0.web-sweet-web.net\",\"ns1.web-sweet-web.net\"]}}}",
        "txid" : "3376c5e0e5b69d0a104863de8432d7c13f891065e7628a72487b770c6418d397",
        "address" : "N9dLs1zHRfZr5cJNjSrvhWrrUcmNSthdmz",
        "expires_in" : -80068,
        "expired" : 1
    },
    {
        "name" : "d/bitcoin",
        "value" : "{\"info\":{\"registrar\":\"http://register.dot-bit.org\"},\"email\": \"register@dot-bit.org\",\"ns\":[\"ns0.web-sweet-web.net\",\"ns1.web-sweet-web.net\"],\"map\":{\"\":{\"ns\":[\"ns0.web-sweet-web.net\",\"ns1.web-sweet-web.net\"]}}}",
        "txid" : "cc9f6c9493ad9a556f19fe91539339529ed3ceb8a4abd281f49c049f274ff812",
        "address" : "N87erkfoA73u1hDBtMgAJqb1dRoN5Bf13g",
        "expires_in" : -44908,
        "expired" : 1
    },
    {
        "name" : "d/bitcoin",
        "value" : "{\"info\":{\"registrar\":\"http://register.dot-bit.org\"},\"email\": \"register@dot-bit.org\",\"ns\":[\"ns0.web-sweet-web.net\",\"ns1.web-sweet-web.net\"],\"map\":{\"\":{\"ns\":[\"ns0.web-sweet-web.net\",\"ns1.web-sweet-web.net\"]}}}",
        "txid" : "ad70a260c2877129b278bd8efdc8811c3f5b9246bdeb429bb2ff84c08cb53c59",
        "address" : "N2W86iuzrwwxZktpJZ3E2xBn1FaYza3Seo",
        "expires_in" : -9834,
        "expired" : 1
    },
    {
        "name" : "d/bitcoin",
        "value" : "{\"info\":{\"registrar\":\"http://register.dot-bit.org\"},\"email\": \"register@dot-bit.org\",\"ns\":[\"ns0.web-sweet-web.net\",\"ns1.web-sweet-web.net\"],\"map\":{\"\":{\"ns\":[\"ns0.web-sweet-web.net\",\"ns1.web-sweet-web.net\"]}}}",
        "txid" : "0bd0d194dfec880211d281fdf0efec28f36fc0a969ea2f437d56766e945fcccb",
        "address" : "MvuWVugaAAoU5CUq1ycggsQjYeeBwJ2nE6",
        "expires_in" : 25180
    },
    {
        "name" : "d/bitcoin",
        "value" : "Namecoin died October the 15th 2013, coinslayer",
        "txid" : "2f034f2499c136a2c5a922ca4be65c1292815c753bbb100a2a26d5ad532c3919",
        "address" : "NCef39aRywWU1CBnRYWhoLFyo7GqcvX7TB",
        "expires_in" : 35940
    }
]


So what we see here is apparently the history of the bitcoin.bit domain registration. If you look at the last entry.. that looks like a confirmation that  libcoin has found an exploit. If I knew C++ I'd try to reproduce this, but I don't.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: favdesu on October 15, 2013, 02:51:01 PM
Code:
$ ./namecoind name_history d/bitcoin

[
    {
        "name" : "d/bitcoin",
        "value" : "webpagedeveloper.me/namecoin",
        "txid" : "ab1207bd605af57ed0b5325ac94d19578cff3bce668ebe8dda2f42a00b001f5d",
        "address" : "NGcTVLgw6cgdavaE7C9QvWaY7gKiWbLrjP",
        "expires_in" : -127790,
        "expired" : 1
    },
    {
        "name" : "d/bitcoin",
        "value" : "{\"info\":{\"registrar\":\"http://register.dot-bit.org\"},\"email\": \"register@dot-bit.org\",\"ns\":[\"ns0.web-sweet-web.net\",\"ns1.web-sweet-web.net\"],\"map\":{\"\":{\"ns\":[\"ns0.web-sweet-web.net\",\"ns1.web-sweet-web.net\"]}}}",
        "txid" : "75e7f4bbccf673d755dd2b1e4a302c15f716c1f5b5d1d8f80d94d3d805ed64d1",
        "address" : "NJpHX9pHiApFtBtCMLxpEd9n4v47G2useU",
        "expires_in" : -91788,
        "expired" : 1
    },
    {
        "name" : "d/bitcoin",
        "value" : "{\"info\":{\"registrar\":\"http://register.dot-bit.org\"},\"email\": \"register@dot-bit.org\",\"ns\":[\"ns0.web-sweet-web.net\",\"ns1.web-sweet-web.net\"],\"map\":{\"\":{\"ns\":[\"ns0.web-sweet-web.net\",\"ns1.web-sweet-web.net\"]}}}",
        "txid" : "3376c5e0e5b69d0a104863de8432d7c13f891065e7628a72487b770c6418d397",
        "address" : "N9dLs1zHRfZr5cJNjSrvhWrrUcmNSthdmz",
        "expires_in" : -80068,
        "expired" : 1
    },
    {
        "name" : "d/bitcoin",
        "value" : "{\"info\":{\"registrar\":\"http://register.dot-bit.org\"},\"email\": \"register@dot-bit.org\",\"ns\":[\"ns0.web-sweet-web.net\",\"ns1.web-sweet-web.net\"],\"map\":{\"\":{\"ns\":[\"ns0.web-sweet-web.net\",\"ns1.web-sweet-web.net\"]}}}",
        "txid" : "cc9f6c9493ad9a556f19fe91539339529ed3ceb8a4abd281f49c049f274ff812",
        "address" : "N87erkfoA73u1hDBtMgAJqb1dRoN5Bf13g",
        "expires_in" : -44908,
        "expired" : 1
    },
    {
        "name" : "d/bitcoin",
        "value" : "{\"info\":{\"registrar\":\"http://register.dot-bit.org\"},\"email\": \"register@dot-bit.org\",\"ns\":[\"ns0.web-sweet-web.net\",\"ns1.web-sweet-web.net\"],\"map\":{\"\":{\"ns\":[\"ns0.web-sweet-web.net\",\"ns1.web-sweet-web.net\"]}}}",
        "txid" : "ad70a260c2877129b278bd8efdc8811c3f5b9246bdeb429bb2ff84c08cb53c59",
        "address" : "N2W86iuzrwwxZktpJZ3E2xBn1FaYza3Seo",
        "expires_in" : -9834,
        "expired" : 1
    },
    {
        "name" : "d/bitcoin",
        "value" : "{\"info\":{\"registrar\":\"http://register.dot-bit.org\"},\"email\": \"register@dot-bit.org\",\"ns\":[\"ns0.web-sweet-web.net\",\"ns1.web-sweet-web.net\"],\"map\":{\"\":{\"ns\":[\"ns0.web-sweet-web.net\",\"ns1.web-sweet-web.net\"]}}}",
        "txid" : "0bd0d194dfec880211d281fdf0efec28f36fc0a969ea2f437d56766e945fcccb",
        "address" : "MvuWVugaAAoU5CUq1ycggsQjYeeBwJ2nE6",
        "expires_in" : 25180
    },
    {
        "name" : "d/bitcoin",
        "value" : "Namecoin died October the 15th 2013, coinslayer",
        "txid" : "2f034f2499c136a2c5a922ca4be65c1292815c753bbb100a2a26d5ad532c3919",
        "address" : "NCef39aRywWU1CBnRYWhoLFyo7GqcvX7TB",
        "expires_in" : 35940
    }
]


So what we see here is apparently the history of the bitcoin.bit domain registration. If you look at the last entry.. that looks like a confirmation that  libcoin has found an exploit. If I knew C++ I'd try to reproduce this, but I don't.

If that's true then... RIP in pieces NMC


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: markm on October 15, 2013, 02:54:53 PM
Well supposedly namecoin was never much use to start with because names were so cheap that basically everyone's name was already taken almost before anyone had heard of the thing?

Are there any usernames from this forum that weren't squatted, for example?

Though maybe the whole point of this "bug" was precisely to get to see what names were wanted then grab them?

Starting over doesn't seem likely to be helpful since squatters scripts will collide all over each other in the first few moments after the fix grabbing every name than anyone ever wanted...

-MarkM-


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Peter Todd on October 15, 2013, 02:55:12 PM
I'm not sure that a block chain is required at all

What prevents double-transfer of names, then?

The Namecoin v2.0 rules.

You have to understand that what Bitcoin provides for a "Namecoin v2.0" system that works on top of the Bitcoin blockchain is a (proof of) data publication and ordering service, nothing more. It's the agreed upon rules that would take that data and determine what it actually means in terms of who owns what domains.

Quote
but if it is, it's probably best to use the Bitcoin block chain.

That is dangerous because of the developers' active hostility (https://bitcointalk.org/index.php?topic=196138.0) towards attempts to store non-transaction data in the chain.

it should be allowed (with appropriate fees), and in practice it's probably difficult to prevent it.

Unfortunately it's very easy to prevent and has already been discussed on bitcoin-dev (http://sourceforge.net/mailarchive/message.php?msg_id=30705609).  It can be implemented the same way P2SH was added: a miners-only upgrade that is forced on the minority once the majority adopts it.

You might wake up one day to find that the currency you'd been using to store key/value pairs is no longer accepting updates.

Gregory Maxwell's P2SH^2 system is very clever, but it still doesn't prevent publication of data in the Bitcoin blockchain, only the Bitcoin UTXO set. There's absolutely nothing we can do to prevent people from publishing data in the blockchain other than miners using blacklists, and even that measure can be circumvented if what you are doing is timestamping; I wrote up a good Namecoin v2.0 proposal on #bitcoin-wizards a while back that I called "zookeyv" that is genuinely impossible to block short of having all Bitcoin users sign their transactions with real-world identities that a majority of miners verify.

I agree with theymos on this: the next namecoin should be implemented on top of the bitcoin blockchain.


FWIW I wrote an improved version of the "blockchain data uploading" script that was put in the Bitcoin blockchain a few months ago to get a better understanding of the counter-measures possible; I'm increasingly thinking it'd be worthwhile to publish that code in the same spirit of publishing security exploits. Better we understand these issues now than find out the hard way later.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: nkuttler on October 15, 2013, 02:57:32 PM
Another way to see the blockchain wrt bitcoin.bit is http://explorer.dot-bit.org/n/1


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: phelix on October 15, 2013, 03:01:04 PM
Well supposedly namecoin was never much use to start with because names were so cheap that basically everyone's name was already taken almost before anyone had heard of the thing?
Actually there was a long price ramp at the beginning and names started out very expensive.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Rassah on October 15, 2013, 03:05:51 PM
One issue I could see with implementing NMC on top of BTC is future scalability. Specifically, when BTC blockchain gets huge, it would mean that the datacenters that store bitcoin blockchain information would have to also double as DNS providers. I think a NMC blockchain would be much much smaller in size compared to bitcoin, since transactions on namecoin are much less frequest, even if they may hold more data. So keeping the two separate would allow for many more smaller, independent DNS providers, instead of limiting it to just the few bitcoin providers we'll likely end up with in the future.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: gnscoins on October 15, 2013, 03:08:16 PM
is it possible to check in the blockchain which domains have been affected by the exploit?

what could be done is if it's just the bitcoin domain to assign it back to who initially registered it (i guess that's possible)

any domain transfer from today to when patch is done would be reverted to who originally registered the domain, as it would be assumed to be a hack


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Peter Todd on October 15, 2013, 03:13:24 PM
One issue I could see with implementing NMC on top of BTC is future scalability. Specifically, when BTC blockchain gets huge, it would mean that the datacenters that store bitcoin blockchain information would have to also double as DNS providers. I think a NMC blockchain would be much much smaller in size compared to bitcoin, since transactions on namecoin are much less frequest, even if they may hold more data. So keeping the two separate would allow for many more smaller, independent DNS providers, instead of limiting it to just the few bitcoin providers we'll likely end up with in the future.

Scalability is already a serious problem with namecoin.

Done correctly a namecoin v2.0 doesn't have to make the same scalability mistakes as with namecoin v1.0, and can be implemented in such a way that if Bitcoin itself remains secure and usable for people who don't have the full blockchain, Namecoin v2.0 will be too. For instance any kind of UTXO proof thing in Bitcoin makes this easy to accomplish by creating a system where a series of one or more UTXO proofs can be used to prove the correct ownership of the domain name, without requiring anyone to have a full copy of all domain names.

Note how it helps that domain registrations can have much higher "fees" than Bitcoin transfers and still be useful.

Incidentally this is the same line of thinking when it comes to colored coins; I'm writing a paper on that topic right now that I really need to finish off before I annoy killerstorm any further...  :-\


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: cassini on October 15, 2013, 03:14:16 PM
Another way to see the blockchain wrt bitcoin.bit is http://explorer.dot-bit.org/n/1
... and it says the following:

On 2013-06-17 a NAME_NEW was issued for d/bitcoin, which is very unusual. There was no need for another NAME_NEW, as the name "d/bitcoin" was not expired yet.
On 2013-08-13 the "new" owner with IP 108.166.91.92 tried to make it look as if d/bitcoin is still owned by register.dot-bit.org
On 2013-10-15 (today) he issued a simple NAME_UPDATE.


To me it looks we haven't got a Namecoin problem, but we have a problem with namecoin.com (IP: 108.166.91.92).

EDIT: On the other hand:
http://dot-bit.org/forum/viewtopic.php?f=2&t=1295&start=10


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Luckybit on October 15, 2013, 03:28:06 PM
I hope that someone uses this opportunity to create a decentralized DNS network that's actually good. Namecoin always had a lot of flaws which probably would have prevented any real success. In particular, DNS does not require its own currency.

Could DNS be implemented as smart property on top of something like Mastercoin?


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Financisto on October 15, 2013, 03:36:04 PM
So who is going to create the new name coin chain?

Is there even a dev team?

Here is the announce thread: https://bitcointalk.org/index.php?topic=6017.0 (https://bitcointalk.org/index.php?topic=6017.0)

Dunno if the announcer called vinced (https://bitcointalk.org/index.php?action=profile;u=9552) is the main dev though...


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: nkuttler on October 15, 2013, 03:42:22 PM
There's also a thread in the namecoin forum: http://dot-bit.org/forum/viewtopic.php?f=2&t=1295&sid=7c4a37c316c3a194415fe54e1b978a6a&start=0


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: masterluc on October 15, 2013, 03:44:53 PM
I always posted critics to namecoin design.

Welcome to DIANNA - Decentralized Internet Assigned Names and Numbers Authority, the mother of all records ;)

https://dianna-project.org

Need volunteers.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: willphase on October 15, 2013, 03:52:03 PM
wait, people actually register names with namecoin instead of just merge mining it and selling for BTC...?  ;D

Will


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: snailbrain on October 15, 2013, 03:54:20 PM
http://dot-bit.org/forum/posting.php?mode=edit&f=2&p=6729

Quote
Hash check is present in RPC command, but missing in the network code, so just need to copy-paste it to the right place. But we must somehow persuade people to upgrade.
I guess we should patch QT plus create a new fork of 3.50 with the fix (so people who are afraid of using the QT can still upgrade).

Quote
We should do the following:
1. choose block XXXXXX in the future at which the fix will be enforced (hard fork)
2. between block 139872 and XXXXXX allow bad transactions, but do not write them to nameindex
3. after block XXXXXX reject bad transactions (and blocks containing them)
4. Force rescan of nameindex (not sure how to do properly; deleting nameindex manually would do it, but need something automatic)

Item 2 ensures that the chain is not rejected, but bad name_updates are harmless.
After we do the patch, we need to contact Khal so he updates blockexplorer. Then we probably need to contact exchanges and pools and ask them to upgrade.

This was jsut a quick analysis plan.. so take with a grain of salt


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: masterluc on October 15, 2013, 04:01:12 PM
wait, people actually register names with namecoin instead of just merge mining it and selling for BTC...?  ;D

Will
DIANNA has no money inside. Money are not domains and domains are not money. Bitcoin is money. This is main nmc design error i think.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: axilla on October 15, 2013, 04:17:35 PM
People need to stop trying to implement everything and the kitchen sink on top of the bitcoin block chain....  DNS and money are not related.. NMC was a foot forward for decentralized dns... Now that it has failed let it burn and from it let the Phoenix rise.. Decentralized DNs can be done in a way that rewards for work.. In fact it could reward with bitcoin... Domains could be registered with bitcoin and any fees and anything else could be sent out in transactions..

lets fix the problem instead of band aiding NMc


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: snailbrain on October 15, 2013, 04:28:06 PM
the fix is being tested as we speak.

the bug isn't fatal


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: ninjarobot on October 15, 2013, 05:05:34 PM
The death of Namecoin is greatly exaggerated.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: cyberhacker on October 15, 2013, 05:07:32 PM
Namecoin is resilient.

most innovative coin so far


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: justusranvier on October 15, 2013, 05:20:37 PM
No, but it does require a serialization mechanism whose developers aren't actively hostile to it being used for information storage.

In other words, you can't use the bitcoin blockchain for this.
They'll be overruled by an economy majority eventually.

By the time the bitcoin network starts processing very high transaction nobody is going to be able to micromanage what kinds of transactions are included.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: dacoinminster on October 15, 2013, 05:34:36 PM
I hope that someone uses this opportunity to create a decentralized DNS network that's actually good. Namecoin always had a lot of flaws which probably would have prevented any real success. In particular, DNS does not require its own currency.

Could DNS be implemented as smart property on top of something like Mastercoin?

Yes it could: https://bitcointalk.org/index.php?topic=265488.msg3343620#msg3343620


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: BitCoinNutJob on October 15, 2013, 06:10:32 PM
fixed

https://github.com/namecoin-qt/namecoin-qt/commit/d70d01ff77310d3755891cb43cb2700b553019f4


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: snailbrain on October 15, 2013, 06:16:04 PM
fixed

https://github.com/namecoin-qt/namecoin-qt/commit/d70d01ff77310d3755891cb43cb2700b553019f4

there are also some other bugs as pm'd by libcoin.. please wait before updating.. there will be an official announcement eventually/soon

also namecoin-qt is NOT the official repo


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: becoin on October 15, 2013, 06:24:21 PM
I agree with theymos on this: the next namecoin should be implemented on top of the bitcoin blockchain.
I disagree. If bitcoin fails everything based on bitcoin blockchain will also fail. Diversity in alt blockchains is the best chance for success.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: snailbrain on October 15, 2013, 06:36:30 PM
old post.. obviously was a long time ago and things have probably changed

https://bitcointalk.org/index.php?topic=1790.msg28696#msg28696


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: justusranvier on October 15, 2013, 06:45:55 PM
I disagree. If bitcoin fails everything based on bitcoin blockchain will also fail. Diversity in alt blockchains is the best chance for success.
Diversity in blockchains weakens all of them.

If your threat model included nation-state level attackers, your only chance of success is to have the highest possible hash rate protecting it. Splitting the processing power over a bunch of diverse blockchains increases the probability that each one will fall in succession because none of them have enough hashing power to survive the attack.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Peter Todd on October 15, 2013, 06:57:56 PM
If your threat model included nation-state level attackers, your only chance of success is to have the highest possible hash rate protecting it. Splitting the processing power over a bunch of diverse blockchains increases the probability that each one will fall in succession because none of them have enough hashing power to survive the attack.

Note that Namecoin is merge-mined, so splitting hashing power isn't directly a valid criticism. Rather the criticism is that Namecoin miners don't benefit from mining namecoin as directly as Bitcoin miners, screwing up the incentives, and because merge-mining is pretty much free for the miner so there isn't the incentive to mine properly. Both problems lead to Namecoin being less secure than it would be had it been designed to work on top of the Bitcoin blockchain.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: justusranvier on October 15, 2013, 07:00:38 PM
Note that Namecoin is merge-mined, so splitting hashing power isn't directly a valid criticism.
I was speaking in general, not specifically Namecoin. I don't think merge mining is what people mean when they talk about blockchain diversity anyway.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: becoin on October 15, 2013, 07:04:15 PM
Splitting the processing power over a bunch of diverse blockchains increases the probability that each one will fall in succession because none of them have enough hashing power to survive the attack.
If only they use the same hash algo. Fortunately, alt coins are using totally different or heavily modified hash algos and this is why they are alts not clones.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: justusranvier on October 15, 2013, 07:06:31 PM
If only they use the same hash algo. Fortunately, alt coins are using totally different or heavily modified hash algos and this is why they are alts not clones.
That's exactly what causes the vulnerability.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: amincd on October 15, 2013, 07:12:04 PM
Thank you for finding this bug OP. It appears to be confirmed in the Namecoin forum.


If only they use the same hash algo. Fortunately, alt coins are using totally different or heavily modified hash algos and this is why they are alts not clones.

A >50% attack is an economic attack. If you have the economic resources of honest miners split among different blockchains, an attack can focus on one at a time to take them out, and need fewer resources to successfully execute, as each network would have a lower hashrate than a single, non-fragmented network would have.

Combining all efforts in one blockchain (or several merge-mined blockchains) means that the threshold for a successful attack is higher, reducing the number of organizations that have the resources to be capable of executing it. In the case of POW security, scale is a major advantage.

Anyway, IMHO, Namecoin, while perhaps not perfect, has been running for a couple of years, already has a large community (relatively speaking) involved in it, and, for these reasons, is the best shot we have at a decentralized DNS. This bug is critical but fixable from what I've gathered.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: becoin on October 15, 2013, 07:15:08 PM
If only they use the same hash algo. Fortunately, alt coins are using totally different or heavily modified hash algos and this is why they are alts not clones.
That's exactly what causes the vulnerability.
What do you mean? Bitcoin's hash algo is the best one and must be kept unchanged forever?!


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: becoin on October 15, 2013, 07:27:45 PM
Combining all efforts in one blockchain (or several merge-mined blockchains) means that the threshold for a successful attack is higher, reducing the number of organizations that have the resources to be capable of attacking it.
Same higher threshold that leads bitcoin mining into absolute centralization?

This is not the way life survived on planet Earth. The key to a successful ecosystem is diversity not uniformity!


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: iddo on October 15, 2013, 07:35:24 PM
Anyway, IMHO, Namecoin, while perhaps not perfect, has been running for a couple of years, already has a large community (relatively speaking) involved in it, and, for these reasons, is the best shot we have at a decentralized DNS. This bug is critical but fixable from what I've gathered.

If Namecoin is the best shot we have at a decentralized DNS then that's bad news, because the Namecoin protocol wasn't well thought through and therefore it doesn't really enable a decentralized DNS, see here:
https://bitcointalk.org/index.php?topic=233997.msg2534114#msg2534114
https://en.bitcoin.it/wiki/User:Gmaxwell/namecoin_that_sucks_less


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Rassah on October 15, 2013, 08:06:25 PM
If Namecoin is the best shot we have at a decentralized DNS then that's bad news, because the Namecoin protocol wasn't well thought through and therefore it doesn't really enable a decentralized DNS, see here:
https://bitcointalk.org/index.php?topic=233997.msg2534114#msg2534114
https://en.bitcoin.it/wiki/User:Gmaxwell/namecoin_that_sucks_less

Is there such a thing as a thin client DNS server? I can't think of any way to store an entire database on IPs and domain names in a thin client...


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Peter Todd on October 15, 2013, 08:49:34 PM
Is there such a thing as a thin client DNS server? I can't think of any way to store an entire database on IPs and domain names in a thin client...

Yes - you make it possible for someone else to store it and provide you a cryptographic proof that what they gave you was correct. This lets you distribute the actual data with any number of solutions.

Namecoin doesn't do this, so unless you have the full namecoin database you have no idea if a given DNS name->ip mapping was correct.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: d'aniel on October 15, 2013, 09:03:19 PM
I might as well pile on too while we're all at it :)  Just some thoughts I've been having about this problem I wanted to share.

Using namecoin strings alone as identities is clearly crazy - they're first come first serve, and anyone can come and register one after you whose typesetting only very subtly different, opening the door for phishing.  So you need a PKI built on top, which is much more difficult to do than namecoin itself.  Not to mention, as retep did earler ITT, it can't do lightweight clients without trust.  Even with the complex UTXO commitments he mentioned, you have to trust that miners won't rewrite history (because lightweight clients won't be able to check a UTXO proof for every block for every name they're interested in).

If we slightly temper our expectations of a secure, decentralized naming system, then we can solve these problems very easily (or define them away, depending on how you look at it).  And the result is Good Enough IMHO.  Essentially, if we give up on names being meaningful (but still keep them short, pronounceable and memorable) then they can be used alone securely as identities - no PKI needed.  The idea is that there are a relatively small number of transactions in the Bitcoin blockchain (< 2^25 currently), so you don't need very many bits to encode a transaction's location in the blockchain uniquely.  You then run these encodings through an universally agreed upon cipher to make them dissimilar, and encode the result into some phonemic base.  By encoding a pubkey fingerprint in a transaction, you have a secure name to pubkey mapping.  This can build directly off of Jeff Garzik's identity protocol: https://en.bitcoin.it/wiki/Identity_protocol_v1.

For example, with a large set of CVC phonemes (consonant - vowel - consonant), you only need three to describe a 32 bit name: ~reb-mizvig.  Wisely selecting a smaller set of phonemes may make for more readable names in general at the expense of needing another phoneme: ~bitlyr-worwyd.  Might be worth it.  And you could have lots of different "languages" for different styles of names.  Or different alphabets even.  The guys working on Urbit are currently developing some of these phonemic bases and said we can just copy what they come up with if we like.

Note that all a lightweight client needs to resolve a name to a pubkey fingerprint is the block headers and a merkle path, which encodes the transaction's location via the ordering of hashes.  Also, names done this way would be very dissimilar, so you could safely use them alone as your identity.  This is probably best for identities that live purely online; if people know you only by this name, then key verification comes for free.

Regarding transfer of names, I wonder if that really makes sense.  I can wholeheartedly vouch for a person, but can I really sell your trust in me to to them?  The names are sufficiently throwaway, so I say don't bother with this.  System's much simpler without it.

Of course this all glosses over the need for good key management.  Maybe devices like Trezor could be useful here.  Some random thoughts on a distributed key revocation blockchain:
- Identity protocol's miner sacrifices makes this hard to spam.
- Authenticated prefix trees instead of merkle trees could make it so you only have to pay attention to small subsets of each block containing (or not containing) names you care about.
- We only care about unjammability, so we can pay attention to, say, the 5 longest branches to make it more difficult for miners to suppress revocations.

Thoughts?  Is this all crazy/expecting too much of people?  Am I misunderstanding the problem?


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: gmaxwell on October 15, 2013, 09:04:16 PM
My my, thats unfortunate.  Had this been fixed before being exploited it would have been a trivial soft forking adjustment.  Even a simple temporary softforking adjustment to deny all transactions while it would have fixed would have prevented basically all the harm.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: axilla on October 15, 2013, 09:18:46 PM
decentralized DNS should in now way rely on the blockchain.. PERIOD..  It's madness to continue to build things into the blockchain that have in no way what so ever a relationship to bitcoin.  Anyone who says otherwise please show me with FACTS where a decentralized DNS would be better suited crammed into an already bloated block chain instead of its own entity that uses bitcoins in some way...  It's extremely lazy in my opinion and there are far better ways to do it. 



Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: snailbrain on October 15, 2013, 09:27:51 PM
please check "fix"

http://dot-bit.org/forum/viewtopic.php?f=2&t=1297


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: theymos on October 15, 2013, 09:46:25 PM
One issue I could see with implementing NMC on top of BTC is future scalability. Specifically, when BTC blockchain gets huge, it would mean that the datacenters that store bitcoin blockchain information would have to also double as DNS providers. I think a NMC blockchain would be much much smaller in size compared to bitcoin, since transactions on namecoin are much less frequest, even if they may hold more data. So keeping the two separate would allow for many more smaller, independent DNS providers, instead of limiting it to just the few bitcoin providers we'll likely end up with in the future.

That's one area where Namecoin was very weak. Its blockchain may have started out smaller, but its scalability is no better than Bitcoin's, and it'll eventually have the same problems (like all Bitcoin-based altcoins). But if your decentralized DNS doesn't include a currency, then old data about domain ownership can be more easily forgotten. For example, if you require that registrants renew their domains weekly, then resolvers only need the last few weeks of full blockchain data (plus headers to verify the chain). There may also be better ways of doing this that don't require frequent renewal. (You can also do this sort of renewal thing with BTC in order to reduce download requirements, but it'd be really unpopular.)

Running a resolver on a well-designed DNS system will always be pretty cheap unless Bitcoin's network requirements become huge.

Could DNS be implemented as smart property on top of something like Mastercoin?

Probably, but I'm not a huge fan of smart property or Mastercoin.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: killerstorm on October 15, 2013, 10:31:01 PM
Essentially, if we give up on names being meaningful (but still keep them short, pronounceable and memorable) then they can be used alone securely as identities - no PKI needed.  The idea is that there are a relatively small number of transactions in the Bitcoin blockchain (< 2^25 currently), so you don't need very many bits to encode a transaction's location in the blockchain uniquely.

FWIW I had pretty much the same idea about a half year ago.

https://bitcointalk.org/index.php?topic=138000.msg1471978#msg1471978

Although I thought about using words rather than phonemes: four words are enough.

E.g. somebody can register a name like "cranky corporate classic company".


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: d'aniel on October 15, 2013, 10:57:49 PM
Essentially, if we give up on names being meaningful (but still keep them short, pronounceable and memorable) then they can be used alone securely as identities - no PKI needed.  The idea is that there are a relatively small number of transactions in the Bitcoin blockchain (< 2^25 currently), so you don't need very many bits to encode a transaction's location in the blockchain uniquely.

FWIW I had pretty much the same idea about a half year ago.

https://bitcointalk.org/index.php?topic=138000.msg1471978#msg1471978

Although I thought about using words rather than phonemes: four words are enough.

E.g. somebody can register a name like "cranky corporate classic company".
Oh cool.  The phonemic names seem like an improvement on this (shorter and more memorable), but you can credit the Urbit developers for them.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: eldentyrell on October 15, 2013, 11:48:19 PM
Well supposedly namecoin was never much use to start with because names were so cheap that basically everyone's name was already taken almost before anyone had heard of the thing?
Actually there was a long price ramp at the beginning and names started out very expensive.

No, actually there was a short price ramp.  That was the problem.

Because namecoin entries aren't fungible the viability of the system is much more sensitive to the inflation schedule.  BTC are fungible so if the initially-hardwired inflation schedule isn't "perfect" it simply amounts to a larger or smaller financial windfall for early adopters.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: eldentyrell on October 15, 2013, 11:55:26 PM
No, but it does require a serialization mechanism whose developers aren't actively hostile to it being used for information storage.

In other words, you can't use the bitcoin blockchain for this.

They'll be overruled by an economy majority eventually.

Except that they aren't the majority!  You see, that's the issue.  As long as the majority of the use of the BTC blockchain is as money, not as a key/value store, people using it as a key/value store are vulnerable to sudden changes that aren't in their interest.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: eldentyrell on October 16, 2013, 12:00:28 AM
I'm not sure that a block chain is required at all

What prevents double-transfer of names, then?

The Namecoin v2.0 rules.

If by "namecoin v2.0" you mean luke-jr's proposal (http://dot-bit.org/forum/viewtopic.php?f=5&t=377), that does require a blockchain.



Quote
the next namecoin should be implemented on top of the bitcoin blockchain.

Well, good luck convincing people to use it.  I'm not very interested in spending money or computing power on an entry in a key-value store that could suddenly become frozen due to small outputs suddenly becoming unspendable (https://bitcointalk.org/index.php?topic=196138.0) or some other change to the bitcoin block validation consensus.

Bitcoin works because everybody has a common interest in it being usable as money.  If you're trying to use it for something else you will always be at risk of the majority (who don't care about your weird use) tweaking the rules in a way that breaks it.



Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Rassah on October 16, 2013, 12:21:28 AM
That's one area where Namecoin was very weak. Its blockchain may have started out smaller, but its scalability is no better than Bitcoin's, and it'll eventually have the same problems (like all Bitcoin-based altcoins). But if your decentralized DNS doesn't include a currency, then old data about domain ownership can be more easily forgotten. For example, if you require that registrants renew their domains weekly, then resolvers only need the last few weeks of full blockchain data (plus headers to verify the chain). There may also be better ways of doing this that don't require frequent renewal. (You can also do this sort of renewal thing with BTC in order to reduce download requirements, but it'd be really unpopular.)

Well, Namecoin name registrations are rather short term (3 or 6 months?), so I wonder if that can't be implemented in some way, the same way Bitcoin will do pruning.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: masterluc on October 16, 2013, 12:29:49 AM
One issue I could see with implementing NMC on top of BTC is future scalability. Specifically, when BTC blockchain gets huge, it would mean that the datacenters that store bitcoin blockchain information would have to also double as DNS providers. I think a NMC blockchain would be much much smaller in size compared to bitcoin, since transactions on namecoin are much less frequest, even if they may hold more data. So keeping the two separate would allow for many more smaller, independent DNS providers, instead of limiting it to just the few bitcoin providers we'll likely end up with in the future.

That's one area where Namecoin was very weak. Its blockchain may have started out smaller, but its scalability is no better than Bitcoin's, and it'll eventually have the same problems (like all Bitcoin-based altcoins). But if your decentralized DNS doesn't include a currency, then old data about domain ownership can be more easily forgotten. For example, if you require that registrants renew their domains weekly, then resolvers only need the last few weeks of full blockchain data (plus headers to verify the chain). There may also be better ways of doing this that don't require frequent renewal. (You can also do this sort of renewal thing with BTC in order to reduce download requirements, but it'd be really unpopular.)

Running a resolver on a well-designed DNS system will always be pretty cheap unless Bitcoin's network requirements become huge.

Could DNS be implemented as smart property on top of something like Mastercoin?

Probably, but I'm not a huge fan of smart property or Mastercoin.
People, lol! You all just ignore my messages but your ideas clearly point to dianna-project.org


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Peter Todd on October 16, 2013, 01:01:18 AM
I'm not sure that a block chain is required at all

What prevents double-transfer of names, then?

The Namecoin v2.0 rules.

If by "namecoin v2.0" you mean luke-jr's proposal (http://dot-bit.org/forum/viewtopic.php?f=5&t=377), that does require a blockchain.

No, I mean a hypothetical protocol that doesn't use a separate blockchain.

Quote
the next namecoin should be implemented on top of the bitcoin blockchain.

Well, good luck convincing people to use it.  I'm not very interested in spending money or computing power on an entry in a key-value store that could suddenly become frozen due to small outputs suddenly becoming unspendable (https://bitcointalk.org/index.php?topic=196138.0) or some other change to the bitcoin block validation consensus.

Bitcoin works because everybody has a common interest in it being usable as money.  If you're trying to use it for something else you will always be at risk of the majority (who don't care about your weird use) tweaking the rules in a way that breaks it.

You just don't get it: it's impossible to stamp out all the ways of timestamping (http://vog.github.io/bitcoinproof/) data in the blockchain, and timestamping w/ bitcoin sacrifices is sufficient to build a useful and secure distributed DNS system. Even a majority of miners can't use blacklists to stop timestamping and bitcoin sacrifices because you can devise protocols with very useful properties where the transactions involved are revealed after they have been confirmed; they've have to whitelist all acceptable transactions, which is close cousin to very strong censorship.

Such a system can't replicate the scamcoin-like aspect of namecoin where you see speculators hoping the price goes up of course, but notice how namecoin has never caught on...


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Rassah on October 16, 2013, 03:24:42 AM
People, lol! You all just ignore my messages but your ideas clearly point to dianna-project.org

Take a hint and stop spamming your thing on this topic? Go bump your own topic, and hope others join in.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: cbeast on October 16, 2013, 04:04:59 AM
Namecoin has always been my favorite alt-coin - it had a clear purpose, different from Bitcoin, offering a nice way to keep a de-central registry of key-value pairs.
You found a bug that can be patched. Kudos. If there were an active development team, you would have alerted them privately first I presume rather than stir a panic. I do hope some developers will take this warning to heart and fix the problem, even if a bounty is necessary. Because like the OP, Namecoin is also the favorite alt-coin of many others.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Paladin69 on October 16, 2013, 04:30:57 AM
So it is dead or can it be salvaged?  Sorry, not technical here.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: btcx on October 16, 2013, 05:12:16 AM
Namecoin has always been my favorite alt-coin - it had a clear purpose, different from Bitcoin, offering a nice way to keep a de-central registry of key-value pairs.
You found a bug that can be patched. Kudos. If there were an active development team, you would have alerted them privately first I presume rather than stir a panic. I do hope some developers will take this warning to heart and fix the problem, even if a bounty is necessary. Because like the OP, Namecoin is also the favorite alt-coin of many others.

OP contacted the Namecoin devs through multiple channels and gave them over a month to respond.  They never responded nor gave any indication that a fix was being worked on.  Project was assumed abandoned.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: JoelKatz on October 16, 2013, 05:20:55 AM
So it is dead or can it be salvaged?  Sorry, not technical here.
I think it can be salvaged. A particular block, well in the future, will have to be chosen. After that block, every name will have to be recomputed to determine its correct ownership under the new, correct, rules. At that time, all names will revert to their correct owners, and from then on, the exploit will be impossible. It's just going to take the Namecoin community to come together, agree on the new rules and block number, get the work done on time, and so on.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Paladin69 on October 16, 2013, 05:32:42 AM
I'm not taking any chances.  I just made 20 BTC off selling mine.  Nice surprise when you haven't paid attention to something for a while.  I dropped the vircurex price pretty hard...lol  If anyone wants to get back in cheaper than btc-e, go there.

Time will tell if that was a mistake, but I think not.  Especially if the project was abandoned.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: snailbrain on October 16, 2013, 10:59:38 AM
Namecoin has always been my favorite alt-coin - it had a clear purpose, different from Bitcoin, offering a nice way to keep a de-central registry of key-value pairs.
You found a bug that can be patched. Kudos. If there were an active development team, you would have alerted them privately first I presume rather than stir a panic. I do hope some developers will take this warning to heart and fix the problem, even if a bounty is necessary. Because like the OP, Namecoin is also the favorite alt-coin of many others.

OP contacted the Namecoin devs through multiple channels and gave them over a month to respond.  They never responded nor gave any indication that a fix was being worked on.  Project was assumed abandoned.

some more contacts have been given to him.. Khal received messages, but he has been busy the last month or 2


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Liquid on October 16, 2013, 11:13:00 AM
RIP NMC  :(


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Wed on October 16, 2013, 11:46:37 AM
fixed

https://github.com/namecoin-qt/namecoin-qt/commit/d70d01ff77310d3755891cb43cb2700b553019f4

there are also some other bugs as pm'd by libcoin.. please wait before updating.. there will be an official announcement eventually/soon

also namecoin-qt is NOT the official repo

What is the official repo?


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: phelix on October 16, 2013, 12:18:57 PM
fixed

https://github.com/namecoin-qt/namecoin-qt/commit/d70d01ff77310d3755891cb43cb2700b553019f4

there are also some other bugs as pm'd by libcoin.. please wait before updating.. there will be an official announcement eventually/soon

also namecoin-qt is NOT the official repo

What is the official repo?

Find it here: http://namecoin.info


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: cassini on October 16, 2013, 05:10:06 PM
Quote from: phelix
Works like a charm so far. Just updated d/wav
Did you use snailbrain's new namecoin-qt build for regaining d/wav?

http://explorer.dot-bit.org/tx/af84b86f549c1c484238b70d742789ac07d4e9295bd2e075895fd968ab00f53b


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: phelix on October 16, 2013, 05:14:05 PM
Quote from: phelix
Works like a charm so far. Just updated d/wav
Did you use snailbrain's new namecoin-qt build to reclaim d/wav?

http://explorer.dot-bit.org/tx/af84b86f549c1c484238b70d742789ac07d4e9295bd2e075895fd968ab00f53b

Hehe. Still testing ;)


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: assortmentofsorts on October 16, 2013, 05:40:08 PM
So all the brains and noise in crypto and open source projects over looked such a disaster?
I'm not sure whether to congratulate you or offer my condolences to the dev team and the big players.

This is rather interesting, not only for crypto, but also for all open source projects; having a project "open source" and calling the myth of "open source is more secure" doesn't make the code more secure.. Having developers like yourself actually looking into the code and testing the hell out of every possibility  is what makes it secure.

Nice work, hope a fix, patch, rebirth or whatever you want to call it will be pushed out soon as such noise is in no way good to any cryptos including but not limited to Bitcoin  

I partly agree with you. The problem is that most open source software is poorly documented. Sparse documentation is what keeps the developers from actually inspecting the source... making it more secure becomes secondary in nature. This is one of the reasons I'm excited about the release of btcd (blog.conformal.com/btcd-not-your-moms-bitcoin-daemon (http://blog.conformal.com/btcd-not-your-moms-bitcoin-daemon)). At least the source is readable and well structured. I'll not be surprised if majority of the developers start moving away from the Satoshi client to btcd once btcd reaches stability. I'm not saying that Satoshi client is unreadable. But it has a steep learning curve that deters new developers.

What is the point of open-sourcing software if you can't document it? Its like Shinichi Mochizuki (who was incidently thought to be Satoshi Nakamoto) having supposedly proved the ABC conjecture(http://en.wikipedia.org/wiki/Abc_conjecture (http://en.wikipedia.org/wiki/Abc_conjecture)) but nobody can understand it.

Interesting read: Paradox of Proof (http://projectwordsworth.com/the-paradox-of-the-proof/ (http://projectwordsworth.com/the-paradox-of-the-proof/))


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: phelix on October 16, 2013, 05:46:19 PM
Namecoin is alive and kicking. It has been around a bit longer
than any of the other altcoins and certainly is the most innovative coin
after Bitcoin. It was created as a separate chain to prevent bloat in
Bitcoin as per Satoshi's suggestion. Also merged mining was first
implemented in Namecoin. This means that though it is a separate chain
it improves Bitcoin security (and of course benefits).

Note that there are more possibilities in Namecoin than domain name
resolution as it is a general name/value storage system. The community
is only starting to experiment with new ideas like IDs, logins,
TLS/https, Bitmessage integration, file verification and so on.

In such a system it is necessary to have something of value: work or
coins with coins being superior. It would be interesting if the coins
were Bitcoins but it is not so easy to do and no one came up with such
an implementation so far. The NMC price floating freely has the
advantage that system fixed fees are subject to some external price
regulation.

If you have a problem that Namecoin is mostly a superset of Bitcoin's
features: better learn to deal with it, there is much more to come -
both in Namecoin and other chains.

Namecoin needs more active core developers. With Namecoin it is much
easier to make a difference than in Bitcoin so it is probably a fun
starting point for future Bitcoin developers, too.
If you don't want to go down the c++ rabbit hole there are also a lot of
possibilities to create peripheral software mostly in Java and Python
that could make an impact: Browser Plugins, split DNS resolvers on
various systems (Android), Electrum Bitcoin address ID integration, web
of trust, voting, bonds, decentralized facebook/twitter/reddit mashup....

You are welcome:
http://namecoin.info
http://dot-bit.org
http://dot-bit.org/forum/index.php = http://nf.bit


Quote from: libcoin link=topic=310954.msg3341333#msg3341333
date=1381833893
So current status is - don't buy a domain from someone, and don't trust
any important key-value pair in namecoin before the fix has been rolled
out! - Will update once it is there, but could take days to deploy at
miners.
Unless you have the fixed version installed that is. BTW it's being
tested right now.

Scalability
For domain name resolution alone there should be much less transactions
than for a payment system like Bitcoin. We will have to see about other
applications but probably Namecoin will have to bear much less load than
Bitcoin but scale similarly.

Lite client
A lite client is possible though it may have to download all block
HEADERS and name_op TXs.
Also a very lite client is possible that only verifies that a name_op is
in a block and checks a couple of the next block headers. The name value
could have been altered later on but it would still be safer than using
a regular DNS.
While as of now running the Namecoin client does not take a lot of
computing power it would be nice to see this implemented.

OP contacted the Namecoin devs through multiple channels and gave them
over a month to respond. They never responded nor gave any indication
that a fix was being worked on.
He only contacted devs long gone. There has been quite some activity on
the forum over the last couple of months.
Still glad he made the problem public and helps us now e.g. by editing
the OP and maybe the OP title? ;)


http://blockchained.com/stuff/namecoin-qt-bug.png


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: ninjarobot on October 17, 2013, 03:06:49 AM
Well spoken Phelix. Looks like this incident has a silver lining and actually made the Namecoin community stronger and more resolved. Onwards and Forwards!


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: domob on October 17, 2013, 05:48:20 AM
Well spoken Phelix. Looks like this incident has a silver lining and actually made the Namecoin community stronger and more resolved. Onwards and Forwards!

I agree here.  While reading the thread I collected ideas of what to contribute to this discussion at the end, but phelix already expressed all of that very nicely. ;)


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: defaced on October 17, 2013, 06:22:31 PM
nice to see a fix


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: cyberhacker on October 18, 2013, 01:18:09 AM
it seems that we have a nice and vigilant team behind


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Financisto on October 18, 2013, 02:57:36 AM
Namecoin is alive and kicking. It has been around a bit longer
than any of the other altcoins and certainly is the most innovative coin
after Bitcoin.

[...]

Note that there are more possibilities in Namecoin than domain name
resolution as it is a general name/value storage system. The community
is only starting to experiment with new ideas like IDs, logins,
TLS/https, Bitmessage integration, file verification and so on.

I agree that Namecoin is the most innovative after XBT and has a great potential yet to be explored.

In order for that to happen, we just need more volunteers and core developers.

And BTW, Bitmessage integration would be a GREAT boost to Namecoin's intrinsic value.

Keep up the good work!


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: domob on October 18, 2013, 05:33:05 AM
And BTW, Bitmessage integration would be a GREAT boost to Namecoin's intrinsic value.

This is just one of the projects that are actually not just under development but already working - the current release of Bitmessage already includes it. :)


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: cyberhacker on October 19, 2013, 02:02:19 PM
can't wait a fresh start of beloved NMC. BEST application other than BTC so far.

Intelligent and fast-responding team revitalize the innovative coin.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Financisto on October 20, 2013, 01:09:37 AM
can't wait a fresh start of beloved NMC. BEST application other than BTC so far.

Intelligent and fast-responding team revitalize the innovative coin.

What do you mean by "a fresh start"? ???

Did you mean a complete "reboot" of the coin's protocol and mining feature?


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: phelix on October 20, 2013, 08:46:03 PM
can't wait a fresh start of beloved NMC. BEST application other than BTC so far.

Intelligent and fast-responding team revitalize the innovative coin.

What do you mean by "a fresh start"? ???

Did you mean a complete "reboot" of the coin's protocol and mining feature?
That is not necessary and not planned.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: agent13 on October 21, 2013, 07:38:21 AM
So it is dead or can it be salvaged?  Sorry, not technical here.
I think it can be salvaged. A particular block, well in the future, will have to be chosen. After that block, every name will have to be recomputed to determine its correct ownership under the new, correct, rules. At that time, all names will revert to their correct owners, and from then on, the exploit will be impossible. It's just going to take the Namecoin community to come together, agree on the new rules and block number, get the work done on time, and so on.


Say I have some .bit registrations. Currently they could be stolen from me? Under above scenario, stolen registrations might be returned to me? - roll back name updates to the block date of the vulnerability announcement? (or thereabouts)



Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: domob on October 21, 2013, 07:44:36 AM
So it is dead or can it be salvaged?  Sorry, not technical here.
I think it can be salvaged. A particular block, well in the future, will have to be chosen. After that block, every name will have to be recomputed to determine its correct ownership under the new, correct, rules. At that time, all names will revert to their correct owners, and from then on, the exploit will be impossible. It's just going to take the Namecoin community to come together, agree on the new rules and block number, get the work done on time, and so on.


Say I have some .bit registrations. Currently they could be stolen from me? Under above scenario, stolen registrations might be returned to me? - roll back name updates to the block date of the vulnerability announcement? (or thereabouts)

Yes, more or less like that.  The bug is that name_update operations are not checked and thus it is (with the old code) possible that someone updates a name to himself, and those transactions get relayed and even mined.  However, it is not possible to hide the fact that this is an "invalid" operation.  Thus it is easy, after the problem is fixed and the fix distributed, to decide which transactions should not be allowed and discard them.  This is what will be done, so that you are right that if you (rightfully) own a name and it gets stolen, it will be returned to you - in the view of everyone who uses the updated client.  But this includes fortunately no complete roll-back of all name transactions, since that is not necessary because it is possible to identify exactly the illicit ones.  Only those will be reversed.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: jonytk on October 24, 2013, 11:09:56 PM
so that's why nmc crashed. ask to simplyfun and other btc-e owners to donate some bucks, i bet they make toons on nmc transfer fees at btc-e...


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: ebildude123 on October 24, 2013, 11:14:30 PM
Well, at least were getting that fix.
It also demonstrates merge mining fairly well..


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: ManicMeddler on October 25, 2013, 05:37:59 PM
So my 37 domains are useless? Worthless?

Wtf?


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Rassah on October 25, 2013, 06:22:12 PM
So my 37 domains are useless? Worthless?

Wtf?

No, you just can't transfer them to anyone else until a patch is released.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: ManicMeddler on October 26, 2013, 04:01:05 PM
So my 37 domains are useless? Worthless?

Wtf?

No, you just can't transfer them to anyone else until a patch is released.

ok thats not the end of the world, knowing my luck someone will want to buy them, between now and then

thx for the reply


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: namecoin.info on October 30, 2013, 01:36:15 PM
Out now: Namecoin-Qt & daemon with the name enforcing bug fixed.

https://bitcointalk.org/index.php?topic=236340.msg3436752#msg3436752


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: cyberhacker on November 09, 2013, 02:35:37 PM
we know NMC will soon be recognized as real application in virtual world.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: No_2 on November 22, 2013, 12:08:10 AM
Any ideas what's caused the sudden namecoin price spike?


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: Operatr on November 22, 2013, 07:00:01 AM
Any ideas what's caused the sudden namecoin price spike?

Classic Fontas pump and nothing more

https://twitter.com/fontase


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: solracx on November 22, 2013, 02:55:22 PM
Any ideas what's caused the sudden namecoin price spike?

The reason is because it is 3rd most valuable coin the market.

Predicted this days ago:  http://trollboxarchive.com/byid.php?id=22909914



Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: snailbrain on November 22, 2013, 04:33:28 PM
Any ideas what's caused the sudden namecoin price spike?

Classic Fontas pump and nothing more

https://twitter.com/fontase

hopefully you are just joking


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: vane91 on November 24, 2013, 02:30:40 AM
fontas is a smart scammer, announces the pump, so people will dump trying to cash out btc, but he knows that:
it was an all time low after the bug,
new in kraken
cex.io (https://cex.io/r/0/johs633new/0/) now offers nmc trading, GHS, so arbitrage,
bter may start trading it, just be carefull, because the deposits are not being credited, so i wouldn't send any nmc yet.
it should keep a 0.003btc or 1$value min now depending on btc price.
 ::)


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: runderwo on November 28, 2013, 02:44:04 PM
NMC $15 today.  Lol.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: cyberhacker on December 04, 2013, 06:37:29 PM
maybe now we are ready for nmc correction.

and we hope fontas will never put his dirty finger on nmc again.


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: zimmah on March 25, 2014, 03:33:10 PM
I heard the ban of twitter in turkey can be solved by accessing it via namecoin, I never really looked into namecoin and i understand almost nothing of it. But wouldn't this be good news for namecoin?


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: pip010 on July 20, 2014, 09:48:03 AM
I heard the ban of twitter in turkey can be solved by accessing it via namecoin, I never really looked into namecoin and i understand almost nothing of it. But wouldn't this be good news for namecoin?

the ban in twitter was a DNS blacklisting,, easily circumvented by changing your DNS settings to use google's open DNS: 8.8.8.8
but ja, in general if it were USA and not Turkey, they could have easily swiped the ICAAN records :))


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: commandrix on February 27, 2016, 01:52:04 AM
Good to hear that they were able to fix whatever it was that was wrong with Namecoin that OP was talking about (gee, more than two years ago?). How does a thread like this come back to life?


Title: Re: Namecoin was stillborn, I had to switch off life-support
Post by: cassini on February 27, 2016, 01:27:51 PM
How does a thread like this come back to life?
Because of that "Crypto-city" spam post above (the same useless message as in 20+ other altcoin-related threads).

Good to hear that they were able to fix whatever it was that was wrong with Namecoin that OP was talking about (gee, more than two years ago?).
Actually it needed a makeshift bug fix (https://github.com/namecoin-qt/namecoin-qt/commit/d70d01ff77310d3755891cb43cb2700b553019f4) and a subsequent hard-fork in December 2013, and the problem was solved without any loss of data.
Meanwhile we've released a completely redesigned Namecoin Core (https://github.com/namecoin/namecoin-core/) client which we keep as close as possible to Bitcoin Core. It has no GUI, yet,
but the GUI version is near completion, see https://forum.namecoin.org/viewtopic.php?f=2&t=2512