
Redstone에 관한 간단한 논의: 그것은 Plasma가 아니라 Optimium의 변형이다
저자: Faust, 극객web3
최근, 'Redstone'라는 프로젝트가 핫이슈가 되고 있다. Lattice 팀이 개발한 이 블록체인 게임 전용 Layer2 인프라 솔루션은 11월 15일 정식으로 발표되었으며 현재 테스트넷이 출시된 상태다. 흥미롭게도 Lattice 팀은 "Redstone는 Plasma에서 영감을 얻은 Alt-DA 체인"이라고 설명한다.

Redstone가 발표되기 하루 전날, Vitalik은 "EVM validium을 위한 Exit game: Plasma의 부활(Exit games for EVM validiums: the return of Plasma)"이라는 제목의 글을 발표했는데, 이 글에서는 이미 이더리움 생태계에서 사라진 것으로 여겨지던 기술인 "Plasma"를 간략히 회고하며 유효성 증명(유효성 증명과 ZK Proof을 혼동하지 말 것)을 도입해 Plasma의 문제를 해결할 수 있다고 언급했다.
이에 대해 많은 사람들이 Vitalik의 이 글이 Redstone를 위한 응원 차원에서 쓰였다고 생각했으며, 극객Web3 커뮤니티 내에서도 Vitalik이 Redstone에 투자했을 가능성까지 거론되었다. 더불어 과거부터 이어진 "이더리움 Layer2 정의 논쟁"까지 겹치면서 일각에서는 "Plasma의 부활"이 다가올 것이며, Celestia 등 이더리움 생태계 외부의 DA 솔루션이 억제될 것이라고 예상했다. 왜냐하면 Plasma는 엄격한 DA(Data Availability) 요구사항이 없기 때문이다.
그러나 본문 저자의 조사 결과, Redstone는 Plasma 아키텍처의 일반적 틀에 부합하지 않으며, 오히려 "Plasma에서 영감을 받았다"는 주장은 Vitalik의 글이 화제가 된 시점에 편승하려는 성향이 강하다. 즉 Vitalik이 실제로 Redstone를 지지하는 것은 아니다. 또한 Redstone의 DA 검증 방식은 Metis가 2022년 4월에 발표한 방식과 상당히 유사한데, 두 시스템의 차이는 Stateroot 갱신과 DA 데이터 공개 순서의 차이 정도에 불과하다.
결국 진실은, 사람들의 Redstone에 대한 해석이 "지나치게 과장됐다"는 점이다. 아래에서는 간단한 추론을 통해 독자들에게 Plasma의 원리와 왜 스마트 계약 및 DeFi에 적합하지 않은지, 그리고 Redstone가 정확히 어떤 기술인지를 설명하고자 한다.

Plasma: 데이터 보류 공격 발생 시 긴급 인출만 가능
Plasma의 역사는 2017년 이더리움 ICO 열풍 시대로 거슬러 올라간다. 당시 이더리움 네트워크는 사용자 거래 수요 폭증으로 인해 낮은 TPS로 인해 큰 부담을 안고 있었다. 이러한 위기 상황에서 Plasma의 초기 이론 버전이 발표되었으며, 이를 통해 "거의 모든 금융 시나리오"를 처리할 수 있는 레이어2 확장 방안이 제시되었다.
간단히 말해, Plasma는 Layer2의 블록헤드 또는 Merkle Root만 Layer1에 올리는 확장 방안이며, 그 외의 데이터(DA 데이터)는 오프체인에서만 공개된다. 만약 Plasma의 정렬기(Orderer)/운영자(Operator)가 L1에 무효 트랜잭션(예: 잘못된 디지털 서명 등)을 포함한 Merkle Root를 제출한다면, 관련 사용자는 위조 증명(Fraud Proof)을 제출해 해당 Root가 무효 트랜잭션을 포함하고 있음을 입증할 수 있다.
문제는 위조 증명을 제출하기 위해서는 DA 데이터가 보류되지 않아야 하지만, Plasma는 DA 계층에 엄격한 요구사항이 없어 사용자나 L2 노드가 데이터를 수신할 수 있다는 보장을 하지 못한다는 점이다. 만약 정렬기가 특정 시점에 데이터 보류 공격(data withholding attack, 즉 데이터 가용성 문제)을 감행하여 새로운 블록헤드/Merkle Root만 공개하고 실제 블록 바디는 공개하지 않는다면, 사용자는 해당 블록헤드/Root의 유효성을 검증할 수 없게 된다. 이 경우 사용자는 정렬기를 신뢰할 수 없다고 간주하고, 자산을 Layer2에서 Layer1로 인출하는 긴급 탈출 메커니즘인 "Exit Game"을 실행해야 한다.

