이더리움 플라즈마(Plasma) 톺아보기

이더리움 플라즈마(Plasma) 톺아보기

— written by 김유진 백경종 유희철 / reviewed by 돌비콩

목차

1. 플라즈마란?

2. 플라즈마 프레임워크

  • 2–1. 구성 요소
  • 2–2. 작동 방식

3. 플라즈마와 다른 솔루션의 차이점

  • 3–1. 사이드체인
  • 3–2. 샤딩
  • 3–3. L2(Layer 2) 솔루션

4. 플라즈마의 한계

  • 4–1. 플라즈마의 문제점
  • 4–2. 플라즈마의 몰락
  • 4–3. 대체 솔루션의 등장

5. 마치며


TL;DR

플라즈마는 이더리움의 과부하 된 트랜잭션 처리량 문제를 해결하기 위해 등장한 초기의 확장성 솔루션이다. 플라즈마는 머클 트리 형태의 구조를 갖고 있어, 상위 체인에 대해 무한한 하위 플라즈마 체인을 형성할 수 있다. 상위 체인에서 처리할 트랜잭션들을 플라즈마 체인에서 처리한 후 그 데이터를 모두 각 플라즈마 체인에 보관한다.

샤딩과 사이드 체인의 단점을 해결하기 위해 등장한 플라즈마 체인은 초기에 이더리움 메인넷의 트랜잭션 처리량을 비자(Visa) 수준으로 향상해 줄 것이라고 기대했지만 고질적인 데이터 가용성 문제로 인해 이후 등장하는 다른 확장성 솔루션에 밀려 점차 잊혔다.

이 리포트에서는 플라즈마 체인의 기본 구성과 작동 방식을 설명하고 다른 확장성 솔루션들과 차이를 통해 플라즈마 체인이 갖는 우위를 알아볼 것이다. 그리고 플라즈마 체인의 한계점들을 짚어보며 플라즈마가 어째서 지금까지 살아남지 못하고 다른 확장성 솔루션들에 대체되었는지 살펴볼 것이다.

1.플라즈마란?

플라즈마(Plasma)는 이더리움 블록체인의 확장성 문제를 해결하기 위해 개발된 확장성 솔루션으로, 본질적으로 블록체인 네트워크의 처리량과 속도를 획기적으로 향상하기 위해 고안되었다. 이더리움 창시자인 비탈릭 부테린과 조셉 푼이 제안한 이 기술은, 이더리움 메인넷(루트 체인) 위에 여러 개의 보조 체인(플라즈마 체인)을 생성하여, 메인 체인의 부담을 경감하고 전체 네트워크의 트랜잭션 처리량을 증가시키는 데 목적을 두고 있다.

이더리움 플라즈마의 인프라스트럭처 출처

플라즈마는 ‘트리 구조’를 갖는 여러 하위 체인을 통해 작동한다. 이 하위 체인들은 메인 체인으로부터 독립적으로 트랜잭션을 처리하며, 각기 다른 규칙이나 로직을 가질 수 있다. 이러한 구조는 네트워크의 부하를 분산시키고, 다양한 애플리케이션 또는 사용 사례에 맞게 최적화된 솔루션을 제공한다. 결과적으로 사용자는 더 빠르고 저렴한 트랜잭션을 경험할 수 있으며, 개발자는 더 다양한 블록체인 기반 애플리케이션을 구현할 기회를 얻는다.

플라즈마의 중요한 특징 중 하나는 ‘데이터 가용성’이다. 모든 플라즈마 체인의 상세한 데이터가 루트 체인에 저장되지 않음으로써, 메인 체인의 부담을 줄이고 스케일링 효과를 극대화한다. 대신, 각 플라즈마 체인의 요약된 정보만이 루트 체인에 저장되며, 이를 통해 보안성과 데이터 무결성을 보장한다.

또한, 플라즈마 프레임워크는 사용자가 자신의 자산을 메인 체인으로 안전하게 이동할 수 있는 출금 메커니즘을 제공한다. 이는 플라즈마 체인에서의 잠재적인 보안 문제나 오류에 대비한 것으로, 사용자들이 자신의 자산을 보호할 수 있도록 하는 중요한 장치이다.

플라즈마는 이더리움 네트워크의 확장성을 높이는 데 중요한 역할을 하며, 블록체인 기술의 적용 범위를 확장하는 데 크게 기여하고 있다. 그러나 플라즈마 역시 완벽한 솔루션은 아니며, 다양한 기술적 도전과 한계점을 가지고 있다

2. 플라즈마 프레임워크

2–1. 구성요소

  • 루트 체인(Root Chain)

