Reaching approximate agreement in the presence of faults | Synapse