
Coinbase의 레이어2 네트워크 Base에서 지난주 발생한 두 차례 장애는 시퀀서 버그가 원인이었던 것으로 확인됐다. Base 엔지니어링팀은 사후 분석을 통해 시퀀서의 블록 생성 로직에서 문제가 발견됐다고 밝혔다.
Base 엔지니어링팀은 토요일 공개한 사후 분석에서 트랜잭션 검증 실패 이후에도 “오래된 저널 상태”가 남아 있게 만든 버그를 확인했다고 설명했다. 블록 빌더가 유효하지 않은 트랜잭션을 받았고, 해당 트랜잭션은 예상대로 실행 과정에서 실패했다. 문제는 그 이후였다. 접근된 계정과 스토리지 슬롯이 담긴 저널 상태가 정상적으로 지워지지 않았다.
팀은 “유효하지 않은 트랜잭션이 블록 빌더에 수신됐고, 예상대로 실행 중 실패했지만, 접근된 계정과 스토리지 슬롯이 들어 있던 저널 상태를 잘못해서 지우지 않았다”고 밝혔다.
이번 장애의 핵심은 트랜잭션 실패 자체가 아니라, 실패 이후 내부 상태가 제대로 정리되지 않았다는 점이다. 블록 생성 과정에서 남아 있던 잘못된 상태가 이후 처리 흐름에 영향을 줬고, 결국 Base 메인넷이 정상적으로 새 블록을 이어가지 못하는 상황으로 이어졌다.
Base 레이어2 네트워크는 단일 시퀀서 구조로 운영된다. 이 구조에서는 하나의 버그가 네트워크 전체를 멈추게 만들 수 있다. 시퀀서는 트랜잭션의 순서를 정하는 중앙화된 블록체인 구성 요소다. 이런 구조는 Base만의 문제가 아니며, Arbitrum, OP Mainnet, zkSync Era 같은 다른 레이어2 체인에서도 시퀀서가 장애 원인으로 지목된 사례가 있었다.
Base 메인넷은 목요일과 금요일에 두 차례 블록 생성 장애를 겪었다. 첫 번째 장애는 116분 동안 이어졌고, 두 번째 장애는 20분 동안 지속됐다. 장애가 발생한 동안에는 새로운 레이어2 블록 생성이 완전히 멈췄다. 시퀀서와 검증자 노드는 문제가 된 유효하지 않은 블록을 넘어 진행하지 못했고, 시퀀싱이 복구되기 전까지 네트워크는 멈춘 상태로 남아 있었다.
Base 팀은 시퀀서에 패치를 적용해 장애를 해결했다. 패치의 목적은 실행 과정에서 저널 상태가 제대로 업데이트되도록 하는 것이었다. 트랜잭션이 실패하더라도 내부 상태가 잘못 남아 다음 처리 과정에 영향을 주지 않도록 고친 것이다.
다만 복구 작업은 예상보다 오래 걸렸다. Base 팀은 원래 버그와 직접 관련이 없는 인프라 조건 때문에 완화 조치에 시간이 더 걸렸다고 설명했다. 여기에 시스템 재설정 이후 “경쟁 상태”도 발생했다. 이 문제는 시퀀서가 정상적으로 따라잡는 것을 막았고, 그 결과 두 번째 장애로 이어졌다.
Base 엔지니어링팀은 앞으로 프로토콜 “퍼즈 테스트”를 개선할 계획이다. 퍼즈 테스트는 시스템에 대량의 무작위 입력, 잘못된 형식의 입력, 예상하지 못한 입력을 계속 넣어 버그를 찾아내는 방식이다. 이런 테스트를 강화하면 실제 운영 환경에서 예외적인 트랜잭션이나 비정상 입력이 들어왔을 때 발생할 수 있는 문제를 더 빨리 찾아낼 수 있다.
또한 팀은 향후 장애 상황에서 검증자 노드가 수동 재시작 없이 복구될 수 있도록 “그레이스풀 리커버리”를 구축하겠다고 밝혔다. 이는 장애가 발생했을 때 운영자가 직접 노드를 재시작해야 하는 상황을 줄이고, 네트워크가 더 빠르고 안정적으로 정상 상태로 돌아가도록 만드는 조치다.
Base에서 처음 발생한 장애는 아니었다
Base에서 시퀀서 관련 장애가 발생한 것은 이번이 처음이 아니다. Base는 2024년 9월에도 17분 동안 블록 생성을 멈춘 적이 있다. 2025년 8월에도 약 30분 동안 블록 생성이 중단된 바 있다.
이번 장애는 Base가 단일 시퀀서 구조에 의존하고 있다는 점을 다시 드러냈다. 시퀀서가 정상적으로 작동하지 않으면 트랜잭션 순서 결정과 블록 생성 흐름이 함께 막힐 수 있다. 특히 Base처럼 규모가 큰 레이어2 네트워크에서는 짧은 중단도 사용자와 애플리케이션에 영향을 줄 수 있다.
L2beat에 따르면 Base는 총 확보 가치 기준으로 두 번째로 큰 레이어2 네트워크다. 해당 규모는 110억 달러에 조금 못 미치는 수준이다. 대형 네트워크에서 발생한 이번 장애는 레이어2 확장성과 운영 안정성 논의에서 시퀀서 구조가 여전히 중요한 문제로 남아 있음을 보여준다.