루트 체인은 이더리움 메인넷과 같은 기본 블록체인으로, 플라즈마 체인의 안정성과 보안을 유지하는 핵심 역할을 수행한다. 이 체인은 플라즈마 체인에서 발생하는 모든 트랜잭션의 최종 검증자 역할을 하며, 플라즈마 체인의 데이터 무결성을 보장하기 위해 필요한 헤더 정보를 저장한다. 루트 체인은 플라즈마 체인이 제대로 작동하는지 확인하고, 이상이 발견되면 적절한 조치를 취할 수 있는 권한을 가지고 있다.

  • 플라즈마 체인(Plasma Chain)

플라즈마 체인은 루트 체인 위에 구축된 다수의 하위 블록체인이다. 이 체인들은 특정 애플리케이션 또는 사용 사례에 맞게 최적화될 수 있으며, 메인 체인의 부담을 줄이기 위해 대부분의 트랜잭션을 처리한다. 각 플라즈마 체인은 독립적으로 작동할 수 있으며, 서로 다른 규칙과 메커니즘을 가질 수 있다. 이를 통해 높은 처리량과 빠른 트랜잭션 속도를 달성하는 것이 가능하다.

  • 오퍼레이터(Operator)

오퍼레이터는 플라즈마 체인의 블록을 생성하고 유지 관리하는 중요한 역할을 한다. 이들은 플라즈마 체인에서 발생하는 트랜잭션을 모아 블록을 형성하고, 이를 루트 체인에 정기적으로 제출함으로써 플라즈마 체인의 무결성을 보장한다. 오퍼레이터는 플라즈마 체인의 효율성과 안정성을 유지하는 데 필수적이며, 플라즈마 네트워크의 전반적인 건강 상태를 유지하는 데 중추적인 역할을 한다.

플라즈마 프레임워크의 구성요소 관계도

2–2. 작동 방식

  • 트랜잭션 처리

플라즈마에서 트랜잭션 처리는 사용자가 직접 플라즈마 체인에서 트랜잭션을 생성하고 실행하는 방식으로 이루어진다. 사용자들은 이더리움 메인넷과는 별개로, 플라즈마 체인에서 자유롭게 트랜잭션을 발생시킬 수 있다. 이 트랜잭션들은 플라즈마 체인의 빠른 처리 속도 덕분에 거의 즉시 처리될 수 있다. 이는 메인넷의 네트워크 혼잡과 높은 수수료 문제를 해결하고, 트랜잭션 처리량을 대폭 증가시키는 데 중요한 역할을 한다.

트랜잭션과 플라즈마 블록에 대한 검증은 해당 플라즈마 체인을 이용하는 사용자들끼리 정하는 합의 알고리즘에 따라 결정된다. 사용자들은 빠르고 저렴한 비용으로 자유롭게 트랜잭션을 진행할 수 있게 되며, 이는 다양한 분야에서 블록체인 적용 가능성을 넓힌다.

  • 데이터 가용성

플라즈마는 데이터 가용성을 높이기 위해 독특한 접근 방식을 취한다. 모든 플라즈마 체인의 데이터가 루트 체인에 저장되지는 않는다. 대신, 플라즈마 체인의 블록 헤더 정보만이 루트 체인에 저장된다. 이는 루트 체인의 부담을 줄이면서도 플라즈마 체인의 무결성과 보안성을 유지하는 데 중요하다. 루트 체인에 저장되는 정보는 플라즈마 체인의 상태와 변동 사항을 추적하는 데 필요한 최소한의 정보에 국한된다.

이러한 방식으로, 플라즈마는 루트 체인의 과부하를 방지하면서도 각 플라즈마 체인의 안정성과 신뢰성을 보장한다. 루트 체인에 데이터를 저장하고 플라즈마 체인의 블록을 생성하는 오퍼레이터의 역할이다. 그러므로 플라즈마에서 데이터 가용성은 오퍼레이터에 대한 신뢰가 필요하다. 오퍼레이터가 악의적인 행동을 취할 시 플라즈마 체인 블록 내의 데이터에 접근하지 못해 잘못된 트랜잭션에 이의 제기를 하지 못하는 데이터 가용성 문제가 발생한다.

  • 출금 메커니즘

플라즈마는 사용자가 자신의 자산을 상위 체인이나 루트 체인으로 안전하게 출금할 수 있는 메커니즘을 제공한다. 사용자가 플라즈마 체인에서 루트 체인으로 자산을 옮기고자 할 때, 이 프로세스는 특별한 출금 프로토콜을 따른다. 만약 플라즈마 체인에서 데이터 무결성의 문제나 다른 문제가 발생했을 경우, 사용자는 ‘챌린지’ (Challenge) 메커니즘의 사기 증명 통해 자신의 출금 요청이 정당함을 입증할 수 있다. 이 챌린지 메커니즘은 루트 체인에서 실행되며, 사용자가 자신의 자산에 대한 권리를 보호받을 수 있도록 한다. 이는 플라즈마 체인의 잠재적인 문제점이나 보안 위협에도 불구하고, 사용자 자산의 안전성을 보장하는 중요한 기능이다.

