back

검색

[박상현] 샤딩이 플라즈마보다 더 좋은 방법일까?

박상현, 배남주자, 샤딩, 플라즈마, 이더리움 2.0

[박상현의 배(워서) 남주자] 2020년 1분기 출시 예정인 이더리움 2.0에는 확장성 증대를 위한 솔루션이 여럿 적용됐다. 대표적인 예가 샤딩(sharding)이다. 이더리움2.0에 대한 관심과 기대가 큰 만큼, 샤딩 역시 확장성 문제를 해결할 핵심 요소로 많은 기대를 받고 있다. 샤딩은 분명 매력적인 기술이지만 만능 열쇠는 아니다. 커뮤니티의 기대와는 달리 현존하는 이더리움 1.0의 확장성 기법들, 예를 들어 플라즈마(Plasma)보다 더 나은 기술은 아니다. “샤딩이 플라즈마보다 더 좋은 기술이냐”고 묻는다면 “어느 기술이 더 좋다고 말할 수는 없다”고 답하겠다. 샤딩과 플라즈마, 뭐가 다른가 샤딩과 플라즈마는 언뜻 보기엔 비슷한 구조다. 중심에 시스템의 합의를 책임지는 ‘메인 체인(main chain)’이 존재하고, 여러 ‘자식 체인(child chain)’들이 사용자 레벨에서의 트랜잭션을 처리한다. 자식 체인의 해시들은 메인 체인에 주기적으로 등록된다. 이를 ‘허브 앤 스포크(hub-and-spoke)’ 구조라고 한다. 그렇다면 샤딩이 플라즈마를 온전히 대체할 상위호환(上位互換)격 기술이라 할 수 있지 않을까. 아니다. 샤딩과 플라즈마는 상호 대체가 불가능한 독립적인 기술이다. 플라즈마는 비구금형(non-custodial) 특성을 가진 사이드 체인이다. 쉽게 말하자면 플라즈마 체인에서의 탈출이 가능하다는 뜻이다. 만일 어떠한 오류가 플라즈마 체인에서 발생하면, 그 오류는 검출될 수 있고 사용자들은 플라즈마 체인에서 안전하게 탈출할 수 있다. 사용자들이 감당할 비용은 오직 탈출이 진행되는 시간 동안 기다려야 한다는 점과 메인 체인에서 상대적으로 높은 수수료 비용을 지불해야 한다는 점뿐이다. 플라즈마 체인은 메인 체인과 구분되는 독립적인 블록체인이므로 플라즈마 체인의 결함이 메인 체인에 아무런 영향을 끼치지 않는다. 샤딩 시스템은 한 블록체인에서 전체 트랜잭션을 처리하는 것이 아니라, 소규모 체인에 해당하는 샤드 체인(shard chain)들이 트랜잭션을 병렬 처리함으로써 단위 시간당 트랜잭션 처리량을 개선하는 방법이다. 샤딩과 플라즈마의 기술적 차이는 긴밀한 결합(tight-coupling)이다. 긴밀한 결합은 샤딩의 속성이며, 사이드체인이나 플라즈마에서는 그렇지 않다. 이는 샤딩에서 메인 체인(이더리움 2.0에서의 비콘 체인(beacon chain))의 타당성이 자식 체인의 타당성과 분리될 수 없다는 의미다. 즉, 유효하지 않은 메인 체인에 종속적인 자식 체인은 유효하지 않다. 또한, 유효하지 않은 자식 체인을 포함하는 메인 체인 역시 유효하지 않다. 메인 체인과 샤드 체인은 독립적인 블록체인이 아니다. 샤딩은 레이어-1, 플라즈마는 레이어-2 만일 체인 구조가 긴밀한 결합성을 포함하지 않는다면, 이는 레이어-1에 해당하는 샤딩 스킴(scheme)이 아니라 레이어-2 시스템인 플라즈마이다. 이더리움의 기반 레이어는 플라즈마 블록의 유효성에 대해 인지할 수 없으므로 유효하지 않은 플라즈마 블록의 블록 헤더가 메인 이더리움 체인에 등록될 수 있다. 이더리움이 볼 수 있는 것은 오직 작은 양의 데이터를 포함한 트랜잭션뿐이다. 샤딩의 장점: 쉽게 지배할 수 없다 플라즈마 대비 샤딩이 가지는 분명한 장점이 존재한다. 우선, 최신 샤딩 디자인은 무작위로 샘플링된 위원회(randomly sampled committees) 방법을 사용한다. 따라서 체인의 전체 검증인 집합에 대한 충분한 비중(3분의 1 이상)을 차지하지 않는 한, 쉽게 체인을 지배할 수 없다. 또한, 샤딩 시스템에서의 체인은 검증자 집합의 3분의 1보다 크거나 심지어 2분의 1에 달하는 대형 및 다수의 공격자에 대해 더 강한 보장(guarantees)을 제공한다. 플라즈마 체인은 메인 체인 상의 51% 공격에 의해 탈출 요청이 검열될 수 있으므로, 항상 성공적으로 공격당할 가능성이 존재한다. 반면 샤딩 시스템에서는 검증이 체인 안에서 이뤄지는 것이 아니라, 클라이언트 지역적(locally)으로 이루어진다. 따라서 51% 공격에 의해 검열되지 않는다. 플라즈마의 장점: 확장할 수 있다 반면 플라즈마 체인 역시 샤딩이 제공하지 못하는 장점이 있다. 우선, 플라즈마 체인은 반복적으로(재귀적으로) 적용할 수 있다. 메인 체인 위에 플라즈마 체인(들)이, 그 플라즈마 체인 위에 또 다른 플라즈마 체인(들)이 존재할 수 있다. 마치 트리와 같은 형태로 확장할 수 있다. 또한, 각 플라즈마 체인은 독자적으로 배포되므로 새 디자인을 보다 빠르게 적용할 수 있다. 보안 측면에서도 강점을 가진다. 샤딩 시스템이 가질 수 있는 확장성의 최대 안전 수준은 사용자 수라는 예측할 수 없는 변수에 의해 결정된다. 반면 플라즈마 체인에는 긴밀한 연결성이 없으므로 사용자들이 상황 변화에 더 유연하게 적응할 수 있다. 확장성 해법은 샤딩과 플라즈마의 하이브리드 샤딩과 플라즈마는 일견 비슷해 보이지만 본질적으로 구조가 다르다. 같은 디자인으로 수렴할 수 없다. 또한, 각자가 고유한 장점이 있다. 즉, 샤딩은 플라즈마의 상위호환 격 기술이 아니다. 그렇다면, 아마 이런 의문이 떠오를지 모르겠다. ‘확장성 문제를 해결할 만능 구조는 없을까?’. 아쉽게도 ”아직은 알 수 없다. 그러나 유망한 구조는 있다” 정도가 답이다. 장기적인 관점에서의 확장성 솔루션은 샤딩이 적용된 기반 레이어가 존재하고, 더 많은 확장성을 제공하기 위해 그 위에 플라즈마 체인이 존재하는 하이브리드(hybrid) 시스템이 될 것이다. 이는 하나의 전략에 전적으로 의존하는 것보다 다양한 종류의 사용자 요구에 부합할 수 있기 때문이다. 박상현 『컴퓨터과학으로 배우는 블록체인 원리와 구현』 저자 본 칼럼은 비탈릭 부테린의 글 ‘Sidechains vs Plasma vs Sharding’을 참조해 작성했습니다. (https://vitalik.ca/general/2019/06/12/plasma_vs_sharding.html)

조인디 logo
j o i n
d

Article Title

  • J loading image
  • O loading image
  • I loading image
  • N loading image
  • D loading image

RE:CENT