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

