Paradigm:MEV-Boost와 합의 메커니즘 간의 관계 탐구
原文标题:《시간, 슬롯 및 이더리움 지분 증명에서 사건의 순서》
原文作者:Georgios Konstantopoulos、Mike Neuder,Paradigm
原文编译:wesely,GWEI Research
4월 2일, 악의적인 이더리움 네트워크 참여자가 mev-boost-relay의 취약점을 이용해 한 MEV 검색자로부터 2000만 달러를 훔쳤습니다(Flashbots의 사후 분석 참조). 이후 며칠 동안 개발자들은 이 버그를 수정하기 위해 다섯 개의 패치를 발표하였고, 기존의 네트워크 지연 및 검증자 전략과 결합하여 4월 6일 이더리움 네트워크에 짧은 불안정 기간을 초래했습니다. 재조직은 네트워크 건강에 해롭습니다. 왜냐하면 블록 생산성을 저하시켜 결제 보증을 감소시키기 때문입니다.
이 문서는 mev-boost와 합의 간의 상호작용을 탐구하고, 이더리움 지분 증명 메커니즘의 미묘한 점을 드러내며, 몇 가지 가능한 진전 방향을 나열하는 것을 목표로 합니다. 우리는 검색자가 공격을 받고 네트워크가 일시적으로 불안정해진 사건에서 영감을 받았습니다.
mev-boost란 무엇이며 왜 중요한가?
mev-boost는 Flashbots와 커뮤니티가 설계한 프로토콜로, 최대 추출 가치(MEV)가 이더리움 네트워크에 미치는 부정적인 영향을 완화하기 위해 고안되었습니다.
mev-boost에는 세 가지 역할이 있습니다:
- Relays - 서로 신뢰하는 경매자가 제안자를 블록 생성자와 연결합니다.
- Builders - 자신과 제안자의 MEV를 극대화하기 위해 블록을 구축하는 복잡한 실체입니다.
- Proposers - 이더리움 지분 증명 검증자입니다.
각 블록의 대략적인 사건 순서는 다음과 같습니다:
- Builders는 사용자, 검색자 또는 기타(사적 또는 공적) 주문 흐름에서 거래를 수신하여 블록을 생성합니다.
- Builders는 해당 블록을 Relay에 제출합니다.
- Relays는 해당 블록이 유효한지 증명하고 제안자에게 얼마나 많은 수수료를 지불할지 계산합니다.
- Relay는 현재 슬롯의 제안자에게 "blinded" 헤더와 지불 가치를 전송합니다.
- 제안자는 그들이 받은 모든 입찰을 평가하고 최고 지불과 관련된 blinded 헤더에 서명합니다.
제안자는 이 서명된 헤더를 다시 중계 사이트로 보냅니다.
해당 블록은 중계가 자신의 로컬 신호 노드를 사용하여 게시하고 제안자에게 반환됩니다. 보상은 해당 블록 내에서 거래 및 블록 보상을 통해 Builders와 제안자에게 분배됩니다.
Relay는 제안자로부터 블록 공간에 대한 공정한 교환을 촉진하고 MEV 추출을 위한 거래 순서를 제공하는 서로 신뢰하는 제3자입니다. Relay는 Builders를 MEV 도난으로부터 보호하며, 여기서 Proposers는 MEV를 얻기 위해 Builder 거래를 복제하는 대신 이를 발견한 검색자/Builder에게 분배합니다. Relay는 Proposers가 Builder 블록의 유효성을 확인하고, 각 슬롯에서 수백 개의 블록을 처리하며, Proposer의 지불 정확성을 보장합니다.
mev-boost는 모든 제안자가 Builders나 검색자와 신뢰 관계를 구축하지 않고도 MEV에 민주적으로 접근할 수 있게 해주는 핵심 프로토콜 인프라입니다. 이는 이더리움의 장기적인 탈중앙화에 기여합니다.
이더리움의 분기 선택 규칙과 mev-boost
우리가 공격과 대응에 대해 깊이 들어가기 전에, 이더리움의 지분 증명(PoS) 메커니즘과 관련된 분기 선택 규칙을 살펴보겠습니다. 분기 선택 규칙은 네트워크가 체인 헤드에 대해 합의에 도달할 수 있게 합니다. "합병 후 이더리움 재조직"에 따르면:
분기 선택 규칙은 클라이언트가 평가하는 함수로, 이미 본 블록과 기타 메시지를 입력으로 받아 클라이언트에게 "정식 체인"이 무엇인지 출력합니다. 분기 선택 규칙이 필요한 이유는 선택할 수 있는 여러 유효한 체인이 있을 수 있기 때문입니다(예: 동일한 부모를 가진 두 개의 경쟁 블록이 동시에 발표되는 경우).
분기 선택 규칙에 대해 덜 알려진 한 가지 측면은 시간과의 관계로, 이는 블록 생산에 중대한 영향을 미칩니다.
슬롯 및 서브 슬롯 주기
이더리움 PoS에서 시간은 12초 간격으로 슬롯으로 나뉩니다. PoS 알고리즘은 무작위로 검증자가 해당 슬롯에서 블록을 제안하도록 지정합니다; 이 검증자는 제안자라고 불립니다. 같은 슬롯 내에서 다른 검증자들은 그들의 로컬 뷰에서 체인 헤드가 위치한 최신 버전의 블록을 지지하기 위해 fork-choice 규칙을 적용하여 투표하는 임무를 부여받습니다. 12초 간격은 세 단계로 나뉘며, 각 단계는 4초를 소모합니다.
슬롯 내에서 발생하는 사건은 다음과 같습니다. 여기서 t=0은 슬롯의 시작을 나타냅니다.

슬롯 내에서 가장 중요한 순간은 t=4의 인증 마감 시간입니다. 만약 인증 검증자가 인증 마감 시간 이전에 블록을 보지 못하면, 그들은 체인에서 이전에 수용된 헤드에 투표할 것입니다(분기 선택 규칙에 따라). 블록이 더 일찍 제안될수록 더 많은 시간 동안 전파되므로 더 많은 증인을 축적하게 됩니다(더 많은 검증자가 인증 마감 시간 이전에 이를 보았기 때문입니다).
네트워크 건강의 관점에서 블록 발표의 최적 시간은 t=0입니다(규범에서 지정됨). 그러나 시간이 지남에 따라 블록의 가치가 단조롭게 증가함에 따라 제안자는 더 많은 MEV가 축적될 수 있도록 블록 발표를 지연할 동기를 갖습니다. 자세한 내용은 지분 증명에서의 타이밍 게임 및 이 논의를 참조하십시오.
역사적으로 인증 마감 이후, 심지어 슬롯 종료에 가까운 시점에서도 제안자는 블록을 발표할 수 있었습니다. 단, 다음 검증자가 후속 슬롯 블록을 구축하기 전에 해당 블록을 관찰해야 합니다. 이는 부모 블록이 무게를 상속하고 분기 선택 규칙이 리프 노드에서 종료되기 때문에 지연된 블록 발표가 부정적인 영향을 미치지 않도록 합니다. 합리적 행동(블록 발표 지연)을 촉진하기 위해 "정직한 재조직"이 시행되었습니다.
제안자 강화 및 정직한 재조직
두 가지 새로운 개념이 합의 클라이언트에 도입되어 인증 마감일에 중요한 영향을 미칩니다.
- 제안자 강화(PR) - 제안자에게 전체 증명 무게의 40%에 해당하는 분기 선택 "강화"를 부여하여 재조직 균형 공격을 최소화하려고 시도합니다. 중요한 것은, 이 강화는 단지 하나의 슬롯 동안만 지속됩니다.
- 정직한 재조직(PR) - 제안자 강화를 채택하고 정직한 제안자가 이를 사용하여 20% 미만의 인증 무게를 가진 블록에 대해 재조직을 강제할 수 있도록 합니다. 이는 Lighthouse와 Prysm에서 구현되었습니다(버전 4.0-Capella 출시 이후). 이 변경은 선택 사항이며, 제안자가 내리는 로컬 결정에 의해 이루어지며, 검증자 행동에 영향을 미치지 않습니다. 따라서 모든 클라이언트에 동시에 출시하기 위한 조정 노력이 없었고, 특정 하드 포크와 관련이 없습니다.
특정 특별한 경우에는 정직한 재조직을 피해야 합니다:
- 시대 경계 블록 동안
- 체인이 완료되지 않은 경우
- 체인 헤드가 재조직 블록 이전 슬롯에서 가져온 경우
조건 3은 정직한 재조직이 체인에서 단일 블록만 제거되도록 보장하며, 이는 차단기가 되어 체인이 극단적인 네트워크 지연 동안 블록 생성을 계속할 수 있게 합니다. 이는 또한 제안자가 자신의 네트워크 뷰에 대한 신뢰가 감소했음을 반영합니다. 왜냐하면 그들은 더 이상 자신의 제안자 강화 블록이 규범으로 간주될 것인지 확신할 수 없기 때문입니다.
아래의 차트는 정직한 행동이 재조직 전략을 시행하기 위해 어떻게 변화하는지를 보여줍니다.

이 경우, b1은 늦게 도착한 블록을 나타냅니다. 지연으로 인해 b1은 n번째 슬롯에서 19%의 증명 무게만 가집니다. 나머지 81%의 증명 무게는 부모 블록 HEAD에 할당됩니다. 왜냐하면 많은 검증자가 인증 마감 시간 이전에 b1을 보지 못했기 때문입니다.
정직한 재조직이 없다면, n+1번째 슬롯에서 제안자는 b1을 체인 헤드로 보고 서브 블록 b2를 구축할 것입니다. 비록 그것이 19%의 증명 무게만 가지고 있지만, 제안자는 b1을 재조직하려고 하지 않을 것입니다. n+1번째 슬롯 동안 b2는 제안자 강화 기능을 가지며, 제시간에 제출된다면 이 슬롯의 대부분 인증을 축적하여 규범이 됩니다.
정직하게 재조직하면 상황이 크게 달라집니다. 이제 n+1번째 시간대의 제안자는 b1의 19% 인증 무게가 재조직 임계값 이하임을 발견하고, 따라서 HEAD를 b2의 부모로 하여 새로운 블록을 구축하고 b1을 강제로 재조직합니다. n+1 시간대의 인증 마감일에 도달했을 때, 정직한 검증자는 b2(40%는 제안자 강화에서 온)와 b1(19%)의 상대적 무게를 비교합니다. 모든 클라이언트가 제안자 강화를 실행하므로 b2는 체인 헤드로 간주되며, 슬롯 n+1의 인증을 축적합니다.
언바인드 공격에 대한 중계 및 신호 노드 수정
4월 2일의 언바인드 공격에서 제안자는 중계의 취약점을 이용하여 중계에 무효 서명 헤더를 전송하여 공격을 감행했습니다. 이후 며칠 동안 중계 및 핵심 개발 팀은 반복 공격의 위험을 완화하기 위해 여러 소프트웨어 패치를 발표했습니다. 다섯 가지 주요 변화는 다음과 같습니다:
- Relay 변경:
- 알려진 악의적 제안자가 데이터베이스에 존재하는지 확인합니다(생산 환경에서 초음파 중계만 사용되며 삭제됨).
- 해당 시간대에 전체 블록이 P2P 네트워크에 전달되었는지 확인합니다.
- 블록을 발표하기 전에 0-500ms 범위 내의 통일된 무작위 지연을 도입합니다(모든 중계기에서 제거됨).
- 신호 체인 노드 변경(중계 신호 체인 노드에만 해당):
- 신호 블록을 방송하기 전에 그 유효성을 검증합니다.
- 블록을 발표하기 전에 네트워크에 동등한 것이 있는지 확인합니다.
이러한 변화의 조합은 합의 불안정을 초래하였고, 현재 대부분의 검증자는 위에서 언급한 정직한 재조직 전략을 사용하여 이러한 상황을 더욱 악화시켰습니다.
예상치 못한 결과
위의 5개 변경 사항 각각은 중계 블록 발표의 핫 경로에서 지연 시간을 증가시켜, 중계 블록이 증명 마감일을 초과하여 방송될 가능성을 높입니다. 아래 그림은 이 다섯 가지 검사의 순서와 지연 도입이 블록 발표가 증명 마감일을 초과하게 만드는 방법을 보여줍니다.
이러한 검사를 시행하기 전에는 서명된 헤더의 도착 시간이 t=0(예: t=3)보다 상당히 늦어지는 경우 일반적으로 문제가 발생하지 않았습니다. 중계 오버헤드는 매우 낮기 때문에 t=4 이전에 블록이 발표됩니다.
그러나 이 다섯 개의 패치로 도입된 지연 시간이 증가함에 따라, 중계는 이제 지연 방송에 부분적으로 책임이 있을 수 있습니다. 다음 가정 상황에서 블록 발표를 살펴보겠습니다.

중계는 t=3에서 제안자로부터 서명된 헤더를 수신합니다. t=4에 도달했을 때, 중계는 여전히 검사를 수행하고 있으므로 방송은 증명 마감일 이후에 발생합니다. 이 경우, 제안자가 서명된 헤더를 늦게 보내고 중계가 추가적인 지연을 도입한 것이 결합되어 증명 마감일을 놓치게 됩니다. 정직한 재조직이 없다면, 이러한 블록은 체인에 들어갈 가능성이 높습니다. 우리가 그림 2에서 본 것처럼, 이후 슬롯의 정직한 제안자는 시간이 너무 늦어 거부된 블록을 의도적으로 재조직하지 않을 것입니다. 그러나 정직한 재조직이 있는 경우, 증명 마감일을 놓치는 것은 해당 블록이 다음 제안자에 의해 재조직될 것임을 의미합니다.
따라서 공격 후 며칠 내에 분기 블록 수가 급증했습니다.

Metrika 2주 데이터에 따르면, 최악의 경우 한 시간 내에 13개의 블록(4.3%)이 재조직되었으며, 이는 정상적인 경우보다 약 5배 많습니다. 중계가 다양한 변화를 도입함에 따라 분기 블록 수의 급증이 뚜렷해졌습니다. 중계 운영자와 핵심 개발자들은 영향을 이해한 후 많은 변경 사항을 철회하여 네트워크가 건강한 상태로 복귀하도록 하기 위해 커뮤니티의 큰 노력을 기울였습니다.
오늘날 가장 유용한 변경 사항은 신호 노드 블록 검증 및 방송 전에 동등한 검사를 수행하는 것입니다. 악의적인 제안자는 더 이상 중계에 무효 헤더를 전송하고 중계 신호 노드가 발표 전에 동등한 블록을 보지 않도록 하여 공격을 수행할 수 없습니다. 그럼에도 불구하고, 해당 중계는 Mev-boost 및 ePBS 중개 공격이 제시하는 보다 일반적인 동등 공격에 여전히 취약합니다.
그렇다면 우리는 무엇을 해야 할까요?
이 글에서는 mev-boost의 작동 방식과 그것이 이더리움 합의에 미치는 중요성을 강조했습니다. 또한 시간과 관련된 이더리움 분기 선택 규칙의 덜 알려진 측면을 자세히 설명했습니다. 분할 공격과 개발자의 대응을 사례 연구로 사용하여, 우리는 분기 선택 규칙에서 시간과 관련된 측면의 잠재적 취약성과 그것이 네트워크 안정성에 미치는 영향을 강조했습니다.
이에 따라 연구계는 "허용 가능한" 재조직 수를 평가하고, 일반적인 경우 동등 공격이 초래하는 위험을 고려하여 완화 조치를 시행할 필요가 있는지를 결정해야 합니다.
또한 현재 여러 미래 방향을 적극적으로 탐색하고 있습니다:
- mev-boost를 동등 공격으로부터 보호하기 위해 "headlock"을 구현합니다. 이는 합의 클라이언트 소프트웨어를 변경해야 하며, 증명 마감일을 연장하기 위한 규범 변경이 필요할 수 있습니다.
- mev-boost 소프트웨어에 대한 취약점 보상 프로그램의 수와 가시성을 증가시킵니다.
- 서브 슬롯 타이밍이 네트워크 안정성에 미치는 영향을 탐색하기 위해 시뮬레이션 소프트웨어를 확장합니다. 이는 증명 마감일을 조정하여 재조직을 줄이는 방법을 평가하는 데 사용할 수 있습니다.
- 중계에서 블록 발표 경로를 최적화하여 불필요한 지연을 줄입니다. 이는 이미 연구 중입니다.
- mev-boost가 핵심 프로토콜 기능임을 인식하고 이를 합의 클라이언트에 통합합니다. 즉, enshrined-PBS(ePBS). 두 슬롯의 ePBS는 동등 공격에 취약하므로 "headlock"을 구현하는 것이 여전히 선택 사항입니다.
- 지연 및 증명 마감일 문제를 기반으로 더 많은 hive 및/또는 규범 테스트를 추가합니다.
- 중계 규범의 다른 구현을 구축하여 중계 클라이언트의 다양성을 촉진합니다.
- 동등 처벌 조정에 대해 고려하되, 극단적인 MEV 기회가 존재할 때는 32 ETH를 완전히 삭감하더라도 악의적 행동을 막지 못할 수 있음을 기억합니다.
전반적으로 우리는 MEV 및 mev-boost 생태계 주변에서 재발생한 에너지를 기대하고 있습니다. 분할 공격과 완화 조치를 통해 우리는 지연, mev-boost 및 합의 메커니즘 간의 중요한 관계를 이해하게 되었으며, 프로토콜이 지속적으로 강화되기를 희망합니다.
Bert Miller, Danny Ryan, Alex Stokes, Francesco D'Amato, Michael Sproul, Terence Tsao, Frankie, Joachim Neu, Chris Hager, Matt Garnett, Charlie Noyes 및 samczsun의 피드백에 깊이 감사드립니다.








