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

