Pages:
Author

Topic: A case AGAINST merging Namecoin and Bitcoin mining [Converted to SUPPORT!] (Read 9713 times)

legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
Namecoin data (unrelated to bitcoin) is added to the bitcoin block chain, thus making the bitcoin block chain unnecessarily larger.
Technically true. I agree that those things are literally incorrect, and when you're trying to make an argument on a contentious issue, it's good to be precisely correct. Merged mining does add some bytes to the bitcoin block chain. However, lots of other things add many more bytes to the bitcoin block chain and are of much less value.

In fact, if I were designing a Bitcoin replacement/update, one of my solutions to the reducing mining payout over time would be transaction fees for securing things in the block chain -- with an efficient "secure these hashes" transaction and a per-hash transaction fee. (This transaction would have no outputs and clients would know that they have no need to store it as a transaction. Block chain pruning could discard it entirely.)

In any event, if the transaction fees don't accurately reflect the costs associated with committing bitcoin transactions to the block chain, they should be raised. Unfortunately, there's a somewhat fundamental tragedy of the commons here. One person gets the transaction fee just for including the transaction in a block, but then everyone must store that transaction forever. This is a design flaw in the Bitcoin protocol that will likely get resolved in the future.
legendary
Activity: 4466
Merit: 1798
Linux since 1997 RedHat 4

Merged mining works like this, you have two totally separate block chains, they are not related in any way nor does either contain any data from the other. When you mine you generate hashes that may be the solution to the current block, this is very very improbable per hash, its like a lottery where everyone generates tickets until someone finds the winning one. Normally you make tickets and check them against the Bitcoin block chain to see if they are the solution. With merged mining you create a ticket and check it against both the Bitcoin block chain and the Namecoin block chain, Bitcoin and Namecoin know nothing about each other, they are two totally different lotteries with different winning numbers, you just sent a copy of your ticket to both. Since you are sending the same ticket to two lotteries you increase your chances of winning one or the other. No Bitcoin data goes into Namecoin no Namecoin data into Bitcoin they remain totally separate, you simply run both the Namecoin and Bitcoin clients on the same machine and submit hashes to both networks, if your hash is the solution to the Namecoin block you get Namecoins if you hash is the solution to the Bitcoin block you get Bitcoins, its exactly like if you where mining on just one network, except you submit the same work twice.


Not quite tl;dr but i think its gets the point across.  

Thankyou ttk2 for this. I've been reading lots of text about this concept, and wasn't quite getting some bits of it. Now it makes more sense.

Why don't you have a donation address in your signature?



Didn't think anyone would care to donate.

12YXLzbi4hfLaUxyPswRbKW92C6h5KsVnX


Thanks! I am glad i could help.

Could you please correct this (on the web site also)

It is false (see highlighted sections that are wrong)

Namecoin data (unrelated to bitcoin) is added to the bitcoin block chain, thus making the bitcoin block chain unnecessarily larger.

Though, for those who do want to do this - look at it this way Smiley
Namecoin blocks are almost free.
The cost is those extra bytes added to the bitcoin block chain (i.e. disk space for everyone in bitcoin)
If you mine exclusively namecoin you are paying with your hashes and electricity (as well as the namecoin block chain disk space)
If you mine merged you are only paying with your namecoin and bitcoin block chain disk space.
What value does that put on a namecoin coin?
legendary
Activity: 1260
Merit: 1031
Rational Exuberance
Didn't think anyone would care to donate.

12YXLzbi4hfLaUxyPswRbKW92C6h5KsVnX

Thanks! I am glad i could help.

Tiny tip sent your way. I like to spread itty bitty tips around when I find something helpful or cool.
member
Activity: 76
Merit: 10

Merged mining works like this, you have two totally separate block chains, they are not related in any way nor does either contain any data from the other. When you mine you generate hashes that may be the solution to the current block, this is very very improbable per hash, its like a lottery where everyone generates tickets until someone finds the winning one. Normally you make tickets and check them against the Bitcoin block chain to see if they are the solution. With merged mining you create a ticket and check it against both the Bitcoin block chain and the Namecoin block chain, Bitcoin and Namecoin know nothing about each other, they are two totally different lotteries with different winning numbers, you just sent a copy of your ticket to both. Since you are sending the same ticket to two lotteries you increase your chances of winning one or the other. No Bitcoin data goes into Namecoin no Namecoin data into Bitcoin they remain totally separate, you simply run both the Namecoin and Bitcoin clients on the same machine and submit hashes to both networks, if your hash is the solution to the Namecoin block you get Namecoins if you hash is the solution to the Bitcoin block you get Bitcoins, its exactly like if you where mining on just one network, except you submit the same work twice.


