본문으로 건너뛰기

**댕크샤딩(Danksharding)**은 이더리움이 진정으로 확장 가능한 블록체인이 되는 방법이지만, 거기에 도달하기 위해서는 몇 가지 프로토콜 업그레이드가 필요합니다. **프로토 댕크샤딩(Proto-Danksharding)**은 그 과정의 중간 단계입니다. 두 가지 모두 사용자를 위해 레이어 2(l2)의 트랜잭션을 최대한 저렴하게 만드는 것을 목표로 하며, 이더리움을 초당 100,000건 이상의 트랜잭션으로 확장할 것입니다.

프로토 댕크샤딩이란 무엇인가요?

EIP-4844 (opens in a new tab)로도 알려진 프로토 댕크샤딩은 롤업이 블록에 더 저렴한 데이터를 추가하는 방법입니다. 이 이름은 아이디어를 제안한 두 명의 연구원인 Protolambda와 Dankrad Feist의 이름에서 유래했습니다. 역사적으로 롤업은 트랜잭션을 CALLDATA에 게시한다는 사실 때문에 사용자 트랜잭션을 저렴하게 만드는 데 한계가 있었습니다.

롤업은 짧은 시간 동안만 데이터를 필요로 함에도 불구하고, 모든 이더리움 노드에서 처리되고 온체인에 영구적으로 남기 때문에 비용이 많이 듭니다. 프로토 댕크샤딩은 전송되어 블록에 첨부될 수 있는 데이터 블롭을 도입합니다. 이 블롭의 데이터는 EVM에서 접근할 수 없으며, 정해진 기간(작성 시점 기준 4096 에포크, 약 18일)이 지나면 자동으로 삭제됩니다. 이는 롤업이 데이터를 훨씬 더 저렴하게 전송하고, 절감된 비용을 더 저렴한 트랜잭션의 형태로 최종 사용자에게 전달할 수 있음을 의미합니다.

롤업은 오프체인에서 트랜잭션을 일괄 처리한 다음 그 결과를 이더리움에 게시하여 이더리움을 확장하는 방법입니다. 롤업은 본질적으로 데이터와 실행 확인이라는 두 부분으로 구성됩니다. 데이터는 이더리움에 게시될 상태 변경을 생성하기 위해 롤업에서 처리되는 트랜잭션의 전체 시퀀스입니다. 실행 확인은 제안된 상태 변경이 올바른지 확인하기 위해 정직한 행위자("증명자")가 해당 트랜잭션을 재실행하는 것입니다. 실행 확인을 수행하려면 누구나 다운로드하고 확인할 수 있을 만큼 충분히 긴 시간 동안 트랜잭션 데이터를 사용할 수 있어야 합니다. 이는 롤업 시퀀서의 부정직한 행동을 증명자가 식별하고 이의를 제기할 수 있음을 의미합니다. 그러나 영구적으로 사용할 수 있을 필요는 없습니다.

롤업은 트랜잭션 데이터에 대한 커밋먼트를 온체인에 게시하고 실제 데이터는 데이터 블롭에서 사용할 수 있도록 합니다. 이는 증명자가 커밋먼트가 유효한지 확인하거나 잘못되었다고 생각되는 데이터에 이의를 제기할 수 있음을 의미합니다. 노드 수준에서 데이터 블롭은 합의 클라이언트에 보관됩니다. 합의 클라이언트는 데이터를 보았고 네트워크 전체에 전파되었음을 증명합니다. 데이터가 영구적으로 보관된다면, 이러한 클라이언트는 비대해져 노드 실행을 위한 대규모 하드웨어 요구 사항으로 이어질 것입니다. 대신 데이터는 18일마다 노드에서 자동으로 정리(prune)됩니다. 합의 클라이언트 증명은 증명자가 데이터를 검증할 충분한 기회가 있었음을 보여줍니다. 실제 데이터는 롤업 운영자, 사용자 또는 기타 주체에 의해 오프체인에 저장될 수 있습니다.

블롭 데이터는 어떻게 검증되나요?

롤업은 실행한 트랜잭션을 데이터 블롭에 게시합니다. 또한 데이터에 대한 "커밋먼트"도 게시합니다. 이는 데이터에 다항 함수를 맞춰서 수행됩니다. 그런 다음 이 함수는 다양한 지점에서 평가될 수 있습니다. 예를 들어, 매우 간단한 함수 f(x) = 2x-1를 정의하면 x = 1, x = 2, x = 3에 대해 이 함수를 평가하여 1, 3, 5라는 결과를 얻을 수 있습니다. 증명자는 데이터에 동일한 함수를 적용하고 동일한 지점에서 평가합니다. 원본 데이터가 변경되면 함수가 동일하지 않으므로 각 지점에서 평가된 값도 동일하지 않습니다. 실제로는 커밋먼트와 증명이 암호화 함수로 래핑되어 있기 때문에 더 복잡합니다.