3. 플라즈마와 다른 솔루션의 차이점

3–1. 사이드체인

플라즈마와 사이드체인은 모두 이더리움 네트워크의 확장성과 스케일링을 위한 기술적 해결책으로 사용되나 두 가지 접근 방식에는 몇 가지 중요한 차이가 있다.

플라즈마는 이더리움 네트워크 밖에 또 다른 블록체인 네트워크를 구축하는 것이 아니라 이더리움 자체에서 작동한다. 이더리움의 노드에서 머클 트리로 파생되는 오프체인 형태의 플라즈마 체인은 보안 및 신뢰성을 확보하기 위해 이더리움 블록체인의 스마트 계약을 활용한다. 스마트 계약을 사용하는 분산 애플리케이션의 확장에 사용된다.

이더리움의 플라즈마와 사이드체인 출처

반면 사이드체인은 별도의 블록체인 네트워크로 이더리움과는 독립적으로 운영된다. 이더리움과 사이드체인 간에 자산을 이동하는 다리(브릿지) 역할을 하는 중계 체인을 사용할 수 있게 된다. 주로 스마트 계약과 같은 블록체인의 기능을 확장하고 자체 보안 모델을 가진다. 사이드체인은 이더리움 네트워크와 별개의 합의 알고리즘을 사용하고 네트워크 간의 토큰 교환 방식을 취하고 있기 때문에 자산 보존에 대한 위험성이 증가한다.

이 두 가지 기술은 이더리움의 확장성 문제를 해결하기 위한 방법으로 고안되었다. 각각 장단점이 있으며 플라즈마는 기존 이더리움 네트워크와의 긴밀한 통합을 제공하므로 보안과 신뢰성이 중요한 응용 프로그램에 적합하다. 플라즈마는 이더리움 네트워크에 상속되어 있기 때문에 이더리움의 보안 범위 내에 있다. 하지만 사이드체인은 독립적인 네트워크를 갖추고 있기 때문에 확장성을 향상할 수 있지만 보안 문제 및 분산 응용 프로그램과의 상호 운용성에 대한 고려가 필요하다.

3–2. 샤딩

샤딩은 메인넷의 노드들이 처리할 데이터를 여러 개의 샤드에 쪼개서 트랜잭션을 처리한다. 처리해야 할 데이터를 할당받은 샤드들은 각자의 역할을 수행한다. 데이터를 저장하는 샤드도 존재하고 트랜잭션을 처리하는 샤드도 있다. 각 샤드들의 데이터 처리가 완료되고 이것이 검증되면 메인넷에는 해당 트랜잭션이 검증 완료되었다는 결과만 기록된다. 플라즈마나 사이드체인이 이더리움 메인넷에 대해 오프체인의 관계를 갖고 있다면 샤딩은 메인넷에서 하드포크되어 데이터를 처리하는 온체인 형식이다.

데이터를 분할해서 블록체인의 확장성을 높이는 샤딩 출처

데이터를 분할해서 샤드에 할당하고 이를 처리한 후 모아서 메인넷에 결과를 기록하는 과정을 거치다 보니 플라즈마와 다른 보안 속성을 가진다. 플라즈마는 이더리움에 직접 상속되어 보안면에서 샤딩보다 우수한 점이 있다. 샤딩은 데이터가 분산되다 보니 정보 손실 문제로부터 자유롭지 못하다. 그리고 샤드를 쪼갤수록 샤드 간 데이터 참조 문제, 동기화 문제나 샘플링에 대한 알고리즘의 복잡성이 증가한다. 또한 각 샤드에서 처리한 거래 결과의 보존을 위한 확정 합의가 필수적이다.

또한 샤딩은 확장성에 제약이 있다. 무한하게 차일드 체인을 만들 수 있는 플라즈마와 달리 샤딩은 샤드 개수에 따라 그 확장성이 제한된다. 플라즈마와 같이 데이터 가용성 문제도 존재한다. 샤딩에서는 이를 낚시꾼 딜레마라고 불린다. 그러나 샤딩은 데이터 가용성 문제를 DAS나 Erasure Coding을 도입하면서 일부 해결했다.

3–3. Layer 2(L2) 솔루션

Layer 2 (L2) 솔루션은 블록체인의 상위 레이어에 구축된 독립적인 블록체인 또는 플랫폼으로 주로 이더리움과 같은 블록체인 네트워크와 분리되어 작동한다. L2 솔루션은 다양한 기술적 접근 방식을 포함하며 예로 롤업(Rollup) 및 상태 채널(State Channels)이 있다.

L2 솔루션과 플라즈마 모두 주로 트랜잭션 처리를 블록체인 외부로 이동시켜 스케일링을 달성한다. L2 솔루션은 자체적인 보안 모델을 가진다. 또한 이더리움과 같은 블록체인과 상호 작용하기 위해 다리 역할을 하는 중계 체인을 사용할 수 있다. 이 때 중계 체인의 구현을 롤업 혹은 상태 채널을 사용한다.

