pull down to refresh

  1. Abstract: BIP 23 describes extensions to the 'getblocktemplate' JSON-RPC call to enhance pooled mining. JSON-RPC is a remote procedure call (RPC) protocol encoded in JSON, and 'getblocktemplate' provides data needed to construct a block to add to the blockchain.
  2. Basic Pool Extensions: This part of the proposal allows miners to request additional information from the mining pool servers. For example, the 'expires' field tells the miner how long they have to solve the block before it becomes invalid, and the 'target' field tells the miner the value they need to achieve to successfully mine the block.
  3. Block Proposal: This part of the BIP allows a miner to propose a block to the server for validation. If the proposed block doesn't violate any rules, the server returns a null, indicating the block is acceptable as is. If the proposed block does violate any rules, the server returns a string explaining why the block was rejected.
  4. Mutations: This section refers to modifications that miners are allowed to make to the block template. Some possible mutations include modifying the coinbase transaction, changing the block time, adding or removing transactions from the block, or using work with different previous blocks.
  5. Submission Abbreviation: In this section, certain abbreviations are allowed to reduce data sizes during submission. For instance, transactions that the client is certain the server knows about can be replaced by their hash in little-endian hexadecimal, prepended by a ":" character.
  6. Logical Services: This part of the BIP allows miners to see a list of servers that are part of a larger single logical service. The server list includes information such as the URI of the individual server, how long to avoid using the server, and whether the server may update the server list.
  7. Motivation and Rationale: The motivation for this BIP is to decentralize mining and give miners more control over the blocks they mine. The rationale explains why certain features of the BIP were implemented, such as why servers can restrict the complete coinbase and nonce range, or why both "mintime"/"maxtime" and "mintimeoff"/"maxtimeoff" keys need to be defined.
BIP 23 is an upgrade proposal to improve the Bitcoin mining process, giving miners more control and options to work with, while also aiming to decentralize mining power. By allowing miners to modify certain parts of the block and also propose blocks for validation, it aims to make the mining process more transparent and interactive.