이 과정에서 사용자는 자신의 L2 자산 잔액을 증명하기 위해 Merkle Proof를 제출해야 하는데, 이를 우리는“자산 증명”이라 부를 수 있다. 흥미로운 점은, Plasma의 Exit Game은 ZK Rollup의 탈출 모드와 다르다는 것이다. ZK Rollup 사용자는 최근의 유효한 Stateroot에 대응하는 Merkle Proof를 제출해야 하지만, Plasma 사용자는 오래전의 Merkle Root에 대응하는 Proof를 제출할 수도 있다.
왜 이런 설계가 이루어졌을까? 이유는 간단하다. ZK Rollup에서 제출된 Stateroot는 Layer1의 컨트랙트에 의해 즉시 유효성 판단(유효성 증명의 타당성 확인)을 받기 때문에, 새롭게 제출된 Stateroot가 유효하고 합법적이라면, 사용자는 그에 맞는 유효한 Stateroot에 대응하는 Merkle Proof를 제출해야 한다.
반면 Plasma의 정렬기가 제출한 Merkle Root는 Layer1 컨트랙트가 직접 유효성을 판단할 수 없으며, L2 노드가 주도적으로 도전을 제기해 무효 Root를 배제해야 한다. 그래서 도전 메커니즘이 존재하게 되며, 이로 인해 Plasma와 ZK Rollup의 작동 원리가 근본적으로 다르다.
예를 들어 정렬기가 무효한 Merkle Root 101을 방금 발표하고 동시에 데이터 보류 공격을 감행하여 L2 노드가 Root 101이 무효임을 입증할 수 없다면, 사용자는 Root 100 혹은 그 이전의 Root에 대응하는 Merkle Proof를 제출해 자산을 인출할 수 있다.

물론 여기엔 한 가지 문제가 있다. 예컨대 누군가 Root 30 또는 그보다 더 오래된 Root에 대응하는 자산 증명을 제출해 Layer1으로 자산을 인출하려 할 때, 이 사람은 Root 30 이후 자산 상태가 변경되었을 수 있다. 다시 말해, 그는 오래된 자산 증명을 제출하고 있으며, 이는 전형적인 이중 지불 공격(double-spend attack)이다.

이에 대해 Plasma는 누구든지 위와 같은 상황에서 사기 증명(Fraud Proof)을 제출할 수 있도록 허용하여, 특정 사용자가 제출한 “자산 증명”이 오래된 것임을 입증할 수 있다. 즉, 누구나 다른 사람의 인출 요청을 도전할 수 있도록 함으로써, Plasma는 ZK Rollup처럼 긴급 인출 요청을 별도로 처리할 필요가 없다.
하지만 여전히 한 가지 가능성이 남아 있다. 정렬기가 다른 사람의 자산을 먼저 자신의 L2 계정으로 이체한 후, 데이터 보류 공격을 감행해 외부에서 자신의 부정행위에 대한 도전을 차단하는 것이다. 이후 정렬기 자신의 계정으로 긴급 인출을 수행하며, "자산 증명"을 제출해 자신이 L2에 해당 자산을 소유하고 있다고 주장하는 것이다.
분명히 이 경우 일부 역사 기록이 누락되어 있어 정렬기의 자산 출처에 문제가 있음을 직접 입증하기 어렵다. 그렇다면 어떻게 해야 할까? 초기 Plasma 버전 중 하나인 Plasma MVP는 이를 고려했으며, "출금 우선순위(withdrawal priority)" 개념을 도입했다. 사용자가 제출한 자산 증명이 더 오래된 Root에 해당할수록, 그 인출 요청이 더 높은 우선순위를 갖는다.

