결론
- 이론적으로 병렬 EVM의 속도는 이상적인 환경에서 테스트됨. 실제 네트워크에서는 레이턴시와 데이터 동기화, 블록 크기 제한 등으로 성능이 제한됨.
- 병렬 EVM은 트랜잭션 처리 속도를 향상시키는 이론적 이점을 제공하지만 실제 애플리케이션에서는 상당한 한계가 있음
- Ethereum는 광범위한 상태 종속성과 독립된 트랜잭션이 적기 때문에 병렬 처리의 이점이 최소화되는 경우가 많음.
- 대기 시간, 데이터 동기화 문제, 블록 크기 제한과 같은 실제 네트워크 제약 조건으로 인해 병렬 실행에서 기대되는 성능 향상이 더욱 저해됨.
- 병렬 처리 개념은 유망하지만 Ethereum 생태계 내에서의 실제 구현은 이러한 수많은 과제를 해결해야함
병렬 EVM: 병렬 처리의 이상과 현실
[낙관적 실행의 우려되는 문제]
1) 재실행 비용의 증대
• 상태 불일치가 자주 발생할 경우, 롤백 및 재실행으로 인해 성능 저하가 발생할 수 있음
• 예를 들어, 트랜잭션 A와 B가 동일한 계정을 참조하고, A가 상태를 변경했다면 B는 잘못된 상태를 읽고 실행될 가능성이 높음.
2) 비용-효율성
• 낙관적 실행이 재실행 횟수를 크게 줄이지 못한다면, 오히려 순차 처리보다 느릴 수 있음
3) 병렬 안전성
• 입력 및 출력 비교를 지속적으로 추적하는 작업이 추가적인 계산 오버헤드를 초래할 수 있음/
낙관적 실행은 병렬성을 높이는 데 효과적일 수 있지만, 트랜잭션 간 종속성이 높은 경우에는 성능 저하를 피하기 어려울 가능성 존재.
[스케줄링 및 종속성 예측의 우려되는 문제]
1) 정적 분석의 한계
• 많은 스마트 컨트랙트는 실행 시점에 상태를 참조하거나 외부 호출을 포함하기 때문에, 정적 코드 분석만으로 모든 종속성을 정확히 예측하는 것은 어려움.
• 특히 DeFi 플랫폼이나 NFT 거래와 같이 복잡한 상태 변경이 빈번한 경우, 정적 분석의 정확도가 떨어질 가능성이 높음.
2) 추가적인 계산 비용
• 종속성을 분석하고 스케줄링하는 작업이 실행 비용에 추가됨.
• 트랜잭션 수가 많거나 복잡도가 높은 경우, 분석 오버헤드로 인해 병렬 처리의 이점이 감소할 수 있음.
스케줄링 및 종속성 예측은 병렬 처리의 핵심 기술이지만, 스마트 컨트랙트의 동적 특성으로 인해 완벽히 예측하기