L2 솔루션과 플라즈마의 주요 차이점으로는 플라즈마의 경우 이더리움 블록체인 내에서 작동하고 이더리움의 각 블록들에 상속되어 메인넷과 긴밀한 통합을 제공하는 반면 L2 솔루션은 이더리움 네트워크와 연동되어 있으나 자체적인 블록체인이나 플랫폼으로 동작하며 자체 보안 모델을 가지는 것이 다르다. 두 솔루션 모두 레이어1인 이더리움의 동작이 멈추면 작동하지 못하는 것이 동일하다.

이더리움과 별개의 네트워크에서 데이터를 처리한다는 점에서 L2 솔루션과 사이드체인이 비슷해 보인다. 그러나 사이드체인의 경우 사이드체인 네트워크가 공격받아 블록 생성이 중단될 경우 메인넷의 영향이 없는 반면 L2 네트워크가 공격을 받을 경우 메인넷에도 영향을 줄 가능성이 존재한다. 플라즈마의 경우도 L2 네트워크와 동일한데 이는 플라즈마와 L2모두 이더리움에 상속되어 보안을 받고 있기 때문이다.

다음은 L2 솔루션이 이더리움 메인넷(L1)과의 연동을 위해 사용하고 있는 방법이다.

  • 롤업(Rollup)

롤업은 블록체인의 상위 레이어에 스마트 계약과 트랜잭션 데이터를 롤업하여 처리하고, 이를 블록체인 네트워크에 주기적으로 커밋하는 방식으로 동작한다. 롤업은 주로 두 가지가 있으며, 데이터 롤업(Data Rollup) 및 실행 롤업(Execution Rollup) 이 있다.

데이터 롤업과 실행 롤업은 모두 스마트 계약 실행을 오프체인에서 처리한다. 데이터 롤업은 오프체인에서 처리한 데이터를 결과만 요약하여 직접 메인넷에 기록한다. 그러나 실행 롤업은 해당 트랜잭션을 메인넷에 커밋하여 블록체인 실행 환경에서 자원을 절약하고 메인넷의 성능을 개선할 수 있다. 두 사례를 포함하여 롤업은 기존 블록체인의 보안 모델을 활용하여 블록체인 네트워크의 처리량을 크게 높임과 동시에 트랜잭션 수수료를 낮출 수 있다.

  • 상태 채널

블록체인 네트워크 외부에서 발생한 트랜잭션을 처리하기 위한 기술적 접근 방법으로 주로 P2P(Peer-to-Peer) 거래나 마이크로 트랜잭션에 사용된다. 두 개 이상의 참가자가 상태 채널을 열고 거래를 수행할 수 있으며 각 거래의 결과는 블록체인에 기록하기 전에 블록체인 네트워크 내에서 처리되지 않는다.

상태 채널을 사용하면 블록체인 네트워크에 필요한 거래 수를 줄이고 트랜잭션 처리 시간을 단축할 수 있으며 이는 블록체인 네트워크의 확장성과 성능을 향상하는 데 도움이 된다. 마지막 상태의 해시만 블록체인에 커밋되며 모든 참가자가 거래 기록을 확인할 수 있어 이를 통해 보안성이 유지된다.

4. 플라즈마의 한계

4–1. 플라즈마의 문제점

1. 체인 모니터링 문제

플라즈마 체인 운영에 가장 큰 혼란을 줄 수 있는 요소 중 하나는 바로 악의적인 오퍼레이터 행위다. 체인 사용자는 블록 정보를 공개하지 않거나 블록 정보를 의도적으로 잘못 기입하는 행위를 계속해서 감시해야 한다. 플라즈마 체인은 사이드체인과 다르게 네트워크 오퍼레이터가 악의적인 행동을 하면 사기 증명을 제출하고 체인을 종료할 수 있다. 이를 위해서는 체인의 모든 트랜잭션을 검증해야 한다. 트랜잭션 검증에는 비용이 추가로 발생하고 지속적인 모니터링에 대한 요구 때문에 플라즈마 체인 참여에 부담이 가해질 수밖에 없다.

부정적인 행위에 대한 감시라는 이유 외에도 플라즈마 체인의 구조적인 문제로 체인을 지속적으로 모니터링해야 한다. 참여자들은 정상적인 자금 인출을 위해 플라즈마 체인의 상위 체인을 계속해서 지켜봐야 한다. 거래 당사자들이 인출 신청을 하면 해당 트랜잭션은 상위 체인의 플라즈마 컨트랙트로 기록된다. 상위 체인까지 이 트랜잭션이 기록되어야 UTXO에 대한 인출 신청이 받아들여지기 때문에 사용자는 커밋될 때까지 이를 계속 모니터링해야 한다. 특히 루트 체인으로 인출을 신청하면 하위 체인부터 상위 체인을 거쳐 루트 체인까지 제대로 커밋이 이루어지는지 계속 확인해야 하는 문제가 있다.

