How to Delegate Hash
This document provides steps for BTC miners/mining pools to delegate hash power to Core blockchain, which is to add an OP_RETURN output in the BTC coinbase transaction.
For more information about Core blockchain and its Satoshi Plus consensus, please read the Technical Whitepaper.
BTC miners/mining pools need to compose and put the below information in the BTC block.
OP_RETURN + LENGTH + CORE + VERSION + Delegate Information
- OP_RETURN: 0x6a
- LENGTH: 0x2d, which represents the total byte length after the OP_RETURN opcode
- CORE: 0x434f5245
- VERSION: 0x01
- Delegate Information, which contains 2 Core addresses (20 bytes each). The first is the validator address to delegate the hash power to, and the second is the address to collect rewards on Core blockchain.
For example, if the validator address is 0x0a53b7e0ffd97357e444b85f4d683c1d8e22879a and the reward address is 0xBD13F9435f8B327C222d1D1930C17ea6719e8a33. Then the delegate information is 0x0a53b7e0ffd97357e444b85f4d683c1d8e22879aBD13F9435f8B327C222d1D1930C17ea6719e8a33.
And the entire byte string is 0x6a2d434f5245010a53b7e0ffd97357e444b85f4d683c1d8e22879aBD13F9435f8B327C222d1D1930C17ea6719e8a33.
Include it as a new output of the Bitcoin coinbase transaction.
- The Core blockchain uses the block records of BTC network seven days ago for hybrid score calculation. At the same time, after a validator is elected, staking rewards are distributed on the second day when the round is switched. Therefore, after miners/mining pools delegate their hash, they will be used for validator election calculation N+7 days later, and rewards can be claimed N+8 days later.
- In order to improve rewards received from Core blockchain, we encourage miners/mining pools to delegate to more than one validators and distribute their hash powers evenly. The optimal is to delegate 4%~5% overall hash rate to one validator. Assuming 144 blocks per day on the BTC network, that is an average of 7~8 blocks to one validator.
- Please visit https://stake.test.btcs.network/ to check all validators on Core TestNet. Please use the
operator address
of the validator to fill the part in OP_RETURN. - Please visit https://stake.coredao.org to check all validators on Core MainNet. Please use the
operator address
of the validator to fill the part in OP_RETURN. - You need to create an Ethereum format address as the reward address and fill it right after the validator address in OP_RETURN. Later you will use it to claim rewards from Core blockchain. If you are new to this, here is a guide: Add Core to MetaMask.