"사이드체인"의 두 판 사이의 차이
잔글 (→확장성) |
|||
(사용자 3명의 중간 판 66개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
− | '''사이드체인'''<!--사이드 체인-->(sidechain)은 | + | [[파일:sidechain.png|썸네일|350픽셀|'''사이드체인'''(sidechain)]] |
+ | |||
+ | '''사이드체인'''<!--사이드 체인-->(sidechain)은 블록체인의 [[메인체인]] 옆에 나란히 붙어서 작동하는 하위체인을 말한다.<ref>유성민 칼럼니스트, 〈[http://www.sciencetimes.co.kr/?news=%EB%8C%80%EC%95%88-%EC%B2%B4%EC%9D%B8%EA%B3%BC-%EC%82%AC%EC%9D%B4%EB%93%9C-%EC%B2%B4%EC%9D%B8%EC%9D%80-%EB%AD%98%EA%B9%8C 대안 체인과 사이드 체인은 뭘까]〉, 《사이언스타임즈》, 2018-03-20</ref> 사이드체인만의 독립된 [[노드]]를 구성하지 않고, 기존 메인체인의 노드에 사이드체인의 노드가 추가되는 방식으로 작동한다. | ||
==개요== | ==개요== | ||
− | [[퍼블릭 블록체인]] | + | 사이드체인은 서로 다른 블록체인들 위에 존재하는 자산들을 쉽게 거래할 수 있도록 하는 기술이다. 만약 모든 데이터를 [[메인체인]]의 노드 안에 넣어 노드를 점점 무겁게 하고, 또한 [[퍼블릭 블록체인]]에서 점점 많아지는 노드의 수도 메인체인에서의 많은 문제점을 야기한다. [[TPS]]는 점점 느려질 수 밖에 없고 수수료의 값은 점점 올라가게 되는 것이다. 이러한 문제로 암호화폐의 상용성에 대해 많은 문제제기를 하게 되고 이에 대한 해결책으로 사이드체인이 등장하게 되었다. 메인체인에 있는 자산을 사이드체인으로 옮겨 [[트랜잭션]]을 처리한다. 사이드체인에서 트랜잭션이 모두 끝나면 다시 중요한 정보만이 메인체인에 남게된다. 즉, 메인체인에서 모든 트랜잭션을 처리하는 것이 아니라 사이드체인이 메인체인이 할 일을 나누어 도와주는 것이라고 할 수 있다.<ref name="한승환"> ASH Han, 〈[http://www.seunghwanhan.com/2016/07/sidechain.html 사이드체인 (Sidechain) - 블록체인의 혁명]〉, 《ASH Han 한승환》, 2016-07-21 </ref> |
+ | |||
+ | [[아르고]](Aergo) 선임연구원인 [[피에르-알랭 우브하]](Pierre-Alain Ouvrard)는 사이드체인의 중요성을 강조하며 이같이 말했다. | ||
+ | {{인용문|"비트코인에는 [[스마트 컨트랙트]] 기능이 없지만 이더리움이나 다른 블록체인을 사이드체인으로 연결하면 비트코인에서도 스마트 컨트랙트를 사용해 [[사물인터넷]](IoT)를 제어하거나 전자금융거래를 할 수 있다" }} | ||
+ | |||
+ | 사이드체인은 섬처럼 별개로 떨어져 존재하는 다른 블록체인 간에 다리를 놓는 기술로서 세컨드 레이어, [[오프체인 솔루션]]을 포괄한다. 비트코인, 이더리움 등의 블록체인이 같은 사이드체인 기술을 통해 연결되면 둘은 사이드체인 관계에 있다고 표현한다.<ref name="사이드체인">강민승 기자, 〈[https://www.mk.co.kr/news/economy/view/2019/01/20886/ 너와 나의 `블록체인` 연결 고리, 사이드 체인]〉, 《매일경제》, 2019-01-10 </ref> 사이드체인은 [[컬러드코인]](Coloredcoin), [[메타코인]](Metacoin), [[멀티시그]](Multi-sig) 기술 등의 유기적 결합물로, [[블록체인]] 상에서 신규자산 발행 및 거래를 위해 사용되는 핵심기술이다. 사이드체인 기법을 통해 서로 다른 블록체인에 존재하는 자산들을 서로 안전하게 거래할 수 있다. 이를 통해, [[이더리움]](Ethereum) 블록체인 위에서 [[비트코인]]을 거래하고, 전혀 다른 텐더민트(Tendermint) 블록체인 위에서 비트코인과 이더(Ether)를 거래하는 것이 가능하다.<ref name="ASH">〈[http://reurl.kr/3254344FTQ 사이드체인]〉 , 《한승환》 , 2016-07-21</ref> | ||
+ | |||
+ | ==등장배경== | ||
+ | [[비트코인]]과 블록체인 자체는 너무나 많은 한계를 가지고 있다. 그러나 아이러니하게도 비트코인이야말로 가장 높은 가치를 가진 암호화폐계의 기준통화이다. 비트코인이 이더리움 블록체인에 올라갈 수 있다면, 다양한 스마트 컨트랙트(Smart Contract)나 탈중앙화 어플리케이션(DApp, [[디앱]])에서 사용될 수 있을 것이다. 비트코인의 속도가 걱정된다면, 속도가 빠른 다른 블록체인에 비트코인을 올려서 사용하면 될 것이고, 응용성을 원한다면 이더리움(Ethereum)에, 기밀성을 원한다면 [[대쉬코인]](Dashcoin) 등의 블록체인에 올려서 거래를 하면 될 것이다. 비트코인의 소유자가 해당 코인을 이더리움 블록체인 위에 올려 거래를 원할 경우, 비트코인 블록체인에 있는 비트코인을 '동결(Freeze)'시키고 이더리움 블록체인 위에서 이 비트코인에 해당하는 대응물(counterpart)을 만들어 거래할 수 있도록 하는 것이다. 이후 거래된 '대응물'의 소유자는 비트코인 블록체인에 있는 진짜 비트코인으로 이 대응물을 교환해 갈 수 있다. 즉, 비트코인 블록체인의 비트코인을 동결하고 이에 상응하는 코인을 사이드체인에 생성해 사이드체인의 혜택을 누리며 거래를 한 후, 마치면 다시 해당 대응물로 비트코인 블록체인의 비트코인을 수령하는 것이다. | ||
− | ''' | + | 사이드체인은 [[비트코인]]이 가진 고유한 한계점들을 해결하고자하는 고민에서 시작 되었다. 비트코인은 분명히 혁신이었으나, 최초의 모델이 으레 그러하듯 이내 많은 한계점들을 노출했다. |
− | 비트코인 | + | *'''느림'''(Slow) : 각 블록생성 간격이 10분이므로, 자신의 거래가 블록체인에 기록되었는지를 확인하려면 짧게는 몇 초에서 길게는 수십분을 기다려야 한다. 또한 이체받은 코인을 사용하기 위해 이체확인(Confirmation)을 받는 시간까지 포함하면 훨씬 더 길어진다. 속도가 너무 느린 것이 문제이다. |
− | + | *'''오직 비트코인'''(Only Bitcoin) : 비트코인 블록체인 위에서는 오직 비트코인만 이체가 가능했다. 따라서 이종 화폐와 교환을 하려면 결국 중앙화된 [[웹거래소]] 서비스 등을 사용해야 한다. 결국 비트코인 블록체인이 가진 보안적, [[탈중앙화]]적 이점을 허무하게 포기하는 셈이 되는 것이다. | |
+ | *'''오직 비트코인 스크립트''' (Only Bitcoin Script) : 비트코인 블록체인에서 사용할 수 있는 기능이 너무나 제한적이다. 따라서 창의성 발휘나 고급이체 조건 설정 또는 스마트 컨트랙트 코딩이 불가능하다. 다른 다양한 블록체인들에서 제공하는 여러가지 기능들을 아무것도 사용하지 못하는 것이다. | ||
+ | *'''높은 보수성''' (Non-flexible Chain) : 비트코인은 현재 버전이 '0.12.1(2016-07-20)'으로 아직도 베타버전이다. 그럼에도 불구하고 이미 조 단위가 된 비트코인 시가총액이나 커뮤니티원들 간의 논쟁, 많은 수의 이해관계인들 때문에 쉽사리 비트코인을 수정하거나 실험을 해보는 것이 불가능하다. 결국 실험을 위해서는 '이미 베타버전인 비트코인'의 베타버전(testbed)을 따로 또 만드는 방법 뿐이다. | ||
+ | *'''거래공개''' (Non-Confidential Transaction) : 비트코인 상에서 일어나는 모든 거래는 만천하에 공개된다. 기밀성을 지킬 수 없는 구조이다.<ref name="ASH"></ref> | ||
==특징== | ==특징== | ||
− | |||
− | |||
− | |||
− | |||
− | == | + | ;목적 |
− | + | 사이드체인의 목적이란 확장성의 문제는 여러가지가 있지만 특히 상용성의 문제와 관련된 완결성, TPS, 수수료의 문제와 메인 네트워크의 성능 한계를 해결하기 위해 메인체인에 모든 데이터를 블록 안에 저장하는 것이 아니라, 사이드체인을 두어 메인체인을 효율적으로 사용하기 위함이다. | |
− | + | ||
− | 각 | + | ;특성 |
− | + | 사이드체인은 [[PoA]], [[PoS]], [[DPoS]], [[BFT]]계열의 [[합의 알고리즘]]을 사용한다. 또한, 사이드체인은 저렴한 수수료, 빠른 트랜잭션 처리 시간으로 메인넷의 한계를 극복할 수 있는 특징을 가지고 있다. 사이드체인은 각각 존재하는 서로 다른 암호화폐들 사이에서 다리 역할을 하는 기술이다. 사이드체인 기술을 활용할 경우, 해당 암호화폐는 성능 업그레이드가 가능하다. 블록체인에서 사이드체인 기술은 서로 다른 블록체인 토큰을 주고받는데 중점을 두고 있다. 비트코인이나 이더리움 등 서로 다른 블록체인을 연결하기 위한 접근법은 여러가지가 있지만 중간에 [[브릿지 (블록체인)|브릿지]]를 만드는 방식이 주로 사용된다. 가장 확실한 방법은 비트코인이나 이더리움 자체를 수정하는 것이다. 하지만 상대방 블록체인에 맞게 코드 전체를 수정하는 것은 현실적으로 불가능하다.<ref> 유성민 IT칼럼니스트, 〈[https://www.sciencetimes.co.kr/?news=%EB%8C%80%EC%95%88-%EC%B2%B4%EC%9D%B8%EA%B3%BC-%EC%82%AC%EC%9D%B4%EB%93%9C-%EC%B2%B4%EC%9D%B8%EC%9D%80-%EB%AD%98%EA%B9%8C 대안 체인과 사이드 체인은 뭘까]〉, 《The Science Times》 개인 블로그, 2019-08-29</ref> | |
− | + | ||
− | + | ===거래방식=== | |
− | + | 블록체인에서 사이드체인 기술은 서로 다른 블록체인의 토큰을 주고받도록 하는데 중점을 두고 있다. 비트코인이나 이더리움 등 서로 다른 블록체인을 연결하기 위한 접근법은 여러가지가 있지만 주로 중간에 [[브릿지 (블록체인)|브릿지]]를 만드는 방식을 사용한다. 브릿지 방식으로는 멀티시그 브릿지, 콜레트럴 브릿지가 많이 쓰이며 브릿지가 없이 작동하는 [[플라즈마]]도 있다. 해당 방식은 상대방 블록체인의 합의 알고리즘이 달라도 제약이 크지 않다는 장점이 있다. | |
− | + | ||
− | + | ;멀티시그 | |
− | + | [[멀티시그]](multi-sig)는 개인키를 본인, 대행업체, 기관 등 세 곳에 등록하는 방식이다. 사이드체인을 구현하는 가장 간단한 방식으로 꼽혀 최근 다수 암호화폐 지갑에 적용되고 있다. 단일 서명으로 진행되는 기존 방식과 달러 사용자의 개인키를 포함해 두 곳의 개인키 서명이 필요하다. | |
− | + | ||
+ | ;브릿지 | ||
+ | [[브릿지 (블록체인)|브릿지]](bridge)에서는 멀티시그의 다중 서명을 통해 토큰의 출입을 허가하는 방식을 사용한다. 또한, 토큰을 이동시키는 행위 외에도 검증을 위한 앵커링 작업이 주기적으로 일어난다. 사이드체인이 브릿지로 연결되더라도 시스템에 별도의 거래 장부가 필요하지는 않다. 브릿지의 오퍼레이터가 각 체인에 상대방 체인 내역을 모았다가 주기적으로 병합하기 때문이다. 이를 [[앵커링]]이라고 한다. 앵커링 작업은 사이드체인의 스테이트를 검증하고 공유하는 작업이며, 사이드체인의 투명성을 암호학적으로 보장한다. 사이드체인 간 통신을 활발히 하려면 앵커링을 효율적으로 설계하는 것이 무엇보다도 중요하다. | ||
+ | |||
+ | ;멀티시그 브릿지 | ||
+ | [[멀티시그 브릿지]]에서 송금을 원하는 거래자는 먼저 브릿지에 자신의 토큰을 등록한다. 토큰이 등록되면 브릿지는 잠긴다. 요청자 개인키와 건너편 상대방 개인키의 멀티시그 합이 맞으면 토큰의 이동이 승인된다. 이같은 방식으로 서로 다른 토큰이 상대편 체인에 생성되고 교환되는데 이를 [[민팅]]이라고 부른다. 토큰 이동이 승인되면 이제 잠금도 풀린다. 한쪽의 토큰을 소각하지 않고도 상대방 블록체인 진영으로 토큰을 이동시키는 방식을 [[양방향 페깅]]이라고 하며, 브릿지에서 한쪽의 토큰을 소각해야 상대방 체인에서 토큰을 획득하는 방식을 [[단방향 페깅]]이라고 한다. 단방향 페깅은 토큰을 파괴하고 다른 쪽에 생성하는 작업으로 원래의 토큰을 되돌릴 수 없는 특징이 있다. | ||
+ | |||
+ | ;콜레트럴 브릿지 | ||
+ | 멀티시그 브릿지는 사용자가 브릿지 오퍼레이터를 신뢰해야만 하는 구조적 문제점이 있다. 이를 극복하고 브릿지를 탈중앙화하기 위해 개발된 것이 [[콜레트럴 브릿지]]다. 콜레트럴 브릿지에는 담보 개념이 들어간다. 오퍼레이터의 역할 중 하나인 검증을 수행하는 주체가 거래자의 전송 금액보다 많은 양의 담보를 브릿지에 예치해 금융 사고를 예방한다. 콜레트럴 브릿지는 어떤 거래자도 신뢰할수 없는 환경에서도 기능할 효율적인 브릿지로 꼽힌다. 작동 방식은 멀티시그 브릿지와 비슷하다. 사용자가 브릿지에 전송할 금액을 예치하면 검증자는 누가 금액을 넣었는지 확인하고 브릿지를 잠근다. 전송이 성공적으로 이뤄지면 잠금이 풀려 브릿지에서 인출된다. 이 과정에서 누군가 예치된 금액을 훔치거나 비정상행위가 발생하면 콜레트럴 브릿지의 검증자가 담보로 예치된 금액의 일부를 사용자에게 지급하고 보상한다. | ||
+ | |||
+ | ;플라즈마 | ||
+ | 일반적으로 사이드체인의 거래는 브릿지 노드에 의존하면서 [[브릿지 (블록체인)|브릿지]] 문제에 집중된다. 그러나 [[플라즈마]] 체인 거래에는 브릿지 노드가 필요하지 않다. 브릿지 방식이 아닌 수수료 경제모델에 기반해 오프체인에서 거래를 진행하는 방식이기 때문이다. 브릿지를 없앰으로써 사용자들이 코인을 직접 관리할 수 있는 장점이 있다. 플라즈마는 데이터를 처리하는 방식과 블록 생성자를 다루는 정책에 따라 미니멀 바이어블 플라즈마(MVP), 모어 바이어블 플라즈마, 플라즈마캐시, 플라즈마 데빗, 플라즈마 캐시플로우 등 다양한 버전이 존재한다. 플라즈마는 이더리움 블록체인 내부에 작은 블록체인을 만드는 방식이다. 플라즈마는 부모 체인인 이더리움 체인을 상속해 만든 자식 체인이기 때문에 내부에 별도의 합의 알고리즘을 필요로 하지 않는다. 이더리움 메인체인과 플라즈마는 평소에는 별개의 블록체인으로 존재하지만 필요시 사용자가 백도어를 통해 자발적으로 드나들 수 있다. 또한, 한 명의 오퍼레이터로도 잘 작동하는 장점이 있다. 오히려 오퍼레이터의 수를 추가할 경우 전체 네트워크가 느려질 우려가 있다. <ref> Sherman Lee, 〈[https://www.forbes.com/sites/shermanlee/2018/02/07/explaining-side-chains-the-next-breakthrough-in-blockchain/#11bd96a352eb Explaining Side Chains, The Next Breakthrough In Blockchain]〉, 《Quora》 2018-02-07 </ref> | ||
+ | |||
+ | ==사이드체인 프로젝트== | ||
+ | {{로고블록150 | ||
+ | |루트스탁||코스모스코인|<!--|폴카닷|-->|아르고||}} | ||
+ | |||
+ | 기능, 보안 정도에 따라 다양한 사이드체인 프로젝트가 활동하고 있다. | ||
+ | |||
+ | ===루트스탁=== | ||
+ | [[루트스탁]](Rootstock)은 [[비트코인]]에 [[스마트 컨트랙트]] 기능을 추가하는 사이드체인 프로젝트이다. 비트코인 코드를 개선한 자사의 사이드체인을 비트코인 블록체인에 연결해 스마트 컨트랙트를 다루는 레이어를 추가한다. 비트코인의 코드를 직접 수정하는 작업은 난이도가 높고 결과의 반영이 태생적으로 느리기 때문에 개발이 어려워 비트코인에 새로운 레이어를 추가해 기존 기능과 충돌점을 수정 보완하는 방식으로 개발하는 사례가 많다. 이 중 하나가 바로 루트스탁(RSK)이다. | ||
+ | |||
+ | ===코스모스코인=== | ||
+ | [[코스모스코인]](Cosmoscoin)은 서로 다른 블록체인을 연결하는 허브를 만드는 사이드체인 프로젝트이다. 지금까지 각 체인은 별개로 존재했지만 코스모스를 통하면 비트코인과 이더리움 토큰을 상호 교환할 수 있게 된다. 이들 체인에는 비트코인과 이더리움 등을 연결하는 브릿지가 존재하는데 폴카닷의 [[릴레이체인]], 코스모스의 [[허브]] 이에 해당한다. | ||
+ | |||
+ | ===폴카닷=== | ||
+ | [[폴카닷]](Polkadot)은 서로 다른 블록체인을 연결해주는 중간 신뢰기관 역할을 한다. 폴카닷은 기본 네트워크(릴레이 체인)와 사용자가 만든 네트워크(파라체인)으로 구성된다. | ||
+ | |||
+ | ===아르고=== | ||
+ | [[아르고]](Aergo)는 [[프라이빗 블록체인]]과 [[퍼블릭 블록체인]]을 연결하는 [[크로스체인]] 플랫폼을 개발하고 있다. 퍼블릭 아르고 체인과 기업용 블록체인을 사이드체인으로 연결하려는 취지다. 아르고는 사이드 체인을 연결하는 기존 방식의 [[브릿지 (블록체인)|브릿지]]를 대체하기 위해 [[스테이트 루트]] 모델을 적용했다. | ||
+ | |||
+ | ==확장성== | ||
+ | 그렇다면 사이드체인은 어떻게 사용되는 것일까? | ||
+ | |||
+ | 1. 가치를 생성할 때 <br> | ||
+ | 사이드체인에서 직접 자산을 생성하지는 못한다. 자산을 생성하는 것과 같은 중요한 일은 모두 메인체인에서 담당하기 때문이다. | ||
+ | |||
+ | 2. 트랜잭션을 처리할 때 <br> | ||
+ | 트랜잭션을 처리할 때는 메인체인의 자산을 사이드체인으로 전송하여 처리한다. 전송한 뒤 사이드체인에서 거래 후 다시 사이드체인에서 메인체인으로 이동하여 그 결과만을 메인체인에 남겨놓는다. 이렇게 함으로써 중요한 정보들을 메인체인에 쌓아두는 것이다. | ||
+ | |||
+ | 브릿지 방식으로는 멀티시그 브릿지, 콜레트럴 브릿지가 많이 쓰이며 브릿지 없이 작동하는 플라즈마도 있다.<ref> Onur Deler, 〈[https://www.quora.com/What-exactly-are-sidechains-blockchain What exactly are sidechains? (blockchain)]〉, 《Quora》 2017-07-18</ref> | ||
+ | |||
+ | ===블록체인의 '확장성' 솔루션 리스트<ref name="한승환"></ref>=== | ||
+ | :{|class=wikitable width=1100 | ||
+ | !align=center width=80| | ||
+ | !align=center|'''사이드체인''' | ||
+ | !align=center|'''플라즈마''' | ||
+ | !align=center|'''스테이트 채널''' | ||
+ | !align=center|'''샤딩''' | ||
+ | !align=center|'''영지식 증명''' | ||
+ | |- | ||
+ | |align=center|구현방식 | ||
+ | |align=left|- 브릿지를 통해 블록체인을 연결, 트랜잭션 처리를 위임 | ||
+ | |align=center|- 이더리움 내부에 작은 블록체인을 구성해 스마트 컨트랙트로 연결,플라즈마서 거래 진행, 주기적으로 스테이트를 업데이트 | ||
+ | |align=center|- 블록체인의 DB에 해당하는 [[스테이트]]를 여러 [[샤드]]로 분할, 트랜잭션 나눠서 처리 | ||
+ | |align=center|- 트랜잭션 뭉치를 압축해 확장성 확보 | ||
+ | |align=center|- 오프체인에서 거래를 진행하며 메시지를 교환, 마지막 결과값만 온체인에 반영 | ||
+ | |- | ||
+ | |align=center|개발허들 | ||
+ | |align=center|- 사이드체인의 무확정 확장은 어려움, 비트코인의 사이드체인은 난이도가 높음 | ||
+ | |align=center|- 레이어드 플라즈마 기술적 구현이 어려움, 대량 엑싯 문제, 데이터 가용성 문제 | ||
+ | |align=center|- 일반화된 표준이 없음, 솔리디티 언어의 장벽, 스크래치부터 개발해야 하는 어려움 | ||
+ | |align=center|- [[크로스 샤드]] 간 통신이 난제로 꼽힘, 스테이트를 나누는 기준도 모호함 | ||
+ | |align=center|- 연산 과부하로 인한 성능 상의 문제, 데이터 가용성 문제 | ||
+ | |- | ||
+ | |align=center|장점 | ||
+ | |align=center|- 다른 블록체인 연결해 다양한 기능 구현 가능 | ||
+ | |align=center|- 거래 참여자 무제한, 별도의 합의 알고리즘 필요없음, 수수료 절감 | ||
+ | |align=center|- 디앱에 특화된 스테이트 연산, 즉각적인 완결성, 수수료 절감 | ||
+ | |align=center|- 트랜잭션 처리 속도 1000배 향상, 설계 방식에 따라 PoS와 상생 가능 | ||
+ | |align=center|- 서버 단에서의 검증 부하를 줄임, 스토리지 문제도 해결 가능 | ||
+ | |- | ||
+ | |align=center|단점 | ||
+ | |align=center|- 브릿지 검증 수수료, 프로토콜 복잡도 상승, 인터체인 오류는 광범위한 파급력 주의 | ||
+ | |align=center|- 사용자 경험(UX) 나쁜 편, 토큰을 도난을 막기 위한 사용자의 적극적 방어 필요 | ||
+ | |align=center|- 한정된 사람만 참가, 중간 기록이 따로 없음, 참여자의 온라인 지속 상태가 권장됨 | ||
+ | |align=center|- S/W 복잡도 상승, [[온체인]] 솔루션으로 전체 중 1% 샤드만 망가져도 전체가 고장날 수 있음 | ||
+ | |align=center|- 클라이언트 단에서 연산의 과부하 발생 가능 | ||
+ | |} | ||
+ | |||
+ | ==전망== | ||
+ | 먼 미래의 일이 아니더라도 사이드체인은 여러모로 쓰임새가 많다. 인터체인 프로젝트가 현실화되면 블록체인의 기존 비즈니스를 뒤엎을 것이란 전망도 나온다. 특히 기업이 구축하는 프라이빗 블록체인, 컨소시엄 네트워크를 비트코인이나 이더리움 등 퍼블릭 블록체인과 연결할 때 빛을 발할 것으로 기대된다. 회사가 정한 합의 알고리즘을 그대로 유지하며 연산의 결과를 퍼블릭 체인에 스마트 컨트랙트를 통해 효율적으로 기록할 수 있어 여러 기업들이 사이드 체인 기술을 도입하고 있는 추세이다. 또한, 프라이빗 체인을 사이드체인으로 연결하면 접근도 유연해진다. 이로 인해 디지털 자산을 이동하는 일이나 온라인 결제 등이 손쉬워질 전망이다. | ||
{{각주}} | {{각주}} | ||
== 참고자료 == | == 참고자료 == | ||
− | * | + | * ASH Han, 〈[http://www.seunghwanhan.com/2016/07/sidechain.html 사이드체인 (Sidechain) - 블록체인의 혁명]〉, 《ASH Han 한승환》, 2016-07-21 |
− | * 유성민 | + | * 강민승 기자, 〈[https://www.mk.co.kr/news/economy/view/2019/01/20886/ 너와 나의 `블록체인` 연결 고리, 사이드 체인]〉, 《매일경제》, 2019-01-10 |
− | * | + | * 유성민 IT칼럼니스트, 〈[https://www.sciencetimes.co.kr/?news=%EB%8C%80%EC%95%88-%EC%B2%B4%EC%9D%B8%EA%B3%BC-%EC%82%AC%EC%9D%B4%EB%93%9C-%EC%B2%B4%EC%9D%B8%EC%9D%80-%EB%AD%98%EA%B9%8C 대안 체인과 사이드 체인은 뭘까]〉, 《사이언스타임스》, 2019-08-29 |
− | * | + | * Sherman Lee, 〈[https://www.forbes.com/sites/shermanlee/2018/02/07/explaining-side-chains-the-next-breakthrough-in-blockchain/#11bd96a352eb Explaining Side Chains, The Next Breakthrough In Blockchain]〉, 《Quora》 2018-02-07 |
+ | * Onur Deler, 〈[https://www.quora.com/What-exactly-are-sidechains-blockchain What exactly are sidechains? (blockchain)]〉, 《Quora》 2017-07-18 | ||
== 같이 보기 == | == 같이 보기 == | ||
− | * [[ | + | * [[메인체인]] |
* [[블록체인]] | * [[블록체인]] | ||
− | * [[ | + | * [[트랜잭션]] |
* [[플라즈마]] | * [[플라즈마]] | ||
− | * [[ | + | * [[이더리움]] |
− | * [[ | + | * [[비트코인]] |
− | * [[ | + | * [[멀티시그]] |
{{블록체인 기술|검토 필요}} | {{블록체인 기술|검토 필요}} |
2021년 7월 28일 (수) 21:23 기준 최신판
사이드체인(sidechain)은 블록체인의 메인체인 옆에 나란히 붙어서 작동하는 하위체인을 말한다.[1] 사이드체인만의 독립된 노드를 구성하지 않고, 기존 메인체인의 노드에 사이드체인의 노드가 추가되는 방식으로 작동한다.
목차
개요[편집]
사이드체인은 서로 다른 블록체인들 위에 존재하는 자산들을 쉽게 거래할 수 있도록 하는 기술이다. 만약 모든 데이터를 메인체인의 노드 안에 넣어 노드를 점점 무겁게 하고, 또한 퍼블릭 블록체인에서 점점 많아지는 노드의 수도 메인체인에서의 많은 문제점을 야기한다. TPS는 점점 느려질 수 밖에 없고 수수료의 값은 점점 올라가게 되는 것이다. 이러한 문제로 암호화폐의 상용성에 대해 많은 문제제기를 하게 되고 이에 대한 해결책으로 사이드체인이 등장하게 되었다. 메인체인에 있는 자산을 사이드체인으로 옮겨 트랜잭션을 처리한다. 사이드체인에서 트랜잭션이 모두 끝나면 다시 중요한 정보만이 메인체인에 남게된다. 즉, 메인체인에서 모든 트랜잭션을 처리하는 것이 아니라 사이드체인이 메인체인이 할 일을 나누어 도와주는 것이라고 할 수 있다.[2]
아르고(Aergo) 선임연구원인 피에르-알랭 우브하(Pierre-Alain Ouvrard)는 사이드체인의 중요성을 강조하며 이같이 말했다.
"비트코인에는 스마트 컨트랙트 기능이 없지만 이더리움이나 다른 블록체인을 사이드체인으로 연결하면 비트코인에서도 스마트 컨트랙트를 사용해 사물인터넷(IoT)를 제어하거나 전자금융거래를 할 수 있다"
사이드체인은 섬처럼 별개로 떨어져 존재하는 다른 블록체인 간에 다리를 놓는 기술로서 세컨드 레이어, 오프체인 솔루션을 포괄한다. 비트코인, 이더리움 등의 블록체인이 같은 사이드체인 기술을 통해 연결되면 둘은 사이드체인 관계에 있다고 표현한다.[3] 사이드체인은 컬러드코인(Coloredcoin), 메타코인(Metacoin), 멀티시그(Multi-sig) 기술 등의 유기적 결합물로, 블록체인 상에서 신규자산 발행 및 거래를 위해 사용되는 핵심기술이다. 사이드체인 기법을 통해 서로 다른 블록체인에 존재하는 자산들을 서로 안전하게 거래할 수 있다. 이를 통해, 이더리움(Ethereum) 블록체인 위에서 비트코인을 거래하고, 전혀 다른 텐더민트(Tendermint) 블록체인 위에서 비트코인과 이더(Ether)를 거래하는 것이 가능하다.[4]
등장배경[편집]
비트코인과 블록체인 자체는 너무나 많은 한계를 가지고 있다. 그러나 아이러니하게도 비트코인이야말로 가장 높은 가치를 가진 암호화폐계의 기준통화이다. 비트코인이 이더리움 블록체인에 올라갈 수 있다면, 다양한 스마트 컨트랙트(Smart Contract)나 탈중앙화 어플리케이션(DApp, 디앱)에서 사용될 수 있을 것이다. 비트코인의 속도가 걱정된다면, 속도가 빠른 다른 블록체인에 비트코인을 올려서 사용하면 될 것이고, 응용성을 원한다면 이더리움(Ethereum)에, 기밀성을 원한다면 대쉬코인(Dashcoin) 등의 블록체인에 올려서 거래를 하면 될 것이다. 비트코인의 소유자가 해당 코인을 이더리움 블록체인 위에 올려 거래를 원할 경우, 비트코인 블록체인에 있는 비트코인을 '동결(Freeze)'시키고 이더리움 블록체인 위에서 이 비트코인에 해당하는 대응물(counterpart)을 만들어 거래할 수 있도록 하는 것이다. 이후 거래된 '대응물'의 소유자는 비트코인 블록체인에 있는 진짜 비트코인으로 이 대응물을 교환해 갈 수 있다. 즉, 비트코인 블록체인의 비트코인을 동결하고 이에 상응하는 코인을 사이드체인에 생성해 사이드체인의 혜택을 누리며 거래를 한 후, 마치면 다시 해당 대응물로 비트코인 블록체인의 비트코인을 수령하는 것이다.
사이드체인은 비트코인이 가진 고유한 한계점들을 해결하고자하는 고민에서 시작 되었다. 비트코인은 분명히 혁신이었으나, 최초의 모델이 으레 그러하듯 이내 많은 한계점들을 노출했다.
- 느림(Slow) : 각 블록생성 간격이 10분이므로, 자신의 거래가 블록체인에 기록되었는지를 확인하려면 짧게는 몇 초에서 길게는 수십분을 기다려야 한다. 또한 이체받은 코인을 사용하기 위해 이체확인(Confirmation)을 받는 시간까지 포함하면 훨씬 더 길어진다. 속도가 너무 느린 것이 문제이다.
- 오직 비트코인(Only Bitcoin) : 비트코인 블록체인 위에서는 오직 비트코인만 이체가 가능했다. 따라서 이종 화폐와 교환을 하려면 결국 중앙화된 웹거래소 서비스 등을 사용해야 한다. 결국 비트코인 블록체인이 가진 보안적, 탈중앙화적 이점을 허무하게 포기하는 셈이 되는 것이다.
- 오직 비트코인 스크립트 (Only Bitcoin Script) : 비트코인 블록체인에서 사용할 수 있는 기능이 너무나 제한적이다. 따라서 창의성 발휘나 고급이체 조건 설정 또는 스마트 컨트랙트 코딩이 불가능하다. 다른 다양한 블록체인들에서 제공하는 여러가지 기능들을 아무것도 사용하지 못하는 것이다.
- 높은 보수성 (Non-flexible Chain) : 비트코인은 현재 버전이 '0.12.1(2016-07-20)'으로 아직도 베타버전이다. 그럼에도 불구하고 이미 조 단위가 된 비트코인 시가총액이나 커뮤니티원들 간의 논쟁, 많은 수의 이해관계인들 때문에 쉽사리 비트코인을 수정하거나 실험을 해보는 것이 불가능하다. 결국 실험을 위해서는 '이미 베타버전인 비트코인'의 베타버전(testbed)을 따로 또 만드는 방법 뿐이다.
- 거래공개 (Non-Confidential Transaction) : 비트코인 상에서 일어나는 모든 거래는 만천하에 공개된다. 기밀성을 지킬 수 없는 구조이다.[4]
특징[편집]
- 목적
사이드체인의 목적이란 확장성의 문제는 여러가지가 있지만 특히 상용성의 문제와 관련된 완결성, TPS, 수수료의 문제와 메인 네트워크의 성능 한계를 해결하기 위해 메인체인에 모든 데이터를 블록 안에 저장하는 것이 아니라, 사이드체인을 두어 메인체인을 효율적으로 사용하기 위함이다.
- 특성
사이드체인은 PoA, PoS, DPoS, BFT계열의 합의 알고리즘을 사용한다. 또한, 사이드체인은 저렴한 수수료, 빠른 트랜잭션 처리 시간으로 메인넷의 한계를 극복할 수 있는 특징을 가지고 있다. 사이드체인은 각각 존재하는 서로 다른 암호화폐들 사이에서 다리 역할을 하는 기술이다. 사이드체인 기술을 활용할 경우, 해당 암호화폐는 성능 업그레이드가 가능하다. 블록체인에서 사이드체인 기술은 서로 다른 블록체인 토큰을 주고받는데 중점을 두고 있다. 비트코인이나 이더리움 등 서로 다른 블록체인을 연결하기 위한 접근법은 여러가지가 있지만 중간에 브릿지를 만드는 방식이 주로 사용된다. 가장 확실한 방법은 비트코인이나 이더리움 자체를 수정하는 것이다. 하지만 상대방 블록체인에 맞게 코드 전체를 수정하는 것은 현실적으로 불가능하다.[5]
거래방식[편집]
블록체인에서 사이드체인 기술은 서로 다른 블록체인의 토큰을 주고받도록 하는데 중점을 두고 있다. 비트코인이나 이더리움 등 서로 다른 블록체인을 연결하기 위한 접근법은 여러가지가 있지만 주로 중간에 브릿지를 만드는 방식을 사용한다. 브릿지 방식으로는 멀티시그 브릿지, 콜레트럴 브릿지가 많이 쓰이며 브릿지가 없이 작동하는 플라즈마도 있다. 해당 방식은 상대방 블록체인의 합의 알고리즘이 달라도 제약이 크지 않다는 장점이 있다.
- 멀티시그
멀티시그(multi-sig)는 개인키를 본인, 대행업체, 기관 등 세 곳에 등록하는 방식이다. 사이드체인을 구현하는 가장 간단한 방식으로 꼽혀 최근 다수 암호화폐 지갑에 적용되고 있다. 단일 서명으로 진행되는 기존 방식과 달러 사용자의 개인키를 포함해 두 곳의 개인키 서명이 필요하다.
- 브릿지
브릿지(bridge)에서는 멀티시그의 다중 서명을 통해 토큰의 출입을 허가하는 방식을 사용한다. 또한, 토큰을 이동시키는 행위 외에도 검증을 위한 앵커링 작업이 주기적으로 일어난다. 사이드체인이 브릿지로 연결되더라도 시스템에 별도의 거래 장부가 필요하지는 않다. 브릿지의 오퍼레이터가 각 체인에 상대방 체인 내역을 모았다가 주기적으로 병합하기 때문이다. 이를 앵커링이라고 한다. 앵커링 작업은 사이드체인의 스테이트를 검증하고 공유하는 작업이며, 사이드체인의 투명성을 암호학적으로 보장한다. 사이드체인 간 통신을 활발히 하려면 앵커링을 효율적으로 설계하는 것이 무엇보다도 중요하다.
- 멀티시그 브릿지
멀티시그 브릿지에서 송금을 원하는 거래자는 먼저 브릿지에 자신의 토큰을 등록한다. 토큰이 등록되면 브릿지는 잠긴다. 요청자 개인키와 건너편 상대방 개인키의 멀티시그 합이 맞으면 토큰의 이동이 승인된다. 이같은 방식으로 서로 다른 토큰이 상대편 체인에 생성되고 교환되는데 이를 민팅이라고 부른다. 토큰 이동이 승인되면 이제 잠금도 풀린다. 한쪽의 토큰을 소각하지 않고도 상대방 블록체인 진영으로 토큰을 이동시키는 방식을 양방향 페깅이라고 하며, 브릿지에서 한쪽의 토큰을 소각해야 상대방 체인에서 토큰을 획득하는 방식을 단방향 페깅이라고 한다. 단방향 페깅은 토큰을 파괴하고 다른 쪽에 생성하는 작업으로 원래의 토큰을 되돌릴 수 없는 특징이 있다.
- 콜레트럴 브릿지
멀티시그 브릿지는 사용자가 브릿지 오퍼레이터를 신뢰해야만 하는 구조적 문제점이 있다. 이를 극복하고 브릿지를 탈중앙화하기 위해 개발된 것이 콜레트럴 브릿지다. 콜레트럴 브릿지에는 담보 개념이 들어간다. 오퍼레이터의 역할 중 하나인 검증을 수행하는 주체가 거래자의 전송 금액보다 많은 양의 담보를 브릿지에 예치해 금융 사고를 예방한다. 콜레트럴 브릿지는 어떤 거래자도 신뢰할수 없는 환경에서도 기능할 효율적인 브릿지로 꼽힌다. 작동 방식은 멀티시그 브릿지와 비슷하다. 사용자가 브릿지에 전송할 금액을 예치하면 검증자는 누가 금액을 넣었는지 확인하고 브릿지를 잠근다. 전송이 성공적으로 이뤄지면 잠금이 풀려 브릿지에서 인출된다. 이 과정에서 누군가 예치된 금액을 훔치거나 비정상행위가 발생하면 콜레트럴 브릿지의 검증자가 담보로 예치된 금액의 일부를 사용자에게 지급하고 보상한다.
- 플라즈마
일반적으로 사이드체인의 거래는 브릿지 노드에 의존하면서 브릿지 문제에 집중된다. 그러나 플라즈마 체인 거래에는 브릿지 노드가 필요하지 않다. 브릿지 방식이 아닌 수수료 경제모델에 기반해 오프체인에서 거래를 진행하는 방식이기 때문이다. 브릿지를 없앰으로써 사용자들이 코인을 직접 관리할 수 있는 장점이 있다. 플라즈마는 데이터를 처리하는 방식과 블록 생성자를 다루는 정책에 따라 미니멀 바이어블 플라즈마(MVP), 모어 바이어블 플라즈마, 플라즈마캐시, 플라즈마 데빗, 플라즈마 캐시플로우 등 다양한 버전이 존재한다. 플라즈마는 이더리움 블록체인 내부에 작은 블록체인을 만드는 방식이다. 플라즈마는 부모 체인인 이더리움 체인을 상속해 만든 자식 체인이기 때문에 내부에 별도의 합의 알고리즘을 필요로 하지 않는다. 이더리움 메인체인과 플라즈마는 평소에는 별개의 블록체인으로 존재하지만 필요시 사용자가 백도어를 통해 자발적으로 드나들 수 있다. 또한, 한 명의 오퍼레이터로도 잘 작동하는 장점이 있다. 오히려 오퍼레이터의 수를 추가할 경우 전체 네트워크가 느려질 우려가 있다. [6]
사이드체인 프로젝트[편집]
루트스탁 |
코스모스코인 |
아르고 |
기능, 보안 정도에 따라 다양한 사이드체인 프로젝트가 활동하고 있다.
루트스탁[편집]
루트스탁(Rootstock)은 비트코인에 스마트 컨트랙트 기능을 추가하는 사이드체인 프로젝트이다. 비트코인 코드를 개선한 자사의 사이드체인을 비트코인 블록체인에 연결해 스마트 컨트랙트를 다루는 레이어를 추가한다. 비트코인의 코드를 직접 수정하는 작업은 난이도가 높고 결과의 반영이 태생적으로 느리기 때문에 개발이 어려워 비트코인에 새로운 레이어를 추가해 기존 기능과 충돌점을 수정 보완하는 방식으로 개발하는 사례가 많다. 이 중 하나가 바로 루트스탁(RSK)이다.
코스모스코인[편집]
코스모스코인(Cosmoscoin)은 서로 다른 블록체인을 연결하는 허브를 만드는 사이드체인 프로젝트이다. 지금까지 각 체인은 별개로 존재했지만 코스모스를 통하면 비트코인과 이더리움 토큰을 상호 교환할 수 있게 된다. 이들 체인에는 비트코인과 이더리움 등을 연결하는 브릿지가 존재하는데 폴카닷의 릴레이체인, 코스모스의 허브 이에 해당한다.
폴카닷[편집]
폴카닷(Polkadot)은 서로 다른 블록체인을 연결해주는 중간 신뢰기관 역할을 한다. 폴카닷은 기본 네트워크(릴레이 체인)와 사용자가 만든 네트워크(파라체인)으로 구성된다.
아르고[편집]
아르고(Aergo)는 프라이빗 블록체인과 퍼블릭 블록체인을 연결하는 크로스체인 플랫폼을 개발하고 있다. 퍼블릭 아르고 체인과 기업용 블록체인을 사이드체인으로 연결하려는 취지다. 아르고는 사이드 체인을 연결하는 기존 방식의 브릿지를 대체하기 위해 스테이트 루트 모델을 적용했다.
확장성[편집]
그렇다면 사이드체인은 어떻게 사용되는 것일까?
1. 가치를 생성할 때
사이드체인에서 직접 자산을 생성하지는 못한다. 자산을 생성하는 것과 같은 중요한 일은 모두 메인체인에서 담당하기 때문이다.
2. 트랜잭션을 처리할 때
트랜잭션을 처리할 때는 메인체인의 자산을 사이드체인으로 전송하여 처리한다. 전송한 뒤 사이드체인에서 거래 후 다시 사이드체인에서 메인체인으로 이동하여 그 결과만을 메인체인에 남겨놓는다. 이렇게 함으로써 중요한 정보들을 메인체인에 쌓아두는 것이다.
브릿지 방식으로는 멀티시그 브릿지, 콜레트럴 브릿지가 많이 쓰이며 브릿지 없이 작동하는 플라즈마도 있다.[7]
블록체인의 '확장성' 솔루션 리스트[2][편집]
사이드체인 플라즈마 스테이트 채널 샤딩 영지식 증명 구현방식 - 브릿지를 통해 블록체인을 연결, 트랜잭션 처리를 위임 - 이더리움 내부에 작은 블록체인을 구성해 스마트 컨트랙트로 연결,플라즈마서 거래 진행, 주기적으로 스테이트를 업데이트 - 블록체인의 DB에 해당하는 스테이트를 여러 샤드로 분할, 트랜잭션 나눠서 처리 - 트랜잭션 뭉치를 압축해 확장성 확보 - 오프체인에서 거래를 진행하며 메시지를 교환, 마지막 결과값만 온체인에 반영 개발허들 - 사이드체인의 무확정 확장은 어려움, 비트코인의 사이드체인은 난이도가 높음 - 레이어드 플라즈마 기술적 구현이 어려움, 대량 엑싯 문제, 데이터 가용성 문제 - 일반화된 표준이 없음, 솔리디티 언어의 장벽, 스크래치부터 개발해야 하는 어려움 - 크로스 샤드 간 통신이 난제로 꼽힘, 스테이트를 나누는 기준도 모호함 - 연산 과부하로 인한 성능 상의 문제, 데이터 가용성 문제 장점 - 다른 블록체인 연결해 다양한 기능 구현 가능 - 거래 참여자 무제한, 별도의 합의 알고리즘 필요없음, 수수료 절감 - 디앱에 특화된 스테이트 연산, 즉각적인 완결성, 수수료 절감 - 트랜잭션 처리 속도 1000배 향상, 설계 방식에 따라 PoS와 상생 가능 - 서버 단에서의 검증 부하를 줄임, 스토리지 문제도 해결 가능 단점 - 브릿지 검증 수수료, 프로토콜 복잡도 상승, 인터체인 오류는 광범위한 파급력 주의 - 사용자 경험(UX) 나쁜 편, 토큰을 도난을 막기 위한 사용자의 적극적 방어 필요 - 한정된 사람만 참가, 중간 기록이 따로 없음, 참여자의 온라인 지속 상태가 권장됨 - S/W 복잡도 상승, 온체인 솔루션으로 전체 중 1% 샤드만 망가져도 전체가 고장날 수 있음 - 클라이언트 단에서 연산의 과부하 발생 가능
전망[편집]
먼 미래의 일이 아니더라도 사이드체인은 여러모로 쓰임새가 많다. 인터체인 프로젝트가 현실화되면 블록체인의 기존 비즈니스를 뒤엎을 것이란 전망도 나온다. 특히 기업이 구축하는 프라이빗 블록체인, 컨소시엄 네트워크를 비트코인이나 이더리움 등 퍼블릭 블록체인과 연결할 때 빛을 발할 것으로 기대된다. 회사가 정한 합의 알고리즘을 그대로 유지하며 연산의 결과를 퍼블릭 체인에 스마트 컨트랙트를 통해 효율적으로 기록할 수 있어 여러 기업들이 사이드 체인 기술을 도입하고 있는 추세이다. 또한, 프라이빗 체인을 사이드체인으로 연결하면 접근도 유연해진다. 이로 인해 디지털 자산을 이동하는 일이나 온라인 결제 등이 손쉬워질 전망이다.
각주[편집]
- ↑ 유성민 칼럼니스트, 〈대안 체인과 사이드 체인은 뭘까〉, 《사이언스타임즈》, 2018-03-20
- ↑ 2.0 2.1 ASH Han, 〈사이드체인 (Sidechain) - 블록체인의 혁명〉, 《ASH Han 한승환》, 2016-07-21
- ↑ 강민승 기자, 〈너와 나의 `블록체인` 연결 고리, 사이드 체인〉, 《매일경제》, 2019-01-10
- ↑ 4.0 4.1 〈사이드체인〉 , 《한승환》 , 2016-07-21
- ↑ 유성민 IT칼럼니스트, 〈대안 체인과 사이드 체인은 뭘까〉, 《The Science Times》 개인 블로그, 2019-08-29
- ↑ Sherman Lee, 〈Explaining Side Chains, The Next Breakthrough In Blockchain〉, 《Quora》 2018-02-07
- ↑ Onur Deler, 〈What exactly are sidechains? (blockchain)〉, 《Quora》 2017-07-18
참고자료[편집]
- ASH Han, 〈사이드체인 (Sidechain) - 블록체인의 혁명〉, 《ASH Han 한승환》, 2016-07-21
- 강민승 기자, 〈너와 나의 `블록체인` 연결 고리, 사이드 체인〉, 《매일경제》, 2019-01-10
- 유성민 IT칼럼니스트, 〈대안 체인과 사이드 체인은 뭘까〉, 《사이언스타임스》, 2019-08-29
- Sherman Lee, 〈Explaining Side Chains, The Next Breakthrough In Blockchain〉, 《Quora》 2018-02-07
- Onur Deler, 〈What exactly are sidechains? (blockchain)〉, 《Quora》 2017-07-18
같이 보기[편집]