[블록미디어 이제인 기자]이더리움 창시자인 비탈릭 부테린이 이더리움 블록체인의 복잡성과 저장 요구를 줄이기 위한 계획, ‘더 퍼지(The Purge)’를 제안했다고 크립토슬레이트가 26일(현지시간) 보도했다. 부테린은 이더리움의 확장성과 장기적인 성장을 위해서는 저장 공간 문제와 코드 복잡성을 해결해야 한다고 강조하며, 이를 해결하기 위한 단계적 전략을 블로그에 제시했다.
이더리움의 문제: 증가하는 저장 요구와 복잡성
이더리움과 같은 블록체인은 시간이 지날수록 더 많은 데이터를 저장해야 한다. 블록체인 네트워크는 그동안 발생한 모든 거래와 블록 데이터를 유지해야 하며, 새로운 클라이언트는 이 데이터를 다운로드하고 동기화하는 데 많은 시간과 자원이 필요하다. 현재 완전히 동기화된 이더리움 노드는 실행 클라이언트에 약 1.1TB의 저장 공간을 필요로 하며, 합의 클라이언트는 몇 백 GB의 추가 저장 공간을 요구한다.
부테린은 이러한 문제를 해결하지 않으면 이더리움의 발전이 제약받을 수 있다고 지적하며, 네트워크의 저장 요구를 줄이고 기능을 간소화하는 방법으로 ‘더 퍼지’를 제안했다. ‘더 퍼지’는 △기록 만료 △상태 만료 △기능 정리라는 세 가지 주요 단계로 구성되어 있다.
1. 기록 만료 (History Expiry)
부테린은 이더리움의 기록 데이터를 효율적으로 관리하기 위해 ‘기록 만료’를 제안했다. 현재 이더리움 블록체인은 모든 노드가 모든 블록, 트랜잭션, 영수증 데이터를 저장해야 한다. 시간이 지나면 이러한 데이터는 대부분 더 이상 필요하지 않지만, 저장 용량은 계속 증가하게 된다.
부테린은 모든 노드가 전체 기록을 저장할 필요 없이, 최신 블록에 대한 합의만 이루어지면 그에 대한 역사적 데이터는 소수의 노드가 분산 저장할 수 있도록 하자는 것이다. 이를 통해 네트워크는 전체 기록을 유지하면서도 저장 공간을 크게 줄일 수 있다. 마치 토렌트 네트워크처럼 각 노드가 전체 데이터의 일부만 저장하고, 필요할 때 데이터를 제공하는 방식으로 운영되는 것이다.
이미 이더리움은 일부 데이터에 만료 기간을 도입했다. 예를 들어, 합의 블록은 6개월간 저장되고, 블롭 데이터는 18일 동안 저장된다. 또한 EIP-4444는 역사적 블록과 영수증 데이터를 1년 동안만 저장하도록 제한하는 방안을 제안하고 있다. 부테린의 장기적인 목표는 각 노드가 18일 동안 모든 데이터를 저장한 후, 이후에는 피어투피어 네트워크에서 분산 저장하는 방식으로 전환하는 것이다.
2. 상태 만료 (State Expiry)
기록 만료가 해결되더라도 이더리움의 상태(State) 데이터는 지속적으로 증가한다. 상태 데이터는 계정 잔액, 계약 코드, 계약 저장소 등 이더리움 네트워크에서 발생하는 모든 상태 객체를 포함한다. 새로운 계좌를 만들거나, 새로운 이더리움을 전송하거나, 사용되지 않은 저장 슬롯을 활성화할 때마다 새로운 상태 객체가 생성된다. 이 상태 객체들은 영구적으로 저장되어 네트워크의 저장 요구를 계속 증가시킨다.
부테린은 이러한 상태 데이터를 자동으로 만료시킬 수 있는 효율적인 방법을 제시했다. 사용자와 개발자가 불편을 겪지 않도록 하는 동시에 저장 공간을 줄이는 것을 목표로 한다. 이를 위한 두 가지 방법으로 △부분 상태 만료(Partial State Expiry) △주소 기반 기간 만료(Address-Period-Based State Expiry)를 제안했다.
부분 상태 만료는 상태 데이터를 ‘청크(Chunk)’로 나누고, 최근에 접근된 데이터만 저장하는 방식이다. 만약 청크 내 데이터가 사라졌다면, 이를 복원하기 위해 그 데이터에 대한 증명서를 제공할 수 있도록 한다.
주소 기반 기간 만료는 단일 상태 트리가 아닌, 여러 상태 트리를 운영하는 방식이다. 일정 기간 동안 새로운 상태 트리를 추가하고, 과거의 상태 트리는 동결시킨다. 이렇게 하면 최신 상태 트리만 저장하고, 이전 상태 트리는 필요할 때만 참조하는 방식으로 작동한다.
3. 기능 정리 (Feature Cleanup)
이더리움은 시간이 지남에 따라 복잡성이 증가했다. 새로운 기능을 추가하는 것은 상대적으로 쉽지만, 오래된 기능을 제거하는 것은 어렵기 때문이다. 부테린은 이더리움이 “점점 복잡해지는 블랙홀”에 빠지지 않도록 하기 위해 기능 정리가 필요하다고 강조했다.
부테린은 이를 위해 구식 기능을 제거하는 작업을 제안했다. 예를 들어 △SELFDESTRUCT 명령어 제거 △오래된 트랜잭션 유형과 비콘 체인 위원회 제거 △가스 메커니즘 단순화 등이 포함된다. 그는 또한 가스 가시성 제거, 정적 분석 개선 등 여러 작은 수정 작업들이 필요하다고 언급했다.
결론: 이더리움의 지속 가능성 확보
부테린의 ‘더 퍼지’는 이더리움 네트워크의 지속 가능한 발전을 위한 필수적인 전략이다. 기록과 상태 데이터를 효율적으로 관리하고, 불필요한 기능을 제거함으로써 이더리움의 저장 요구를 줄이고 네트워크의 성능을 높이는 것이 목표다. 이러한 변화는 네트워크 참여자들에게 더 나은 사용자 경험을 제공하고, 개발자들이 이더리움을 더욱 효과적으로 활용할 수 있도록 도울 것이다.
‘더 퍼지’는 이더리움의 장기적인 생존 가능성과 성장성을 유지하기 위한 중요한 단계로, 이더리움 생태계 전반에 긍정적인 영향을 미칠 것으로 예상된다.
같이 보면 좋은 기사