Not quite tl;dr but i think its gets the point across. 

Thankyou ttk2 for this. I've been reading lots of text about this concept, and wasn't quite getting some bits of it. Now it makes more sense.

Why don't you have a donation address in your signature?



Didn't think anyone would care to donate.

12YXLzbi4hfLaUxyPswRbKW92C6h5KsVnX


Thanks! I am glad i could help.
legendary
Activity: 1260
Merit: 1031
Rational Exuberance

Merged mining works like this, you have two totally separate block chains, they are not related in any way nor does either contain any data from the other. When you mine you generate hashes that may be the solution to the current block, this is very very improbable per hash, its like a lottery where everyone generates tickets until someone finds the winning one. Normally you make tickets and check them against the Bitcoin block chain to see if they are the solution. With merged mining you create a ticket and check it against both the Bitcoin block chain and the Namecoin block chain, Bitcoin and Namecoin know nothing about each other, they are two totally different lotteries with different winning numbers, you just sent a copy of your ticket to both. Since you are sending the same ticket to two lotteries you increase your chances of winning one or the other. No Bitcoin data goes into Namecoin no Namecoin data into Bitcoin they remain totally separate, you simply run both the Namecoin and Bitcoin clients on the same machine and submit hashes to both networks, if your hash is the solution to the Namecoin block you get Namecoins if you hash is the solution to the Bitcoin block you get Bitcoins, its exactly like if you where mining on just one network, except you submit the same work twice.


Not quite tl;dr but i think its gets the point across. 

Thankyou ttk2 for this. I've been reading lots of text about this concept, and wasn't quite getting some bits of it. Now it makes more sense.

Why don't you have a donation address in your signature?
legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
Okay so then that would imply that both the bitcoin and namecoin clients would have to updated the code to submit the proof of work to both block chains or no?
Bitcoin clients would not need to update unless they wanted to participate in pooled mining and they were issuing work units. Every namecoin client would need to update.

Quote
So then what will likely happen when this does take place is that since the namecoin difficulty is like 1/17th of that of the bitcoin network the difficulty will likely catch up to the bitcoin network and likely come to parity at some point in the near future.
Certainly the difficulty for namecoin would shoot up.

Quote
And lastly if someone creates a proof of work that satisfies both bitcoin and namecoin at that moment they get 50 BTC and 50 NMC?
Yes, assuming they correctly assemble the proof of work into both a bitcoin block and a namecoin block and both blocks wind up 'winning' in their respective hash chains.
vip
Activity: 1386
Merit: 1136
The Casascius 1oz 10BTC Silver Round (w/ Gold B)

Okay so then that would imply that both the bitcoin and namecoin clients would have to updated the code to submit the proof of work to both block chains or no?


The bitcoin client doesn't have to be changed because the modified blocks are still valid and consistent with the Bitcoin protocol.  They just contain one extra number that the Bitcoin client already allows and will ignore.
legendary
Activity: 2492
Merit: 1473
LEALANA Bitcoin Grim Reaper
I guess the next important question is who gets the 50 namecoins for the proof of work that is generated on the bitcoin network? Where do those coins end up residing? Roll Eyes Roll Eyes

The person who mined them gets them, of course.

The coins are not generated "on the bitcoin network" nor do they reside there.  They reside completely in the Namecoin block chain.  The only thing is that the block is in a different format that keeps it compatible with being submitted to Bitcoin if it also happens to satisfy the Bitcoin difficulty.  Think of it another way - instead of thinking of "dual mining", think of mining for Namecoins with a special block format that happens to be compatible with Bitcoin.

This is what I originally did not understand.  I believed that Namecoin proof of work would be stored in the Bitcoin block chain and that the namecoin client would need to consult both chains just to follow all Namecoin proof of work.  I was wrong.

The point of this change is to come up with a new format of a block that is 100% backwards compatible with Bitcoin but which also benefits the Namecoin network, the same way when they invented color analog TV, they did it with a signal that was 100% compatible with black-and-white TV's which simply ignored the color portion of the signal.

Okay so then that would imply that both the bitcoin and namecoin clients would have to updated the code to submit the proof of work to both block chains or no?

