서문
이 아이디어는 FOCIL 설계 제안의 확장입니다. 이것은 처음에 FOCIL과 동시/독립적으로 만들어졌으며, 프로토콜 설계에서 빌더 워크플로를 완전히 제거하기 위한 방법으로 시작되었습니다. 여러 사람들과 대화를 나누면서 FOCIL이 진행 중이라는 것이 밝혀졌고, 그 설계에 나와 있는 시간이 이 아이디어보다 훨씬 더 좋다는 것(1개의 슬롯이 적게 필요하고 더 큰 위원회를 사용)을 알게 되었습니다.
이 아이디어는 FOCIL과 경쟁하는 것이 아니라 FOCIL 위에 구축되도록 수정되었습니다. 여기에 포함된 일부 아이디어는 FOCIL과 통합될 수 있지만, 대상 토론을 용이하게 하고 해당 설계를 혼란스럽게 하지 않도록 별도로 제공됩니다.
Phil Ngo, Nico Flaig, Cayman Nava, Guillaume Ballet, Greg Markou, Gajinder Singh, Navie Chan 등 많은 분들께 이 아이디어를 다듬는 데 도움을 주셔서 감사드립니다.
요약
이 제안은 거래 주문에 초점을 맞추고 있습니다. 또한 새로운 포함 위원회와 업데이트된 제안자 의무와 관련된 보상 및 벌칙도 다루고 있습니다.
암호 경제적 수단을 통해 중앙화된 세력을 배제하기 위해서는 제안 프로세스에서 다음의 두 가지 주요 의무를 해결해야 합니다.
- 포함을 위한 거래 선택
- 거래 주문
FOCIL은 첫 번째 주제의 핵심을 해결하는 훌륭한 솔루션이지만, 블록에 포함된 거래를 포함 목록의 거래로만 제한함으로써 더 정제될 수 있습니다. 이를 통해 MEV를 포착하기 위해 주문에 부정적인 영향을 미치는 거래를 블록에 추가하려는 경제적 인센티브가 제거됩니다.
주문은 FOCIL에서 제시된 통합 포함 목록과 포함 시드를 사용하여 결정론적 프로세스가 될 것입니다. 포함 시드는 거래 주문 중 공모 및 추출 행위를 방지하기 위해 슬롯별로 생성되는 엔트로피입니다.
블록 빌딩(현재 헤드에서 제안된 블록의 거래 포함 및 주문) 중 대부분의 작업이 제안자에게서 제거되므로 프로토콜에 가치를 제공하는 당사자를 보상하기 위해 보상 메커니즘을 비례적으로 업데이트해야 합니다.
설계
결정론적이고 조작할 수 없는 주문을 제공하기 위해서는 다음의 세 가지를 고려해야 합니다. 특히 샌드위치 공격 및 다중 블록 MEV가 경제적으로 억제되도록 확률적으로 예측하기 어려운 주문입니다.
- N 슬롯에 더 이상 포함될 수 없는 거래의 마감 시간
- N 슬롯의 포함 시드가 선택되는 시간
- N 슬롯 내 거래의 무작위화 검증 가능성
주문 휴리스틱의 핵심은 첫 번째와 두 번째 항목이 그 순서로 발생하는 것입니다. 시드가 포함 창이 닫힌 후에야 알려지는 경우, 특정 위치에서 실행되도록 "주문 거래를 채굴"하는 것이 불가능하도록 휴리스틱을 구축할 수 있습니다.
세 번째 항목은 시드가 알려지면 네트워크의 모든 노드가 동일한 거래 순서를 계산하여 프로토콜 준수를 증명할 수 있게 합니다. 또한 (불)준수에 대한 보상 및 벌칙을 평가할 수 있습니다.
시간 고려 사항
N-1 슬롯
t0: N 슬롯의 제안자가 무작위 논스를 선택하고 준비하여 포함 위원회에서 사용하도록 전파합니다.
t9: N-1 슬롯의 합의 헤드를 기반으로 FOCIL IL 위원회가 로컬 메모리풀에서 IL을 선택하고 개별 IL을 전파하는 마감 시간. IL에는 N 슬롯 생산자가 생성한 해시된 논스가 포함됩니다.
N 슬롯
t0: N-1에서 전파된 포함 논스가 블라인드 해제되어 포함 시드를 생성합니다. 포함 시드는 결정론적 주문 함수의 인수로 EL에 전송됩니다. 전체 블록 가스량을 나타내는 정렬된 거래 목록이 생성되고 실행됩니다. 블록은 EL/CL이 공동으로 생성하며 CL은 블라인드 해제된 논스를 블록에 추가한 후 네트워크에 릴리스합니다.
t4: 검증자는 블라인드/공개된 논스, 포함 시드 및 거래 주문을 블록 유효성 검사 중에 확인해야 합니다. 검증자는 N 슬롯의 유효한 블록에 투표합니다.
포함 시드
포함 시드의 목적은 거래 순서에 엔트로피를 제공하는 것입니다. RANDAO와 유사해야 하며, 체인을 따르는 모든 사람이 증명할 수 있고 알 수 있는 온-체인 데이터를 사용해야 합니다. 그러나 RANDAO는 에폭 기반이며 슬롯 기반이 아니므로 너무 자주 새로 고쳐지지 않습니다. 슬롯별 주문을 위해서는 엔트로피도 슬롯별로 필요합니다. 추출 행위를 최소화하는 핵심은 시드가 N 슬롯의 거래 포함 창이 닫힌 후, 하지만 N-1 슬롯 종료 전에 선택되어야 한다는 것입니다. 그래야 N 슬롯 제안자가 사용할 수 있습니다.
이 제안이 FOCIL 위에 구축된다는 가정을 사용하면 엔트로피 선택을 위한 이상적인 소스는 채굴하기 어려운 통합 포함 목록이 될 것입니다.
시간 기반 시드 공격 솔루션
그러나 이 계획의 가능한 공격 벡터는 마지막 위원회 구성원이 IL을 제출하여 시드에 영향을 미치고 최종 주문을 여는 기회를 만드는 것입니다. 또한 언집계 목록의 네트워크 전파를 방해하는 타이밍 게임을 유발할 수 있습니다.
해결책은 최종 목록에 서명 또는 논스와 같은 추가 엔트로피를 포함하는 것입니다.
집계기 공모 시드 공격 솔루션
그러나 목록에 서명하거나 단순한 논스를 사용하는 것은 충분하지 않습니다. 이는 최종 위원회 구성원이 다음 제안자와 공모할 수 있는 공격 표면을 열어줄 수 있습니다. 공모가 작동하려면 공모 위원회 구성원이 다음 제안자의 키에 액세스하거나 단순히 다음 제안자와 협력하여 거래(및 거래 포함을 위한 IL)를 채굴해야 합니다.
이 공격을 방지하기 위해 공개 프로세스를 사용해야 합니다. 제안자의 첫 번째 의무는 제안 전 슬롯에 서명된 해시를 전파하는 것입니다. 전파된 메시지는 0-2초 내에 매우 빨리 발표되어야 하며, 이상적으로는 블록이 게시되기 전(실제로는 언집계 포함 목록이 전파되기 전이면 충분)에 발표되어야 합니다.
언집계 포함 목록이 전파되기 전에 블라인드된 논스를 발표하고 이후에 공개하면 전체 포함 위원회가 참여하지 않는 한 거래를 채굴하여 공모할 수 없습니다.
논스 생성 및 공개 메커니즘
충분한 엔트로피를 보장하기 위해 제안자는 8-32바이트 범위의 임의 바이트를 선택한 다음 RANDAO의 상태 기반 무작위성을 혼합할 것입니다. 그런 다음 무작위성을 해시하여 실제 값을 블라인드하고 제안자가 서명한 다음 N-1 슬롯에서 전파할 것입니다. 이는 IL 생성 전에 수신되었음을 증명하기 위해 IL에 첨부될 수 있습니다.
N 슬롯에서 제안자(지금까지 실제 언블라인드된 값을 알고 있는 유일한 참여자)는 논스를 EL에 전달하여 EL이 프로토콜 사양에 따라 거래를 정렬할 수 있습니다. 언블라인드된 값은 검증자가 블록 유효성 검사 및 투표를 위해 공개할 수 있도록 블록에 추가됩니다.
포함 시드 검증
거래를 섞는 데 사용된 포함 시드는 RANDAO의 상태 기반 무작위성을 혼합한 후 블록에 포함된 언블라인드 논스 값의 해시가 포함 목록의 해시된 논스와 일치하는지 검증자가 확인하여 검증할 수 있습니다.
결정론적이고 검증 가능한 주문
주문이 결정론적이고 검증 가능하려면 알려진 입력과 다음과 같은 잘 알려진 결정론적 주문 함수가 필요합니다.
Torderd, Tremaining = f(ILagg, IS)
주어진 블록에 대한 예시로, gwei 단위의 거래 우선순위 수수료는 다음과 같습니다:`[ 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 4, 100 ]`트랜치는 다음과 같이 구성될 수 있습니다:`[ 1, 1, 1, 1, 1, 1, 1, 1, 1 ]``[ 2, 2, 2, 2, 2, 2, 2 ]``[ 4, 100 ]`
우선순위 수수료 기반 정렬(비 의사난수)
암호화된 메모리 풀이 완전히 구현되면 전적으로 우선순위 수수료 기반 정렬 휴리스틱으로 전환할 수 있습니다. 이는 실행 순서에 대한 가격 설정을 시장 역학에만 의존하는 이상적인 상황이 될 것입니다.
보상 및 페널티
이 패러다임에서 포함 목록에 거래를 추가하는 검색기가 대부분의 보상을 받게 됩니다. 블록 제안자는 이제 엄격하게 프로토콜을 따르고 대리권이 줄어듭니다. 의무가 감소함에 따라 대부분의 제안 보상이 인플레이션을 방지하기 위해 검색기에게 이전되어야 합니다. 이는 또한 단일 제안자로부터 전체 IL 위원회로 보상을 균일화하는 부수적인 이점이 있습니다. N-1 슬롯에서 포함 논스를 생성하고 유포하는 제안자가 이제 단일 장애 지점이 될 수 있다고 주장할 수 있습니다. 따라서 슬롯 N에서 획득한 블록 보상은 N-1 슬롯의 논스 유포에 의해 요구되어야 합니다.
FOCIL의 보상 메커니즘도 검색기가 새로운 거래를 포함하는 것에 대한 부분 블록 보상 이전을 수용하도록 확장되어야 합니다. 이 아이디어는 FOCIL 팀에 의해 언급되지만 아직 확정되지 않았으므로 해당 제안이 진행되면 여기에 업데이트해야 합니다.
IL 위원회가 이제 거래 선택의 핵심 부분을 보유하고 있기 때문에 이 작업은 매우 중요해졌습니다. 따라서 위원회 위원의 등가 행위는 상충되는 증명 또는 블록 생성과 유사하게 슬래싱 대상이 되어야 합니다.
남은 거래
여러 개의 비집계 포함 목록과 단일 목록으로 결합된 모든 거래로 구성된 블록에 포함될 수 있는 거래보다 더 많은 거래가 제출될 수 있다는 의미입니다. 이는 IL 위원회 구성원이 제출한 포함 풀(거래)이 후속 블록에 삽입되어야 할 수 있음을 의미합니다. 이 과정은 여전히 연구 중이지만 지금까지 제안된 몇 가지 제안은 다음과 같습니다:
- IL 거래가 반드시 포함되어야 한다는 보장은 없습니다. 더 많은 포함 제안 목록이며 재현 가능한 휴리스틱을 사용하여 블록에 거래를 포함할 것입니다. 포함되지 않은 모든 거래는 후속 블록 목록에 추가될 수 있습니다.
- 오버플로우를 방지하기 위해 IL 크기 제한
- 포함을 기다린 거래에 더 높은 우선순위를 부여하는 시간 가중치 추가. 예를 들어 우선순위 수수료에 추가할 수 있습니다. 많은 고수수료 거래가 제출되어 포함을 방해하는 경우 후속 블록에서 시간 가중치를 높여 거래를 최종적으로 밀어낼 수 있습니다.
- 순서화를 위한 임계값 설정. 거래 우선순위 수수료가 매우 낮고 여러 블록에 포함되지 않으면 오버플로우에서 제거됩니다.
제안 중 첫 번째가 가장 쉽고 실용적으로 구현할 수 있습니다. 필요한 것은 목록의 거래에 대한 블록 포함 휴리스틱을 개발하는 것뿐입니다.
다른 EIP 및 기존 로드맵과의 상호 작용
계정 추상화
EL이 목록을 생성할 때 AA 생성 거래를 IL에 포함할 수 있습니다. 그러나 우선순위화를 위한 수수료와 관련하여 약간의 미묘한 차이가 있습니다.
ePBS
이 제안은 ePBS와 프로토콜에 추가하는 복잡성이 필요 없게 될 것입니다.
제안자-증명자 분리
실행 티켓 및 기타 슬롯 경매 스타일 제안이 빌더의 수직 통합을 더 만들어낼 수 있는 위험은 실제로 존재합니다. 프로토콜에서 정렬이 이루어지면 이 위험이 상당히 줄어듭니다. 이는 제안자 의무와 증명자 의무를 분리하는 모든 제안에 큰 도움이 될 것이며, 매우 가벼운 증명 전용 클라이언트의 성공적인 구현을 크게 높일 것입니다.
토론
프로토콜 단순화
시스템이 복잡해질수록 시스템 내에서 프로토콜을 계획하고 구현할 때 게임 이론이 더 어려워집니다. 위젯 위에 위젯을 구축하여 문제를 해결하면 위젯이 설계된 시스템 내에서 공격 표면이 더 많아진다고 주장합니다. 빌더 흐름을 없애지 않고 MEV/빌더/릴레이를 억제하기 위한 프로토콜을 구축하는 경우, 이는 악용될 수 있는 더 많은 틈새를 만듭니다. 우리는 기존 시스템 설계를 해결하고 "프로토콜 외부" 불투명한 솔루션의 도움 없이 거래 선택 및 정렬의 근본 원인을 해결해야 합니다.
프로토콜에서 암호 펑크와 평등주의 원칙 보존
이더리움을 다시 암호 펑크로 만들자. 이것은 MECA로 향하는 순례에 대한 행동 강령입니다. 우리 모두를 여기로 이끌었던 정신을 보존하기 위한 것입니다. 빌더와 그들 주변에 구축된 생태계가 L1을 장악하도록 허용해서는 안 됩니다. 정직한 참여자로부터 가치를 추출하는 것은 블록체인의 이상에 반할 뿐만 아니라 전통 산업의 채택을 저해합니다. 블록체인은 디지털 공간에 법치를 가져옵니다. 단일 참여자가 프로토콜 위에 있다는 아이디어. 이를 복원하고 보존하면 블록체인을 시스템 간 상호 작용의 신뢰 근원으로 실험하게 할 것입니다.
계층화된 정산
전통적인 금융 시스템은 인프라의 여러 계층으로 구축되어 있습니다. 이를 강조하는 것이 중요한 이유는 이 제안이 도입하는 트레이드오프에 대한 상당한 반발이 있을 수 있기 때문입니다. 일부 참여자의 정산 시간이 늘어날 수 있습니다. 빌더가 제공하는 일부 수준의 거래 조정(MEV 비용 부담) 때문에 일부 거래가 실패할 수 있습니다. 거래 수수료가 올라갈 수 있습니다. L1은 즉각적인 정산을 위해 설계되지 않았고 그래서도 안 됩니다. 합의에는 시간이 걸리며 그 속도의 대가는 탈중앙화와 그것이 부여하는 보안입니다. 빌더들은 가치 추출이 우선순위 수수료로 전환되기 때문에 인센티브가 올바르게 조정되면 화가 날 것입니다. 거래량은 L2로 이동할 것입니다. 그러나 이는 L2 중심 확장 로드맵에 건강한 일들입니다.
유동성 풀 가격 발견, 즉 L2 및 유니스왑 롤업과 같은 다른 애플리케이션 체인 간 대규모 매수/매도를 용이하게 하는 것은 가격 발견의 확실성과 정직한 경매로부터 혜택을 받을 것입니다. 대가는 작은 거래가 L1에서 너무 비싸다는 것입니다. 이는 현재 금융 시스템이 작동하는 방식과 유사합니다. 주식은 브로커의 고객을 위해 DTCC에 의해 보유됩니다. 개인이 작은 포지션을 거래하는 것은 비용이 많이 들고 어렵습니다. 왜냐하면 그 수준의 주문장은 매우 큰 수량을 위한 것이기 때문입니다. 브로커는 거래 순서화(때로는 샌드위치 거래)를 통해 이를 용이하게 합니다. 그러나 최종 소비자는 브로커가 도입한 슬리피지 외에는 수수료 없이 거래를 생성할 수 있습니다.
요약하면 합의에는 시간이 걸리며 탈중앙화와 처리량 간의 트레이드오프는 실제로 존재합니다. 장기적으로 프로토콜의 이익을 위해 탈중앙화를 모든 비용으로 보존하는 것이 이더리움을 먼 미래까지 보존할 수 있는 비밀 소스입니다.