검수요청.png검수요청.png

사이드체인

해시넷
chlheewoo (토론 | 기여)님의 2019년 8월 29일 (목) 13:06 판 (확장성)
이동: 둘러보기, 검색

사이드체인(sidechain)이란 서로 다른 블록체인들 위에 존재하는 자산들(assets, 쉽게 말해 코인들)을 쉽게 거래할 수 있도록 하는 기술이다. 만약 모든 데이터를 메인체인의 노드 안에 넣어 노드를 점점 무겁게 하고, 또한 퍼블릭 블록체인에서 점점 많아지는 노드의 수도 메인체인에서의 많은 문제점을 야기한다. TPS는 점점 느려질 수 밖에 없고 수수료의 값은 점점 올라가게 되는 것이다. 이러한 문제로 암호화폐의 상용성에 대해 많은 문제제기를 하게 되고 이에 대한 해결책으로 사이드체인이 등장하게 되었다. 메인체인에 있는 자산을 사이드체인으로 옮겨 트랜잭션을 처리한다. 사이드체인에서 트랜잭션이 모두 끝나면 다시 중요한 정보만이 메인체인에 남게된다. 즉, 메인체인에서 모든 트랜잭션을 처리하는 것이 아니라 사이드체인이 메인체인이 할 일을 나누어 도와주는 것이라고 할 수 있다.[1]


개요

아르고(Aergo) 선임연구원인 피에르알랭 우브하(Pierre-Alain Ouvrard)는 사이드체인의 중요성을 강조하며 이같이 말했다.

"비트코인에는 스마트 컨트랙트 기능이 없지만 이더리움이나 다른 블록체인을 사이드체인으로 연결하면 비트코인에서도 스마트 컨트랙트를 사용해 사물인터넷(IoT)를 제어하거나 전자금융거래를 할 수 있다"

사이드체인은 섬처럼 별개로 떨어져 존재하는 다른 블록체인 간에 다리를 놓는 기술로서 세컨드 레이어, 오프체인 솔루션을 포괄한다. 비트코인, 이더리움 등의 블록체인이 같은 사이드체인 기술을 통해 연결되면 둘은 사이드체인 관계에 있다고 표현한다. [2]


배경
비트코인과 블록체인 자체는 너무나 많은 한계를 가지고 있다. 그러나 아이러니하게도 비트코인이야말로 가장 높은 가치를 저장하고 있는 암호화폐계의 기준통화이다. 비트코인이 이더리움 블록체인에 올라갈 수 있다면, 다양한 스마트 컨트랙트(Smart Contract)나 탈중앙화 어플리케이션(DApp)에서 사용될 수 있을 것이다. 비트코인의 속도가 걱정된다면, 속도가 빠른 다른 블록체인에 비트코인을 올려서 사용하면 될 것이고, 응용성을 원한다면 이더리움(Ethereum)에, 기밀성을 원한다면 대쉬코인(Dashcoin) 등의 블록체인에 올려서 거래를 하면 될 것이다. 비트코인의 소유자가 해당 코인을 이더리움 블록체인 위에 올려 거래를 원할 경우, 비트코인 블록체인에 있는 비트코인을 '동결(Freeze)'시키고 이더리움 블록체인 위에서 이 비트코인에 해당하는 대응물(counterpart)을 만들어 거래할 수 있도록 하는 것이다. 이후 거래된 '대응물'의 소유자는 비트코인 블록체인에 있는 진짜 비트코인으로 이 대응물을 교환해 갈 수 있다. 즉, 비트코인 블록체인의 비트코인을 동결하고 이에 상응하는 코인을 사이드체인에 생성해 사이드체인의 혜택을 누리며 거래를 한 후, 마치면 다시 해당 대응물로 비트코인 블록체인의 비트코인을 수령하는 것이다.

특징

목적
사이드체인의 목적이란 확장성의 문제는 여러가지가 있지만 특히 상용성의 문제와 관련된 완결성, TPS, 수수료의 문제와 메인 네트워크의 성능 한계를 해결하기 위해 메인체인에 모든 데이터를 블록 안에 저장하는 것이 아니라, 사이드체인을 두어 메인체인을 효율적으로 사용하기 위함이다.

특성
사이드체인은 PoA, PoS, DPos, BFT계열의 합의 알고리즘을 사용한다. 또한, 사이드체인은 저렴한 수수료, 빠른 트랜잭션 처리 시간으로 메인넷의 한계를 극복할 수 있는 특징을 가지고 있다.

사이드체인은 각각 존재하는 서로 다른 가상화폐들 사이에서 다리 역할을 하는 기술이다. 사이드체인 기술을 활용할 경우, 해당 암호화폐는 성능 업그레이드가 가능하다. 블록체인에서 사이드체인 기술은 서로 다른 블록체인 토큰을 주고받는데 주안점을 두고 있다. 비트코인이나 이더리움 등 서로 다른 블록체인을 연결하기 위한 접근법은 여러가지가 있지만 중간에 브릿지 만드는 방식이 주로 사용된다. 가장 확실한 방법은 비트코인이나 이더리움 자체를 수정하는 것이다. 하지만 상대방 블록체인에 맞게 코드 전체를 수정하는 것은 현실적으로 불가능하다.

사용

그렇다면 사이드체인은 어떻게 사용되는 것일까?

1. 가치를 생성할 때
사이드체인에서 직접 자산을 생성하지는 못한다. 자산을 생성하는 것과 같은 중요한 일은 모두 메인체인에서 담당하기 때문이다.

2. 트랜잭션을 처리할 때
트랜잭션을 처리할 때는 메인체인의 자산을 사이드체인으로 전송하여 처리한다. 전송한 뒤 사이드체인에서 거래 후 다시 사이드체인에서 메인체인으로 이동하여 그 결과만을 메인체인에 남겨놓는다. 이렇게 함으로써 중요한 정보들을 메인체인에 쌓아두는 것이다.


브릿지 방식으로는 멀티시그 브릿지, 콜레트럴 브릿지가 많이 쓰이며 브릿지 없이 작동하는 플라즈마도 있다.


확장성

블록체인의 '확장성' 솔루션 리스트[1]

사이드체인 플라즈마 스테이트 채널 샤딩 영지식 증명
구현방식 - 브릿지를 통해 블록체인을 연결, 트랜잭션 처리를 위임 - 이더리움 내부에 작은 블록체인을 구성해 스마트 컨트랙트로 연결,플라즈마서 거래 진행, 주기적으로 스테이트를 업데이트 - 블록체인의 DB에 해당하는 스테이트를 여러 샤드로 분할, 트랜잭션 나눠서 처리 - 트랜잭션 뭉치를 압축해 확장성 확보 - 오프체인에서 거래를 진행하며 메시지를 교환, 마지막 결과값만 온체인에 반영
개발허들 - 사이드체인의 무확정 확장은 어려움, 비트코인의 사이드체인은 난이도가 높음 - 레이어드 플라즈마 기술적 구현이 어려움, 대량 엑싯 문제, 데이터 가용성 문제 - 일반화된 표준이 없음, 솔리디티 언어의 장벽, 스크래치부터 개발해야 하는 어려움 - 크로스 샤드 간 통신이 난제로 꼽힘, 스테이트를 나누는 기준도 모호함 - 연산 과부하로 인한 성능 상의 문제, 데이터 가용성 문제
장점 - 다른 블록체인 연결해 다양한 기능 구현 가능 - 거래 참여자 무제한, 별도의 합의 알고리즘 필요없음, 수수료 절감 - 디앱에 특화된 스테이트 연산, 즉각적인 완결성, 수수료 절감 - 트랜잭션 처리 속도 1000배 향상, 설계 방식에 따라 PoS와 상생 가능 - 서버 단에서의 검증 부하를 줄임, 스토리지 문제도 해결 가능
단점 - 브릿지 검증 수수료, 프로토콜 복잡도 상승, 인터체인 오류는 광범위한 파급력 주의 - 사용자 경험(UX) 나쁜 편, 토큰을 도난을 막기 위한 사용자의 적극적 방어 필요 - 한정된 사람만 참가, 중간 기록이 따로 없음, 참여자의 온라인 지속 상태가 권장됨 - S/W 복잡도 상승, 온체인 솔루션으로 전체 중 1% 샤드만 망가져도 전체가 고장날 수 있음 - 클라이언트 단에서 연산의 과부하 발생 가능

한계

사이드체인은 최초로 비트코인이 가진 고유한 한계점들을 해결하고자하는 고민에서 시작 되었다. 비트코인은 분명히 혁신이었으나, 최초의 모델이 으레 그러하듯 이내 많은 한계점들을 노출했다.

  • 느림(Slow)

각 블록생성 간격이 10분이므로, 자신의 거래가 블록체인에 기록되었는지를 확인하려면 짧게는 몇 초에서 길게는 수십분을 기다려야 한다. 또한 이체받은 코인을 사용하기 위해 이체확인(Confirmation)을 받는 시간까지 포함하면 훨씬 더 길어진다. 속도가 너무 느린 것이 문제이다.

  • 오직 비트코인(Only Bitcoin)

비트코인 블록체인 위에서는 오직 비트코인만 이체가 가능했다. 따라서 이종 화폐와 교환을 하려면 결국 중앙화된 웹거래소 서비스 등을 사용해야 한다. 결국 비트코인 블록체인이 가진 보안적, 탈중앙화적 이점을 허무하게 포기하는 셈이 되는 것이다.

  • 오직 비트코인 스크립트 (Only Bitcoin Script)

비트코인 블록체인에서 사용할 수 있는 기능이 너무나 제한적이다. 따라서 창의성 발휘나 고급이체 조건 설정 또는 스마트 컨트랙트 코딩이 불가능하다. 다른 다양한 블록체인들에서 제공하는 여러가지 기능들을 아무것도 사용하지 못하는 것이다.

  • 높은 보수성 (Non-flexible Chain)

비트코인은 현재 버전이 '0.12.1(2016-07-20)'으로 아직도 베타버전이다. 그럼에도 불구하고 이미 조 단위가 된 비트코인 시가총액이나 커뮤니티원들 간의 논쟁, 많은 수의 이해관계인들 때문에 쉽사리 비트코인을 수정하거나 실험을 해보는 것이 불가능하다. 결국 실험을 위해서는 '이미 베타버전인 비트코인'의 베타버전(testbed)을 따로 또 만드는 방법 뿐이다.

  • 거래공개 (Non-Confidential Transaction)

비트코인 상에서 일어나는 모든 거래는 만천하에 공개된다. 기밀성을 지킬 수 없는 구조이다.

각주

  1. 1.0 1.1 ASH Han, 〈사이드체인 (Sidechain) - 블록체인의 혁명〉, 《ASH Han 한승환》, 2016-07-21
  2. 강민승 기자, 〈너와 나의 `블록체인` 연결 고리, 사이드 체인〉, 《매일경제》, 2019-01-10

참고자료

같이 보기


  검수요청.png검수요청.png 이 사이드체인 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.