A protocol used in blockchain to achieve agreement on a single data value across distributed processes or systems.