무신뢰성이라는 블록체인의 아젠다를 위해 고안된 플라즈마 체인은 아이러니하게도 신뢰를 위해 노드를 계속해서 모니터링해야 한다는 과중된 업무를 사용자에게 부과한다. 이로 인해 사용자들이 플라즈마 체인을 사용하기에 부담스럽게 만든다.

2. 대규모 탈출 문제

플라즈마 체인에는 챌린지 기간(Challenge Period)이라는 것이 있다. 자금을 출금하는 과정에서 발생하는 지연 시간으로 이때 트랜잭션에 대한 이의 제기를 할 수 있다. 챌린지 기간은 최대 7일이며 그 사이에 이의 신청이 끝날 수도 있다. 이는 사용자의 자금 보호를 위해 마련해 둔 장치다. 하지만 많은 사람들이 체인을 트랜잭션을 마치고 체인을 종료할 때 문제가 발생한다. 플라즈마 체인은 선입선출 방식으로 트랜잭션을 처리한다. 챌린지 기간은 외부 공격으로 인해 체인을 급하게 종료해야 하는 상황이나 급하게 자금을 이동해야 할 때, 사용자가 긴 시간을 기다려야 한다는 문제점이 있다.

대규모 탈출 문제는 데이터 가용성 문제를 악용하는 악의적인 오퍼레이터 행위를 방지하기 위해 고안되었다. 정상적인 거래 사이에서 자금을 갈취하려는 오퍼레이터의 행위를 늦추고자 체인에서 사용자를 대량 이탈시키는 방법을 사용한다. 위 챌린지 기간을 이용하면 오퍼레이터의 악의적 행위를 지연시킬 수 있고 이때 출금 요청에 대한 검토를 진행한다.

그러나 이 방법은 위에서 설명했듯이 정상적인 사용자의 자금 인출 시간까지 늦추는 부작용을 낳는다. 게다가 이 방법은 이상적인 해결책도 아니다. 플라즈마 체인의 모든 사용자가 트랜잭션을 종료할 경우 해당 체인의 상태와 데이터를 메인넷에 모두 넘겨야 한다. 임의의 플라즈마 체인 크기와 이더리움 메인넷의 처리 속도의 제약을 고려하면 대규모 탈출 문제를 통한 악의적 오퍼레이터 행위 방지는 비현실적이다. 추가로 순식간에 많은 데이터가 상위 체인으로 몰릴 경우 병목현상이 발생하여 네트워크의 정체가 유발된다. 이때 외부 공격과 같은 보안에 취약해지며 메인넷이나 다른 플라즈마 체인을 사용하는 사용자의 자금 인출에도 지연이 발생하는 문제가 생긴다.

3. 데이터 가용성 문제

사기 검증은 플라즈마 체인 운용에 가장 중요한 행위다. 유효하지 않은 블록을 생성하거나 거래 내용을 숨기는 등, 오퍼레이터의 악의적인 행동을 막기 위해서는 일반 사용자의 사기 검증이 필수이기 때문이다. 사기 검증에는 트랜잭션 정보와 상태가 필요하다. 메인넷에는 블록 루트만 기록하고 자세한 트랜잭션 데이터는 플라즈마 체인이 저장한다. 따라서 사기 검증을 실시할 때는 플라즈마 체인에 기록된 데이터를 확인할 수 있어야 한다. 여기서 플라즈마 체인의 데이터 가용성 문제가 나타난다.

데이터 가용성 문제는 트랜잭션과 이를 기록하는 블록을 검증하기 위해 필요한 거래 정보에 투명하게 접근하지 못할 때 발생한다. 보통 두 가지 이유에서 해당 문제가 발생한다.

  1. 정직하지 못한 풀 노드의 정보를 받은 라이트 노드가 검증 못하는 경우
  2. 오퍼레이터가 블록을 만든 후 데이터를 공개하지 않는 경우

첫 번째 문제는 체인의 라이트 노드 구현에 관한 문제다. 두 번째 문제는 플라즈마 체인의 운영에 관한 직접적인 문제로 자금 인출과 거래에 관련된 치명적인 문제다. 플라즈마 체인에 공개되는 트랜잭션 데이터는 사기 검증을 위해 필수적이다. 사기 검증 방식은 메인넷에 제출된 의심되는 블록 루트에 대한 플라즈마 체인의 트랜잭션 데이터를 블록 루트와 함께 다시 계산하여 타당성을 검증하는 식으로 진행된다. 이것이 검증되면 자금은 다시 회수되고 오퍼레이터의 토큰은 슬래싱되며 검증자는 보상받는다. 이는 현재 폴리곤(Polygon)의 전신인 매틱 네트워크 (Matic Network)가 실제로 사용했던 방식이다.

