Author

Topic: A better Namecoin (Read 2729 times)

legendary
Activity: 1708
Merit: 1020
February 18, 2012, 04:50:09 AM
#19
I don't see the problem of maintaining a separate block chain.  Not everyone who needs a wallet needs names and not everyone who needs names needs a wallet.  We already have merged mining making multiple chains not too difficult.

+1  namecoin works just fine - come and join
hero member
Activity: 490
Merit: 500
hero member
Activity: 742
Merit: 500
February 17, 2012, 08:04:14 PM
#17
I don't see the problem of maintaining a separate block chain.  Not everyone who needs a wallet needs names and not everyone who needs names needs a wallet.  We already have merged mining making multiple chains not too difficult.
legendary
Activity: 3920
Merit: 2349
Eadem mutata resurgo
February 17, 2012, 07:59:42 PM
#16
Quote
There is a "double transfer" hole that would need to be solved in some way.  Someone could create a DNS transfer transaction that they distribute, and a second one they keep to themselves…they create the bitcoin transaction for the secret DNS transaction and get it into the block chain before they distribute the fake DNS transfer transaction…after someone has paid them money for the fake DNS transfer, they announce the secret one that undoes it.  I've not given it any thought how to solve it.

So it is admittedly NOT better than Namecoin, which includes natively the same double-spend protection as bitcoin ... by your own admission.

Back to the drawing board?
staff
Activity: 4284
Merit: 8808
February 13, 2012, 05:31:21 PM
#15
If you further establish a depth first, left right rule regarding the merkle tree of transactions, then it's possible to establish a community agreed upon ordering of arbitrary documents.

This is actually pretty much crap, for this purpose at least— the idea that you _only_ need time stamps means there there no way to produce a (even semi-)secure lite resolver: every node would have to evaluate the whole history for itself because anyone could add rules violating commitments later (e.g. registering an already taken name).  This is one of the reason bitcoin nodes validate the txn they include rather than just timestamping them and letting everyone sort out validity for themselves.

It's also really unfortunate that they promote a completely unscalable commitment scheme which requires O(N)*bitcoin_nodes storage, bandwidth, and processing when O(1) commitments are perfectly possible in Bitcoin— which is what merged mining uses.

sr. member
Activity: 455
Merit: 250
You Don't Bitcoin 'till You Mint Coin
February 13, 2012, 03:52:15 PM
#14
I've been doing merged mining for some time and every 100 NMC I mine I change for BTC for the very reason of the OP.

If someone starts an official thread, I will commit some BTC as a bounty for the successful solution/implementation to this problem.
full member
Activity: 150
Merit: 108
February 12, 2012, 10:31:03 PM
#13
Sub'd

This concept can be generalized to any form of property.  I really think the block chain, and its ultimate use for this purpose, and the fact that you need bitcoins for all of these transactions, is the biggest asset that the bitcoin system has and will ultimately prove to be the thing that ensures bitcoin has intrinsic value.

This is fascinating from a legal perspective. I'm thinking title and public notice/recordation ramifications.
hero member
Activity: 868
Merit: 1008
February 12, 2012, 09:52:02 PM
#12
Actually, I think the CommitCoin protocol may even be over designed.  All you need to do is hash the DNS transaction to something that looks like a bitcoin address and use that hash value as an output in the transaction (with zero coins if bitcoin allows it).  Alternatively, there are other places that you could put such a hash (in a scriptSig for example).  In the DNS p2p software, you just keep track of the bitcoin transaction where the DNS transaction was committed.  The Bitcoin transaction itself can also include any payment desired (such a payment for a transfer of ownership of a name).  This works beautifully because that transaction must make it into the block chain for both the bitcoin payment and DNS transfer to take effect. 

There is a "double transfer" hole that would need to be solved in some way.  Someone could create a DNS transfer transaction that they distribute, and a second one they keep to themselves…they create the bitcoin transaction for the secret DNS transaction and get it into the block chain before they distribute the fake DNS transfer transaction…after someone has paid them money for the fake DNS transfer, they announce the secret one that undoes it.  I've not given it any thought how to solve it.
hero member
Activity: 868
Merit: 1008
February 12, 2012, 09:37:06 PM
#11
Quote
Bitcoin developers were actively against storing data in the blockchain.