예컨대 정렬기가 101번째 Root 제출 시점에 위와 같은 부정행위를 하고 인출을 시작했다면, 사용자는 99번째 또는 그 이전 Root에 대응하는 자산 증명을 제출해 긴급 인출할 수 있다. 결국 정렬기가 Layer1에 이미 공개된 기록을 조작할 수 없다면, 사용자는 언제든 탈출할 방법을 가질 수 있다.
하지만 Plasma에는 여전히 치명적인 결함이 있다. 데이터 보류 공격이 발생하면 사용자는 긴급 인출(Exit Game)에 의존해 자산을 보호해야 하는데, 짧은 시간 내에 다수 사용자가 집단적으로 인출을 시도하면 Layer1이 처리하지 못할 수 있다.
더 심각한 문제는 DeFi 컨트랙트에 기록된 자산의 경우 누가 이를 Layer1으로 인출해야 하느냐는 점이다. 예를 들어 누군가 DEX의 LP 풀에 100 ETH를 예치했다고 하자. 이후 Plasma 정렬기가 오작동하거나 악의적 행동을 했을 때, 사용자들은 긴급 인출을 해야 하는데, 이때 100 ETH는 여전히 DEX 컨트랙트가 관리하고 있다. 그렇다면 이 자산은 누구에게 인출 책임이 있는가?
가장 좋은 방법은 사용자가 먼저 DEX 풀에서 자산을 환급받은 후, 직접 L1으로 인출하는 것이겠지만, 문제는 Plasma 정렬기가 이미 오작동하거나 악의적 행동을 했기 때문에 사용자는 자산 환급 작업을 실행할 수 없다는 점이다. 반면 DEX 컨트랙트 소유자(owner)가 컨트랙트 자산을 L1으로 인출할 수 있도록 허용한다면, 이는 컨트랙트 소유자에게 사실상 자산 소유권을 부여하는 것이며, 그는 언제든지 자산을 인출하고 도망갈 수 있기 때문에 매우 위험하다.
결국, DeFi 컨트랙트가 관리하는 '공공재(public assets)'를 어떻게 처리할지는 거대한 리스크다. 사회적 합의(social consensus)에 따라 Layer1에 Layer2의 DeFi 컨트랙트를 미러링하는 컨트랙트를 재구성하는 것도 방법이 될 수 있지만, 이는 상당한 번거로움과 기회비용을 초래하며, 누가 미러 컨트랙트의 처리 방식을 결정할지를 둘러싼 투표 주체 문제 역시 큰 난제가 된다. 이는 사실상 공적 권력 분배 문제로 연결되며, 이전에 ‘Xiangma’는 인터뷰 《고성능 퍼블릭체인은 새로운 돌파구를 찾기 어렵고, 스마트 컨트랙트는 권력 분배를 포함한다》에서 이를 언급한 바 있다.