이때 블록루트와 함께 자세한 트랜잭션 데이터를 플라즈마 체인에서 확인해야 한다. 그런데 만일 오퍼레이터가 블록의 데이터를 공개하지 않는다면 어떻게 될까? 혹은 공개하더라도 전후 상태가 다른 유효하지 않은 블록을 공개한다면 어떻게 될까? 거래 당사자를 포함해서 네트워크 사용자는 사기 검증을 할 수 없는 상태가 된다. 데이터로 역계산을 못 해보니 부정행위를 증명할 수 없다. 블록은 거래 당사자들에게 전파되지 않으니 자신들의 자금 상태를 확인할 수 없어 이의 제기를 할 수 없다. 설령 블록이 전파되더라도 오퍼레이터가 데이터를 공개하지 않으면 이를 검증해 볼 수 없고 오퍼레이터가 의심되더라도 블록이 전파되기 전까진 사기 검증을 하지 못해 이의 제기를 할 수 없다.

블록 인질 공격이라고도 부르는 이 데이터 가용성 문제는 사용자들의 자금을 오프체인에 묶어버리는 위험성을 만든다. 오퍼레이터의 악의적인 행동은 사람들의 자금이 거래 중간에 탈취당할 가능성을 만든다. 그리고 이런 플라즈마 체인의 구조로는 이에 대한 사기 검증을 할 수 없다. 해당 문제를 해결하기 위해 다양한 방법이 고안되었다. 플라즈마 MVP의 확인 서명 방식은 UTXO 모델에서 이중 서명을 통해 오퍼레이터의 부정행위를 방지한다. 혹은 연산 과정의 복잡성을 늘려서 검증 과정을 치밀하게 만드는 방법도 있다. 다만 이 대안들은 UTXO 모델에서만 적용되어 이더리움 EVM으로 구현되는 DApp 개발에 제약을 가한다.

4. 스마트 컨트랙트의 한계

플라즈마 체인은 이더리움 스마트 컨트랙트를 지원할 수 없다. 앞서 설명한 데이터 가용성 문제의 해결 방안은 UTXO 모델에만 적용되기에 플라즈마 체인에서는 이더리움 메인넷에서 사용하는 일반 상태 연산 모델(계정 모델)을 사용할 수 없다. 실제로 구현되었던 플라즈마 체인은 데이터 가용성 문제로 UTXO 모델로 구현되었는데 이에 따라 플라즈마 체인에서는 스마트 컨트랙트를 사용할 수 없다.

단지 데이터 가용성 문제 해결을 위한 UTXO 모델 채택으로 스마트 컨트랙트를 이용하지 못하는 것은 아니다. 일반 상태 연산 모델을 플라즈마 체인에 구현할 시 사용자는 자신의 자산을 온전히 보존하지 못할 가능성이 존재한다. 또한 오퍼레이터에 의해 계좌의 잔고에 오류가 발생할 수 있다. 플라즈마 체인 개발자들은 일반 상태 연산 모델을 도입했을 때 자금 인출 과정을 제대로 구현하지 못했다. 결과적으로 플라즈마 체인에서는 단순한 트랜잭션과 UTXO 모델 기반의 자금 이동만이 구현되었으며 ERC-20 토큰에만 호환되는 네트워크가 만들어졌다. 스마트 컨트랙트도 부재하고 ERC-20 토큰만 구현할 수 있는 플라즈마 체인은 DApp 개발의 확장성을 낮췄다. 이런 상황에서 영지식 증명이라는 대안이 등장했고 사람들은 플라즈마 체인보다 zkSNARK과 zkSTARK 등에 더 관심을 갖게 된다.

4–2. 플라즈마의 몰락

플라즈마 체인은 한창 가상자산 시장이 상승 가도를 달리던 2017년에 처음 등장했다. 상승하는 가격과 더불어 네트워크 사용량이 증가했고 개발진들은 이더리움의 확장성에 대해 고민하기 시작했다. 이때 비탈릭 부테린과 조셉 푼은 Visa 수준의 거래량을 처리할 수 있는 레이어2 확장성 솔루션에 관한 논문을 발표한다. 이것이 플라즈마 체인이다.

플라즈마를 공개하는 비탈릭 부테린, 2017년 8월 9일

플라즈마 체인은 처음에는 맵 리듀스를 사용하는 머클 트리 형태로 고안되었고 데이터 처리의 복잡성을 해결하기 위해 트랜잭션 처리 과정을 단순화한 UTXO 모델 기반의 MVP(Minimal Viable Plasma)가 등장했다. 당시에 플라즈마 체인은 사이드체인의 무 신뢰성 결여 부분을 해결할 수 있다는 점에서 큰 주목을 받았다. 특히 MVP는 플라즈마 체인의 고질적인 데이터 가용성 문제도 일부 해결할 수 있는 구조를 갖고 있었고 이는 사이드체인의 문제점을 모두 해결할 수 있을 것만 같았다.

