This is a draft, please provide comments to the article below or to the 0xBitcoin discord or the Mike.rs pool discord.

There will be three parts to this, the first on merged mining, the second on mineable tokens and the third on merged-mining tokens. This article will lay the case for a new mineable token playfully named “0xLitecoin” that will set an example for how future mineable tokens can merge mine with 0xBitcoin. 0xLitecoin is intended to have 2.5 minute block times and 25 Ł awards per block just like Litecoin. The motivation behind this token is to promote the idea of merge-mineable tokens as a replacement for ICO’s, and to think of this as a proof of concept.

What the heck is Merge Mining:

Merged mining is the process of allowing two different crypto currencies based on the same algorithm to be mined simultaneously. This allows low hash powered crypto currencies to increase the hashing power behind their network by bootstrapping onto more popular crypto currencies. In other words, a new crypto-currency can market to miners of existing tokens as a value add on their current mining operation.

Who benefits from Merge Mining and what are the downsides?

Token creators would want to make thier token merge-mined with higher hash power tokens to incentivize new miners who are already mining on the higher-hashpower token. Miners have a lot of capital resources tied into their hardware and spend a lot of money electricity and have bills every month. Miners of 0xBitcoin can concurrently mine 0xLitecoin just by configuring the new coin to accept hashes from 0xBitcoin. This incentivizes miners to “for free” mine both 0xBitcoin and 0xLitecoin and 0xLitecoin community benefits by immediately getting more miners “for free”.

From this article https://www.cryptocompare.com/mining/guides/what-is-merged-mining-bitcoin-namecoin-litecoin-dogecoin/:

There are three scenarios:

1. The merged miner finds a solution where the difficulty is too low to provide a valid hash and proof of work for either chain.

2. The merged miner finds a solution where the proof of work has been achieved for the auxiliary chain, but not for the parent chain.

3. The merged miner finds a solution for that is greater than the difficulty requirements for both the parent and the auxiliary blockchains.

Just means that a miner found no valid solutions for either coin/token. Means that a nonce is found for the0xBitcoin challenge with a hash that does not rise to the level of the 0xBitcoin difficulty, but does rise to the level of 0xLitecoin. The downside to accepting this is that there’s no real reason to “solo-mine” 0xLitecoin, as doing so would only preclude you from 0xBitcoin blocks and not giving you any advantage on 0xLitecoin. Means that a nonce is found for the 0xBitcoin challenge with a hash that is greater than the difficulty of both 0xBitcoin and 0xLitecoin. Because of the way that the solidity contracts can be written and the way that the current 0xBitcoin contract is written, we can in a single ethereum, use the nonce to get a block reward for both 0xBitcoin and 0xLitecoin.

What are possible ways to implement merge-mineable tokens?

I see two main ways forward. The two variants whether or not (2) is accepted above. If (2) is accepted, then it will seem that all 0xBitcoin miners immediately become 0xLitecoin miners with the optional choice of sending each 0xLitecoin block found to the litecoin contract as well as the optional choice of sending each 0xBitcoin block found to either the 0xBitcoin contract or to the 0xLitecoin contract to pay additional gas fees but also get 0xLitecoin.

The second variant is to only allow case (3) above, this allows 0xBitcoin miners to get approximately 1 in 4 blocks, and also creates an ecosystem for 0xLitecoin miners to get the remaining. Additionally we can experiment with different hashing algorithms for 0xBitcoin vs 0xLitecoin — such as double keccak or actually using a scrypt implementation in solidity.

Also Litecoin is not actually merge-mined with Bitcoin, so the name of the coin described above may need to be changed to something like 0xNamecoin.