I guess for bitcoin since 95% generally pool mine, only the pools need to update their software to submit proof of work to the namecoin network in order to capture the majority for merged mining.

So then what will likely happen when this does take place is that since the namecoin difficulty is like 1/17th of that of the bitcoin network the difficulty will likely catch up to the bitcoin network and likely come to parity at some point in the near future.

And lastly if someone creates a proof of work that satisfies both bitcoin and namecoin at that moment they get 50 BTC and 50 NMC?

Does this sound right?
legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
Essentially what you are saying is that reference to the BTC block chain isn't ever needed, and that there is no dependency, but rather, that NMC will accept a "proof of work" formatted for Bitcoin as a Namecoin proof of work - and tack it onto the Namecoin block chain - so long as that Bitcoin proof of work contains a reference to the most recent Namecoin block.  And that NMC will look for the merkle root not in the merkle root field (since that's reserved for Bitcoin compatibility), but in the coinbase.
Correct. And the benefit is that both chains will tend to contain more hashes if this is done, thus making them both more secure.

Quote
In this case, why wait till block 24000?  That could be a while, especially at the low end of this manic-depressive mining cycle.  If the Namecoin exchange, the Namecoin block explorer, the Name DNS servers, and other critical infrastructure convert, the conversion can happen pretty much any time, because there will be no functional tools or any reason for anyone to stay on the old system.
Making a change in what is or is not considered a valid block can split the network. So you have to plan it way in advance, wait for the vast majority of the mining power to understand the new rules, and only then introduce blocks whose validity differs in the two schemes. And the vast majority of nodes must agree on precisely when the rules change. Otherwise, those with the old software will track a different hash chain than those with the new software.

Long-term I think the bitcoin protocol should be adapted to specifically include foreign merkle roots in a known format. This will allow people to pile bitcoin proof of work on top of anything they need without having to 'disguise' it as a dummy transaction or the like. (This could consist simply of an agreement that a particular type of transaction will be used. No actual code/format changes are likely needed.) An accepted fee of, say, .005 BTC to include one 256-bit chain root, one 256-bit merkle hash, and one 256-bit "accessory" field would do.
member
Activity: 76
Merit: 10

tl;dr summary? namecoin is color TV, bitcoin is black 'n white??




Merged mining works like this, you have two totally separate block chains, they are not related in any way nor does either contain any data from the other. When you mine you generate hashes that may be the solution to the current block, this is very very improbable per hash, its like a lottery where everyone generates tickets until someone finds the winning one. Normally you make tickets and check them against the Bitcoin block chain to see if they are the solution. With merged mining you create a ticket and check it against both the Bitcoin block chain and the Namecoin block chain, Bitcoin and Namecoin know nothing about each other, they are two totally different lotteries with different winning numbers, you just sent a copy of your ticket to both. Since you are sending the same ticket to two lotteries you increase your chances of winning one or the other. No Bitcoin data goes into Namecoin no Namecoin data into Bitcoin they remain totally separate, you simply run both the Namecoin and Bitcoin clients on the same machine and submit hashes to both networks, if your hash is the solution to the Namecoin block you get Namecoins if you hash is the solution to the Bitcoin block you get Bitcoins, its exactly like if you where mining on just one network, except you submit the same work twice.


Not quite tl;dr but i think its gets the point across. 
legendary
Activity: 3920
Merit: 2348
Eadem mutata resurgo

tl;dr summary? namecoin is color TV, bitcoin is black 'n white??
vip
Activity: 1386
Merit: 1136
The Casascius 1oz 10BTC Silver Round (w/ Gold B)
I guess the next important question is who gets the 50 namecoins for the proof of work that is generated on the bitcoin network? Where do those coins end up residing? Roll Eyes Roll Eyes

The person who mined them gets them, of course.

The coins are not generated "on the bitcoin network" nor do they reside there.  They reside completely in the Namecoin block chain.  The only thing is that the block is in a different format that keeps it compatible with being submitted to Bitcoin if it also happens to satisfy the Bitcoin difficulty.  Think of it another way - instead of thinking of "dual mining", think of mining for Namecoins with a special block format that happens to be compatible with Bitcoin.

This is what I originally did not understand.  I believed that Namecoin proof of work would be stored in the Bitcoin block chain and that the namecoin client would need to consult both chains just to follow all Namecoin proof of work.  I was wrong.

