블로그 게시물

제3자 신뢰를 필요로 하지 않는 컴퓨터 연산 확장성 모델

작성자 Kyle Samani
February 23, 2018 | 15 Minute Read

각각의 주요 스마트 컨트랙트 플랫폼은 각자의 특화된 트레이드 오프가 있습니다. 해당 트레이드 오프의 차이는 단지 어떠한 특징의 유무를 따지는 것을 떠나서 무신뢰 컴퓨터 연산이 의미하는 바에 대한 시각이 근본적으로 다르다는 것을 상징합니다.

이 글에서는 이러한 균형점에 대해 알아보고 이 균형점이 디지털 금, 프로그램이 가능한 화폐, 검열저항성, 무허가성 등 암호자산이 갖는 두드러지는 특징에 어떻게 영향을 미치는지 이해하는 것을 도와줄 수 있는 일관된 프레임워크를 제공해보고자 합니다. 우선 몇 가지 정의를 짚어보며 시작하겠습니다.

검열저항성 – 표현의 완전한 자유를 의미하며 기술용어일 경우 블록체인에 어떠한 임의의 기록이든 모두 할 수 있는 능력을 뜻합니다.

무허가성 – 네트워크에 접근하여 제3자의 허가를 받지 않고도 체인의 무결성을 확인할 수 있는 능력을 뜻합니다.

여기서는 라이트닝(Lightning)이나 레이든(Raiden), 플라즈마(Plasma)와 같은 레이어2 스케일링 솔루션은 다루지 않도록 하겠습니다.

우선 ‘무신뢰’라는 개념에 대해 알아보겠습니다. Nick Szabo는 무신뢰성의 프레임을 기술적 효율성과 반대되는 기능으로 잡았습니다. 간단히 말해, 컴퓨터의 효율성이 떨어질수록 이를 조작하는 것은 어려워지고, 조작하는 것이 어려워진다는 말은 신뢰도가 더 높다는 뜻이므로 무신뢰가 성립되는 것입니다.

Szabo의 말을 다르게 표현하자면 블록체인은 기술적 효율성을 사회적 확장성과 교환했다고 할 수 있겠습니다.

암호자산의 궁극적인 표명은 현재 상태에서 사람들이 다들 동의하는 바처럼 무신뢰 데이터베이스(혹은 블록체인)의 달성이 아니라 데이터베이스의 수퍼셋인 무신뢰 일반 범용 컴퓨테이션입니다. 이를 단박에 이해하는 것은 어려울 수도 있습니다. 블록체인을 통해 지구상의 모든 사람들은 세계의 스테이트에 대해 합의를 이룰 수 있습니다. 무신뢰 일반 범용 컴퓨테이션은 이를 넘어선 단계입니다. 세계의 스테이트를 아는 데서 그치지 않고 특정 컴퓨테이션이 제대로 작동하였는가를 증명할 수 있는 능력입니다.

비트코인은 기술적으로는 프로그래밍을 통해 스크립트 언어로 무신뢰 일반 범용 컴퓨테이션을 가능토록 할 수 있지만 실제로는 그저 무신뢰 데이터베이스일 뿐입니다. MAST, 탭루트(taproot), 스크립트 없는 스크립트(scriptless scripts), RSK 등 비트코인의 능력을 더 활용하기 위한 노력이 이루어지기는 했지만 실현화된 제품은 없습니다. 간단히 말해 개발자들은 더 나은 환경을 찾아 비트코인을 떠났다고 표현할 수도 있겠지요.

이더리움은 개발자들에게 처음으로 어떤 무신뢰 무작위 컴퓨테이션이든 돌릴 수 있는 접근 가능한 플랫폼을 제공해 주었습니다. 그리고 오늘날 이더리움은 암호자산 분야의 개발자들 사이에서 높은 사고점유율(mindshare)을 보이고 있습니다.

많은 사람들이 이더리움을 월드 컴퓨터라고 불러왔습니다. 그러나 기술적으로는 그렇게 부를 수 있을지 몰라도 처리량과 비용으로 인해 실제로는 그 정도의 단계를 성취하지 못하고 있습니다. 이더리움에서 컴퓨테이션을 돌리면 같은 컴퓨테이션을 아마존 웹 서비스(AWS)에서 돌리는 것보다 약 100,000,000배 더 비쌉니다.

확장성의 트릴레마(Trilemma)

무신뢰 컴퓨테이션 스케일링은 삼자택일을 해야 하는 진퇴양난에 빠져있습니다. 확장성 트릴레마는 모든 노드가 모든 컴퓨테이션을 처리해야 하고 또 컴퓨테이션의 순서에 합의하는 블록체인이 안전성, 확장성, 블록생성 탈중앙화 (DBP)의 요소를 갖고 있기 때문에 발생합니다.

  • DBP는 블록 생성자의 수로 수량화할 수 있습니다.
  • 확장성은 시간 단위 당 시스템이 처리할 수 있는 결제의 수로 수량화할 수 있습니다.
  • 안전성은 가용성이나 결제 순서화에 영향을 미치는 비잔틴 공격을 수행하는데 드는 비용으로 수량화할 수 있습니다. 다만 여기서 안전성이 암호화 서명의 무결성이나 제3자가 공개키를 사용해 개인키를 얻어내는 능력을 의미하지는 않는다는 점을 유의해야 합니다.

