Multiple Concurrent Proposers(MCP)는 최근 커뮤니티 내에서 중요한 논의 주제가 되었는데, 특히 BRAID 프로토콜 이 도입되고 DAG 합의 가 부상한 이후입니다. Ethereum에 대한 MCP 찬성 주장은 리더 기반 합의 메커니즘 에 의해 생성된 독점에 초점을 맞추고 있습니다. 여기서 주어진 슬롯의 리더는 상당한 독점적 권한을 부여받습니다. 이러한 권한 집중은 일부 거래에 대한 숏 검열과 같은 문제로 이어집니다.
리더 기반 합의 에서 각 슬롯의 지정된 리더는 블록을 제안할 독점적인 권한을 가지므로 거래 재정렬이나 선행 실행과 같이 이익을 극대화하기 위해 자신의 위치를 이용할 수 있습니다. MCP는 블록 제안 프로세스를 분산하여 주어진 슬롯 동안 단일 제안자가 네트워크에 미칠 수 있는 영향을 줄임으로써 이러한 문제를 완화하는 것을 목표로 합니다.
다중 동시 제안자 경제 순서
n n 을 네트워크의 검증자 수로 표현합니다. 검증자의 하위 집합은 k < n k < n 으로 표시되는 로컬 체인을 유지합니다. 프로토콜은 어느 단계에서 슬롯 i i 에서 모든 로컬 블록체인의 합집합을 선택해야 하며 각 로컬 체인의 트랜잭션 간에 순서 규칙을 적용해야 합니다.
결정적 블록 순서 : 블록과 그 거래를 정렬하기 위해 결정적 규칙이 적용됩니다. MEV-SBC '24 이벤트의 맥락에서 Max는 두 가지 접근 방식을 제안합니다 .
- 우선 순위 수수료에 따른 정렬 : 블록은 거래의 우선 순위 수수료에 따라 정렬됩니다. MEV(MEV(Maximal Extractable Value)) 세금을 적용할 수 있으며, 우선 순위 수수료의 일정 비율이 애플리케이션에 의해 추출되어 재분배됩니다. 이 접근 방식은 제안서 "우선 순위만 있으면 됩니다" 에 자세히 설명되어 있습니다.
- 실행 플래그 : 거래는 특정 유동성 풀(예: UNIv5 풀에서 이더리움(ETH)/USDC 거래)과 상호 작용하는 것과 같은 특정 작업을 나타내는 "실행 플래그"를 설정할 수 있습니다. 블록 주문 규칙이 이러한 플래그가 있는 거래를 만나면 해당 풀과 상호 작용하려는 모든 플래그가 지정된 거래를 끌어와 일괄적으로 실행합니다.
프런트러닝 인센티브를 통한 타이밍 게임
p p가 MCP 프로토콜에 참여하는 제안자이고, 슬롯 i i 동안 로컬 체인에서 블록 제안할 책임이 있다고 하자. 이 블록 제안하는 데는 고유한 지연과 처리 시간이 필요하다는 것을 인정한다. 구체적으로, 이 프로토콜은 p p가 페널티를 받기 전에 \Delta Δ 시간 단위의 최대 허용 지연을 허용한다.
p p는 블록 제안을 \Delta - \epsilon Δ − ϵ (여기서 \epsilon > 0 ϵ > 0 ) 시간 단위까지 전략적으로 지연하기로 선택할 수 있습니다. 이 지연을 통해 p p는 다른 제안자가 제출한 거래의 부분 순서를 관찰하고 계산하여 선두주자 기회를 잠재적으로 활용할 수 있습니다. 블록 제안을 미스슬롯 페널티 바로 앞에 전략적으로 배치함으로써(아무 블록 도 제안되지 않았고 슬롯 i i 에 대해 수락되지 않을 것임), p p는 가스 수수료가 더 높은 거래를 포함할 수 있으며, 이는 선두주자 행동에 참여하고 이 게시물에서 타이밍 게임을 하는 주요 동기를 부여하는 명확한 상황을 제공합니다.
현재의 결정론적 프로토콜 규칙에 따라, 이러한 타이밍 전략은 제안자가 거래 순서를 조작하여 보상을 극대화할 수 있기 때문에 인센티브가 부여됩니다. 이러한 상황은 효과적인 메커니즘의 필요성을 강조합니다. 그러나 보다 강력한 솔루션은 이러한 착취적 행동으로 이어지는 타이밍 게임에 대한 구체적인 인센티브를 제거하기 위해 거래 순서 규칙을 재검토하여 보다 공정하고 안전한 프로토콜을 보장하는 것을 포함할 수 있습니다.
부분적으로 정렬된 데이터 세트(POD)
MCP에 대한 주요 우려 사항 중 하나는 거래 순서를 결정하는 명확하게 정의된 방법이 없다는 것입니다. 순서와 기본 주문 기준이 어떻게 설정될지, 그리고 클라이언트의 영향력이 경매, 지연 고려 사항 또는 스팸 공격 위험과 같은 메커니즘을 통해 어떻게 행사될지는 여전히 불확실합니다. 이는 Phil이 SBC '24에서 강조한 바와 같습니다.
Common Prefix 팀은 검열에 대한 저항성에 초점을 맞춰 리더 기반, 포함 목록 및 리더 없는 합의 모델을 포함한다양한 합의 프로토콜에 대한 철저한 분석을 수행했습니다. 연구 결과로 그들은 부분적으로 정렬된 데이터 세트의 개념을 개발했습니다. 이 모델에서 거래 순서는 클라이언트가 기록한 타임스탬프에 따라 결정되며, 이는 두 거래가 동시에 기록될 때 엄격한 순서가 부족할 수 있습니다. 거래 처리에서 엄격한 순서를 포기하는 것의 의미는 기존 문헌에서 광범위하게 탐구되지 않았거나 적어도 이 문제에 대한 포괄적인 연구를 알지 못합니다.
POD는 쌍 \{(r, T), …, (r', T')\} { ( r , T ) , … , ( r ′ , T ′ ) } 의 유한한 시퀀스입니다. str r r 은 라운드(슬롯)이고 T T는 거래 집합입니다.
기록된 라운드 r_{rec} \leq r_{perf} r rec ≤ r p e r f 에서 새로운 거래가 나타날 수 없는 경우 라운드는 완벽 r_{perf} r p e r f 입니다. 즉 , r_{perf} r p e r f 이전에 순서에 충돌이 없음을 의미합니다.
POD 프로토콜은 다음과 같은 방법을 제공합니다.
- 입력 이벤트
write(tx)
: 클라이언트는write(tx)
호출하여 트랜잭션tx
작성합니다. - 출력 이벤트
write_return(tx, π)
:write(tx)
후 프로토콜은write_return(tx, π)
출력합니다. 여기서π
는 레코드 인증서입니다. - 입력 이벤트
read_perfect()
: 클라이언트는read_perfect()
호출하여 게시판의 거래를 읽습니다. - 출력 이벤트
read_perfect_return(r, D, Π)
:read_perfect()
프로토콜이read_perfect_return(r, D, Π)
을 출력한 후, 여기서r
은 과거 완벽 라운드라고 하는 라운드이고,L
은 거래 집합이며,D
는 POD이고,Π
과거 완벽 인증서입니다.D
의 각 항목(r', T)
에 대해T
의 거래가 라운드r'
에서 마무리되었다고 합니다. - 입력 이벤트
read_all()
: 과거 완벽성을 보장하지 않고 현재 라운드까지의 모든 트랜잭션을 반환합니다. 따라서read_perfect()
보다 더 빠르게 반환할 수 있습니다. - 출력 이벤트
read_all_return(D, Π)
-
identify(π, Π) → P' ⊆ P
: 클라이언트는identify(π, Π) → P' ⊆ P
호출하여 거래 완료를 보증한 당사자 집합P'
식별합니다. 여기서Π
는 POD이고π
는write_return(tx, π)
에서 반환된 인증서입니다.
Liveness 와 Security의 속성은 원본 논문에 자세히 설명되어 있으며, 다음 내용은 이후 주장에서 활용될 것입니다.
공정한 처벌: 악의적인 작업의 결과로 정직한 복제본이 처벌받지 않습니다. π
거래 tx
에 대한 기록 인증서이고 Π
POD D
에 대한 과거 완료 인증서인 identify(π, Π) → P'
인 경우 P'
의 모든 당사자가 tx
와 D
에 서명하는 경우에만 생성될 수 있습니다.
POD의 구성은 다음과 같습니다.클라이언트는 네트워크의 모든 검증자에게 트랜잭션을 보내고 네트워크가 자신의 트랜잭션을 수신했음을 확인하기 위해 n - f n − f 서명을 기다려야 합니다.여기서 f f 는 허용된 비잔틴 검증자의 수입니다.클라이언트가 서명을 받으면 검증자가 트랜잭션을 수신할 때 지연과 차이가 있을 것이므로 수신한 모든 서명의 중간값을 기록합니다.
특정 라운드에 대한 거래 세트를 읽기 위해 클라이언트는 두 가지 옵션을 갖게 됩니다.
- 수신된 tx에 대한 동기성을 믿으십시오. 검증자에게 특정 라운드 r r 에 대한 모든 기록된 거래를 요청합니다. 모든 거래의 n- f n − f 서명을 얻으면 타임스탬프를 기반으로 거래 세트의 중간값을 계산합니다.
- 과거 완료 보장, 비동기성 신봉자: 수신된 r r 값의 최소값인 r_{perf} r p e r f를 가정하면 더 낮은 타임스탬프를 가진 거래가 없을 것입니다. 이제 모든 다가올 거래의 합집합을 취합니다. 이제 클라이언트는 가십 메커니즘을 통해 더 낮은 r_{perf} r p e r f 가 없고 다가올 라운드에 대한 거래가 더 이상 없음을 보장하기 위해 약간의 \delta δ 시간을 기다려야 합니다.
MCP에서 MEV를 완화하는 POD
부분적으로 정렬된 데이터 세트(POD)를 MCP의 기본 데이터 구조로 채택함으로써, 특히 이전에 설명한 MEV 게임 유형을 완화할 수 있는 잠재력과 관련하여 광범위하게 연구되지 않았던 새로운 접근 방식을 도입했습니다.
POD에서 거래는 타임스탬프를 기준으로 결정적으로 정렬됩니다. 이 접근 방식은 여러 거래가 동일한 타임스탬프를 공유하는 경우를 처리하거나 그러한 발생 가능성을 평가해야 하지만, 이전에 다른 제안자 블록 거래에 대해 설명한 타이밍 게임의 선두주자 인센티브의 역학을 근본적으로 변경합니다.
슬롯 m m 에서 악의적인 제안자가 다른 거래를 앞지르거나 샌드위치하려고 시도하는 시나리오를 고려하십시오. 경매와 우선 수수료를 기반으로 하는 이전의 결정적 순서에 따라 제안자가 다른 사람을 앞지르거나 지연 시간을 악용하여 순서에서 자신의 위치를 조작할 수 있었기 때문에 이러한 공격이 가능했습니다. 그러나 POD에 구현된 타임스탬프 기반 순서에서는 이 전략이 크게 변경됩니다. MEV를 추출하기 위해 POD 또는 타임스탬프 순서에 어떤 전략을 적용할 수 있는지, 그리고 설명된 게임과 비교하여 네트워크의 복지가 더 나쁜지 아는 것은 여전히 미해결 문제입니다.
이 새로운 설정에서 슬롯의 마지막 제안자가 되면 실제로 그 제안자는 거래 주문 내에서 마지막 위치에 놓이게 되어 모든 노드에서 정직함을 전제로 선행 실행이나 샌드위치에 참여할 수 있는 능력이 제한됩니다. 대신, 그들은 선행 실행이나 샌드위치보다 일반적으로 덜 해롭다고 여겨지는 백러닝만 수행할 수 있습니다. 주문 전략의 이러한 변화는 이러한 더 위험한 형태의 MEV 악용 위험을 효과적으로 줄일 수 있습니다.
악의적인 검증자가 제안자에게 뇌물을 주어 거래 순서를 조작하려고 시도하는 경우, 검증자에게 슬래싱 적용해야 합니다. 이러한 페널티를 부과함으로써 프로토콜은 악의적인 행동을 억제하고 거래 주문 프로세스의 무결성이 유지되도록 합니다. 향후 다음 질문 중 하나는 거래 기록에서 나쁜 행동을 어떻게 감지할 수 있는가입니다. 터키의 방법을 적용하는 것이 가능한 옵션이며, 이상치는 악의적인 기록이라고 가정합니다.
하지만 상황은 보이는 것보다 더 복잡합니다. 트랜잭션 순서가 지연 시간에 영향을 받는 검증자를 위한 새로운 게임으로의 전환은 추가적인 과제를 도입합니다. 검증자는 이제 다른 검증자 또는 네트워크 노드와의 지리적 근접성이 이점을 얻는 데 중요한 요소가 되는 지연 게임에 참여할 수 있습니다. 이를 완화하려면 검증자가 여러 지역에 걸쳐 잘 분산되어 있는지 확인하는 것이 필수적입니다.
검증자를 지리적으로 분산시키면 지연 기반 이점의 영향을 줄이는 데 도움이 됩니다. 동일한 위치에 클러스터링된 검증자는 중앙화 위험으로 이어질 수 있으며, 몇몇 검증자가 저지연 연결로 인해 네트워크를 지배할 수 있습니다. 이러한 중앙화는 거래 주문의 공정성을 훼손하고 잠재적으로 검열 위험을 다시 초래할 수 있습니다.
게다가 검증자는 동일한 위치를 공유하지 않으려는 인센티브를 받는데, 그렇게 하면 백러닝과 그러한 기회를 잡기 위해 액세스할 수 있는 거래의 고유성이 감소하기 때문입니다. 동일한 지역에서 더 많은 검증자가 운영할수록 각자가 캡처할 수 있는 고유한 거래가 줄어들어 거래 수수료로 인한 수익이 감소합니다. 이는 더 많은 검증자에게 분배되어야 하기 때문입니다. 이러한 역동성은 검증자가 분산되도록 장려하여 지연 기반 게임과 권력의 중앙 집중화로부터 더 잘 보호되는 보다 분산되고 회복성 있는 네트워크를 육성합니다. 그러나 현재의 인센티브는 여전히 약하고 향후 작업은 비중앙화에 대한 더 나은 인센티브를 제공하는 방법에 달려 있습니다.