이더리움 개선 제안(EIP)-8077: 논스 갭 시뮬레이션 보고서
요약 보고서
본 보고서는 샤딩된 블롭 멤풀 환경에서 논스 갭 발생 빈도를 분석한 몬테카를로 시뮬레이션 결과를 제시합니다. 논스 갭은 동일한 송신자로부터 발생한 연속적인 블롭 트랜잭션(유형 3)이 동일한 슬롯 내에서 서로 다른 샤드에 할당될 때 발생하며, 블록 제안자에게 트랜잭션 순서 문제를 야기할 수 있습니다.
주요 결과: 무작위 샤드 할당 시, 상당한 비율의 블롭 트랜잭션(최악의 경우 최대 약 36%)이 논스 (논스) 불일치의 영향을 받습니다. 이러한 불일치의 빈도는 샤드 수와 송신자 간 트랜잭션 분포의 불균형에 따라 달라집니다. 이는 이더리움 개선 제안(EIP)-8077에서 제안된 바와 같이 개선된 트랜잭션 공지 메커니즘의 필요성을 강조합니다.
1. 동기: 이더리움 개선 제안(EIP)-8077 지원
1.1 범위: Blob 트랜잭션 및 멤풀 샤딩
이 분석은 이더리움 개선 제안(EIP)-4844에서 도입된 유형 3 트랜잭션(블롭 트랜잭션) 에만 초점을 맞춥니다. 일반 트랜잭션 메모리 풀이 아닌 블롭 메모리 풀 의 샤딩을 특별히 살펴보는 이유는 다음과 같습니다.
- 블롭 크기 : 각 블롭은 128KB로, 일반적인 트랜잭션(일반적으로 1KB 미만)보다 훨씬 큽니다.
- 대역폭 소비 : 블롭 전파가 네트워크 대역폭 사용량의 대부분을 차지합니다.
- 확장성 압력 : L2 도입이 증가함에 따라 블롭 수요가 증가하므로 멤풀 샤딩이 필수적입니다.
- 송신자 집중 현상 : Blob 트랜잭션은 주로 L2 시퀀서(Base, 옵티미즘(Optimism), 아비트럼(Arbitrum) 이더리움 클래식(ETC))에서 발생하므로 송신자 분포가 매우 불균형적입니다.
블롭 메모리 풀을 샤딩하면 노드가 블롭의 하위 집합을 구독할 수 있으므로 네트워크 연결성을 유지하면서 대역폭 요구 사항을 줄일 수 있습니다. 그러나 이로 인해 본 연구에서 정량화하는 논스 갭 문제가 발생합니다.
1.2 문제점
이더리움 개선 제안(EIP)-8077은 이더리움의 devp2p 프로토콜을 확장하여 거래 공지에 발신자 주소와 논스) 정보를 포함하도록 제안합니다. 본 시뮬레이션 연구는 이러한 개선이 필요한 이유에 대한 정량적 근거를 제시합니다.
샤딩된 블롭 멤풀에서 동일한 발신자(예: L2 시퀀서)의 블롭 트랜잭션은 서로 다른 샤드에 분산되거나 다른 시간에 도착할 수 있습니다. 블록 제안자가 블롭 트랜잭션을 수신하면 다음을 수행해야 합니다.
- 각 송신자에 대해 논스 기준으로 거래 순서를 올바르게 정렬하십시오.
- 거래가 일시적으로 포함되지 않게 되는 논스 공백을 식별합니다.
- 기존 공백을 메우는 트랜잭션을 새로운 공백을 만드는 트랜잭션보다 우선적으로 가져오세요.
공지사항에 발신자 및 논스 정보가 없는 경우 노드는 다음을 수행해야 합니다.
- 논스 간격이 발생할 위험을 감수하면서 트랜잭션을 무작정 가져오세요.
- 비효율적인 시행착오 방식을 사용하여 부족한 부분을 채우세요.
- 대규모 트랜잭션 해시 캐시를 유지 관리합니다.
- 소스 주소별 선택적 가져오기 기회를 놓치고 있습니다.
1.3 이 연구가 중요한 이유
이 시뮬레이션은 현실적인 조건에서 논스 갭 문제의 규모를 정량화합니다.
- 높은 데이터 왜곡도와 높은 샤드 수를 가진 시나리오에서는 최대 36%의 거래가 논스 (논스) 차이의 영향을 받을 수 있습니다.
- 왜곡도는 갭 빈도에 상당한 영향을 미칩니다 . 주요 송신자(Base, 옵티미즘(Optimism), 아비트럼(Arbitrum) 과 같은 주요 L2 시퀀서)가 지배적인 네트워크는 더 높은 갭 발생률을 보입니다.
- 동일 슬롯 분석은 제안자에게 중요한 요소, 즉 단일 블록 건설 기간 내의 공백에 초점을 맞춥니다.
이러한 결과는 이더리움의 규모가 커질수록(샤드 수 증가, 처리량 향상) 지능적인 트랜잭션 가져오기가 매우 중요해진다는 것을 보여줍니다. 이더리움 개선 제안(EIP)-8077의 메타데이터는 노드가 어떤 트랜잭션을 가져올지 정보에 입각한 결정을 내릴 수 있도록 지원하여 대역폭 낭비를 줄이고 멤풀 일관성을 향상시킵니다.
1.4 이더리움 개선 제안(EIP)-8077에 대한 주요 시사점
| 발견 | 이더리움 개선 제안(EIP)-8077에 대한 시사점 |
|---|---|
| 최대 36%의 격차율 | 스마트 페칭이 없으면 블롭 트랜잭션의 상당 부분이 영향을 받습니다. |
| 왜곡도가 중요합니다 | 대용량 L2 시퀀서(Base, 옵티미즘(Optimism), 아비트럼(Arbitrum) )가 불균형적으로 영향을 받았습니다. |
| 동일 슬롯 간 간격은 흔한 현상입니다. | 제안자는 효율적인 블록 구축을 위해 실시간 논스 정보가 필요합니다. |
| 파편이 많을수록 틈도 많아집니다. | 블롭 멤풀 샤딩이 증가할수록 문제가 악화됩니다. |
2. 시뮬레이션 매개변수
2.1 설정 가능한 매개변수
| 매개변수 | 값 | 설명 |
|---|---|---|
| 슬롯 수 | 216,000 | 30일 분량의 슬롯 |
| 슬롯당 평균 TX | 14 | 슬롯당 목표 평균 거래량 |
| 슬롯당 최대 TX | 21 | 슬롯당 최대 트랜잭션 수(체인 용량) |
| NUM_SENDERS | 100 | 고유 발신자 수 |
2.2 파생값
| 미터법 | 값 |
|---|---|
| 시뮬레이션 기간 | 30일 |
| 시간당 슬롯 수 | 300 |
| 시간당 거래 수 | 6,300 |
| 총 거래 건수 (대략) | 약 3백만 |
2.3 샤드 구성
여섯 가지 샤드 구성이 테스트되었습니다.
| 구성 | 파편의 개수 |
|---|---|
| 1 | 1 (기준선) |
| 2 | 2 |
| 3 | 4 |
| 4 | 8 |
| 5 | 16 |
| 6 | 32 |
2.4 왜곡 구성
지수 감소 함수 P(i) = exp(-λ * i) 사용하여 6가지 발신자 분포 패턴을 모델링했습니다.
| 왜곡도 수준 | 감쇠율(λ) | 설명 |
|---|---|---|
| 매우 높음 | 0.15 | 몇몇 주요 송신원(예: Base, 옵티미즘(Optimism) 과 같은 주요 L2)에 극도로 집중 |
| 높은 | 0.10 | 높은 농도 (예: 여러 개의 활성 L2 시퀀서) |
| 미디엄(Medium) | 0.07 | 중상위 농도 |
| 미디엄(Medium) | 0.04 | 중저농도 |
| 낮은 | 0.02 | 약간의 집중 |
| 제복 | 0.00 | 모든 발신자에게 동일한 확률이 부여됩니다. |
3. 방법론
3.1 시간에 따른 거래 분포
실제 네트워크 활동을 시뮬레이션하기 위해 거래는 시뮬레이션 기간 동안 무작위적이고 비주기적인 패턴 으로 분산됩니다.
- 무작위 기본 노이즈 : 각 슬롯은 목표 평균을 중심으로 하는 무작위 거래율로 시작합니다.
- 무작위 활동 버스트 : 지속 시간(50~2000 슬롯)과 강도(1.2배~2.0배)가 다양한 200개의 무작위 활동 버스트
- 무작위 활동 감소 구간 : 지속 시간(100~1500개 슬롯)과 강도(0.3배~0.7배)가 다양한 무작위 활동 감소 구간 100개
- 용량 제한 : 모든 슬롯은 MAX_TX_PER_SLOT으로 제한됩니다.
그림 1: 30일 시뮬레이션 기간 동안의 거래율. 무작위적인 급증과 감소가 나타남(인위적인 주기성 없음).
3.2 발신자 분포
발신자 i 가 거래를 보낼 확률은 지수 분포를 따릅니다.
P (sender = i) = exp (-λ * i) / Σ exp (-λ * j) 여기서 λ 는 왜곡도를 제어하는 감쇠율입니다.
그림 2: 다양한 왜곡 수준에 따른 발신자별 거래 빈도의 변화를 보여주는 확률 분포.
그림 3: 각 배포 유형별 발신자당 거래 건수(절대 수치).
3.3 동일 발신자 간 거래 거리
논스 갭 빈도에 영향을 미치는 중요한 요소는 동일한 발신자가 동일한 슬롯 내에서 여러 거래를 수행하는 빈도입니다. 이는 분포의 비대칭성에 따라 달라집니다.
그림 4: 동일 발신자로부터의 연속 거래 간 슬롯 거리 분포. 분포가 더 비대칭적일수록 거리가 짧아집니다(동일 슬롯 쌍이 더 많음).
3.4 샤드 할당
각 거래는 무작위로 균일하게 샤드 에 할당됩니다.
shard = random.randint( 0 , num_shards - 1 )이는 샤드 할당이 발신자 ID와 무관한 시나리오를 모델링한 것입니다.
3.5 논스 갭 측정
핵심 설계 결정 : 동일한 슬롯 내에서 발생하는 연속적인 동일 발신자 거래 사이의 논스 간격만 계산합니다. 그 이유는 다음과 같습니다.
- 각기 다른 슬롯은 서로 다른 제안자에 의해 구축됩니다.
- 제안자는 자신의 블록 내의 논스 간격에만 관심을 갖습니다.
- 블록 쌓기에서 가로 홈의 간격은 중요하지 않습니다.
우리가 측정하는 지표는 다음과 같습니다.
Nonce Gap Frequency = (Shard Switches in Same-Slot Pairs) / (Total Transactions)이는 동일 슬롯 논스 갭에 관련된 모든 거래의 비율을 나타냅니다.
4. 결과
4.1 논스 갭 빈도 히트맵
그림 5: 모든 샤드 및 스큐니스 구성에 걸쳐 논스 갭 빈도(총 트랜잭션 대비 백분율)를 보여주는 히트맵.
4.2 수치 결과
| 파편 | 매우 높음 | 높은 | 미디엄(Medium) | 미디엄(Medium) | 낮은 | 제복 |
|---|---|---|---|---|---|---|
| 1 | 0.0% | 0.0% | 0.0% | 0.0% | 0.0% | 0.0% |
| 2 | 18.6% | 13.7% | 10.8% | 6.9% | 4.6% | 3.6% |
| 4 | 27.6% | 21.1% | 16.1% | 10.5% | 7.0% | 5.5% |
| 8 | 32.3% | 24.4% | 19.0% | 12.2% | 8.1% | 6.4% |
| 16 | 34.6% | 26.0% | 19.8% | 12.8% | 8.8% | 6.7% |
| 32 | 36.0% | 27.2% | 20.9% | 13.5% | 9.1% | 6.9% |
4.3 주요 패턴
- 수직 패턴(더 많은 파편) : 파편 수를 늘리면 간격 빈도가 증가하지만, 효과는 점차 감소합니다.
- 수평 패턴(더 큰 왜곡도) : 왜곡도가 높을수록 간격 빈도가 급격히 증가합니다.
- 최악의 경우 : 매우 높은 왜곡도 + 32개의 샤드 = 약 36%의 트랜잭션에 영향
- 최상의 시나리오 : 균일 분포 + 2개의 샤드 = 약 3.6%의 트랜잭션이 영향을 받음
5. 분석
5.1 왜곡도가 중요한 이유
우리의 초기 가설과는 달리, 왜곡도는 논스 간격 빈도에 상당한 영향을 미칩니다 . 그 이유는 다음과 같습니다.
- 불균형한 분포는 거래를 소수의 발신자에게 집중시킵니다.
- 집중된 송신자는 동일 슬롯에서 연속된 쌍을 더 많이 가지고 있습니다.
- 동일 슬롯 쌍이 많을수록 논스 갭 발생 가능성이 높아집니다.
균일 분포의 경우, 블롭 트랜잭션은 100명의 송신자에게 분산되어 동일 송신자로부터 동일 슬롯에 연속된 쌍이 드물게 발생합니다. 매우 높은 편향(Base와 같은 주요 L2 시퀀서가 지배하는 네트워크를 반영)의 경우, 소수의 지배적인 송신자가 많은 동일 슬롯 연속 쌍을 생성하며, 각 쌍은 (N-1)/N의 확률로 간격이 발생합니다.
5.2 이것이 이더리움 개선 제안(EIP)-8077을 지원하는 이유
| 관찰 | 이더리움 개선 제안(EIP)-8077 혜택 |
|---|---|
| 대용량 L2 시퀀서는 더 많은 간격을 만듭니다. | 노드는 주요 L2에 대한 완전한 논스 시퀀스를 가져오는 것을 우선시할 수 있습니다. |
| 같은 슬롯 사이의 간격은 블록 쌓기에 영향을 미칩니다. | 제안자는 유효한 블록을 생성하기 위해 즉각적인 논스 정보가 필요합니다. |
| 간격 빈도는 송신자에 따라 다릅니다. | 발신자 주소별 선택적 가져오기가 유용해집니다. |
| 최대 36%의 블롭 트랜잭션에 영향이 미쳤습니다. | 스마트 페칭을 통해 상당한 효율성 향상을 이룰 수 있습니다. |
5.3 다양한 네트워크 환경에 대한 시사점
| 대본 | 갭 비율 | 이더리움 개선 제안(EIP)-8077 값 |
|---|---|---|
| L2가 지배적임(높은 왜곡도, 많은 파편) | 27~36% | 중요 - 주요 L2 시퀀서에 우선 처리 권한이 필요합니다. |
| 혼합형 L2 생태계(높은 왜곡도, 적은 샤드 수) | 14-19% | 높음 - 여러 L2가 일관된 순서로 정렬되어야 함 |
| 다양한 블롭 발신자(낮은 왜곡도) | 4-9% | 적당한 수준 - 효율성 향상에 여전히 도움이 됨 |
| 단일 샤드 | 0% | 낮음 - 분할 없음, 즉 틈이 없음 |
6. 결론
6.1 주요 결과
논스) 차이는 심각한 문제입니다 . 높은 편향도와 높은 샤드 수를 가진 시나리오에서는 최대 36%의 트랜잭션이 영향을 받을 수 있습니다.
불균형은 주요 요인입니다 . 대량 데이터 전송을 주로 담당하는 주요 L2 시퀀서(Base, 옵티미즘(Optimism), 아비트럼(Arbitrum) 등)를 사용하는 네트워크는 트랜잭션 분포가 균일한 네트워크보다 훨씬 높은 격차율에 직면합니다.
샤딩은 문제를 악화시킵니다 . 샤드 수가 많을수록 간격이 커지며, 이는 동일 슬롯 쌍마다 (N-1)/N의 확률로 발생합니다.
동일 슬롯 분석은 매우 중요합니다 . 제안자에게 중요한 것(블록 구축 기간 내의 공백)에 집중하면 실질적인 통찰력을 얻을 수 있습니다.
6.2 이더리움 개선 제안(EIP)-8077 지원
이 시뮬레이션은 이더리움 개선 제안(EIP)-8077에 대한 강력한 정량적 근거를 제공합니다.
- 이 문제는 실제로 존재하며 , 상당수의 거래가 논스 (논스 ) 불일치의 영향을 받습니다.
- 문제는 확장성에 있습니다 . 이더리움이 샤드/처리량을 늘릴수록 문제가 악화됩니다.
- 이 솔루션은 특정 대상을 겨냥합니다 . 발신자/ 논스 메타데이터를 통해 지능적인 데이터 가져오기가 가능합니다.
- 이점은 측정 가능합니다 . 노드는 낭비되는 대역폭을 줄이고 블록 생성 효율성을 향상시킬 수 있습니다.
6.3 권장 사항
- 지능형 블롭 트랜잭션 가져오기에 필요한 메타데이터를 노드에 제공하기 위해 이더리움 개선 제안(EIP)-8077을 채택합니다.
- 대용량 데이터 전송 시 완전한 논스 시퀀스를 유지하려면 주요 L2 시퀀서를 우선적으로 처리해야 합니다.
- 발신자 정보를 고려한 샤드 할당을 프로토콜 수준의 격차를 줄이는 보완 전략으로 고려해 보십시오.
7. 향후 연구 과제
- 이더리움 개선 제안(EIP)-8077의 메타데이터가 가져오기 효율성에 미치는 영향을 시뮬레이션합니다.
- 송신자/ 논스 정보를 활용하여 다양한 가져오기 전략을 모델링합니다.
- 이더리움 메인넷의 실제 거래 패턴을 분석하여 왜곡도를 보정합니다.
- 동적 샤드 재조정 시나리오를 고려하십시오.
- 다른 확장 솔루션(롤업, 데이터 가용성 샘플링)과의 상호 작용을 연구하십시오.
부록: 코드 구조
이 시뮬레이션은 EIP-8077/simu.py 에 다음과 같은 구성 요소로 구현되어 있습니다.
| 기능 | 목적 |
|---|---|
get_sender_distribution() | 발신자 선택에 대한 확률 분포를 생성합니다. |
generate_transaction_rate() | 무작위적이고 비주기적인 거래 패턴을 생성합니다. |
simulate_nonce_gaps() | 주요 시뮬레이션 기능(동일 슬롯 분석) |
plot_distributions() | 발신자 확률 분포를 시각화합니다. |
plot_transactions_per_sender() | 절대 거래 건수를 보여줍니다. |
plot_transactions_over_time() | 시간적 급증 현상을 보여줍니다(막대 그래프, 시간별) |
plot_sender_distance_boxplot() | 동일 발신자 간 거래 거리 분포를 보여줍니다. |
설정 가능한 매개변수 ( EIP-8077/simu.py 상단):
NUM_SLOTS = 216000 # 30 days worth of slots AVG_TX_PER_SLOT = 14 # Target average transactions per slot MAX_TX_PER_SLOT = 21 # Maximum transactions per slot NUM_SENDERS = 100 # Number of unique senders필수 라이브러리 : numpy, matplotlib, random







