멀티코어 활용 블록체인 검증 및 블록 생성 최적화
초록
본 논문은 블록체인 검증자에게 두 가지 핵심 최적화 문제를 제시한다. 첫째, 고정된 트랜잭션 순서를 가진 블록을 p 개의 코어에서 실행할 때 충돌을 피하면서 최소 실행 시간을 달성하는 “Ordered‑Block Scheduling(OBS)” 문제; 둘째, 실행 시간 제한 B 하에 메모풀에서 트랜잭션을 선택·스케줄링해 검증자 보상을 최대화하는 “Parallel‑Block Construction(PBC)” 문제이다. 두 문제 모두 정확한 MILP 모델을 설계하고, 실시간 적용을 위한 빠른 결정론적 휴리스틱을 제안한다. 이더리움 메인넷 트레이스와 Solana‑스타일 선언형 접근 기반 베이스라인을 이용한 실험에서, 제안 휴리스틱은 최적해에 근접하면서 2‑8코어 환경에서 각각 1.5‑2.3배, 7.9배의 속도 향상을 보였다.
상세 분석
논문은 블록체인 검증·구성 과정에서 발생하는 두 종류의 조합 최적화 문제를 체계적으로 분석한다. 첫 번째 문제인 OBS는 “선행 관계 + 충돌 제약”이라는 이중 제약을 가진 전통적인 선행제한 병렬 스케줄링(P|prec|Cmax) 문제와 동일시된다. 여기서 선행 관계는 블록에 정의된 전체 순서를 의미하고, 충돌 제약은 읽기‑쓰기 집합이 겹치는 트랜잭션 간에 동시에 실행될 수 없음을 의미한다. 저자는 이 문제를 정확히 표현하는 MILP을 제시하고, 기존의 2‑1/p 근사 비율을 갖는 리스트 스케줄링 기반 휴리스틱을 설계한다. 이 휴리스틱은 트랜잭션을 실행시간(가스) 기준 오름차순으로 정렬한 뒤, 가능한 가장 앞선 라운드에 배정하면서 코어 사용량을 최대 p 로 제한한다. 실험 결과, 이 방법은 최적 MILP 해와 2‑3% 이내의 차이로 거의 동일한 makespan을 달성했으며, 코어 수가 증가할수록 1.5배(p=2)에서 2.3배(p=8)까지 순차 실행 대비 속도 향상을 보였다.
두 번째 문제인 PBC는 “선택 + 스케줄링 + 보상 최적화”라는 복합 구조를 가진다. 여기서는 메모풀에 존재하는 n 개 트랜잭션 각각이 (가스·보상) 쌍과 접근 집합(R, W)을 가지고 있다. 목표는 총 실행 시간 B 이하에서 충돌을 피하면서 선택된 트랜잭션들의 보상 합을 최대화하는 것이다. 이는 충돌 그래프가 존재하는 knapsack 문제와 병렬 기계 스케줄링 문제를 동시에 일반화한 형태이며, NP‑hard임을 증명한다. 저자는 이를 정확히 모델링한 MILP을 제시하고, 대규모 인스턴스에 대해 시간 초과가 빈번히 발생함을 확인한다. 따라서, 휴리스틱으로는 (1) 보상 대비 가스 비율이 높은 트랜잭션을 우선 선택하고, (2) 선택된 트랜잭션을 충돌 그래프 색칠 기반으로 p 개 코어에 배정하는 2‑단계 알고리즘을 제안한다. 이 휴리스틱은 동질 워크로드에서는 99‑100% 최적 보상을, 이질 워크로드에서는 LP 상한의 74‑100%를 달성한다. 또한 코어 수가 늘어날수록 블록 구성 처리량이 거의 선형적으로 증가해 p=8 일 때 7.9배의 속도 향상을 기록한다.
전체적으로 논문은 블록체인 시스템 설계 시 “병렬성”을 단순히 실행 단계에만 적용하는 것이 아니라, 블록 구성 단계에서도 고려해야 함을 강조한다. 특히, 충돌‑인식 스케줄링과 보상‑인식 선택을 결합함으로써 기존의 가스 한계 기반 단순 선택 방식보다 훨씬 높은 처리량과 수익성을 얻을 수 있음을 실증한다. 제안된 MILP 모델은 작은 규모에서는 최적 기준점으로 활용 가능하고, 휴리스틱은 실시간 검증·구성에 적합한 경량 구현체로서 충분히 실용적이다.
댓글 및 학술 토론
Loading comments...
의견 남기기