검증 전용 부분 상태, 필요한 상태만 들고 검증하는 노드

Strawmap J* (2028~29) · validity-only partial state

노드가 이더리움의 전체 상태를 다 저장하지 않고 자기에게 필요한 일부만 보관하면서도 블록이 올바른지는 끝까지 확인할 수 있게 하는 작업입니다.

왜 필요한가

지금 이더리움 노드는 모든 계정의 잔고와 모든 컨트랙트의 저장 값, 즉 상태(state) 전체를 디스크에 들고 있어야 블록을 검증할 수 있습니다. 상태는 거래가 쌓일수록 계속 커지기 때문에 집에서 노드를 돌리는 문턱이 점점 높아집니다. 검증 전용 부분 상태는 이 두 가지를 떼어 놓습니다. 블록이 규칙대로 실행됐는지는 증명(proof)이나 증인 자료(witness)로 확인하고 상태는 자기가 쓰는 계정과 컨트랙트처럼 필요한 부분만 골라 보관합니다. 검증 전용이라는 말은 이 노드가 블록 생성이나 모든 데이터 제공은 하지 않고 체인이 올바른지 확인하는 역할만 맡는다는 뜻입니다. 이렇게 되면 가벼운 장비로도 남의 서버를 믿지 않고 자기 자산과 자주 쓰는 앱의 상태를 직접 확인할 수 있습니다. 합의 규칙을 바꾸는 일이 아니라 클라이언트 구현과 명세, 네트워크 쪽 작업으로 분류되어 있습니다. Strawmap은 J 포크 즈음을 예상하지만 확정된 일정은 아닙니다.

어떻게 동작하나

  1. 보관할 상태 고르기 노드 운영자가 자기 계정이나 자주 쓰는 컨트랙트처럼 보관할 상태 범위를 정합니다. 나머지 상태는 디스크에 두지 않습니다.
  2. 블록 유효성 확인 새 블록이 오면 전체 상태로 다시 실행하는 대신, 함께 전달되는 증명이나 증인 자료로 블록이 규칙대로 처리됐는지 확인합니다.
  3. 내 상태만 갱신 확인이 끝나면 블록이 바꾼 내용 중 자기가 보관하는 범위에 해당하는 상태만 새 값으로 갱신합니다.

← 로드맵