A distributed computing problem where multiple machines must agree on a single value despite failures.