플라즈마 체인은 보안과 안정성 그리고 이더리움의 확장성을 약속했지만 4.1에서 살펴본 문제점들을 결국 온전히 해결하지 못했다. 여전히 오퍼레이터의 악의적인 행동을 감시하기 위해 사용자들은 24시간 네트워크를 모니터링하고 있어야 했다. 악의적인 블록 생성을 막기 위해 고안된 대량 탈출 문제는 플라즈마 MVP에서도 여전히 문제가 되었다. 7일이 걸리는 챌린지 기간은 사용자들이 플라즈마 체인에서 자금을 인출하는데 어렵게 만들었다. 사용자들은 더 즉각적인 인출을 원했다. 체인 전체가 종료되는 상황에서 메인넷으로 전송되는 플라즈마 체인 전체의 데이터로 인해 이더리움은 트랜잭션 부하에 시달렸다.

확장성은 이더리움 메인넷에 비해서 크게 향상되었지만 약속하던 Visa 수준의 거래량은 처리할 수 없는 정도였다. 이더리움의 TPS(Transaction Per Second, 초당 거래량)는 10~20 정도이고 플라즈마 체인은 이를 개선하여 1000TPS 이상으로 트랜잭션을 처리할 수 있게 되었다(플라즈마 EVM 기준). 하지만 Visa의 TPS가 약 24000인 것을 생각하면 플라즈마의 TPS가 턱도 없이 부족하다는 것을 알 수 있다.

주요 블록체인 네트워크 및 Visa의 TPS

이후 플라즈마 캐시(Plasma Cash)가 등장했다. 플라즈마 캐시는 UTXO 모델이 아닌 대체 불가능한 토큰(NFT)을 활용했다. 네트워크의 자산이 모두 NFT 형태로 표시된다. 따라서 사용자는 자산 증명을 기존 UTXO 모델보다 훨씬 쉽게 할 수 있다. 악의적인 트랜잭션 생성도 방지할 수 있으며 사용자는 네트워크 전체가 아닌 자신이 소유하고 있는 토큰만 모니터링하면 된다. 플라즈마 캐시는 오퍼레이터가 악의적인 행동을 감행할 때 쉽게 자금 인출을 할 수 있도록 대화형 챌린지 시스템도 도입했고 새로운 머클 트리 구조를 도입해서 토큰 증명을 더욱 쉽게 할 수 있게 됐다.

하지만 플라즈마 캐시도 플라즈마 체인의 기본적인 문제에서 벗어나지는 못했다. 먼저 자산을 계속 모니터링해야 한다는 문제다. 트랜잭션에 이의 제기를 하고 사기 검증을 하는 기존 방식과 다르게 사용자는 자신의 토큰에 대한 잘못된 혹은 악의적인 출금 신청이 발생할 시 직접 토큰 증명을 해야 한다. 챌린지 기간을 넘어서지 않고 토큰 증명을 해야 했기에 잘못된 인출이 발생했는지 안 했는지를 확인하기 위해 주기적으로 온라인 상태를 유지해야 한다. MVP보다는 개선된 구조였지만 여전히 레이어2 솔루션으로 사용하기에는 문제가 많았다.

결국 데이터 가용성 문제를 해결할 수 있는 롤업 솔루션이 등장함에 따라 플라즈마 체인에 대한 관심도는 2020년을 이후로 현저히 줄어들게 된다. 현재는 오미세고 네트워크(OMG Network) 등 극소수의 프로젝트에서만 사용하고 있으며 이더리움 개발자 커뮤니티에서도 19년 이후로는 논의가 거의 이뤄지지 않고 있다.

2019년 이후 개발자 커뮤니티에서는 플라즈마에 대한 논의가 거의 진행되지 않고 있다 ethresear.ch

4–3. 대체 솔루션의 등장

새로운 확장성 솔루션으로 등장한 롤업(Rollup)은 플라즈마의 문제점을 해결할 수 있었다. 특히 비탈릭 부테린이 영지식 증명과 롤업을 결합하여 제시한 zk-Rollup(영지식 롤업)은 플라즈마 체인의 데이터 가용성 문제를 해결하면서 위에서 이야기한 문제를 풀 수 있었다.

롤업은 오프체인에서 트랜잭션을 모아서(batch) 처리한다. 이 개념은 플라즈마 체인과 동일하지만 거래 데이터를 이더리움 메인넷에 직접 기록한다는 점에서 차이가 있다. 오프체인에서 처리한 트랜잭션 데이터를 모아서 롤업 네트워크에 전송하면 이에 대한 요약본(state root)을 메인넷 블록에 저장한다. 이 요약본은 메인넷에서 접근할 수 있으므로 데이터 가용성 문제가 해결된다. 트랜잭션의 검증 방식도 플라즈마 체인에 비해 확실하다. 옵티미스틱 롤업의 경우 플라즈마 체인과 같이 사기 증명을 통해 입증하고 영지식 롤업의 경우 트랜잭션 묶음을 롤업 네트워크에서 처리할 때마다 영지식 증명으로 입증한다. 데이터 가용성 문제가 해결되어 사용자들은 계속 네트워크를 감시하고 있지 않아도 되고 챌린지 기간 같은 지연 기간 없이 자금을 인출할 수 있게 된다. 추가로 데이터 가용성 문제가 사라져 대량 탈출 문제도 해결된다.

