FOCIL, 거래 검열을 막는 포함 목록

Strawmap Hegotá (2027) · FOCIL

매 슬롯 검증자 16명으로 이루어진 위원회가 공개 멤풀의 거래로 포함 목록을 만들고 그 거래를 빼먹은 블록에는 증명자가 투표하지 않게 합니다. 거래가 검열 없이 제때 블록에 들어가게 하는 장치입니다.

왜 필요한가

이더리움은 검증자 집단이 중앙화되는 것을 막으려고 블록을 만드는 권한을 빌더(builder)라는 전문 업체에 경매로 넘겨 왔습니다. 그 결과 소수의 정교한 빌더가 블록 생산을 장악했고 네트워크가 특정 거래를 빼먹지 못하게 하는 검열 저항성이 나빠졌습니다. 그래서 검증자가 빌더에게 제약을 걸 수 있게 하는 연구가 이어졌고 특정 거래를 블록에 강제로 넣는 포함 목록(inclusion list)이 그 답으로 나왔습니다. 다만 앞선 설계에는 매수나 협박 공격, 목록 이중 서명, 계정 추상화, 거래 무효화 같은 문제가 있었습니다. FOCIL은 여러 검증자로 이루어진 위원회가 목록을 만들고 목록을 만족하지 않는 블록에는 증명자가 투표하지 않도록 포크 초이스 규칙에 넣어 이 문제들을 다룹니다. 그래서 목록에 든 거래는 검열 없이 제때 블록에 들어갑니다. Strawmap에서는 2027년 헤고타(Hegotá) 포크의 헤드라이너로 잡혀 있지만 예상일 뿐 확정은 아닙니다. 코어 개발자 콜에서는 헤고타 데브넷을 FOCIL 전용으로 따로 시작한 뒤 안정되면 합치기로 했습니다. heze-devnet-2에는 퀵 슬롯 등 다른 합의 계층 후보와 함께 넣어 검증하기로 했습니다.

어떻게 동작하나

  1. 위원회가 포함 목록을 만듭니다 매 슬롯 검증자 16명이 공개 멤풀에서 거래를 골라 포함 목록을 만들고 서명합니다. 무작위, 수수료 순, 오래 기다린 순 등 고르는 방식은 구현자 재량입니다. 목록 전체 크기는 8KiB를 넘지 못합니다.
  2. 실행 계층이 블록을 검사합니다 블록의 거래를 모두 실행한 뒤 목록을 하나씩 봅니다. 블록에 이미 있거나, 남은 가스에 안 들어가거나, 논스나 잔액이 맞지 않는 거래는 넘어갑니다. 끝에 붙여도 실행될 유효 거래가 하나라도 빠져 있으면 목록 불만족으로 판정합니다.
  3. 불만족 블록에는 증명자가 투표하지 않습니다 목록을 만족하지 못한 블록은 그 자체로는 유효하지만 합의 계층이 증명하지 않습니다. 이 규칙이 포크 초이스에 들어가 있어 제안자가 목록 거래를 빼면 블록이 증명자의 지지를 받지 못합니다.

관련 EIP

← 로드맵