Published on

HyperEVM 듀얼 블록 아키텍처

Authors
  • avatar
    Name
    Aaron
    Twitter

듀얼 블록 아키텍처란?

HyperEVM은 Small BlockBig Block 이라는 두 가지 블록 타입을 사용하는 독특한 아키텍처를 갖추고 있습니다.

기존 블록체인은 블록 속도와 블록 크기 사이에서 하나를 선택해야 했습니다:

  • 빠른 블록: 트랜잭션이 빠르게 확정되지만, 블록 크기가 작아 복잡한 작업 처리에 제약
  • 큰 블록: 복잡한 컨트랙트 배포가 가능하지만, 블록 생성이 느려 사용자 경험 저하

HyperEVM은 이 두 마리 토끼를 모두 잡기 위해 듀얼 블록 아키텍처를 설계했습니다. 일반 트랜잭션은 빠르게 확정되고, 복잡한 작업은 큰 블록에서 안정적으로 처리됩니다.

두 가지 블록 타입

Small Block

블록 생성 시간: 1가스 리밋: 2,000,000 (문서 기준)
실제 가스 리밋: 3,000,000 (블록 익스플로러 확인)

주요 사용 사례

  • 일반 토큰 전송
  • 간단한 스마트 컨트랙트 호출
  • 실시간성이 중요한 트랜잭션
  • DEX 스왑이나 대출/상환 같은 DeFi 작업

특징

  • 1초마다 블록이 생성되어 빠른 최종 확정
  • 사용자 경험 개선 (빠른 트랜잭션 확인)
  • 대부분의 일상적인 작업에 충분한 가스

실제 예시: Block #20,040,192

Big Block

블록 생성 시간: 60가스 리밋: 30,000,000

주요 사용 사례

  • 스마트 컨트랙트 배포
  • 복잡한 초기화 작업
  • 대량의 데이터를 처리하는 배치 작업
  • 가스가 많이 드는 복잡한 연산

특징

  • 10배 더 큰 가스 리밋 (3M → 30M)
  • 복잡한 컨트랙트도 한 번에 배포 가능
  • 여러 작업을 배치로 처리하여 효율성 증가

실제 예시: Block #20,040,172

블록 타입 비교

특성Small BlockBig Block
블록 생성 시간1초60초
가스 리밋3,000,00030,000,000
주요 용도일반 트랜잭션컨트랙트 배포
처리량높은 빈도높은 용량
사용자 경험빠른 확인느리지만 복잡한 작업 가능
실제 예시#20,040,192#20,040,172

기술적 구조

온체인 멤풀 분리

HyperEVM의 멤풀은 L1 실행 레벨에서 온체인 상태로 관리되며, 듀얼 블록 시스템을 위해 두 개의 독립적인 멤풀로 분리되어 있습니다:

  • Small Block 멤풀: 작은 트랜잭션들이 대기
  • Big Block 멤풀: 큰 트랜잭션들이 대기

각 멤풀은 주소당 다음 8개의 nonce만 허용합니다. 1일이 지난 트랜잭션은 자동으로 제거됩니다.

블록 넘버링

두 블록 타입은 교차 배치되며 고유한 증가하는 EVM 블록 번호를 갖습니다.

Big Block 생성 규칙

공식 문서:

"block duration of x means that the first L1 block for each value of l1_block_time % x produces an EVM block"

실제로 블록을 분석해보니 Block Number % 61 = 25일 때 Big Block이 생성되고 있습니다.

Block Number % 61 = 25Big Block (30M gas)
Block Number % 6125Small Block (3M gas)

실제 블록 검증:

Big Block (모두 % 61 = 25):

Small Block (모두 % 61 ≠ 25):

패턴: 61개 블록마다 Big Block이 반복됩니다 (Small Block 60개 + Big Block 1개).

Big Block 사용하기

컨트랙트 배포 같은 큰 트랜잭션은 Big Block을 사용해야 합니다.

{
  "type": "evmUserModify",
  "usingBigBlocks": true
}

이 액션을 전송하면 트랜잭션이 Big Block으로 라우팅됩니다. hyperevm-block-toggle.vercel.app (비공식)에서 테스트할 수 있습니다.

작업이 끝나면 "usingBigBlocks": false로 되돌려야 합니다.