어떤 시스템이 선택지 중 한 쪽을 선택하도록 하는 원인은 무엇일까요? 바로 합의 알고리즘과 시스템 아키텍처의 조합입니다. 이제부터는 지금까지 언급한 개념들을 살펴보고 몇 가지 흥미로운 오프체인 컴퓨테이션 활동에 대해 이야기해보겠습니다.

이제부터 설명할 시스템들에서는 무신뢰 컴퓨테이션의 확장성을 위해 각각 다른 요소에 중점을 두었습니다. 이 글에서는 아래의 그림처럼 숫자를 사용해 삼각형의 각 변을 지칭하도록 하겠습니다.

Trilemma 1(ko)

4번째 고려요소: 완결성까지 걸리는 시간(지연 시간)

확장성 트릴레마에 포함되지는 않지만 무신뢰 컴퓨테이션을 위한 스케일링 시스템에서 고려해야 할 네 번째 요소가 있습니다. 지연 시간에 직접적인 영향을 미치는 요소인 완결성까지 걸리는 시간(TTF)입니다. 어떤 시스템은 완결성을 아예 보장하지 않는 대신 완결성에 대한 확률적 접근법을 택합니다(예: 비트코인). 다른 시스템들은 일정 시간이 흐른 후에 완결성을 보장합니다. 완결성은 이중지불 공격을 피하기 위해 중요할뿐 아니라 크로스 체인 커뮤니케이션을 가능케 하는데 필요하기 때문에 중요합니다. TTF가 느릴수록 크로스 체인 커뮤니케이션의 지연 시간은 늘어납니다.

TTF를 이차원의 삼각형 위에서 시각적으로 명확히 표현할 방법은 없습니다. 그렇기 때문에 진한 배경색으로 빠른 TTF를, 연한 배경색으로 느린 TTF를 표현하도록 하겠습니다.

변 1: 무허가 작업증명 (비트코인, 이더리움 1.0 등)

비트코인 이전에 모든 전자화폐 시스템은 똑같은 근본적인 문제를 갖고 있었습니다. 사용자들이 시스템을 관리하려면 제3자를 신뢰해야 한다는 것이었죠. 이 제3자는 거래를 검열할 수 있습니다. 누구든 체인의 무결성을 확인할 수 있고 어떠한 단일 제3자도 거래를 검열할 수 없는 시스템을 만드는 것이 비트코인의 최초 설계 목표였습니다. 작업증명(PoW) 합의는 검열저항성과 무허가성을 달성할 수 있도록 해주었습니다.

검열저항성의 최적화에 집중하는 것의 단점은 현대 PoW 시스템은 중앙화된 블록 생성 없이는 확장될 수 없다는 점입니다. 이 근본적인 이유로 인해 비트코인 캐시 포크를 통해 비트코인과 비교해보았을 때보다 블록 생성을 중앙화하게 되었습니다(다만 이에 대해 논쟁의 여지는 있습니다).

이 글에서 다루는 합의 모델 중에서는 PoW의 무허가성이 가장 높습니다. 인터넷에 연결된 컴퓨터를 가지고 있는 사람이라면 누구든 거래를 인증하고 채굴을 할 수 있습니다. 이론적으로는 이 방법을 통해 가장 큰 DBP를 달성할 수 있습니다.

실제로 보면 모든 무허가성 PoW 시스템은 블록생성을 중앙화하고 있습니다. 이는 경험을 통해 알려진 사실입니다. 모든 주요 PoW 기반 블록체인에서는 채굴 작업의 규모의 경제를 위해 채굴을 중앙화합니다. 오늘날에는 20개 정도의 단체 또는 풀에서 비트코인이더리움 블록체인의 채굴력 대부분을 통제하고 있습니다. 제한적이기는 하지만 과거를 돌이켜보았을 때 중앙화된 블록생성은 항상 ASIC와 GPU 기반 채굴 알고리즘에서 발생하는 것으로 보입니다.

PoW 시스템은 느린 TTF의 문제를 안고 있습니다. 또 설계 자체가 완결성을 보장하지 않도록 되어있습니다. 대신 새로운 블록이 PoW 기반 체인에 추가될 때마다 예전 거래들이 완결될 가능성은 기하급수적으로 커집니다. 이것이 많은 사람들이 비트코인 거래를 할 때 거래를 승인하는 6개의 추가 블록이 생길 때까지 거래가 완료되었다고 보지 않는 이유입니다. 블록 생성시간이 10분인 비트코인 거래가 완료될 때까지 한 시간 또는 그 이상의 시간이 걸릴 수도 있습니다.