The point of this change is to come up with a new format of a block that is 100% backwards compatible with Bitcoin but which also benefits the Namecoin network, the same way when they invented color analog TV, they did it with a signal that was 100% compatible with black-and-white TV's which simply ignored the color portion of the signal.
legendary
Activity: 2492
Merit: 1473
LEALANA Bitcoin Grim Reaper
Summary:

Basically, they hide the namecoin block hash in the coinbase transaction of the bitcoin block, and if a hash is found for the bitcoin header that meets the namecoin difficulty standard, the namecoin chain can use the entire bitcoin header to extend the namecoin chain, even if the bitcoin difficulty target was not met.  It does not extend the header size, but it does extend the coinbase script field, which isn't a very big deal because it wasn't a fixed size to begin with.

OK, I suppose I will consider myself sold on it.  This summary belongs in the Wiki, because I couldn't gather this from what was there.

Essentially what you are saying is that reference to the BTC block chain isn't ever needed, and that there is no dependency, but rather, that NMC will accept a "proof of work" formatted for Bitcoin as a Namecoin proof of work - and tack it onto the Namecoin block chain - so long as that Bitcoin proof of work contains a reference to the most recent Namecoin block.  And that NMC will look for the merkle root not in the merkle root field (since that's reserved for Bitcoin compatibility), but in the coinbase.

As a purely abstract argument, I assume this would mean one doesn't actually need to be mining real Bitcoins, the Bitcoin block chain will never be consulted by any non-mining Namecoin client, and that a block that ends up becoming stale or rejected off the Bitcoin block chain can still remain valid on Namecoins, and in fact never need to become part of the Bitcoin block chain, if they meet the Namecoin difficulty but not Bitcoin.

If I have understood this correctly, then I hereby do a 180 and endorse the idea and apologizing for not seeing the greatness (though the documentation could have been better).

In this case, why wait till block 24000?  That could be a while, especially at the low end of this manic-depressive mining cycle.  If the Namecoin exchange, the Namecoin block explorer, the Name DNS servers, and other critical infrastructure convert, the conversion can happen pretty much any time, because there will be no functional tools or any reason for anyone to stay on the old system.

I guess the next important question is who gets the 50 namecoins for the proof of work that is generated on the bitcoin network? Where do those coins end up residing? Roll Eyes Roll Eyes
full member
Activity: 215
Merit: 100
Live Long and Prosper
I am in favor of merging.
Why?Let's have a look:http://dot-bit.org/tools/nextDifficulty.php.
If or when the majority of miners leave the network NMC is screwed.
 
vip
Activity: 1386
Merit: 1136
The Casascius 1oz 10BTC Silver Round (w/ Gold B)
Quote
So if anyone would complain, it would be namecoin fans, absolutely not bitcoin fans.

This.

But the namecoin "fans" don't know what they are wishing for ... all they see is money in their eyes from "more hashing power" ...

It is a very pernicious mod. to namecoin that has been rammed thru in a somewhat unseemly fashion imho.

The ruination of namecoin would serve as a very stern warning to any other aspirations for starting competing blockchain currencies.

Nah I don't see it quite the same. There will be 7200 nmc on average per day regardless of how it's mined. Right now namecoin is suffering from a manic depressive negative feedback loop where people rush to mine it when the difficulty is low, spiking it so no one wants to mine it anymore, making it lowregain for another cycle.  This proposal would completely solve that.
legendary
Activity: 3920
Merit: 2348
Eadem mutata resurgo
Quote
So if anyone would complain, it would be namecoin fans, absolutely not bitcoin fans.

This.

But the namecoin "fans" don't know what they are wishing for ... all they see is money in their eyes from "more hashing power" ...

It is a very pernicious mod. to namecoin that has been rammed thru in a somewhat unseemly fashion imho.

The ruination of namecoin would serve as a very stern warning to any other aspirations for starting competing blockchain currencies.
vip
Activity: 1386
Merit: 1136
The Casascius 1oz 10BTC Silver Round (w/ Gold B)
Summary:

Basically, they hide the namecoin block hash in the coinbase transaction of the bitcoin block, and if a hash is found for the bitcoin header that meets the namecoin difficulty standard, the namecoin chain can use the entire bitcoin header to extend the namecoin chain, even if the bitcoin difficulty target was not met.  It does not extend the header size, but it does extend the coinbase script field, which isn't a very big deal because it wasn't a fixed size to begin with.

OK, I suppose I will consider myself sold on it.  This summary belongs in the Wiki, because I couldn't gather this from what was there.

Essentially what you are saying is that reference to the BTC block chain isn't ever needed, and that there is no dependency, but rather, that NMC will accept a "proof of work" formatted for Bitcoin as a Namecoin proof of work - and tack it onto the Namecoin block chain - so long as that Bitcoin proof of work contains a reference to the most recent Namecoin block.  And that NMC will look for the merkle root not in the merkle root field (since that's reserved for Bitcoin compatibility), but in the coinbase.

As a purely abstract argument, I assume this would mean one doesn't actually need to be mining real Bitcoins, the Bitcoin block chain will never be consulted by any non-mining Namecoin client, and that a block that ends up becoming stale or rejected off the Bitcoin block chain can still remain valid on Namecoins, and in fact never need to become part of the Bitcoin block chain, if they meet the Namecoin difficulty but not Bitcoin.

If I have understood this correctly, then I hereby do a 180 and endorse the idea and apologizing for not seeing the greatness (though the documentation could have been better).

In this case, why wait till block 24000?  That could be a while, especially at the low end of this manic-depressive mining cycle.  If the Namecoin exchange, the Namecoin block explorer, the Name DNS servers, and other critical infrastructure convert, the conversion can happen pretty much any time, because there will be no functional tools or any reason for anyone to stay on the old system.
kjj
legendary
Activity: 1302
Merit: 1025
lol @ people not understanding how things work making arguments that don't make any sense.
Protip:
1) read the alternative chains wiki page
2) understand what a merkle branch is
3) understand (2) allows securing an arbitrarily large namecoin/blahcoin block by adding ~30 bytes to a bitcoin block. 
4) understand a single bitcoin tx is more than 80bytes
5) stop whining

The wiki page isn't very good.  Actually, were I in a less charitable mood, I'd say it sucks donkey balls. Took me several reads to "get" it, and that was only because I've read the forums extensively and was able to put the pieces together.

Summary:

Basically, they hide the namecoin block hash in the coinbase transaction of the bitcoin block, and if a hash is found for the bitcoin header that meets the namecoin difficulty standard, the namecoin chain can use the entire bitcoin header to extend the namecoin chain, even if the bitcoin difficulty target was not met.  It does not extend the header size, but it does extend the coinbase script field, which isn't a very big deal because it wasn't a fixed size to begin with.
full member
Activity: 372
Merit: 101
You can't verify a specific merkle leaf without examining the whole block.

Not only can you do that, but that is in fact the entire purpose of a merkle branch.  (Note I say branch not leaf; a markle branch is a path from root to leaf, along with the siblings, so it a string of length O(log n))).
http://en.wikipedia.org/wiki/Hash_tree

So someone interested in namecoin mining/verifiction would need:

1) The bitcoin block headers
2) The namecoin blocks
3) The merkle branch from the bitcoin block header to the hash of the namecoin block header in the bitcoin block

So the added overhead to bitcoin is adding the hash of the namecoin block header to the bitcoin block, or 30 bytes.
The added overhead to namecoin is a merkle branch from the bitcoin block header to the namecoin block header, or roughly an O(log n) additive amount of space, where n is the size of the bitcoin block.

So if anyone would complain, it would be namecoin fans, absolutely not bitcoin fans.  However IMO a small additive space overhead is worth the security guarantees of getting all bitcoin miners verifying namecoin too.

EDIT: Re your edit.  We jump with joy and take the opportunity to do things the correct way: put both bitcoin2 and namecoin as auxilliary blocks of a more general "proof-of-work-for-hash-tree" system, whose "blocks" will be nothing more than pointers to auxilliary block chain headers.  In particular, such blocks for the primary chain will always be very tiny, and so the auxilliary chains only incur O(log n) overhead where n is the number of auxilliary chains.
legendary
Activity: 1008
Merit: 1001
Let the chips fall where they may.
lol @ people not understanding how things work making arguments that don't make any sense.
Protip:
1) read the alternative chains wiki page
2) understand what a merkle branch is
3) understand (2) allows securing an arbitrarily large namecoin/blahcoin block by adding ~30 bytes to a bitcoin block.  
4) understand a single bitcoin tx is more than 80bytes
5) stop whining

But then you can't use namecoin without downloading the entire bitcoin blockchain. You can't verify a specific merkle leaf without examining the whole block. Are you trying to claim that nobody will want to run a namecoin miner without the bitcoin blockchain?

Edit: what happens when bitcoin gets replaced by bictoin2, but we think namecoin is still good?
Pages:
Jump to: