이 페이지에서는 합의 계층(consensus-layer) 동기화 모드를 설명합니다. 이 모드는 op-node의 기본 동기화 방식이지만, 대부분의 노드 운영자에게 권장되는 방식은 아닙니다.
합의 계층 동기화는 op-node가 L1에서 트랜잭션 데이터를 읽어 블록을 도출(derive)한 다음, 이를 실행 클라이언트에 삽입하는 동기화 방식입니다. 실행 계층 동기화(snap sync)와 달리, 이 방식은 다른 L2 node로부터 상태나 블록 데이터를 다운로드하기 위해 P2P 네트워킹에 의존하지 않습니다.
합의 계층 동기화가 여전히 기본 모드이지만, 더 빠른 동기화와 더 나은 성능을 위해 실행 계층 동기화(snap sync)를 권장합니다 .
합의 계층 동기화를 사용해야 하는 경우
다음과 같은 경우에는 이 동기화 모드가 더 적합할 수 있습니다.
독립적인 검증 : 모든 데이터를 L1에서 도출하여 전체 체인을 독립적으로 검증해야 하는 탈중앙화 개발자 그룹
P2P 연결 불가 : P2P 네트워킹이 제한되거나 사용할 수 없는 환경
L1 전용 신뢰 모델 : L2 peer node에 의존하지 않고 L1 데이터만 신뢰하려는 애플리케이션
디버깅 및 연구 : L1 데이터에서 블록이 도출되는 방식 분석
합의 계층 동기화는 실행 계층 동기화(snap sync)보다 훨씬 느립니다. 대부분의 노드 운영자에게는 더 빠른 동기화를 위해 snap sync가 권장됩니다.
op-node 구성
op-node에 다음 플래그를 설정합니다.
--syncmode=consensus-layer는 op-node의 기본 설정입니다. 동기화 모드를 명시적으로 지정하고 싶거나 다른 구성을 재정의하는 경우가 아니라면 따로 지정할 필요가 없습니다.
op-geth 구성
op-geth에 다음 플래그를 설정합니다.
--syncmode=full 플래그는 기본 설정이 아니므로 명시적으로 구성해야 합니다. 이렇게 하면 블록이 P2P를 통해 동기화되는 대신 op-node에 의해 삽입됩니다.
Nethermind 구성
Nethermind에 다음 플래그를 설정합니다.
op-mainnet을 네트워크에 맞는 구성으로 바꾸십시오(예: OP Sepolia의 경우 op-sepolia).
합의 계층 동기화의 작동 방식
합의 계층 동기화 과정은 다음과 같습니다.
L1 모니터링 : op-node가 L1 체인에서 트랜잭션 배치를 지속적으로 모니터링합니다
블록 도출 : op-node가 L1 트랜잭션 데이터에서 L2 블록을 도출합니다
블록 삽입 : 도출된 블록이 실행 클라이언트에 하나씩 삽입됩니다
상태 구축 : 실행 클라이언트가 각 블록을 순차적으로 실행하여 상태를 구축합니다
이 방식은 모든 블록이 L1에서 도출되고 독립적으로 검증되도록 보장하지만, peer로부터 상태 스냅샷을 다운로드하는 방식보다 훨씬 느립니다.
성능 고려 사항
동기화 시간 : snap sync 또는 실행 계층 모드의 아카이브 동기화보다 훨씬 느립니다
네트워크 요구 사항 : 안정적인 L1 RPC 접근이 필요하지만 L2 P2P 연결은 최소한으로 필요합니다
리소스 사용량 : P2P 대역폭 사용량은 적지만 L1 RPC 호출이 더 많습니다
OP Mainnet : OP Mainnet의 경우 Bedrock 업그레이드 이전의 상태를 위해 여전히 bedrock datadir 이 필요합니다
다른 동기화 모드와의 비교
다음 단계