AsicBoost | Efficiency improvement for ASIC mining devices that lowers their electricity consumption |
Bitcoin Core | Free and open-source software that includes a full node implementation for Bitcoin |
bitcoind | A Bitcoin client / program that implements the Bitcoin protocol for remote procedure call (RPC) use |
Coinbase transaction | The single transaction in each new block sending the block reward of newly mined Bitcoins (i.e. a new UTXO) to the address of the miner |
Coinbase | Special field containing the input for the coinbase transaction as well as up to 100 bytes of data available for arbitrary use |
extraNonce | Since the nonce is a 32-bit number, the highest nonce possible is 232, or approx. 4 billion; the extraNonce is a field in the coinbase used to iterate the nonce and expand the search space |
Merkle root | The root hash of a Merkle tree which contains the coinbase transaction and the transaction set consisting of all the other transactions in the block |
Mining Device (i.e. Client) | Furthest downstream node; does the actual hash computations, i.e. the proof of work |
Nonce | Abbreviation for “number only used once”; In Bitcoin, the nonce is a 32-bit-long value which is adjusted incrementally and used to rehash a hashed block until the hash output meets the current difficulty level restrictions of the network, signaling a valid solution has been found and the miner can then propose their block to the rest of the network. |
nTime rolling | nTime is the integer timestamp (in seconds) included in the block header. NTime rolling is a way for miners to increase the timestamp locally in their hardware rather than requiring a new block header from their pool every single second, reducing the amount of data transfers that need to occur between pools and miners. An explicit nTime rolling value instructs miners how long they can increment nTime (in seconds) before they need to request new work (i.e. a new, valid block header to mine on) from the pool. |
Pool Service (i.e. Server) | Furthest upstream node, responsible for generating unique jobs for each connection to the server by putting unique data into the coinbase |
Proxy | Intermediate node, used for hashrate / difficulty aggregation |
Transaction set | All transactions being included in a proposed block |
Version rolling | Changing the block version value in the first field of the Bitcoin block header, thereby enabling AsicBoost |