실제 사용시 PoW 채굴에서 발생하는 규모의 경제 때문에 PoW 체인은 삼각형의 오른쪽 하단 모서리에 속하게 됩니다.

Trilemma 2(ko)

땋은 형(braided) 작업증명(PoW) 방식 (카데나)

카데나는 제가 아는 시스템 중 유일하게 PoW 알고리즘을 사용하여 확장성 트릴레마를 해결하려 노력하는 시스템입니다. 카데나는 체인웹이라고 부르는 땋은 형 체인을 만들어 이 문제를 해결하려고 하는데요, 체인웹에서 각각의 체인은 자기 체인 내에서 거래를 승인해야 할뿐 아니라 미리 정해진 개수의 체인의 블록 헤더 역시 승인해야 새 블록을 생성할 수 있습니다.

체인 너머로 메시지를 전송하고 가치를 전달하려면 사용자들은 한 체인의 상태를 밝히는 머클 증명을 체인웹의 다른 체인들로 보내야 합니다. 모든 체인들이 직접 연결된게 아니기 때문에 사용자들은 체인간 메시지를 전송하기 위해 몇 차례 ‘뛰어넘기(hop)'를 해야할 수도 있습니다.

이는 언뜻 보면 이더리움의 샤딩(아래에 추가 설명)과 비슷하게 보이기도 합니다. 그러나 이더리움의 샤딩에서는 결제 블록과 승인을 스포크 체인과 단일 허브 체인으로 나누는 반면 카데나는 결제 승인과 합의를 분리하지 않습니다. 체인웹에서는 모든 체인이 각각의 합의를 유지합니다. 그러므로 카데나는 근본적으로 다른 독특한 접근법을 취한다고 설명할 수 있겠습니다.

카데나는 체인웹을 아래의 그림처럼 시각화합니다.

kadena web(ko)

체인웹의 독특한 점 중 하나는 시스템의 스케일링이 보안성을 크게 증가시킨다는 것입니다. 왜일까요? 그 이유는 각각 다른 참조블록을 가진 여러 개의 체인에 51% 공격을 수행하는 것이 체인의 개수가 늘어날 수록 더 어려워지기 때문입니다. 이 모델에서 한 체인의 거래를 취소하려면 시스템 내의 다른 모든 체인에서도 거래를 취소해야 합니다. 체인들이 자연적으로 얼마나 뒤엉키게 되는지 생각해본다면 이 과정은 체인의 개수가 늘어남에 따라 기하급수적으로 어려워집니다. 이는 삼각형의 변 3에 위치한 블록체인들처럼 체인의 개수가 증가한다고 해서 시스템의 총 안전성이 증가하지는 않는 경우와는 정반대인 특성입니다.

이 디자인을 사용하면 확장성 트릴레마를 해결할 수 있습니다. 그러나 한가지 중요한 요소를 포기해야 합니다. 바로 TTF와 크로스 체인 지연 시간입니다.

개별 체인은 여러 차례의 뛰어넘기를 거쳐야 다른 체인에 도달할 수 있는 경우도 있습니다. 카데나는 PoW 알고리즘에서 1분 미만의 TTF를 목표로 하고 있습니다. 전체 체인웹에 메시지를 전달하는데에는 몇 번의 뛰어넘기가 필요하므로 몇 분의 시간이 걸립니다.

이 한계점에도 불구하고 카데나는 현재 확립된 합의 모델인 PoW 모델을 사용하여 확장성 트릴레마를 해결할 수 있는 방법을 제공하고 있습니다. 전체 시스템 상에서 보면 땋은 형 체인으로 인해 몇 가지 새로운 역학 관계가 생겨나지만 각각의 체인은 결국 PoW 체인입니다. PoW는 지분증명(PoS) 방식에 비해 훨씬 철저한 검토과정을 거쳐왔습니다. 어떠한 합의 체계를 실제로 현실에서 사용하는 것이 안전하다는 것을 입증하기 위해서는 오랜 시간이 걸립니다. PoW 합의체계를 사용하여 스케일 시스템을 구축할 수 있다는 것은 카데나에게 큰 기회이자 가치를 제공합니다.

삼각형에서 카데나는 이 부분에 속합니다.

Trilemma 3(ko)

지분증명(PoS) 방식

위에서 PoW 기반 시스템에 대해 알아보았다면 이제는 PoS 방식을 살펴보겠습니다.

완전한 무허가 방식인 PoW 시스템에 비교해 보았을때 모든 PoS 시스템은 실제 사용시 블록 생성을 중앙화하도록 설계되어 있습니다. 이는 블록 생성자의 수와 처리량 간의 본질적인 관계로 인한 것입니다. (Vitalik Buterin의 훌륭한 에서 더 자세한 내용을 알아볼 수 있습니다.)

그러나 모든 PoS 시스템이 블록 생성을 동등하게 중앙화하지는 않습니다. 곧 설명하겠지만 PoS 방식을 사용하여 달성할 수 있는 DBP의 범위는 아주 넓습니다.

