Merge Mining

The EIP 918 Minable token standard — http://eips.ethereum.org/EIPS/eip-918 — has a specification for merge mining but as of yet that hasn’t been an implementation of it on the main net.

With 0xLitecoin — http://0xltc.org — I have released the first implementation of the merge mining based on the EIP918 spec. The article as described below is currently live in http://mike.rs Mike.rs’ pool and exists on this smart contract:

What is Merge Mining?

Merged mining is the process of allowing two different crypto currencies based on the same algorithm to be mined simultaneously. Miners of 0xBitcoin can automatically become miners of 0xBitcoin and 0xLitecoin if their mining pool supports merge mining. Additionally the standard allows for many tokens to be simultaneously merge-mined, allowing for a new explosion of PoW mined ethereum tokens.

Technically, how does Merge Mining work?

First an explanation of 0xBitcoin mining:

When a miner mines 0xBitcoin, they are finding a Nonce (an arbitrary number that can be used just once) that when hashed with the miner’s ethereum address (the pool’s address, or if solo mining the solo miners address, or if a mint helper contract is used, the mint helper contract’s address) and the current challenge for 0xBitcoin. A nonce is repeatedly selected such that the nonce, eth address and challenge when hashed together, are less than the mining target of the contract. The mining target is inversely related to the difficulty ( high difficulty, low mining target)

A general mining function written in python for finding a valid nonce for mined token 0xbitcoin, is as follows:

def mine(challenge, public_address, mining_target):
  while True:
    nonce = generate_random_number()
    hash1 = int(sha3.keccak_256(challenge+public_address+nonce).hexdigest(), 16)
    if hash1 < mining_target:
      return nonce, hash1

How does Merge Mining work?

0xLTC actually uses the same algorithm for mining and the exact same challenge as 0xBitcoin. This means that a valid nonce (solution) for 0xBitcoin can be fully accepted by the 0xLTC contract and vice-versa. Metaphorically, tokens for 0xLTC and 0xBTC are both locked inside of the contract using the same “lock” and can both be unlocked with the same key.

A mining pool can take care of the technical implementations of this, so a token miner running any of the open source token miners linked here simply needs to point their miner at the pool, and they will be mining 0xBitcoin, 0xLTC and any future merge mined tokens supported by the pool!

Why and what’s next?

The “Why” of 0xLitecoin is to demonstrate how new tokens can be created, that are:

  • distributed to, and don’t distract miners away from 0xBitcoin
  • don’t have an ICO or require any expenditure of capital from token earners
  • sets a new standard for future mineable tokens to take instead of taking an ICO

I will feel that the token merge mining standard will have success when a platform that had their sites on doing an ICO and instead chooses to make their token merge-mined with 0xBitcoin, launches their own compatible open source pool and finds success with their utility token without requiring the potentially fraud filled ICO path.

Why is it named 0xLitecoin?

Litecoin is very similar to bitcoin, the main differences are the mining algorithm, the block times which allow faster transfers and the idea that there are 4x as many coins distributed in 10 minutes. I wanted to launch a merge-mining token that can be different from 0xBitcoin, and have the differences be undestood. 0xLitecoin has 4 times as many tokens distributed per 0xBitcoin mint, just like litecoin vs bitcoin.

Additional Reading

This stack overflow write up of how merge mining works for bitcoin and name coin is very clear https://bitcoin.stackexchange.com/a/275 keep in mind that token mining has some differences, as token mining does not directly secure the block chain, but instead work contributes to token distribution.

tl/dr

  • There’s a brand new token called 0xLitecoin that is merge mined with 0xBitcoin
  • Mining 0xBTC on Mike.rs’ pool will also give you 0xLTC (more pools to come)
  • When minting a block of 0xBTC a message can be sent to the 0xLTC contract which releases a block of 0xLTC as well — this is token merge mining.
  • As new mineable tokens are created, if they are merge mined with 0xBitcoin, it keeps their hash power fully on 0xBitcoin, and doesn’t detract hash power away from 0xBitcoin for the new token.
  • The difficulty of 0xLTC is the same as 0xBTC so there’s no gas bid war stuff like with other new mineable tokens

Read More
08/01/2019

Q-A

1. How to create a wallet?
Wallets

2.What happens if I send a SEDO token to the SEDO contract address (or another token contract) ?
Don’t Send Tokens to the Token Contract Address!

If funds were sent to the Token Contract Address by a mistake, they cannot be recovered and will stuck there forever

You can also read this article:

3.Can I mine to the exchange address?


No. Mining to the exchange address will result in the irrevocable loss of your assets.

4.Why are my transactions Reverted?


A lot of miners are trying to mine simultaneously in order to find a solution. Even if several miners solve the task only one gets a reward for the solution. The others will receive Reverted flag and False status.

5.Why does my transactions stay for a long time in Pending status?


The confirmation speed depends only on the speed of Etherium network and current gas price. You can familiarize with the optimal required gas pricehere

6.Why do I see an “out of gas” transaction error?


You are short of gas quantity necessary to pay the transaction. Send some eth to your account which you are using for mining.

7.What happens if I send eth to a contract address?


Contract of our coin doesn’t accept eth. eth should return to the sender if the network allows it technically.

8.When will the pool start working officially?


We are planning to start the pool at the end of Q1 2019. Also we will be informing you about accessible pools started by crypto community.

9.Why is it necessary to pay for the mining in solo mode and how much it costs?


You pay not to SEDO developers but to Etherium network because every transaction call costs gas. Miner calls the “mint” function of contract token. Cost consists of factors: successful or not transaction, current parameters of gas costs, maximal quantity of gas (set in miner parameters)

10.Why is it necessary to provide the eth wallet private key in miner settings?


It is necessary for transaction payments. SEDO developers don’t have access to your wallet. For better security we recommend regularly scanning your PC for viruses. Also you can use another computer (or VPS) to mining. You don’t need a lot of eth for mining. 0.05 – 0.1 eth on your account is enough to start mining.

11.What is Merge mining?


It is a mining standard. The process of mining of several coins simultaneously. Miner provides the solution which is checked by the contracts of all coins which are set in the pool in the Merge mining mode.

12.Which coins can participate in Merge mining mode?


For now SEDO is compatible with 0xBitcoin for Merge mining. Other comparable coins can also be set. If you are a pool developer and want to set up a Merge mining please contact us.

13.For the mining farms with NVIDIA video cardsplease use Windows 7 OS. These farms may not work correctly on Windows 10

Read More
02/01/2019
ru_RU
en_GB ru_RU