물론 Vitalik은 최근의 글 "Exit games for EVM validiums: the return of Plasma"에서도 이 점을 지적하며, 이것이 바로 Plasma가 스마트 컨트랙트에 적합하지 않은 요소 중 하나라고 강조했다. 과거 유명한 Plasma 변형들(예: Plasma MVP, Plasma Cash 등)은 이더리움의 계정 기반 모델 대신 UTXO 또는 유사 모델을 채택했으며 스마트 컨트랙트를 지원하지 않았다. 이를 통해 앞서 언급한 "자산 소유권 배분" 문제를 피할 수 있었지만, UTXO 자체도 여러 결점이 있으며 스마트 컨트랙트와 호환되지 않는다. 따라서 Plasma는 단순한 결제나 주문장부 방식의 거래소에 가장 적합하다.
시간이 흐르면서, ZK Rollup의 부상으로 인해 Plasma는 역사의 뒤안길로 사라졌다. 왜냐하면 Rollup은 Plasma의 데이터 보류 문제를 근본적으로 해결하기 때문이다. 만약 ZK Rollup의 정렬기가 데이터 보류 공격을 시도해 ETH 체인에 Stateroot만 제출하고 DA 데이터는 제출하지 않으면, 해당 root는 무효로 간주되어 L1의 검증자(Verifier) 컨트랙트에 의해 즉시 거부된다. 따라서 ZK Rollup의 유효한 Stateroot에 대응하는 DA 데이터는 반드시 ETH 체인에서 조회 가능하다. 즉, "블록헤드 또는 Merkle Root만 공개하고 블록 바디는 공개하지 않는" 문제, 즉 데이터 가용성 문제/데이터 보류 공격이 해결되는 것이다.
또한 Rollup의 과거 DA 데이터는 이더리움에 저장되어 있으므로, 누구나 ETH 체인의 기록을 활용해 Layer2 노드를 구동할 수 있다. 이는 비허가형(decentralized, permissionless) 정렬기 구현의 난이도를 크게 낮춘다. 반면 Plasma는 DA에 엄격한 요구가 없기 때문에, 탈중앙화된 정렬기를 실현하는 것도 더욱 어렵다(교체 가능한 탈중앙화 정렬기를 실현하려면, 모든 L2 노드가 동일한 블록을 인정해야 하며, 이는 DA 구현 방식에 대한 요구를 의미한다)
게다가 ZK Rollup 정렬기가 무효 트랜잭션을 Layer2 블록에 포함시키려 해도 성공하지 못한다. 이는 유효성 증명(validity proof)의 원리에 의해 보장된다.
결국 말하자면, ZK Rollup 정렬기의 악용 가능성은 Plasma에 비해 훨씬 좁다 — 최악의 경우 Stateroot 갱신이 멈추는 정도이며, UX 측면에서는 일시 정지 또는 특정 사용자의 요청을 거부(거래 검열)하는 수준이다. 또한 Rollup 구조에서 정렬기가 고장 나면, 다른 노드가 이를 대체하기도 훨씬 쉽다. 이상적인 Rollup은 Plasma의 Exit Game 발동 확률을 0으로 낮출 수 있다(ZK Rollup에서는 탈출선(escape hatch)이라 부른다).

(L2BEAT의 Proposer Failure 항목은 각 L2 솔루션이 정렬기 오작동에 어떻게 대응하는지를 보여준다. Self Propose란 다른 노드가 정지된 정렬기를 대체할 수 있음을 의미한다)
현재 이더리움 생태계에서는 거의 모든 팀이 Plasma 경로를 포기했으며, 대부분의 Plasma 프로젝트는 실패로 끝났다.

(Vitalik이 ZK Rollup이 왜 Plasma보다 우월한지 설명한 내용. 여기에는 비허가 정렬기 운영과 DA 문제 해결이 포함됨)
Redstone란 무엇인가: 그것은 Plasma가 아니라 Optimium의 변형이다
앞서 우리는 Plasma와 그것이 Rollup에 의해 대체된 이유를 간략히 설명했다. 이제 Redstone에 대해 살펴보면, 아마도 독자들도 Plasma와의 차이점을 눈치챘을 것이다. Redstone는 데이터 보류 공격 문제를 해결할 수 있다. 예를 들어 새로운 Stateroot를 즉시 공개하지 않고, 먼저 ETH 체인이 아닌 곳에 원본 DA 데이터를 공개한 후, 해당 DA 데이터의 datahash를 연관 증거(commitment)로 ETH 체인에 등록하며, "연결된 datahash에 대응하는 전체 데이터를 오프체인에 공개했다"고 선언한다.

