An algorithm used to reach consensus about the status of data on a network without the need of a central authority