KZG란 무엇인가요?

KZG는 데이터 블롭을 작은 암호화 "커밋먼트" (opens in a new tab)로 줄이는 체계의 세 명의 원저자 (opens in a new tab) 이름인 Kate-Zaverucha-Goldberg의 약자입니다. 롤업이 제출한 데이터 블롭은 롤업이 잘못된 행동을 하지 않는지 확인하기 위해 검증되어야 합니다. 여기에는 증명자가 블롭의 트랜잭션을 재실행하여 커밋먼트가 유효한지 확인하는 과정이 포함됩니다. 이는 개념적으로 실행 클라이언트가 머클 증명을 사용하여 레이어 1(l1)에서 이더리움 트랜잭션의 유효성을 확인하는 방법과 동일합니다. KZG는 데이터에 다항 방정식을 맞추는 대안적인 증명입니다. 커밋먼트는 일부 비밀 데이터 지점에서 다항식을 평가합니다. 증명자는 데이터에 동일한 다항식을 맞추고 동일한 값에서 평가하여 결과가 동일한지 확인합니다. 이는 일부 롤업 및 궁극적으로 이더리움 프로토콜의 다른 부분에서 사용되는 영지식 기술과 호환되는 데이터를 검증하는 방법입니다.

KZG 세리머니란 무엇이었나요?

KZG 세리머니는 이더리움 커뮤니티 전반의 많은 사람들이 데이터를 검증하는 데 사용할 수 있는 비밀 무작위 숫자 문자열을 집단적으로 생성하는 방법이었습니다. 이 숫자 문자열이 알려지지 않고 누구도 다시 만들 수 없도록 하는 것이 매우 중요합니다. 이를 보장하기 위해 세리머니에 참여한 각 사람은 이전 참가자로부터 문자열을 받았습니다. 그런 다음 새로운 무작위 값(예: 브라우저가 마우스 움직임을 측정하도록 허용)을 생성하고 이전 값과 혼합했습니다. 그런 다음 그 값을 다음 참가자에게 보내고 로컬 머신에서 파기했습니다. 세리머니에 참여한 단 한 사람이라도 정직하게 이 작업을 수행했다면, 공격자는 최종 값을 알 수 없게 됩니다.

EIP-4844 KZG 세리머니는 대중에게 공개되었으며 수만 명의 사람들이 참여하여 자신만의 엔트로피(무작위성)를 추가했습니다. 총 140,000건 이상의 기여가 있었으며, 이는 동종 세리머니 중 세계 최대 규모입니다. 세리머니가 훼손되려면 참가자의 100%가 적극적으로 부정직해야 합니다. 참가자의 관점에서 볼 때, 자신이 정직했다는 것을 안다면 세리머니를 안전하게 지켰다는 것을 알기 때문에 다른 사람을 신뢰할 필요가 없습니다(개별적으로 N명 중 1명의 정직한 참가자 요구 사항을 충족함).

롤업이 블롭에 데이터를 게시할 때, 온체인에 게시하는 "커밋먼트"를 제공합니다. 이 커밋먼트는 특정 지점에서 데이터에 맞춰진 다항식을 평가한 결과입니다. 이러한 지점은 KZG 세리머니에서 생성된 무작위 숫자에 의해 정의됩니다. 그런 다음 증명자는 데이터를 검증하기 위해 동일한 지점에서 다항식을 평가할 수 있습니다. 동일한 값에 도달하면 데이터가 올바른 것입니다.

누군가 커밋먼트에 사용된 무작위 위치를 안다면, 해당 특정 지점에 맞는 새로운 다항식(즉, "충돌")을 생성하기 쉽습니다. 이는 블롭에서 데이터를 추가하거나 제거하고도 여전히 유효한 증명을 제공할 수 있음을 의미합니다. 이를 방지하기 위해 증명자에게 실제 비밀 위치를 제공하는 대신, 타원 곡선을 사용하여 암호화된 "블랙박스"로 래핑된 위치를 받게 됩니다. 이는 원래 값을 리버스 엔지니어링할 수 없는 방식으로 값을 효과적으로 스크램블하지만, 영리한 대수학을 통해 증명자와 검증자는 여전히 그들이 나타내는 지점에서 다항식을 평가할 수 있습니다.
댕크샤딩과 프로토 댕크샤딩 모두 블록체인을 여러 부분으로 분할하는 것을 목표로 하는 전통적인 "샤딩" 모델을 따르지 않습니다. 샤드 체인은 더 이상 로드맵의 일부가 아닙니다. 대신 댕크샤딩은 블롭 전반에 걸친 분산 데이터 샘플링을 사용하여 이더리움을 확장합니다. 이는 구현하기가 훨씬 간단합니다. 이 모델은 때때로 "데이터 샤딩"이라고 불리기도 합니다.

