Block templates are a framework developed by the Bitcoin community in 2012 to allow miners more control over the structure of the blocks they mine. Prior to block templates, miners were only able to request work from mining pools. This meant that malicious pool operators could keep miners in the dark with regards to block contents. Now, with block templates, pool operators can express the agreed upon constraints of their pool as rules within the block template that is provided to miners. The miners themselves, in turn, are able to complete these templates by including, for example, transactions of their choosing. Accordingly, block templates provide improved transparency and flexibility to miners. Block templates can be generally regarded as a feature of the mining process that provides a decentralized counterbalance to the centralized control of mining pools.