현실 상황에서 PoS 방식은 PoW 방식보다 훨씬 적은 전투 시험(battle-tested)을 거쳤습니다. 예를 들어 최초로 PoS 방식을 적용한 피어코인(Peercoin)은 다른 공격과 함께 ‘불이익 없음(nothing-at-stake)’ 공격을 받기도 했습니다. 이처럼 PoS 방식은 근본적으로 위험요소가 더 크다고 봐야 합니다.

변 2: 블록생성 중앙화 (EOS, 카르다노(Cardano), NEO 등)

위임지분증명(DPoS) 방식은 PoW 방식이 채굴 과정의 규모의 경제로 인해 중앙화된다는 사실을 인정하는 방식입니다. Dan Larimer는 이런 현실적인 문제를 인지하고 블록체인은 결국엔 자연적으로 중앙화된다는 점을 감안하여 이를 사용해 확장성을 추구하는 DPoS를 개발하였습니다.

예를 들어 최근의 공식 발표에 따르면 Larimer의 가장 최근 작품인 EOS에서는 한 번에 21명의 블록 생성자만이 존재할 수 있습니다. 그리고 시간이 지나면 데이터센터에서만 EOS 노드를 돌릴 수 있게 될 것입니다.

블록 생성자의 수를 제한하면 각각의 블록 생성자가 자원을 더 많이 갖게 된다고 가정할 수 있습니다. 또 블록 생성자의 수를 줄이면 일반적으로 합의를 이루기 위해 n2개의 메시지를 필요로 하는 비잔틴 장애 허용(BFT) 알고리즘에서의 지연 시간이 줄어들게 됩니다. DBP를 감소시키면 확장성이 더 늘어납니다.

DPoS 기반 체인은 확장성을 증가시킬뿐 아니라 TTF도 빨라지기 때문에 지연 시간이 줄어듭니다. EOS는 구체적으로 0.5초의 블록 생성 시간을 목표로 하고 있으며 이는 다른 합의 방식에서는 실현이 불가능한 속도입니다. 이렇게 빠른 속도는 DPoS 시스템의 큰 장점입니다. 낮은 지연 속도와 높은 처리량을 요구하는 상황이 많기 때문입니다.

탈중앙화 거래소를 예로 보도록 하겠습니다. 이더리움에서 0x 생태계가 성숙하면서 명백한 문제로 드러나고 있는 사안이 바로 이와 관련되어 있습니다. 오늘날 0x의 가장 큰 문제 중 하나는 이더리움의 느린 블록 생성 시간과 긴 지연 시간으로 인해 주문 충돌의 횟수가 급속도로 증가하고 있다는 점입니다. 0x 팀이 해결책을 제시하기는 하였습니다만 이더리움 블록체인의 본질적인 제약으로 인해 이 해결책이 얼마나 효과적일지는 확실하지 않습니다. 그러나 DPoS 시스템에서는 빠른 블록 생성 시간과 높은 처리량, 낮은 지연 시간으로 인해 이러한 문제가 발생하지 않습니다.

전반적으로 보았을때 DPoS에 대한 기대는 다음의 몇 가지 상황에 대한 기대라고 볼 수 있습니다.

  1. 중립적 데이터베이스에서 높은 처리량과 낮은 지연 시간을 요구하는 상황이 있음.
  2. 전면적인 정부의 공격을 이겨내기 위해 모든 분산 시스템이 지금과 같은 분산 정도를 유지할 필요는 없음.

삼각형에서 DPoS 시스템은 삼각형의 밑변을 따라 밀집하여 위치하게 됩니다. TTF가 느린 시스템을 보여주는 앞의 두 삼각형과 비교했을 때 DPoS 시스템은 TTF가 빠르므로 배경을 짙은 색으로 표시했습니다.

trilemma4(ko)

변 3: 다양한 체인의 우주 (코스모스, AION, ICON, 아크(Ark))

코스모스와 AION, ICON, 아크 팀은 미래에는 수백 개에서 수백만 개의 체인이 생길 것이라 믿습니다. 삼각형의 변 3에 위치한 시스템에서는 이더리움이나 EOS처럼 하나의 체인에 집중하는 대신 각기 다른 응용처에서 하나의 검증인을 공유할 필요는 없다는 생각으로 시스템을 구축하고 있습니다.

확장성 트릴레마의 관점에서 보면 변 3에 속하는 시스템의 개별 체인은 가치를 덜 지니고 있습니다. PoW와 PoS 방식에서는 가치가 증가하면 안정성도 증가합니다. 그러나 추가적인 위험을 수반하는 대신 각각의 체인이 지니는 자주성(이는 꼭 필요하지 않거나 심지어 가치가 없을수도 있습니다)과 확장성은 증가하며 TTF는 빨라집니다.

