A blockchain is a digital ledger that keeps track of a record of ownership without the need for a designated party to update and enforce changes to the record. The updating of the ledger is done directly by the users of the blockchain and is traditionally governed by a proof-of-work (PoW) protocol. We formalize this protocol as a Cournot game where users compete to update the blockchain for a reward. Cheating occurs in the form of “double spending” when users try to tamper with ownership records in order to defraud their counterparties. Ruling out incentives to cheat can be summarized in the form of a “no double-spending constraint.” These constraints put restrictions on the design of a blockchain and, thus, play a role akin to incentive compatibility constraints in classic mechanism design.