댕크샤딩이란 무엇인가요?

댕크샤딩은 프로토 댕크샤딩으로 시작된 롤업 확장의 완전한 실현입니다. 댕크샤딩은 롤업이 압축된 트랜잭션 데이터를 쏟아낼 수 있는 엄청난 양의 공간을 이더리움에 가져올 것입니다. 이는 이더리움이 수백 개의 개별 롤업을 쉽게 지원하고 초당 수백만 건의 트랜잭션을 현실로 만들 수 있음을 의미합니다.

이것이 작동하는 방식은 블록에 첨부되는 블롭을 프로토 댕크샤딩의 6개에서 완전한 댕크샤딩의 64개로 확장하는 것입니다. 필요한 나머지 변경 사항은 모두 합의 클라이언트가 새롭고 큰 블롭을 처리할 수 있도록 작동 방식을 업데이트하는 것입니다. 이러한 변경 사항 중 일부는 댕크샤딩과 독립적인 다른 목적을 위해 이미 로드맵에 포함되어 있습니다. 예를 들어, 댕크샤딩은 제안자-빌더 분리 (PBS)가 구현되어 있어야 합니다. 이는 블록을 구축하는 작업과 블록을 제안하는 작업을 서로 다른 검증자에게 분리하는 업그레이드입니다. 마찬가지로 댕크샤딩에는 데이터 가용성 샘플링이 필요하지만, 이는 과거 데이터를 많이 저장하지 않는 매우 가벼운 클라이언트("무상태 클라이언트")의 개발을 위해서도 필요합니다.

개별 검증자가 32MB의 블롭 데이터에 대해 비용이 많이 드는 커밋먼트와 증명을 생성하지 않도록 하려면 제안자-빌더 분리 (PBS)가 필요합니다. 이는 홈 스테이커에게 너무 많은 부담을 주고 더 강력한 하드웨어에 투자하도록 요구하여 탈중앙화를 해칠 수 있습니다. 대신 전문화된 블록 빌더가 이 비용이 많이 드는 계산 작업에 대한 책임을 집니다. 그런 다음 블록 제안자가 브로드캐스트할 수 있도록 블록을 제공합니다. 블록 제안자는 단순히 가장 수익성이 높은 블록을 선택합니다. 누구나 저렴하고 빠르게 블롭을 검증할 수 있으므로, 일반 검증자도 블록 빌더가 정직하게 행동하고 있는지 확인할 수 있습니다. 이를 통해 탈중앙화를 희생하지 않고도 대용량 블롭을 처리할 수 있습니다. 잘못된 행동을 하는 블록 빌더는 단순히 네트워크에서 퇴출되고 슬래싱될 수 있습니다. 블록 구축은 수익성 있는 활동이기 때문에 다른 사람들이 그 자리를 대신할 것입니다.

검증자가 블롭 데이터를 빠르고 효율적으로 검증하려면 데이터 가용성 샘플링이 필요합니다. 데이터 가용성 샘플링을 사용하면 검증자는 블롭 데이터를 사용할 수 있었고 올바르게 커밋되었음을 매우 확신할 수 있습니다. 모든 검증자는 단 몇 개의 데이터 지점만 무작위로 샘플링하여 증명을 생성할 수 있으므로, 어떤 검증자도 전체 블롭을 확인할 필요가 없습니다. 데이터가 누락된 경우 신속하게 식별되고 블롭은 거부됩니다.

현재 진행 상황

완전한 댕크샤딩은 아직 몇 년 남았습니다. 그동안 KZG 세리머니는 140,000건 이상의 기여로 마무리되었으며, 프로토 댕크샤딩을 위한 EIP (opens in a new tab)가 성숙해졌습니다. 이 제안은 모든 테스트넷에 완전히 구현되었으며, 2024년 3월 칸쿤-데네브("덴쿤") 네트워크 업그레이드와 함께 메인넷에 적용되었습니다.

더 읽어보기

페이지 최근 업데이트: 2026년 6월 6일