자주성은 왜 중요할까요? 이를 이해할 수 있는 가장 쉬운 방법은 몇 가지 사례를 살펴보는 것입니다. 여러 국가에서 행정 목적으로 체인을 사용하기 시작하면 개별 국가는 다른 국가나 세계 공동체의 사회적 가치가 아닌 자국의 사회적 가치를 따르는 검증인을 사용하고 싶어할 것입니다. 예를 들어 이더리움과 이더리움 클래식간에 검증인을 공유할 수는 없는 것처럼요.

자주성의 예시에 대한 명백한 반대 사례는 바로 이더리움 그 자체입니다. 2013년 Vitalik은 암호자산 분야의 모든 개발자들이 채굴과 합의에 있어 똑같은 문제를 겪고 있음을 인식하고 이더리움을 구축하였습니다. 개발자들이 응용 계층에 집중할 수 있도록 모든 복잡성을 관념화할 기회를 잡은 것입니다.

흥미롭게도 클라우드 컴퓨팅의 역사에서도 비슷한 상황이 있었습니다. 2000년대 초반, 많은 웹 호스트들은 단일 서버에 여러 개의 웹사이트를 호스팅했습니다. 때문에 사이트 한 곳에 트래픽이 몰리면 서버가 다운되고 같은 서버에서 호스팅하는 다른 웹사이트들도 함께 다운되곤 했습니다.

여러 면에서 이더리움은 이런 초기 웹 호스트들과 유사합니다. 너무 많은 것들을 한데 묶는 바람에 이를 모두 종합하는 시스템을 구축하는 것이 불안정해진 것입니다. 한 곳에서 시스템이 무너지면 모든 시스템이 함께 무너지게 됩니다.

웹 호스팅 문제의 해결책은 가상머신(VM)이었습니다. 개별 응용처를 개별 VM으로 분리하여 단일 서버를 다양한 용도로 사용할 수 있었고 하드웨어 응용도를 극대화하고 비용을 절감하는 동시에 무결성을 유지할 수 있었습니다. 갑자기 트래픽이 몰리면 서버의 모든 VM이 다운되는 대신 해당하는 VM만이 다운되었습니다. 시간이 지나면서 VM은 물리적 서버를 옮겨다닐 수 있게 되었으며 이로 인해 불필요한 중복이 줄어들고 보안성이 더욱 증가했습니다. 거대한 수평적 확장을 가능케 하는 시스템과 결합되자 VM은 클라우드 컴퓨팅의 핵심 요소가 되었습니다. 최근에는 도커(Docker)의 컨테이너가 VM을 대체하게 되었지만 그렇다고 이 비유의 근본적인 요소가 바뀌지는 않습니다.

만약 분산화된 어플리케이션이 위에서 설명한 이유 때문에 개별 체인에 위치해야 한다면 이는 삼각형의 변 3에 속하는 시스템에게는 더 큰 기회가 되어줄 것입니다.

이러한 미래를 위해 변 3에 속하는 시스템들은 새로운 체인의 스핀업이 쉽도록 해야 하며 체인간 상호운용이 가능하도록 해야 합니다. 코스모스는 이더민트(Ethermint)를 통해 이를 실현화하고 있습니다. 이더민트는 완전히 개방되어있으며 무료입니다. 이더민트는 코스모스 팀이 출시한 높은 처리량과 낮은 TTF의 준중앙화 합의 알고리즘인 텐더민트를 기반으로 이더리움 가상 머신(EVM)을 돌리는 텅 빈 템플릿 체인입니다. 개발자들이 새로운 체인을 스핀업하는 것이 쉽게 해줌으로써 이를 촉진하는 것이 바로 코스모스 팀의 목표입니다. AION과 ICON, 아크 역시 근본적으로 같은 비전을 공유하여 개발자들이 체인을 빠르고 쉽게 스핀업할 수 있는 템플릿화된 방법을 제공하기 위해 노력하고 있습니다. (완체인(Wanchain)은 상호운용이 가능한 체인 솔루션에 포함되기도 하지만 여기서 설명하는 내용과는 경우가 매우 다르며 같은 기능을 제공하지 않습니다.)

이 시스템들은 빠른 TTF를 제공합니다. 이는 각각의 체인이 상대적으로 중앙화되어있어서 지연 시간이 낮기 때문입니다. 개별 체인이 비교적 중앙화되어있기는 하지만 전체 시스템은 오히려 탈중앙화되어있다고 말할 수 있는데, 이는 새로운 합의 매커니즘에 중점을 두는 독립적인 검증인을 두는 체인이 많기 때문입니다.

여러 소규모의 상호운용이 가능한 체인들은 삼각형에서 아래와 같이 시각화할 수 있습니다.

trilemma 5(ko)

샤딩 (이더리움 2.0, 폴카닷(Polkadot) 등)

Vitalik과 Gavin Wood는 공개적으로 이더리움 샤딩에 대해 언급해왔습니다(여기여기를 참고하세요).