Meh I did a quick forum search and it seems all those things have been discussed back in 2010, and developers mostly agreed it was a bad idea to use bitcoin for anything but digital cash. Satoshi though wasn't against hash-sized arbitrary data in the blockchain.

EDIT: there was even the exact same proposal of DNS on top of the bitcoin blockchain: http://privwiki.dreamhosters.com/wiki/Bitcoin_DNS_System_Proposal
This article even discusses overcoming potential resistance bitcoin developers/community Grin
I skimmed the proposal…it seems to be actually putting the name mapping data into the block chain.  You don't need to do this.  All you need to do is put a hash of a DNS transaction into the block chain.  There would be a completely separate p2p DNS software that communicates and remembers DNS transactions.  It would only interact with bitcoin by hashing those transactions down to something that looks like a bitcoin address (but actually isn't) and creates the bitcoin transaction necessary to timestamp the DNS transaction.  I believe outputs in bitcoin transactions can have a zero value (which means you don't even have to burn any bitcoins to implement it).  All of this will work without any modification to the current bitcoin protocol or software.  See CommitCoin for how it works:
http://eprint.iacr.org/2011/677.pdf
hero member
Activity: 868
Merit: 1008
February 12, 2012, 09:29:02 PM
#10
You're not storing the actual DNS (or other) transaction data in the block chain, you're only storing the hash of those transactions.  As for whether anyone is for or against such use, it's not really for anyone to decide…it can easily be done and there's nothing anyone can do to stop it from being done.  The block chain is a distributed time stamping service.  It timestamps bitcoin transactions, but it can also timestamp anything else.  To use this time stamping service requires that you pay with bitcoins (either in the form of the 50BTC block reward, or a transaction fee, or fees paid directly to miners).  If this use grows in popularity, it will drive the cost of transactions up as such transactions start to compete for space in blocks.  It will also push the price of bitcoin higher since there will be demand for the bitcoins necessary to timestamp things.  These developments are probably inevitable and in my view, very good for bitcoin.
newbie
Activity: 26
Merit: 0
February 12, 2012, 04:10:49 PM
#9
Quote
Bitcoin developers were actively against storing data in the blockchain.

Meh I did a quick forum search and it seems all those things have been discussed back in 2010, and developers mostly agreed it was a bad idea to use bitcoin for anything but digital cash. Satoshi though wasn't against hash-sized arbitrary data in the blockchain.

EDIT: there was even the exact same proposal of DNS on top of the bitcoin blockchain: http://privwiki.dreamhosters.com/wiki/Bitcoin_DNS_System_Proposal
This article even discusses overcoming potential resistance bitcoin developers/community Grin
legendary
Activity: 1078
Merit: 1005
February 12, 2012, 03:11:04 PM
#8
This concept can be generalized to any form of property.  I really think the block chain, and its ultimate use for this purpose, and the fact that you need bitcoins for all of these transactions, is the biggest asset that the bitcoin system has and will ultimately prove to be the thing that ensures bitcoin has intrinsic value.
Bitcoin developers were actively against storing data in the blockchain. Or is the name data you are proposing stored elsewhere? Mike Hearn outlined an approach for doing merge mining using naming as the example where it doesn't use its own blockchain if you're interested.
newbie
Activity: 26
Merit: 0
February 12, 2012, 02:39:07 PM
#7
This concept can be generalized to any form of property.  I really think the block chain, and its ultimate use for this purpose, and the fact that you need bitcoins for all of these transactions, is the biggest asset that the bitcoin system has and will ultimately prove to be the thing that ensures bitcoin has intrinsic value.

This.

The blockchain is simply a way to reliably establish ordering among the sequence of events without relying on a trusted authority. Incidentally, ordering of transactions is the central element of a digital currency system, but it can also be used for many other things. All of them can easily use the same blockchain without interfering with each other.

Come to think of it, even alternative currencies may probably be implemented ON TOP of the Bitcoin blockchain and come with the security of 10 terahash network out of the box.

hero member
Activity: 714
Merit: 500
February 12, 2012, 12:36:42 PM
#6
Good idea.
hero member
Activity: 868
Merit: 1008
February 12, 2012, 12:29:24 PM
#5
I wish this hadn't been moved to Alternate crypto currencies.  It's not about namecoin, but about a better way to more directly use bitcoin to implement a decentralized DNS system.  So, basically, the way it works is:

1. you define several types of DNS transactions…a) initial claim of a name, b) update to the name->address mapping for a name, c) transfer of a name to a new owner (i.e. another address)
2. you come up with a standardized way of hashing those transactions such that they can be included in a bitcoin transaction and embedded in the block chain (like the CommitCoin approach)
3. you implement software that creates, distributes and validates those transactions…transactions are ordered accorded to the bitcoin block in which they appear and within a block according to their position in the merkle tree of bitcoin transactions (depth first, left right traversal)…if there are two conflicting DNS transactions in the block chain, the earliest one wins
4. you implement other software that provides the DNS resolution (based on the validated set of transactions)
5. you convince people that this is a better approach for DNS and to start using it

