A consensus mechanism that requires nodes to solve complex mathematical puzzles to validate transactions and create new blocks.