검열저항이 규범이기를 그만두고 포크초이스 규칙이 된다
FOCIL 은 인클루전 리스트 작성을 **프로포저 한 명에서 무작위 위원회로** 옮기고 — **진짜 중요한 부분** — **강제를 포크초이스 안으로** 옮깁니다. 어테스터가 집계된 리스트를 무시한 블록에 **투표를 주지 않으므로, 검열하는 블록은 정본이 될 수 없습니다.** **보장의 범주가 바뀝니다** — *"넣어 주세요"* 가 아니라 **"빼면 당신 블록이 안 세어진다"** 입니다.
이 페이지는 카드에 적힌 내용을 펼쳐 보여줄 뿐입니다 — 돌아가는 코드도, 열어볼 데모도 아직 없습니다. 무엇을 왜 만들려는지가 아래에 있습니다.
**만드는 일이 아니라 두 절을 읽고 숫자 하나를 적는 일**입니다. EIP-7805 에서 **Rationale 과 파라미터 절만** 읽습니다 — **위원회 크기가 어떻게 정당화되는지**, 그리고 **관점 동결(view freeze) 시각이 어떻게 정해지는지.** **이 두 선택이 설계 전체를 떠받칩니다.** 그다음 **진짜 내 몫**을 합니다 — **내 시스템에서 한 슬롯 지연이 결과를 바꾸는 모든 경로**를 적고(마감 직전 주문, 분쟁 제기, 오라클 갱신), **각각이 견딜 수 있는 슬롯 수 N** 을 옆에 적습니다. **산출물은 그 숫자이지 FOCIL 지식이 아닙니다.** 여기의 수치(프로포저 + 16명 규모 위원회, 슬롯별 가십 서브넷, 리스트 전용 가스 한도)는 **2026-08-28 기준 독해**이며, **아직 움직이는 스펙**이므로 원문 확인이 필요합니다.
기술 노트
각 항목이 실제로 무엇을 보여주고 어떻게 동작하는지 — 위 카드보다 자세한 기술 설명입니다.
목적: **기존 인클루전 리스트 설계는 검열자에게 자기 자신을 감시하라고 요구했습니다.** 프로포저 한 명이 리스트를 썼고, **그 프로포저가 바로 그 트랜잭션을 빼는 당사자일 수 있었습니다** — **감시자와 감시 대상이 같은 자리**였습니다. FOCIL 의 위원회는 일차적으로 중복성이 아니라 **그 두 역할을 분리하는 장치**이고, 그 대가로 **이례적으로 싼 신뢰 가정** 하나를 삽니다 — **1-of-N 정직성.** **16명 중 한 명만 자기 멤풀을 정직하게 반영하면 포함이 강제됩니다.** 이게 설계의 전부이고, 이 설계를 둘러싼 모든 논쟁은 그 한 줄의 하류입니다. **진짜 변화는 강제 방식이고, 그것은 정도가 아니라 범주의 변화입니다.** 오늘 트랜잭션을 빼는 것은 **프로토콜 위반이 아닙니다** — 빌더의 선택이고, 그에 맞서는 압력은 사회적인 것뿐입니다. 검사를 **포크초이스에 넣는다**는 것은, 어테스터가 리스트를 무시한 블록에 **그냥 투표하지 않는다**는 뜻이고, **표를 못 받은 블록은 정본이 되지 못합니다.** **우회로가 없습니다 — 릴레이를 통해도, 빌더를 통해도** — 바뀐 것이 **누가 만드는가가 아니라 무엇이 블록으로 세어지는가**이기 때문입니다. **대가는 두 곳에 떨어지고, 둘 다 헤드라인보다 값이 나갑니다.** 첫째, 안전성이 **타이밍 파라미터**에 걸립니다 — **동결 시각 이후 도착한 리스트는 그 슬롯 평가에서 빠집니다.** 늦게 잡으면 **전파 운 때문에 정직한 블록이 탈락**하고, 이르게 잡으면 **검열자가 리스트 전파를 조금만 늦춰도 이깁니다.** **프로토콜 보안을 네트워크 지연이라는 물리 현상 위에 올려놓는 설계**입니다. 둘째, 강제가 **조건부**입니다 — 대략 *"블록에 공간이 남아 있는 한 리스트의 유효 트랜잭션을 넣어야 한다"* — **무조건 규칙이면 리스트가 블록을 넘칠 때 정직한 프로포저가 규칙을 못 지키기 때문**입니다. 그리고 **조건부 규칙은 언제나 자기 회피 경로를 만듭니다** — ***"공간이 있으면"* 이 붙는 순간, 공간을 없애는 것이 새로운 검열 수법이 됩니다.** FOCIL 은 **가스 회계를 분리해 그 공격을 비싸게** 만드는 쪽으로 답했고, 그건 옳은 답이지만 원리를 폐기하지는 않습니다 — **무조건 규칙은 정직한 참여자를 실패시키고, 조건부 규칙은 조건을 공격면으로 만들며, 설계의 질은 그 조건을 얼마나 좁고 검증 가능하게 썼는가에서 갈립니다.**
동작 방식: ### 무엇이 어디로 옮겨가는가 | | 이전 | FOCIL | | --- | --- | --- | | 리스트 작성 | **프로포저 한 명** — 검열자일 수 있음 | 무작위 위원회 **+** 프로포저 | | 필요한 신뢰 | 그 한 명이 정직할 것 | **1-of-N** — 한 명만 자기 멤풀 반영 | | 강제 | 사회적 압력; 배제는 합법 | **포크초이스** — 어테스터가 투표를 안 줌 | | 우회로 | 릴레이·빌더 | **없음** — 무엇이 블록인가가 바뀜 | ### 한 슬롯 안에 세 가지가 순서대로 1. 위원들이 **자기 멤풀 관점**으로 리스트를 만들어 전용 서브넷에 가십. 2. 빌더·프로포저가 **그 리스트를 본 상태로** 블록 조립. 3. 어테스터가 **자기가 본 리스트 집합**과 블록을 대조 — **어테스터마다 본 집합이 다를 수 있습니다.** **3번이 관점 동결(view freeze) 시각이 존재하는 이유**입니다 — 그 이후 도착한 리스트는 그 슬롯에서 세지 않습니다. ### 동결 시각은 양쪽으로 실패한다 | 잡기 | 실패 | | --- | --- | | **너무 늦게** | 리스트가 늦게 왔다는 이유로 **정직한 블록이 탈락** | | **너무 이르게** | **검열자가 전파를 조금만 늦춰도 승리** | **양방향으로 안전한 값은 없고**, 관측된 네트워크 지연에 맞춘 값만 있습니다 — **그래서 이 파라미터가 곧 스펙**입니다. ### 무조건 vs 조건부, 일반 규칙으로 - **무조건**: 진술은 안전하지만 **정직한 참여자가 지킬 수 없게** 만들 수 있습니다. - **조건부**: 정직한 참여자를 보호하고, **조건을 공격자에게 넘깁니다.** - **따라서**: 설계의 질은 **조건이 얼마나 좁고 검증 가능한가**에 있습니다 — 여기서는 **가스 회계 분리**로 공간을 없애는 공격에 실제 비용을 물립니다. ### 진짜 내 몫 예측시장에서 검열저항은 철학이 아니라 **정산 정확성**입니다 — 마감 직전 주문, 분쟁, 오라클 갱신. FOCIL 이 주는 것은 *"검열 불가"* 가 아니라 **"검열의 비용이 명시적이 된다"** 입니다. 설계 문서에 적을 것은 FOCIL 이 아니라 — **시간 민감 경로마다 견딜 수 있는 슬롯 수** 입니다.