역할과 서버
제안자는 번호와 값을 가진 제안을 만들고 수락자는 규칙에 따라 응답한다. 학습자는 어떤 값이 선택되었는지 알아낸다. 이는 논리적인 역할 구분이므로 실제 서버 하나가 여러 역할을 맡을 수 있다. 제안을 한 것, 일부가 수락한 것과 최종 선택된 것은 같은 단계가 아니다.
두 단계의 취지
준비 단계에서는 더 낮은 번호의 제안에 관한 약속과 기존 수락 정보를 모은다. 필요한 응답을 받은 제안자는 그 정보에 따라 사용할 값을 정해 수락을 요청한다. 이전에 선택되었을 수 있는 값을 보존하는 것이 중요하므로 매번 자기 마음대로 새 값을 골라 과반수에 보내는 절차가 아니다.
과반수와 정보 보존
고정된 수락자 집합에서 임의의 두 과반수는 겹친다. 다음 제안이 이 겹치는 참여자를 통해 이전 수락 정보를 반영하게 하는 규칙이 안전성을 뒷받침한다. 재시작하는 참여자는 필요한 약속과 수락 정보를 보존해야 한다. 과반수라는 숫자만 맞추고 이 규칙을 빠뜨리면 같은 보장을 얻을 수 없다.
진행이 멈출 수 있는 조건
경쟁하는 제안자들이 계속 더 높은 번호를 내면 합의가 지연될 수 있다. 안전성이 있다는 사실은 임의의 통신 상황에서 즉시 종료한다는 뜻이 아니다. 안정적인 제안자와 적절한 통신 조건은 진행에 중요하다. 기본 알고리즘은 메시지가 손상되거나 참여자가 악의적으로 거짓말하는 장애를 가정하지 않는다.