(Redstone 공식 사이트가 데이터 보류 공격 방지를 설명한 내용)
누구든지 Redstone 정렬기가 datahash에 해당하는 원본 데이터를 오프체인에 공개하지 않았다고 도전할 수 있다. 이 경우, 정렬기는 도전자에 대한 반박으로 해당 datahash에 대응하는 데이터를 체인 상에 공개해야 한다. 만약 정렬기가 도전에 응답하지 않고 ETH 체인에 데이터를 게시하지 않으면, 이전에 제출한 datahash/commitment는 무효로 간주된다.
정렬기가 도전 요청에 제때 응답하면, 도전자는 datahash에 해당하는 원본 DA 데이터를 즉시 획득할 수 있다. 결국 모든 L2 노드는 필요한 DA 데이터를 확보할 수 있게 되어 데이터 보류 공격 문제를 해결할 수 있다. 물론 도전자는 일정한 비용을 미리 지불해야 하는데, 이 비용은 정렬기가 ETH 체인에 원본 DA 데이터를 게시하는 데 드는 비용과 거의 같다. 이는 악의적인 도전자가 비용 없이 정렬기를 도전해 피해를 주는 것을 방지하기 위한 장치다.
마지막으로, datahash에 대한 도전 기간이 종료되면 정렬기는 해당 Stateroot를 공개한다. 즉, datahash에 포함된 DA 데이터 내의 트랜잭션 시퀀스를 실행한 후 도출된 root를 의미한다. 이때 L2 노드는 사기 증명 시스템을 이용해 무효한 Root에 도전할 수 있다. 만약 이전에 datahash가 도전당했음에도 정렬기가 원본 DA 데이터를 제때 게시하지 않았다면, 이후 해당 datahash에 대한 Stateroot를 공개하더라도 무효로 간주된다.
이러한 방식은 일반적인 Optimium(ETH를 사용하지 않고 DA를 구현하는 OP Rollup, 예: Arbitrum Nova)과 명백히 다르다. Optimium은 일반적으로 오프체인 DAC 위원회(DAC: Data Availability Committee)에 의존해 데이터 가용성을 보장한다. DAC는 일정 주기로 멀티시그 트랜잭션을 체인 상에 제출하며, Layer1의 Rollup 컨트랙트는 이를 수신하면 정렬기가 최신 DA 데이터를 오프체인에 공개했다고 간주한다.

(이미지 출처: L2beat)
Metis와 Arbitrum Nova 등의 경우 Stateroot와 datahash를 동시에 제출하며, 누군가 정렬기가 DA 데이터를 보류했다고 판단하면 도전을 시도하고, 정렬기는 datahash에 해당하는 DA 데이터를 체인 상에 게시한다.
따라서 Redstone와 Metis의 핵심 차이는 바로 이 단계에 있다: 전자는 먼저 datahash를 공개하고 DA 도전 기간이 끝난 후에야 Stateroot를 공개하는 반면, Metis는 Stateroot와 datahash를 동시에 공개하며 도전이 발생하면 DA 데이터를 체인에 올린다. 분명히 Redstone의 방식이 더 안전하다. Metis의 경우 정렬기가 도전에 계속 응답하지 않으면 데이터 보류 공격 문제를 신속히 해결할 수 없으며, 결국 긴급 인출이나 사회적 합의, 또는 다른 노드의 정렬기 교체에 의존해야 한다.

반면 Redstone의 경우 정렬기가 데이터를 보류하면, 그가 공개한 Stateroot 자체가 무효로 간주된다. 즉 Stateroot와 DA 데이터는 서로 묶여 있다. 이로 인해 Redstone는 Rollup과 유사한 수준의 DA 보장을 얻을 수 있으며, 본질적으로 Arbitrum Nova나 Metis보다 우수한 Optimium 변형이라고 할 수 있다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