그러나 롤업은 플라즈마 체인에 비해 확장성이 떨어진다. 트랜잭션 묶음들의 요약본을 직접 이더리움 메인넷에 기재하는 방식이다 보니 결국 이더리움 네트워크에 부하를 준다. 반면 플라즈마 체인은 트리 형태로 계속 확장할 수 있기 때문에 롤업에 비해 확장성이 좋다. 이론적으로 롤업은 최대 800~1000TPS를 가질 수 있는데 플라즈마 체인은 파생된 체인 개수에 따라 계속 증가할 수 있다는 점에서 확장성에 차이가 있다.

또한 롤업이 이더리움에 트랜잭션 데이터를 저장하는 중에 비용이 발생한다. 롤업으로 처리한 트랜잭션은 메인넷에 calldata라는 형태로 업로드되는데 이 calldata를 사용하는 비용이 그 용량에 비례해서 커진다. (1바이트 = 16gas) 영지식 롤업의 경우 영지식 증명할 때마다 계산 비용이 발생하고 zk-SNARK의 경우 검증 당 최대 350,000 gas가 소요될 때도 있다. 옵티미스틱 롤업도 사기 증명 과정에서 온체인 증인 확인 등에 비용이 추가로 소모된다. 그러나 앞으로 이더리움 네트워크에 댕크 샤딩(Dank Sharding)과 PBS가 적용된다면 롤업을 이용한 확장성과 함께 검증인 비용처리 문제도 해결될 것으로 보인다.

5. 마치며

최근 비탈릭 부테린이 작성한 Exit games for EVM validiums: the return of Plasma으로 인해, 다시 한번 플라즈마의 가능성에 대한 논의가 이뤄지는 모양새다. 비탈릭은 “zk(영지식) 기반 EVM 개발팀이라면 이더리움 레이어2 확장 솔루션 플라즈마에 대해 검토해야 한다”라며 “플라즈마의 일부 한계점으로 인해 옵티미스틱/영지식 롤업이 이를 대체했지만 플라즈마는 과소평가된 부분이 있다”라고 언급한다.

특히 중요한 보안 업그레이드에 적용될 수 있는 가능성이 대두되면서, 역사의 뒤안길로 도태된 것으로 여겨진 플라즈마의 화려한 부활을 기대하는 전문가들도 있다. UTXO 기반의 재설계 및 zk-SNARK 유효성 증명을 통한 플라즈마 프레임워크 단순화 등 다양한 논의도 오가고 있다. 이러한 현상이 단순한 일시적 관심에서 끝날지 혹은 실제적 부활의 신호탄일지, 향후 상황을 면밀히 지켜보아야 할 필요가 있겠다.


Reference

[1] https://medium.com/onther-tech/%ED%94%8C%EB%9D%BC%EC%A6%88%EB%A7%88%EC%99%80-data-availability-%EB%AC%B8%EC%A0%9C-894d66eb2080

[2] https://medium.com/dragonfly-research/the-life-and-death-of-plasma-b72c6a59c5ad#

[3] https://medium.com/a41-ventures/polygon-%EC%8B%9C%EB%A6%AC%EC%A6%88-2-polygon-avail-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EA%B0%80%EC%9A%A9%EC%84%B1%EA%B3%BC-%EB%AA%A8%EB%93%88%EB%9F%AC-%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8-c4f26b0bf16c

[4] https://www.a41.io/ko/content/series/73b18bda-f0cb-470c-88a5-b1adfe7062c7

[5] https://ethresear.ch/t/why-smart-contracts-are-not-feasible-on-plasma/2598/7


본 아티클은 고팍스 가디언즈의 블록체인 대중화 교육 일환으로 만들어진 자료입니다. 고팍스는 블록체인 산업의 연구와 학술 활동 활성화하고, 가상자산과 블록체인 기술에 대한 인식 개선을 목표로 하고 있습니다.

면책 조항: 해당 게시글은 단순한 정보 제공을 위해 작성되었으며, 특정 가상자산에 대한 추천을 하는 것이 아닙니다. 또한 내용상의 정합성과 정확성, 완전성을 보장하지 않습니다. 따라서 해당 내용을 바탕으로 투자 결정을 하지 마십시오. 작성된 내용은 작성자 본인의 견해이며, 고팍스의 공식 의견이 아닙니다. 본지는 어떠한 투자적, 법률적 책임 등을 지지 않습니다.