페이로드 샘플링, 블록을 조각만 받아 확인

Strawmap J* (2028~29) · payload sampling

블록에 담긴 거래 묶음인 실행 페이로드(execution payload)를 모든 노드가 통째로 내려받는 대신, 조각으로 나눠 일부만 뽑아 받아도 전체가 공개됐는지 확인할 수 있게 합니다.

왜 필요한가

지금은 모든 노드가 블록에 담긴 거래 전체를 내려받아 직접 실행하고 확인합니다. 그래서 블록을 키우면 노드가 받아야 하는 데이터도 그대로 늘어나고 집에서 노드를 돌리는 사람의 인터넷 속도가 한도가 됩니다. 실행 증명(zkEVM)이 들어오면 거래를 직접 실행하지 않고 증명만 검사해도 되지만 거래 데이터 자체가 제대로 공개됐는지는 여전히 확인해야 합니다. 데이터가 숨겨진 블록이 체인에 들어가면 다른 사람이 상태를 복원하거나 검증할 수 없기 때문입니다. 페이로드 샘플링은 블롭에 쓰는 데이터 가용성 샘플링(DAS)과 같은 방법을 거래 데이터에 적용합니다. 페이로드를 복원 가능한 조각으로 나눠 네트워크에 퍼뜨리고 각 노드는 무작위로 몇 조각만 받아 전체가 공개됐는지 높은 확률로 확인합니다. 이렇게 하면 노드 하나의 다운로드 용량에 묶이지 않고 블록 크기를 키울 길이 열립니다. Strawmap에서는 실행 증명과 상태 축소가 자리 잡은 뒤인 J* 포크 칸에 놓여 있는데, 이는 예상 위치일 뿐 확정된 일정은 아닙니다.

어떻게 동작하나

  1. 조각으로 나누기 블록을 만드는 쪽이 거래 데이터를 소실 부호화(erasure coding)로 늘려 여러 조각으로 만듭니다. 일부 조각이 없어도 나머지로 원본을 복원할 수 있습니다.
  2. 네트워크에 퍼뜨리기 조각들을 네트워크 곳곳에 나눠 보냅니다. 노드마다 맡은 조각만 보관하면 되므로 한 노드가 전체를 들고 있을 필요가 없습니다.
  3. 무작위로 뽑아 확인하기 각 노드는 조각 몇 개를 무작위로 골라 받아 봅니다. 요청한 조각이 모두 오면 전체 데이터가 공개돼 있다고 높은 확률로 믿을 수 있습니다.
  4. 필요하면 복원하기 거래 전체가 필요한 노드나 증명자는 조각을 충분히 모아 원본을 되살립니다. 일부 조각이 사라져도 복원할 수 있습니다.

← 로드맵