The cost of an initial claim would just be the cost of getting the bitcoin transaction into the block chain.  The cost of an update to the mapping for a name would also just be the cost of getting the bitcoin transaction into the block chain.  The cost of transferring a domain name to someone else would be the cost of getting the transaction into the block chain, plus whatever the seller is asking.  Note, because the DNS transaction only becomes effective once the corresponding bitcoin transaction is in the block chain, such a transaction would be the means of paying for a DNS transfer using bitcoin.

This concept can be generalized to any form of property.  I really think the block chain, and its ultimate use for this purpose, and the fact that you need bitcoins for all of these transactions, is the biggest asset that the bitcoin system has and will ultimately prove to be the thing that ensures bitcoin has intrinsic value.
newbie
Activity: 26
Merit: 0
February 12, 2012, 11:59:42 AM
#4
That's a great proposal, Steve. I wholeheartedly support the idea of implementing alternative blockchain uses on the Bitcoin blockchain itself as opposed to alternate currencies.
legendary
Activity: 1862
Merit: 1011
Reverse engineer from time to time
February 12, 2012, 05:29:03 AM
#3
If no one implements this, I will.  I post it here in the hopes someone else will beat me to it (I've sat on it for a while because I had hopes that I could implement it myself, but alas, there is too much work and too little time).

I think the whole namecoin idea is flawed.  They've implemented a separate currency to trade for domain names.  However, as CommitCoin has demonstrated, it's possible timestamp any document using the bitcoin block chain.  If you further establish a depth first, left right rule regarding the merkle tree of transactions, then it's possible to establish a community agreed upon ordering of arbitrary documents.  These documents could be anything, including contracts for the initial claim of a domain name and the subsequent transfer of those domain names.

I think that should be all the clue anyone needs to implement a better namecoin system.
Not sure what you want here. Your post is very vague.
legendary
Activity: 1204
Merit: 1000
฿itcoin: Currency of Resistance!
February 12, 2012, 01:26:58 AM
#2
I like very much the idea behind Namecoin...
The world needs a decentralized DNS.
Don't know if it will be Namecoin but, who knows?!
hero member
Activity: 868
Merit: 1008
February 12, 2012, 01:17:37 AM
#1
If no one implements this, I will.  I post it here in the hopes someone else will beat me to it (I've sat on it for a while because I had hopes that I could implement it myself, but alas, there is too much work and too little time).

I think the whole namecoin idea is flawed.  They've implemented a separate currency to trade for domain names.  However, as CommitCoin has demonstrated, it's possible timestamp any document using the bitcoin block chain.  If you further establish a depth first, left right rule regarding the merkle tree of transactions, then it's possible to establish a community agreed upon ordering of arbitrary documents.  These documents could be anything, including contracts for the initial claim of a domain name and the subsequent transfer of those domain names.

I think that should be all the clue anyone needs to implement a better namecoin system.
Jump to: