
백엔드
세상을 늦게 보기 위해 잃었던 것들
두줄요약
Libplanet의 지연 렌더러에서 확정 대기 블록 누적으로 발생한 메모리 증가를 분석했습니다. 체인 내부 경계값을 지정할 수 있도록 확정 처리 구조를 개선했습니다.
문제 상황
- Libplanet 지연 렌더러 사용 환경에서 약 1시간 후 급격한 메모리 사용량 증가
- dotMemory 분석에서 DelayedActionRenderer의 높은 메모리 점유 확인
원인 분석
- 블록체인 확정 이전 블록을 렌더링 대기 상태로 보관하는 구조
- PoW 합의에서 확정 지점의 안전성을 누구도 보장할 수 없는 특성
- 사용자 지정 확정값에만 의존한 대기 블록 누적 가능성
해결 방법
- 확정 개념을 체인 내부까지 확장
- 블록체인 네트워크 엔지니어가 경계값을 지정하는 방식 도입
주의할 점
- 설명과 해결 방향은 PoW 기반 합의 과정을 전제
- PoS 등 다른 합의 알고리즘에서는 필요성이 다를 가능성

