플라즈마(Plasma), 라이덴 네트워크(Raiden Network) 그리고 샤딩(Sharding)

in #coinkorea7 years ago (edited)

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

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

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을 저렴한 수수료로 사용 가능합니다.


이 글은 CRYPTOKIWI 에서도 확인하실 수 있습니다.
http://www.cryptokiwi.kr/currency?id=eth&category=2&content_id=227
Sort:  

계속 관심이 있는 주제입니다. 잘 보았습니다.
블록체인은 분산이지만 병렬처리는 어려운 구조라고 생각합니다.
그 약점을 해소하기 위해 근본적인 블록체인의 병렬처리를 시도하는 것이 샤딩, 프로세스 단위의 분리가 플라즈마, 트랜잭션 단위의 데이터 압축이 라이덴이라 생각이 되네요.. 제 생각이 맞는지는 아직 모르겠습니다. ^^;
데이터의 무결성을 어떻게 보장할지, 그리고 여러가지 공격을 어떻게 막을 수 있을지, 이 부분이 문제일 것 같습니다.
감사합니다.

말씀하신 부분이 정확합니다. 표현이 탁월하시네요.
현재는 아주 심플한 형태의 공격에 대한 해결안만 공개된 상태라 계속 지켜봐야겠지요. 워낙 큰 덩어리의 프로젝트 들이라 실제 구현이 언제가 될지 궁금하기도 합니다.

감사합니다.

보팅앤 리스팀합니다. 이더리움 이 고양이 덕분에 개선포인트가 생긴건 사실이네여

블록체인의 경우 만들어진 상태에서 수정이 어렵다고 알고 있는데, 이더리움의 경우는 다른 코인보다 수정을 할 수 있는 것 같아요. 비탈릭이 워낙 천재라서 그런가요?^^

라이덴 투자자로써 라이덴이 잘됬으면 합니다 ㅎㅎ 곧 마이크로 라이덴 릴리즈 예정입니닷 ㅎ

이더의 성공을 간절히 바랍니다.. 팔로우하고 보팅해 드립니다.

코인시장이 앞으로 지불결제 수단으로 정착하기위한 스마트커트랙트의 기능이 말씀하신 내용으로 빨리 기술적으로 보완이 되었으면 합니다~~

글 잘봤습니다. 이더리움이 구현하려는 data sharding은 데이터베이스 구조상 수평 파티셔닝 기법에 해당이 되는데요, 그 내용을 예를 들어 잘 설명해주셨네요.

잘 읽었습니다. 팔로우하고 보팅하고 갑니다^^

쉬운 설명 감사합니다~