각각의 샤드는 기본적으로 독특한 체인이라고 볼 수 있습니다. 이더리움의 샤드와 코스모스 생태계의 독립적인 체인의 차이점은 코스모스에서는 각각의 체인이 각각의 합의(그리고 안전성)를 관리해야 하지만 이더리움 샤드에서는 그럴 필요가 없다는 것입니다. 샤딩에서는 합의와 안전성을 마스터 샤드의 검증인 관리자 컨트랙트(VMC)를 통해 전체 샤드에서 공동으로 관리합니다. 대부분의 경우 안전성이 낮은 여러 개의 체인보다는 공동 안정성을 추구하는 것이 낫습니다.

아직 샤딩된 블록체인을 실제로 개발한 사람은 없습니다(질리카(Zilliqa)가 샤딩을 사용하고 있다고는 하지만 아직 완전한 단계의 샤딩은 실현시키지 못했습니다).

샤딩을 사용하면 체인 자주성은 낮아지지만 확장성 트릴레마를 해결할 수 있습니다. 추가적으로 크로스 샤드 커뮤니케이션은 지연 시간의 영향을 받습니다. 지연 시간은 기본적으로 샤드 당 합의 알고리즘으로 인한 결과입니다.

이더리움은 개별 샤드의 완결성을 위해 캐스퍼(Casper)를 사용할 예정입니다. 구체적인 변수는 아직 확정되지 않았지만 캐스퍼를 사용하면 분 단위로 TTF를 계산하게 되어 샤딩을 적용한 이더리움은 지연 시간이 높은 시스템이 될 것입니다.

디피니티(Dfinity)와 알고랜드(Algorand)는 임계값 릴레이라는 새로운 합의 알고리즘을 사용하여 이더리움의 개별 샤드보다 더 큰 DBP와 안전성, 확장성과 빠른 TTF를 제공하고자 합니다(다만 DPoS가 제공하는 확장성에는 미치지 못합니다). 만약 임계값 릴레이가 실험 환경에서 작동한 것처럼 실전에서도 잘 작동한다면 디피니티와 알고랜드가 체인을 샤딩하여 효율적인 크로스 샤드 커뮤니케이션을 위해 빠른 TTF와 낮은 지연 시간을 가능케 할 것으로 보입니다.

폴카닷은 DBP 대신 빠른 완결성을 제공하는 TBA BFT 합의 알고리즘을 사용하는 (이는 텐더민트가 추구하는 바와 비슷합니다) 샤딩 네트워크를 출시할 예정입니다. 그러나 아마 폴카닷이 이더리움이나 디피니티보다도 먼저 샤딩 네트워크를 출시할 수 있을 것으로 보입니다. 이더리움이나 디피니티와는 달리 폴카닷은 샤드에서 EVM이나 웹 어셈블리(WASM)와 같은 특정한 스테이트 머신을 사용할 필요가 없습니다. 그 대신 폴카닷은 각각의 체인에서 고유의 스테이트 머신을 사용하도록 합니다. 그리하여 스마트 컨트랙트 기능 없이 임의의 디지털 자산을 발행하는데 중점을 두는 스텔라(Stellar)나 고도로 적합화된 스테이트 머신을 사용해 SNARK 증명을 처리해야 하는 지캐시(Zcash)와 같은 프로토콜이 자급 합의 시스템을 폴카닷으로 옮길 수 있게 해줍니다.

위의 내용을 정리하자면 다음과 같습니다.

Screen Shot 2019-04-23 at 3.26.03 PM(ko)

완전한 샤딩은 해결되지 않은 컴퓨터 공학 상의 문제입니다. 생산 환경에 필요한 규모의 실현은 영원히 불가능할지도 모릅니다. 그러나 만약 가능하기만 하다면 이는 빠른 TTF와 낮은 지연 시간을 가능케 하는 동시에 확장성 트릴레마를 해결할 수 있는 가장 좋은 방법이 될 것입니다.

삼각형에서 샤딩 PoS는 다음과 같이 시각화할 수 있습니다.

trilemma 6(ko)

입증 가능한 오프체인 컴퓨테이션

무신뢰성을 달성하기 위해 비효율성을 증가시키는 대신 사용자가 개별 컴퓨터로 하여금 무신뢰 컴퓨테이션을 실행하도록 한다면 어떨까요? 수십 대에서 수백 대의 컴퓨터들로 하여금 똑같은 컴퓨테이션을 실행시키지 않고도 이 컴퓨테이션이 제대로 이행되었음을 증명할 방법이 있을까요? 블록체인에 본질적으로 내재된 거대한 기술적 비효율성 없이도 올바름을 보장할 수 있을까요?

트루빗(Truebit)은 증명인-검증인 게임을 통해 이 목표를 달성하고자 합니다. 이는 상호작용하는 증명인 반응 프로토콜을 통해 가능합니다. 이의없이 받아들일 수 있는 결과가 도출되는 예상 가능한 상황에서 각각의 컴퓨테이션은 오버헤드없이 단일 솔버와 소수의 검증인을 통해 개별적으로 완료됩니다. 결과에 문제가 생기는 가능성이 낮은 상황이 발생하면 솔버와 검증인은 집중된 컴퓨테이션을 요구하는 WASM 기반 가상 머신을 다시 돌려 문제가 되는 주체를 파악해야 합니다.

상호작용하는 검증 프로토콜은 오프체인 컴퓨테이션의 효율성으로 기본 체인의 투명성과 보안성, 불변성을 결합시킵니다. 트루빗은 상호작용이 가능하기에 확률적이기도 하므로 낮은 TTF를 요구하는 환경에서는 비효과적입니다. 트루빗은 최초의 ‘만장일치’ 합의 매커니즘을 사용하고 있으며 안전성을 보장할 수 있도록 각각의 행동마다 하나 이상의 합리적 검증인이 필요합니다.

미래에는 트루빗이, 또는 다른 경쟁자가 등장해 SNARK나 STARK를 사용하여 상호작용 증명 대신 비상호작용 증명을 사용하여 모든 임의의 컴퓨테이션의 정확도를 입증하는 모습을 보게 될 수도 있습니다. 만약 이것이 가능하다면 트루빗은 TTF를 낮추어 무신뢰 오프체인 컴퓨테이션을 위한 설계 공간을 늘릴 수 있습니다. 그러나 일반 범용 임의 컴퓨테이션의 영지식 증명 상황에서 SNARK와 STARK를 사용하는 방안은 여전히 불확실하고 증명되지 않았으며 기술적으로 비효율적이기에 궁극적으로는 그 잠재력을 발휘하지 못할 수 있습니다.

오픈 소스, 복제 그리고 정치

장기적으로 보았을 때 현재 규모가 큰 체인에서 비교적 작고 영향력이 작은 체인의 뛰어난 기술을 가져다 사용할 가능성이 큽니다. 예를 들어 이더리움은 지캐시에서 개인 결제를 가능하게 하는데 사용되는 zkSNARK의 원천 기술을 적용하고 있습니다. Vitalik은 더 나아가 이더리움을 WASM 기반으로 변경하려 한다고 말한 바 있으며 이더리움 외에도 EOS와 디피니티가 WASM을 적용할 계획입니다. 이더리움 근본주의자들은 이더리움의 문제점을 모두 해결할 수 있는 방안으로 이더리움 생태계 내에서 대체 합의 알고리즘과 스테이트 머신을 사용할 수 있게 해주는 플라즈마의 사용을 제안합니다.

이러한 상황과 스마트 컨트랙트 네트워크 효과의 진실를 고려했을 때, 어떻게 하면 체인의 차별성을 추구할 수 있을까요?

바로 정치와 이데올로기, 믿음을 통해서입니다.

어느정도 절충하지 않고서는 확장성 트릴레마를 해결하는 것이 불가능하다고 가정합시다. 그렇다면 사람들과 기업은 주어진 업무에 가장 적합한 체인을 찾아 사용해야 할 것입니다.

언젠가 언론은 이 문제를 종교 논쟁에 비유하게 될 것입니다. 개별 블록체인은 그 사용자들이 마치 선교자처럼 그들의 믿음을 전파하고 다른 사람들을 개종시키려 한다는 점에서 하나의 종교와 같은 성격을 띄기 때문입니다.

사용자들은 과연 능력이 떨어지고 네트워크 비가 높더라도 탈중앙화 정도가 가장 크고 가장 검열저항성이 높은 체인을 선택하게 될까요? 혹은 검열저항성의 한계점이 낮더라도 이를 수용하게 될까요? 만약 그렇다면 어느 정도까지 수용이 가능할까요?

검열저항성이 높은 디지털 금

이 글에서 제안하는 프레임워크를 통해 예측할 수 있는 미래에 디지털 금과 프로그램 가능한 화폐가 어떻게 그리고 왜 독립적으로 작용하게 될지에 대한 객관적인 평가를 해볼 수 있습니다.

비트코인의 핵심 팀은 DBP와 거래 인증의 극대화를 최우선과제로 삼았습니다. 그 과정에서 확장성이나 다른 유용성이 감소한다고 해도 말이지요. 비트코인의 비효율성이 증가할수록 그 탄력성 역시 더욱 증가했습니다. 비트코인의 팀은 사회적 확장성을 위해서라면 기술적 효율성은 얼마든지 희생할 수 있다고 여기는 것 같습니다.

이런 목표를 염두에 두더라도 비트코인의 핵심 팀이 잘못된 방향으로 나아가고 있다고 주장할 수 있습니다. 예를 들어 PoS 옹호자들은 PoS 방식에서는 악의성을 띈 공격자를 발견하면 즉시 제거할 수 있기 때문에 PoS가 PoW보다 더 보안성이 좋다고 주장합니다. 이는 악의적인 공격자가 계속해서 네트워크를 공격할 수 있는 PoW 방식과는 정반대의 특성입니다.

그러나 장기적으로 보았을 때 PoS 방식이 PoW 방식보다 정부의 공격에 대한 저항성이 더 높을지는 확실하지 않습니다. 두 방식 모두 나름의 강점이 있으니까요. 그러나 적어도 PoW가 더 많은 전투 시험을 거쳐왔다는 점은 확실합니다. 비트코인 핵심 팀의 최우선 목표가 검열저항성이라는 점과 우리가 알고 있는 사항을 고려하면 비트코인 핵심 팀은 옳은 선택을 하고 있다고 할 수도 있겠습니다.

비트코인의 핵심 목표가 너무 과격하다는 주장도 타당성은 있습니다. 비트코인이 지나친 검열저항성을 추구하는 나머지 현실적인 유용성을 희생하고 있으며 이로 인해 비트코인은 결국 소멸될 것이라고요.

우리가 당면한 질문은 과연 어느 정도의 DBP를 충분하다고 할 수 있느냐입니다. 만약 ‘미국과 중국, 러시아 정부의 전면 합동 공격을 막아낼 수 있는’ 정도를 추구하는게 아니라 그보다 낮은 수준도 괜찮다고 한다면 무신뢰 컴퓨테이션을 위한 설계 공간은 넓어지게 됩니다.

90년대의 많은 사람들은 인터넷이야말로 전례없는 방식으로 사람들을 연결하여 기성 언론과 탄압 정부를 무너트리고 궁극적인 민주화를 불러올 힘이 될 것이라고 여겼습니다. 그러나 현재 볼 수 있듯 거대 기업과 정부는 오히려 인터넷을 사용하여 힘과 통제력을 키우고 있습니다.

무신뢰 컴퓨테이션을 위한 모든 시스템이 무허가성을 띈다는 말은 정부 역시 이를 자신에게 유리한대로 사용할 수 있다는 뜻입니다. 정부도 전면 공격 대신 새롭고 독창적인 방식으로 암호자산을 활용하여 사회에 대한 통제력을 강화하려 들 수도 있습니다.

다차원적 무신뢰 컴퓨테이션

예측 가능한 미래에 암호자산 생태계에 대한 실험이 캄브리아계 대폭발처럼 폭발적으로 발생하면 위에 설명한 무신뢰 컴퓨테이션 스케일링의 모델은 모두 공존하며 함께 성장하게 될 것입니다.

현재와 안정적인 미래 사이를 반듯한 직선으로 이어주는 길은 없습니다. 현재보다 더한 균일성이 실현되기 전까지 세계는 점점 다차원적이고 복잡하게 변화할 것입니다.

예를 들어 폴카닷을 사용하는 개발자들이 폴카닷의 개별 릴레이 체인에 한계가 있음을 발견할 수도 있겠지요. 한 폴카닷 릴레이 체인이 다른 폴카닷의 릴레이 체인과 연결되다보면 어느 시점엔가는 코스모스 허브를 통해 EOS나 이더리움, 카데나의 체인과 연결될 수도 있겠습니다. 더 나아가 각각의 체인이 샤딩될 수도 있고요. 다양한 이더리움 샤드에 DPoS와 권위증명(PoA) 합의를 사용하여 보안성을 높인 플라즈마 체인을 담을 수도 있습니다.

이러한 주요 시스템의 컨트랙트는 오프체인 컴퓨테이션을 위해 트루빗을 필요로 하게 될겁니다. 그렇다면 모든 것이 더욱 복잡해지게 됩니다. 트루빗에 어느 정도의 오프로드가 가능하게 될까요? 그리고 이로 인해 인트라와 인터체인이 어떻게 통합될까요?

이러한 시스템에 가치가 어디에, 그리고 어떻게 축적될 수 있을지도 확실하지 않습니다. 만약 코스모스의 ATOM 토큰이 멩거 재화가 되지 않는다면 코스모스처럼 상호운용이 가능한 체인에는 그렇게 많은 가치를 축적할 수 없을지도 모릅니다(몇십 억 대비 몇 조의 단위가 될 수도 있습니다).

저는 시간이 흐르고 나면 완전하지는 않더라도 상당한 집합성이 생길 것이라고 생각합니다. 일부 체인이 자주성에 근본적인 가치를 두고 있음을 감안할 때(정부가 관리하는 체인 등) 코스모스와 같은 시스템은 비록 가장 규모가 큰 체인이 되지는 못하더라도 항상 사용될 여지가 있습니다.

정해진 것은 아무것도 없으며 무슨 일이든 일어날 수 있습니다.

이 글의 작성을 도와준 Trent McConaghy (오션); Peter Czaban (웹3/폴카닷), Jesse Walden (a16z); Will Martino (카데나), Matt Luongo (킵), James Prestwich (인테그랄), Robbie Bent (트루빗), Zaki Manian (코스모스)에게 감사의 말을 전합니다.

*각주: 이 글의 초안을 완성한 다음 저는 Trent McConaghy가 무려 20개월 전에 완전히 다른 이름으로 비슷한 프레임워크를 제안했음을 발견했습니다. 이 글의 작성을 도와준 Trent에게 각별한 감사의 말을 전합니다.

Disclosure: Multicoin Capital is long Bitcoin, Ether, Kadena, and EOS.*