Skip to content

Instantly share code, notes, and snippets.

@squidicuzz
Created August 15, 2015 18:37
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save squidicuzz/fc45f5b3a9ca2b2be857 to your computer and use it in GitHub Desktop.
Save squidicuzz/fc45f5b3a9ca2b2be857 to your computer and use it in GitHub Desktop.
<Squidicuz> Hi
<Squidicuz> Someone else and I, are going to try and work on improving merged mining of namecoin with p2pool
<forrestv> hi
<forrestv> huh, improved how?
<Squidicuz> we want to add a sharechain
<Squidicuz> if that is possible, we will find out
<Squidicuz> any thoughts on that?
<Squidicuz> and is it okay if I open a ticket on your repo to track the issue
<forrestv> i've given some thought to it before. it's tricky, due to the size of share proofs for namecoin
<Squidicuz> ahh, hm
<Squidicuz> well, we (drazisil and I) are willing to give it a shot
<forrestv> with bitcoin, you just need to provide a block header and the merkle link from your generation transaction to the merkle root in the block header
<forrestv> p2pool knows what the generation transaction should be, so it's pretty simple to make sure that miners are mining what they should
<forrestv> using just that information, which is 100-200 bytes
<Squidicuz> I see
<forrestv> however, with namecoin, you have to prove that you're putting something specific in the coinbase field of the generation transaction of the block that would go in the parent blockchain
<forrestv> which means that you have to include the entire generation transaction from the parent chain in the proof (unless it can be recreated somehow)
<Squidicuz> hmmm
<forrestv> if a p2pool miner mines a namecoin block, the entire bitcoin p2pool generation transaction becomes part of the namecoin block
<forrestv> i think it's called the auxblock structure
<forrestv> anyway
<Squidicuz> yes
<forrestv> if you made a p2pool that handled merged mining correctly, every share would have to include the generation transaction from the miner's parent chain
<forrestv> which (if you're using p2pool for the parent chain) is pretty large - >10kB, i think
<forrestv> several kB at least
<Squidicuz> hmm, I see. so the sharechain would farily large
<forrestv> most recent p2pool block had a generation transaction of 8519 bytes
<forrestv> yes
<forrestv> the one way i have thought of to fix this is to somehow link the namecoin and bitcoin p2pools
<forrestv> let the namecoin one grab the current bitcoin generation transaction
<forrestv> so it doesn't have to be explicitly included in shares
<forrestv> but that's a really big change
<Squidicuz> would that require a fork of the sharechain?
<forrestv> opening a ticket is fine. you should probably put this conversation there for others too
<forrestv> it might not require a fork of the bitcoin p2pool sharechain
<forrestv> i'm not sure right now - i think i've thought of it before but don't remember that detail
<Squidicuz> okay. thanks
<Squidicuz> we will look into that and see what happens. going to try it out on testnet
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment