https://cafe.naver.com/3qtum/685
요번에 나온 큐텀 파트너쉽인 셀러 네트워크에 대해 알아보겠습니다.
celer에서는 오프체인 솔루션을 사용해 현재 수십억의 tps를 가진 인터넷의 속도를 따라잡겠다고 말하고 있습니다. 응? 수십억? 수백만 아니고?? 뭐 여튼 알겠습니다.
하지만 왜!
오프체인 일까요?
(온체인: 블록체인 안에서 정보를 기록하는 것, 오프체인: 블록체인 밖에서 여러 정보들을 묶은 뒤 블록체인에 기록하는 것)
현재의 인터넷은 컨센서스(합의)가 필요하지 않고 단일 노드에 의해서 여러 트랜잭션을 처리하기 때문에 속도가 굉장히 빠릅니다. 이와 반대로 여러노드에서 합의라는 과정을 거쳐야 하는 블록체인은 태생적으로 느릴 수 밖에 없습니다. 따라서 그들은 샤딩 처럼 온체인 안에서 속도 개선을 한다고 하더라도 속도의 한계가 존재할 것이라고 생각합니다.
그래서 그들은 합의가 거의 필요하지 않은 오프체인 솔루션에 집중하려고 하고 그 이름을 off-chain operating networks 라고 부르기로 했습니다.
오프체인 솔루션에는 대표적으로 비트코인의 라이트닝 네트워크 이더리움의 플라즈마와 라이덴 네트워크가 있습니다. 하지만 여기서 개인과 개인의 스테이트 채널 방식으로 이루어지는 프로젝트는 라이트닝 네트워크와 라이덴 네트워크입니다. 우리가 알아볼 celer도 비슷하게 생각하시고 읽어 주시면 이해가 빠를 듯 합니다.
그럼 off-chain operating networks 의 몇 가지기술적인 특징을 살펴볼까요?
기술적분석
1.cStack (cChannel+cRoute+cOs+cApps)
위 그림은 off-chain operating networks 를 모듈형식으로 분리하여 4가지 형식으로 계층화 시킨 cStack의 구조도 입니다. 위의 4가지 기능을 한데 모아서 구분 지은 구조를 cStack 이라고 이해하면 될 것 같습니다. 이런 구조는 시스템의 설계, 개발, 유지 , 보수 등에 장점이 있으며 신속한 발전을 가능하게 합니다. 소프트웨어개발에 많이 쓰이는 구조입니다.
2.cChannel (유연하고 일반화된 기능 탑재)
라이트닝 네트워크에서 처럼 개인과 개인을 프라이빗 하게 연결해주는 것이 Channel입니다. 그 앞에 자기들 브랜드 네임을 붙여서 cChannel 을 만들었습니다. 어떤기능이 있을까요?
어떤 장점이 있지?
cChannel은 가장 밑바닥의 계층으로 일반채널과 사이드체인의 조합으로 구성되어 있으며 상태전이를 오프체인상의 조건부 dag(Dependency DAG traversal off-chain protocols)를 이용하여 빠르고 원활하게 만듭니다. 그리고 비트코인의 라이트닝 네트워크처럼 단순히 결제시스템만 지원하는 것이 아니라 오프체인으로 게임, 경매, 예측시장, 도박과 같은 다양한 dapp들을 구동할 수 있다고 합니다. 오프체인을 이용한 dapp이라니 새롭네요! (듣기로는 라이덴도 추후에 이런 기능을 추가할 것이라고 합니다.) 또한 비탈릭이 관심을 보이고 지원한 Perun Network같은 이더리움의 새 오프체인 솔루션팀과 관련해서도 오프체인 표준기술을 위한 공동 협력을 하고 있다고 하니 기술적으로 어느정도 믿음이 갈 만 할 것 같습니다.
아니 그래서 아직 만들어지지도 않은 라이트닝 네트워크보다 뭐가 나은데?
라이트닝 네트워크에서 가장 큰 문제점 중의 하나는 바로 채널마다 예치금을 입금하고 있어야 한다는 것인데, 개인간 채널에서 잔고 쏠림으로 한쪽의 예치금이 없어지면 통신이 막히게 되어 더 이상 전송이 불가능해집니다. 이 문제를 해결하려면예치금을 항상 유지해 두거나, 다른 참여자를 이용해서 연결을 하는 방법을 선택해야합니다.
하지만 개인들이 일정이상의 예치금을 계속 유지하기란 어렵습니다. 급하게 돈을 빼서 써야할 수도 있고, 술 취해서 잔고를 다 긁어버릴 수도 있고, 다음 월급 받기 전까지 돈을 거의 써 버려 거지 생활을 할 수도 있습니다. 그러면 네트워크 유지가 되지 않겠죠.
이를 위해 celer팀은 라이트닝 네트워크보다 더 낫다고 주장하는 Sprite 라는 새로운 시스템을 차용했는데요. 오프체인 네트워크 상에서 필요한예치금(담보물)을 줄이는 방법을 고안하기 위해 만들어졌다고 합니다. 필요 예치금을 줄이면 네트워크가 훨씬 원활해 지겠죠? 또한 cChannel의 여러 기능들(Multi-hop state relay, 사이드채널을 사용한 유동성 잠금 감소)을 사용하여 sprite를 확장할 수 있다고 하네요.
이외에도 일정 조건이 충족 되었을 때에만 발동하는 오프체인 조건부 지불을 지원하고 다이나믹 입출금. 온체인 정산 정체 회피, 크로스채널 예금 교환(아토믹스왑)과 같은 기능을 계획 중에 있다고 합니다.
3.cRoute : 최초의 입증가능한 최상의 상태 라우팅
제목에서부터 온갖 미사여구를 다 갖다 붙인걸 보니 확실히 자신이 있는 기술인가 봅니다.
라우팅이란 건 예를 들어 내가 친구에게 돈을 보낼 때의 경로를 말합니다.
비트코인의 라이트닝 네트워크, 이더리움의 라이덴 네트워크는 최단거리(Shortest path) 라우팅알고리즘이 적용됩니다.
예를 들어 보겠습니다.
내가 인터넷으로 윾니꿀로에서 옷을 샀는데 나와윾니꿀로 간의 직접적인 채널이 없으면 나와 윾니꿀로와 모두 연결이 되어있는 중간의 A라는 사람을 거쳐서 내 돈이 이동하게 됩니다. 하지만 A에게 충분한 예치금이 있지않으면 전송은 실패하게 되고 다른 복잡한 경로를 찾아 갈 수 밖에 없습니다. 그렇다고 모든 사람에게 채널을 연결할 수는 없는 노릇 이구요. 왜냐하면 채널을 연결하는 것은 블록체인에 기록이 되어야 하기 때문이죠.
이것이 라이트닝 네트워크의 단점 중 하나인 라우팅의 복잡성입니다. 이런 복잡성때문에 수수료가 결코 싸지지 않고 전송속도 또한 느려 지는 문제를 현재 가지고있습니다.
근데 cRoute는 이런 문제를 해결했다고 합니다.띠용…..?
최단거리 라우팅 알고리즘보다 15배나 빠른 cRoute의 속도 -
그럼 다시 라이트닝 네트워크와 비교하면서 cRoute 의 장점을 한 번 알아봅시다.
1.엄청 빠른 속도: cRoute는 최단거리 라우팅 알고리즘보다 15배나 빠른 속도를 낼 수 있다고 합니다. 어떻게 15배나 빠르게 이루어지게 되는건지 백서가 아직까지 나오지 않아 모르겠지만 사실이라면 대단하군요.
2. 투명한 잔고 리밸런싱: 잔고 리밸런싱은 라이트닝 네트워크에서 중요한 과제중 하나입니다. 위에 윾니꿀로에서 옷을 산 예로 알수 있듯 잔고가 없어져버리면 네트워크에 문제가 생기기 때문에 이 잔고를 계속적으로 리밸런싱을 해야 합니다. 이런 리밸런싱은 온체인네트워크를 이용해서 해야 하기 때문에 수수료가 매우 비쌉니다.
하지만 cRoute의 알고리즘은 이런 문제까지 투명하게 해결할 수 있다고 합니다. 이런 문제는 비슷한 오프체인 솔루션인 Liquidity.network 도 해결하려는 부분인데 어떤 방식으로 해결할 수 있는지는 더 나와봐야 알 것 같습니다.
3.높은 장애 복원력: 문제가 생겼을 때 그것을 복구하는 능력 또한 뛰어나다고 합니다.
4.완전한 분권화: 사실 라이트닝 네트워크는 비트코인을 서로 간의 상태 채널을 연결해서 이동하게하여 전송 효율성을 극대화 시키는데 의의가 있기때문에 많은 채널을 연결하는 그림과 같이 일부중앙화 된 채널을 이용하면 상당히 효율적입니다.특히 서로 간의 연결이 많이 없는 초반에는요. 따라서 진정한 탈중앙화와는 거리가 멀다 말하며 싫어하는 사람들도 있습니다.
cRoute는 이 마저도 해결했다고 합니다. 힘들게 최단거리를 찾을 필요도 없다고 이야기합니다. 이번에도 이것도 방법은 아직까지 기술되어 있지 않습니다.
4.cOS: 오프체인 dapp의 친숙한 개발자 환경
온체인 댑은 만들기 쉽지만 오프체인 댑은 만들기어렵다고 합니다.
사실 저는 이 프로젝트를 공부하면서 오프체인 댑이라는 것을 처음 들어봤습니다. 플라즈마 체인과비슷한것인가 하고 생각도 해봤지만 플라즈마는 자체적인 체인이 있습니다. 오프체인으로 속도를 빠르게 하는 댑이 아닐까 생각해봅니다.
여하튼 이러한 오프체인 dapp은 만드는 것이 상당히 어렵기 때문에 자체적인 개발 프레임워크와 런타임을 제공한다고 합니다.