^포함자가 냉정하게, 그리고 이더리움의 검열 저항성을 개선하여 보상을 손쉽게 모으는 희귀한 사진입니다.
Thomas Thiery 작성 - 2024년 12월 17일
이 게시물에 대한 피드백과 토론에 참여해 주신 Julian Ma , Barnabé Monnot , Terence Tsao , Jacob Kaufmann 에게 감사드립니다.
소개
최근에 저는 FOCIL 이더리움 개선 제안(EIP)-7805를 통한 거래 포함에 대한 인센티브, 상태 대 포함 사전 확인 , 프로토콜 역할 과의무 의 추가 분리에 대한 논의와 연구를 점점 더 많이 접하게 되었습니다. 상태와 포함을 두 개의 직교적 차원으로 생각하는 것이 향후 프로토콜 개발을 안내하는 데 유용할 수 있다는 것이 점점 더 분명해졌습니다.
면책 조항: 이 게시물에서 나는 포괄 거래와 상태 거래를 구별하기 위해 단순화되고 다소 희화화된 정의를 사용할 것이지만, 실제로는 훨씬 더 미묘한 차이가 있다는 것을 인정합니다.
비공식적인 정의, 속성 및 수명 주기
포함 거래
포함 거래 란, 실행 상태에 관계없이 결과가 동일하게 유지되는 순서 불변 거래(h/t James Prestwich)를 의미합니다. 유일하게 중요한 요소는 블록 어딘가에 포함되어 있다는 것입니다. 예를 들어 커피숍에서 결제하거나 친구에게 토큰을 이체하는 것이 있습니다.
순서 불변 속성 때문에 포함 거래는 일반적으로 공개 mempool로 전송됩니다. 포함하기 전에 거래 정보를 공개적으로 공개하는 것은 아무도 이러한 거래를 악용할 수 없기 때문에 허용됩니다(예: 선행 실행). 본질적으로 MEV(Maximal Extractable Value) (MEV)를 지니지 않기 때문입니다. 포함에 유효한 것으로 간주되려면 이러한 거래는 소비된 가스 단위당 base fee
지불해야 합니다.
EIP-7805 이후의 세계에서 포함 거래는 대부분 FOCIL을 통해 여러 IL 제안자에 의해 Ethereum 블록에 포함됩니다(메모리풀에서 보류 중인 시간 또는 우선 수수료 주문과 같은 포함 규칙을 사용). 이러한 거래는 메모리풀에 공개적으로 브로드캐스트되므로 여러 IL 제안자 중 하나가 포함 목록을 통해 이를 포함할 가능성이 높아집니다.
국가 거래
상태 거래 란 실행 시점의 상태에 따라 결과가 변하는 주문 종속 거래를 의미합니다. 예를 들어, 유니스왑(Uniswap) 과 같은 자동화 시장 메이커 에서 토큰 스왑을 수행하는 거래입니다.
일반 사용자로부터 발생하는 주 거래는 잠재적으로 MEV(Maximal Extractable Value) (MEV)를 지니고 있으며, 검색자가 악용할 수 있습니다(예: 프런트러닝 또는 샌드위치 공격).내용이 포함되기 전에 공개적으로 사용 가능한 경우입니다.이러한 거래는 종종 시간에 민감하며 개인 채널을 통해 전송되어 MEV 보호를 보장하거나 환불을 받는 것이 좋습니다.주 거래가 MEV를 지니고 검색자와 같은 정교한 당사자에게 기꺼이든 아니든 제공되면 일반적으로 다른 거래와 함께 묶여서 창출하는 MEV 기회를 추출합니다.주 거래는 정교한 당사자 자체에서도 발생할 수 있습니다.예를 들어, 다른 거래소 간의 가격 차이를 이용하여 이익을 얻는 중재자가 있습니다.두 경우 모두 주 거래가 MEV 기회를 생성할 때 일반적으로 base fee
외에도 검증자에게 팁( priority fees
또는 코인베이스 전송 사용 형태)이 함께 제공됩니다.
FOCIL은 네트워크 혼잡 시(즉, 블록이 가득 찰 때) 거래 순서나 포함에 대한 어떠한 보장도 제공하지 않기 때문에 EIP-7805 이후의 세계에서 상태 거래에 대한 시장 구조는 크게 변하지 않을 것이라고 가정할 수 있습니다.
포용 거래와 상태 거래의 주요 차이점을 간략하게 요약하면 다음과 같습니다.
- 포함 거래 :
- 블록 에 포함되려면base fees
지불하세요.
-priority fees
사용하여 주문 선호 사항을 표시하지 마십시오.
- 다수의 당사자에게 공개적으로 방송되는 이점을 누리세요.
- 포함을 위해 정교한 행위자에게 의존할 필요가 없습니다.- 국가 거래 :
- 블록 에 포함되려면base fees
지불하세요.
- 블록 의 특정 위치에 해당하는, 실행을 원하는 구체적인 상태에 대한 선호도를 표현하기 위해priority fees
추가합니다.
- 소수의 세련된 파티에 비공개로 파견되는 이점을 누리세요.
참고: 포함 거래는 주문 선호도와 무관한 이유로 우선 수수료를 지불할 수 있습니다. 예를 들어, 블록 생성자 추가 리소스 사용 (예: 블롭에 필요한 추가 전파 시간)에 대해 보상해야 할 수 있습니다. 우선 수수료는 블록 의 특정 배치보다는 더 빠른 포함에 대한 욕구를 나타낼 수도 있습니다. 즉, 거래가 자신의 위치에 관심이 없더라도 지연을 줄이고 더 빨리 포함되기 위해 더 많은 비용을 지불할 의향이 있을 수 있습니다(예: 블롭 거래, 사기 방지 거래).
수수료 확대
기본 및 우선 수수료
이더리움 개선 제안(EIP)-1559가 구현된 이후, 모든 거래(포함 거래와 상태 거래 모두)는 블록 에 포함되는 것으로 간주되기 위해 base fees
지불해야 합니다. 반면, Priority fees
네트워크 혼잡 여부에 따라 다른 용도로 사용될 수 있습니다.
- 혼잡 없음 : 블록 에 보류 중인 모든 거래를 포함할 수 있는 충분한 공간이 있는 경우:
- 포함 거래는 기본 수수료를 지불하는 한 포함되기 때문에 일반적으로 우선 수수료를 지불할 필요가 없으며 블록 의 특정 위치에 삽입되는 것에 관심이 없습니다.
- 국가 거래는 블록 생성자 특정 국가에서 거래를 실행하도록 유도하기 위해 우선 수수료를 지불합니다.
- 혼잡 :
- 그러면 포함 거래는 네트워크가 더 이상 혼잡하지 않을 때까지 기다리기보다는 다음 블록 에 포함될 가능성을 높이기 위해 우선 수수료를 추가하기로 선택할 수 있습니다. 예를 들어 다른 포함 거래보다 앞서서 말입니다.
- 네트워크 혼잡 여부에 관계없이 주정부 거래에는 우선 수수료가 적용됩니다.
여기서 흥미로운 점은 혼잡 기간 동안 상태와 포함 거래 간의 경계가 모호해진다는 것입니다. 모든 거래를 위한 공간이 충분하지 않을 때, 주어진 블록 의 어느 곳에나 포함되기를 원하는 것은 개념적으로 특정 상태에서 실행되기를 원하는 것과 매우 유사해집니다. 따라서 Priority fees
블록 생산자에게 인센티브를 제공하고 블록 에서 유리한 위치를 확보하기 위한 일괄적 메커니즘으로 생각할 수 있습니다.
그러나 혼잡이 없더라도 거래가 블록 에 포함되지 않는 또 다른 명확한 이유가 있습니다. 바로 검열입니다 .
검열 비용
EIP-7805 이후의 세계에서도 거래를 검열하는 방법은 몇 가지가 더 있습니다.
블록 스터핑: FOCIL의 조건부 및 블록 내 어디든 속성을 감안할 때, 제안자는 거래를 제외하면서도 IL 조건을 충족하기 위해 가스 한도까지 블록 을 스터핑할 수 있습니다. 여러 연속 블록을 스터핑하는 비용을 추정하기 위해 다음 공식을 사용했습니다.
\text{블록 채우기 비용} = (\text{가스 한도} - \text{사용 가스}) \times \text{기본 요금} \times \left( \frac{1}{0.125} \times 1.125^N - 1 \right)블록 스터핑 비용 = ( 가스 한도 - 사용된 가스 ) × 기본 요금 × ( 1 0.125 × 1.125 N − 1 )여기서 N N 은 연속된 블록의 수입니다.
아래 그림은 지난 3개월 동안 블록 스터핑의 평균 비용을 추정한 것입니다( Dune 쿼리 기반). 시장 상황과 기본 수수료가 이에 어떻게 영향을 미치는지 강조하고, 여러 블록을 연속으로 스터핑하면 공격자에게 기하급수적으로 더 큰 비용이 드는지 보여줍니다.
슬롯 누락 : 혹은 제안자는 할당된 슬롯에 대한 블록 제안을 건너뛸 수 있으며, 그렇게 되면 합의 (발행)와 실행(MEV) 계층 보상을 모두 포기하게 됩니다. 이는 지난 3개월 동안 평균적으로 블록 당 약
0.04 ETH
에 해당합니다.
위의 두 가지 경우 모두, 거래의 priority fees
높이면 제안자가 해당 거래를 제외하는 데 드는 비용이 더 높아집니다.
- IL 위원회 뇌물 : 마지막으로, 거래를 검열하는 명백한 방법은 모든 IL 제안자에게 IL에 거래를 포함하지 않도록 설득하는 것입니다. 이더리움 개선 제안(EIP)-7805에 따라 IL 제안자는 IL에 거래를 포함하는 데 대해 보상을 받지 못합니다. 실제로 위원회의 모든 IL 제안자를 설득하여 부정직하고 Ethereum 네트워크의 정신에 반하는 행동을 하도록 하는 것은 어려울 수 있습니다. FOCIL을 사용하면 메커니즘이 예상대로 작동하도록 검열 없이 모든 거래를 포함하는 위원회 구성원이 한 명만 있으면 됩니다. 그러나 이론적으로 공격자는 주어진 거래를 제외하기 위해 16명의 위원회 구성원 모두에게 매우 작은 뇌물을 제공할 수 있습니다. IL 제안자가 합리적이라면 0보다 큰 뇌물을 받아들일 수 있습니다.
IL 제안자의 이타적인 행동에 의존하면 거래 검열 시 발생하는 비용을 통제할 방법이 없습니다.
블록 스터핑 | 슬롯이 없습니다 | IL 위원회 뇌물 수수 | |
---|---|---|---|
검열의 비용 | 0.02 to 0.4 ETH | ∼ 0.1 ETH | > 0 ETH |
어떻게 하나요?
포함 수수료
상태 및 포함 거래의 고유한 속성과 수명 주기, 그리고 사용자가 제안자에게 팁을 줄 수 있지만 프로토콜에서 거래를 검열할 때 IL 제안자가 부담하는 비용에는 영향을 미칠 수 없는 불균형을 감안할 때, 한 가지 옵션은 독립적인 포함 수수료(IF) 및 보상 메커니즘을 도입하여 포함 보장과 검열 비용을 늘리는 동시에 제안자 팁으로서 우선 수수료(PF)의 역할을 유지하는 것입니다.
이 접근 방식을 사용하면 사용자가 네트워크 조건(기본 수수료)에 따라 거래를 작성하면서 (1) PF를 통해 특정 상태 에서 실행하고 (2) IF를 통해 포함 보장을 늘리거나 둘 다에 대해 지불할 의향이 있는 금액을 제어할 수 있습니다. 아래 다이어그램에서 거래가 비공개로 블록 생성자 또는 공개 메모풀로 전송되는 방식을 볼 수 있으며, 우선순위 및 포함 수수료를 모두 지정합니다. 거래가 포함 목록(IL)에 추가되고 포함 수수료를 기준으로 내림차순으로 정렬된다고 가정합니다(다음 섹션에서 자세히 설명). 그런 다음 블록 생성자 기본적으로 우선순위 수수료에 따라 또는 MEV 기회에 따라 다른 순서로 전체 페이로드를 정렬하여 IL의 거래와 비공개로 수신한 거래를 통합합니다.
보상 메커니즘
IL 제안자들 사이에 포함 수수료를 분배하는 간단한 방법은 기여도에 따라 비례적으로 할당하여 IL에 거래를 포함한 사람(즉, 조건부 팁 )에게만 보상하는 것입니다. 이렇게 하면 다른 사람이 포함시키고 싶어하지 않는 거래(예: "검열 가능한 거래")를 포함시키려는 인센티브가 더 커집니다.
위의 예에서 IL Proposer 1은 mempool에서 보류 중인 모든 거래를 포함했습니다. 따라서 보상은 다음과 같이 계산됩니다.
- 거래 g: 제안자 4명으로 나눈 6의 포함 수수료 = 6 ⁄ 4 = 1.5 = 6 / 4 = 1.5
- 거래 d: 4의 포함 수수료를 3명의 제안자로 나눈 값 = 4 ⁄ 3 ≈ 1.333 = 4 / 3 ≈ 1.333
- 거래 e: 1의 포함 수수료를 3명의 제안자로 나눈 값 = 1 ⁄ 3 ≈ 0.333 = 1 / 3 ≈ 0.333
- 거래 f: 0의 포함 수수료를 4명의 제안자로 나눈 값 = 0 ⁄ 4 = 0 = 0 / 4 = 0
이를 합산하면 IL 제안자 1은 해당 거래를 IL에 포함시킨 것에 대해 약 1.5 + 1.333 + 0.333 + 0 = 3.166 1.5 + 1.333 + 0.333 + 0 = 3.166 의 보상을 받게 됩니다.
IL 제안자에게 보상하는 대체적 접근 방식으로는 수수료 대신 발행을 사용하고 과거 실적에 따라 보상을 가중하는 것이 있습니다. 또한 이러한 보상 메커니즘은 기존 거래 수수료 메커니즘(TFM)과 독립적이어야 합니다. 즉, 기본 수수료와 우선 수수료 모두와 분리되어야 합니다. 기본 수수료를 IL 제안자에게 보상하기 위해 재활용하려는 시도는 인센티브와 양립할 수 없습니다. 이더리움 개선 제안(EIP)-1559의 경제적 설계는 기본 수수료를 소각하여 블록 생산자가 거래 포함을 조작하고 개인적 이익을 위해 수수료를 부풀리는 것을 방지하기 때문입니다. 기본 수수료가 직접 재분배되지 않도록 함으로써 시스템은 균형 잡힌 인센티브 구조를 유지합니다. 마찬가지로 우선 수수료를 IL 제안자에게 리디렉션하는 모델에 의존하는 것은 네트워크 혼잡으로 인해 실패합니다. 블록 생산자가 더 높은 직접 보상을 위해 IL이 아닌 거래를 포함할 인센티브가 더 커질 것이기 때문입니다.
역할 및 참여자
트랜잭션 포함을 담당하는 프로토콜 참여자(IL 위원회 위원)와 가치 있는 상태 트랜잭션에 집중하는 참여자(제안자)를 더 나아가 분리하는 것이 가능하고 바람직한가? 이제 FOCIL 이후, APS(증명자-제안자 분리) 이후의 세상을 상상해 보자. 이 시나리오에서 우리는 여전히 IL 제안자가 공개 메모풀에서 트랜잭션을 포함 목록에 포함하고 포함 수수료를 통해 보상을 받는다. 그러나 이제 증명자/비콘 제안자, 실행 제안자, 빌더가 분리된다(PBS가 프로토콜에 포함되어 있는지 여부는 이 논의의 이 부분과 관련이 없다).
각 참가자의 책임에 대한 간략한 개요는 다음과 같습니다.
- IL 위원회 위원 :
- 정교함 수준 : 낮음 – IL 제안자는 공개 메모풀에 보류 중인 거래를 포함하는 포함 목록(IL)을 생성합니다.
- 자본 요건 :
- 미디엄(Medium) – maxEB 와 minEB가 구현되는 경우 1 이더리움(ETH) 에서 2,048 이더리움(ETH) 까지.
- 무거운 자본 - 자본 투자되고, 사전에 잠기며, 다른 형태의 부정행위(예: 같은 높이에서 두 개 이상의 별도 블록 제안)에 대해 삭감될 위험이 있지만, 최소한 현재 버전의 FOCIL에서는 IL 특정 의무(예: IL 모호함)를 이행하지 않는 경우에는 삭감되지 않습니다.
- 비콘 제안자 :
- 정교함 수준 : 낮음 – 로컬 뷰에 따라 체인의 헤드를 결정하고 블록 헤더, 증명, 인출, 입금 및 슬래싱 페널티와 같은 모든 합의 관련 정보를 포함하는 비콘 블록 제안합니다. APS 이후 비콘 제안자는 타이밍 게임을 할 인센티브가 없으며 정교하지 않을 수 있습니다.
- 자본 요건 :
- 미디엄(Medium) – maxEB와 minEB가 구현되는 경우 1 이더리움(ETH) 에서 2,048 이더리움(ETH) 까지.
- 무거운 자본 - 자본 투자되고, 사전에 잠기고, 삭감될 위험에 처해 있습니다(예: 같은 높이에서 두 개 이상의 별도 블록 제안하는 경우).
- 증명자 :
- 정교함 수준 : 낮음 – 전체 블록 에 포함된 합의 정보와 실행 정보가 모두 그들의 견해에 따라 유효한지 확인합니다. 올바른 헤드에 구축되고, 유효한 거래를 포함하고, IL 조건을 충족하는 등 모든 유효성 검사를 통과하면 블록 에 투표합니다.
- 자본 요건 :
- 미디엄(Medium) – maxEB와 minEB가 구현되는 경우 1 이더리움(ETH) 에서 2,048 이더리움(ETH) 까지.
- 무거운 자본 - 자본 투자되고, 사전에 잠겨 있으며, 삭감될 위험에 처해 있습니다(예: 다른 헤드 블록을 증명하기 위해).
- 실행 제안자 (실행 제안자 블록 생산을 빌더에게 아웃소싱하지 않는다고 가정) :
- 정교함 수준 : 높음 – 실행 페이로드에 IL 트랜잭션이 포함되어 있는 경우 트랜잭션 포함 및 주문에 대한 최종 권한을 가지고 네트워크에 완전하고 유효한 실행 페이로드를 제안할 책임이 있습니다. 복잡한 전략을 구현하고 MEV를 효율적으로 추출하기 위해 정교한 인프라를 운영해야 합니다.
- 자본 요건 :
- 높음 – 비원자 중재와 같은 고급 MEV 전략을 성공적으로 실행하고 사전 확인과 같은 추가 서비스를 제공하기 위해 실행 제안 권리를 확보하기 위한 충분한 자본 필요합니다.
- Heavy - 실행 제안자도 부정행위에 대한 인센티브를 차단하기 위해 삭감 가능한 자본 필요하지만, 이 요구 사항은 선택된 후에 적용됩니다(증명자 및 보콘 제안자와 대조적으로). 그 시점에서 사전 확인을 확보하고, 놓친 슬롯 페널티를 충당하거나, 입찰에 대한 비용을 지불하기 위해 필요한 자본 모아야 합니다.
흥미롭게도, APS는 증명자와 제안자를 분리함으로써 실행 제안자와 IL 위원회 구성원을 효과적으로 분리합니다. 그러나 다음 섹션에서는 IL 위원회 구성원을 별도의 참여자 계층으로 간주해야 한다고 주장합니다. 그들의 책임은 복잡성이 제한적이고 시스템의 경제적 보안에 직접 관여하지 않기 때문에 증명자와 동일한 자본 요구 사항을 따를 필요가 없습니다.
증명자-포함자 분리
h/t 바르나베
프로토콜 업무에 더 잘 부합하도록 역할을 분리하고 Rainbow Staking 과 같은 계층형 스테이킹 모델과 Orbit 과 같은 검증자 선택 메커니즘에서 영감을 얻어, 우리는 증명자와 IL 위원회 구성원(포함자)을 더욱 분리하는 것을 제안합니다.
첫 번째 원칙에서 생각해 보면, 우리는 증명자와 포함자 모두가 지리적으로 분산되고 정교하지 않기를 원할 것입니다. 그러나 자본 요건과 네트워크 보안에서 그들의 역할의 중요성과 관련하여 이러한 참여자 집합 간에는 몇 가지 중요한 차이점이 있습니다.
- 증명자 :
- 보안 : 전반적으로 증명자는 합의 에 참여하고 Liveness 및 완결성 보장함으로써 네트워크를 보호하는 데 매우 중요한 역할을 합니다. 이 중요한 역할에는 몇 가지 제약이 따릅니다. 예를 들어, 합의 관점에서 최적의 보안이 되지 않을 수 있으므로 증명자를 너무 빨리 회전시키지 않는 것이 중요합니다. 마찬가지로 검증자가 활성 증명자 세트에 너무 빨리 들어가거나 나가기를 원하지 않으므로 출금 및 입금 대기열이 있습니다.
- 자본 요건 : 우리는 증명자가 낮은 잔액(예: 32 이더리움(ETH) )으로 여러 인스턴스를 실행하는 대신 단일 검증자의 잔액을 최대화(예: 최대 2,048 이더리움(ETH) )하여 통합하기를 원합니다. 이 통합을 통해 관리 가능한 수의 참여자로 높은 수준의 경제적 보안을 달성할 수 있으며, 더 빠른 완결성 (예: 3SF )으로 이동하는 데 도움이 됩니다. 또한 증명자는 의도적이든 아니든 의무를 다하지 않는 경우 슬래싱 허용하기 위해 최소한 일부 이더리움(ETH) 를 예치(stake) 으로 보유해야 합니다. 즉, 자본 을 사전에 지분으로 고정해야 합니다(즉, 무겁게).
- IL 위원회 위원 :
- 보안 : IL 위원회 위원은 합의 에 관여하지 않으며 네트워크 보안에 역할을 하지 않습니다. 그들은 단지 공개 mempool에 대한 로컬 뷰를 사용하여 IL에 거래를 포함시켜 검열 저항성을 개선하는 임무를 맡습니다. 게다가 FOCIL이 효과적이려면 IL 제안자 중 n명 중 한 명만 정직하게 IL을 구축하고 빌더가 블록에 포함해야 하는 거래에 제약을 가하면 됩니다.
- 자본 요건 : 이상적으로는, 우리는 누구나 이더리움의 검열 저항에 기여하고자 하는 사람이 예를 들어 0.01 이더리움(ETH) 로 쉽게 기여할 수 있도록 진입 장벽을 매우 낮추고 싶거나, Sybil 저항을 보장하고 참여자가 "그냥 가입"하고 오프라인이 되는 것을 방지하기에 충분한 금액만 있으면 됩니다. IL 위원회는 또한 모든 슬롯을 순환하므로 일종의 포함 수수료가 있는 경우 보상을 놓치는 것 외에는 대기열이나 페널티가 필요하지 않을 가능성이 있습니다.
질문은 다음과 같습니다 . 이러한 차이점으로 인해 특정 의무를 이행하는 두 개의 독립적인 참가자 집단으로 전환하는 것이 타당한가요? 아니면 동일한 참가자 집단으로 유지해야 할까요?
우리는 그렇다고 주장합니다. 최소한의 하드웨어 요구 사항(예: 스마트워치), 간단하고 마찰이 적은 사용자 경험(대기열 없음), 가볍고 최소한 의 자본 요구 사항으로 누구나 "포함자"로서 이더리움의 검열 저항에 참여하고 기여할 수 있도록 하고, 독립적인 거래 수수료 메커니즘(포함 수수료)으로 보상함으로써, 네트워크는 검열 수준에 따라 자체 규제할 수 있습니다. 많은 거래가 검열되는 경우 사용자는 포함 수수료를 인상하여 검열 비용을 높일 수 있습니다. 이러한 높은 수수료가 포함자에게 분배됨에 따라 더 많은 개인이 포함 목록(IL)을 만드는 데 참여하도록 인센티브를 받게 되어 궁극적으로 이더리움의 검열 저항이 향상됩니다. 마지막으로 포함자는 목록에 포함된 특정 거래를 통해 선호도를 공개적으로 밝히지 않고도 네트워크의 검열 저항 속성을 개선하고 체인 중립성을 유지할 수 있어야 합니다. 이를 위해 연결 가능한 링 서명과 익명 브로드캐스트 프로토콜을 결합하여 익명 IL을 활용하여 신원을 보호할 수 있습니다.