ETHEREUM ETH
1,023,378 (0.07964029 BTC, -2.45%)
플라즈마(Plasma), 라이덴(Raiden) 그리고 샤딩(Sharding)
최초작성 : 1주 전 / 최종수정 : 1주 전 / 작성자 : misskiwi

이더리움은 처리능력(Scale) 문제에 직면해 있습니다. 지난 해 ICO 붐으로 유명 ICO에 송금이 몰려 네트워크가 먹통에 빠진 일이나, 이더리움 기반 크립토키티 사용자의 증가로 문제가 발생하는 등의 일은 앞으로 무수히 많은 DApp이 제대로 구현되기 위해 꼭 해결해야하는 과제입니다.


이더리움 네트워크를 수렁에 빠뜨린 크립토키티

PoS(Proof of Stake)로의 전환도 이를 위한 여정의 하나입니다만 이더리움의 목표를 실현하기 위해서는 이로는 부족합니다. 더 방대한 처리능력을 갖추기 위해 다양한 시도가 이루어지고 있는데 가장 주요한 프로젝트는 아래 3개 입니다.

  • Raiden Network
  • Plasma
  • Sharding

위 프로젝트들은 쉽게 이해하기 어렵습니다만 간단히 어떤 기술인지 살펴보도록 하겠습니다.

라이덴 네트워크(Raiden Network)

라이덴 네트워크는 비트코인, 라이트코인에서 사용하는 라이트닝 네트워크(Lightning Network)와 유사한 프로젝트입니다. 결제 채널을 열고 닫는 과정 사이의 중간 거래를 블록체인에 기록하지 않는 방법(Off-chain)을 통해 블록체인 기록을 최소화하고, 수수료를 절약하는 구조입니다.

  • 블록 거래를 기다리지 않아, 승인을 빠르게 진행할 수 있습니다.
  • 채널을 열고 닫을 때에만 수수료를 지불하기 때문에 중간 과정의 거래는 수수료가 필요없습니다.

간략하게 구조를 설명하자면 이렇습니다.

가령, A와 B가 라이덴 네트워크를 통해 거래를 한다고 하면,

  • 우선 A와 B를 연결하는 별도의 채널을 엽니다.(Open) 이 거래는 블록체인에 기록되는 거래이므로 수수료(Gas)가 발생하는 거래입니다.
  • 열린 채널 사이에서 A와 B가 무수히 많은 거래를 하더라도 블록체인에 기록되지 않는 오프체인 거래이므로 수수료는 발생하지 않습니다.
  • A와 B사이의 채널을 닫고(Close) 실제 송금을 수행합니다. 이 거래는 블록체인에 기록되는 거래이므로 수수료가 발생합니다.

위 예시는 A와 B사이의 거래일 뿐이지만 B와 C사이의 채널, C와 A사이의 채널 등이 거미줄 처럼 얽히면 상호간 채널을 닫는 횟수를 최소화할 수 있어 파급효과는 더 커지는 구조입니다.

플라즈마(Plasma)

라이덴이 채널을 여닫는 과정을 통해 오프체인(Off-chain)을 활용하는 기술이라면, 플라즈마는 하부 체인(Child-chain)을 통해 블록체인의 기록을 최소화하는 기술입니다.

현재 DApp은 이더리움 블록체인(Main-chain)에 모든 데이터를 기록하고 있습니다. 이는 속도의 문제도 야기하지만 블록 사이즈의 문제, 데이터량에 따른 가스 소비의 증가와 같은 악조건을 만들게 됩니다.

플라즈마는 별도의 체인을 만들고 검증에 필요한 최소한의 데이터만 이더리움의 메인 블록체인과 동기화합니다. 이를 통해,

  • 이더리움 블록 사이즈를 줄일 수 있습니다.
  • 보다 빠른 속도로 DApp을 구동할 수 있습니다.
  • 수수료(Gas) 소비를 최소화할 수 있습니다.

플라즈마 하부 체인의 유효성은 이더리움 메인 블록체인을 통해 검증이 가능합니다. OmiseGo(OMG)와 코스모스(Cosmos)가 상용화 파트너로 협업 중입니다.

샤딩(Sharding)

샤딩은 데이터베이스(Database)에 지식이 있는 분들은 이미 알고 계실겁니다. 데이터베이스의 양이 방대해지면 효과적인 관리를 위해 데이터를 분할하여 활용하게 됩니다.

가계부의 예를 들면 쉽게 이해할 수 있습니다. 보통 가계부는 연 단위로 끊어 사용합니다. 만약 가계부가 연 단위로 끊어지지 않고 주욱 나열되었다고 하면 찾아보기 불편하겠지만 연 단위로 쪼개놓으면 찾기 수월한 것과 같은 이치입니다. 대신 2017년 12월 31의 잔액을 2018년 1월 1일로 정확히 연계하여 모든 가계부가 연결되도록 작성하기만 하면 됩니다.(물론 데이터베이스 상의 분할 작업은 가계부를 연 단위로 끊는 것처럼 간단하지는 않아 다양한 기법이 들어갑니다.)

샤딩은 이더리움 노드가 처리하는 데이터를 분할하여 속도를 끌어올리는 작업입니다.

  • 샤딩을 통해 초(Sec.)당 처리 가능 한 거래(Transaction)의 양을 극대화할 수 있습니다.

시너지 효과

독립된 프로젝트 이긴 하지만 이더리움의 입장에서 위 프로젝트들이 모두 필요합니다.

  • 플라즈마를 통해 DApp의 데이터 처리를 수월하게 하고,
  • 라이덴 네트워크를 통해 결제 속도와 수수료를 절감하며,
  • 샤딩을 통해 초당 처리속도를 극대화하는

것이 완성되면, 실제 활용 가능한 수준의 속도의 DApp을 저렴한 수수료로 사용 가능합니다.