This content was deleted by the author. You can see it from Blockchain History logs.

카르다노(Cardano, ADA) 탐구: 댄 라리머 VS 찰스 호스킨스 논쟁

머리말


카르다노(Cardano, ADA)는 암호화폐 시장 런칭 후 6개월이 채 안되어 시총 5위까지 올라온 굉장한 유명인사(괴물)입니다. 카르다노 자체의 비전도 매력적이었지만, 찰스 호스킨스라는 거물급 인사가 메인 개발자로 있다는 것이 그 상승을 주도했다고 해도 과언이 아닙니다. 그런데, 최근 댄 라리머(EOS 개발자)와 찰스 호스킨스간에 재미있는 마찰이 있었다는 사실도 아시나요?

댄 라리머는 돌연 스팀잇에 카르다노의 핵심 기술 중 하나인 합의 프로토콜(Ouroboros)을 리뷰하는 글을 올립니다. 내용은 댄 라리머 답게 줄기찬 비판으로 가득합니다. 이에 열 받은(?) 찰스 호스킨스는 짤막한 반박 글을 게시했는데요. 그 글이 굉장히 짧고, 또 줄마다 함축된 의미들이 많아서 시처럼 보이기도 합니다. 굉장히 냉소적인 어조 사이로 비춰지는 비아냥은 덤입니다.

본래 "카르다노 탐구"를 위해 마련 된 시리즈이지만, 첫 포스팅에서는 해당 논쟁을 다루어볼까 합니다. 논쟁이 카르다노의 비전을 이해하는 것에도 도움이 될뿐만 아니라, 댄 라리머의 철학과 찰스 호스킨스의 철학의 온도 차이를 느끼는 것도 꽤나 재밌거든요. 덧붙여 제 의견도 담아 이 글을 마무리 지어볼까 합니다.

카르다노(Cardano, ADA) 탐구: 댄 라리머 VS 찰스 호스킨스 논쟁


카르다노 합의 프로토콜(Ouroboros)


카르다노 합의 프로토콜을 사이에 두고 벌어진 논쟁이니, 먼저 그 프로토콜(이하 우로보로스)이 뭔지부터 살펴보도록 하겠습니다. 그런데 이 프로토콜이라는 것이 무엇이 특별한지 완전히 이해하려면 꽤 긴 시간의 공부가 필요합니다. 때문에 자세히 다루는 것은 잠시 미루고 간단한 핵심만 파악해보도록 할게요.

안전 지분 증명(Provably Secure POS)

우로보로스는 수학적으로 증명된 "안전한" 지분 증명입니다. 여기서 들 수 있는 생각은 다음과 같습니다. "안전하다는게 왜 특별한거지? 그동안 이미 쓰이고 있는 POS 기반 암호화폐들은 안전하지 않다는 이야기인가?" 맞습니다. 사실 이들은 수학적으로 완전히 뒷받침 되어있지 않습니다. 엄밀히 말해 현 POS 기반 암호화폐들은 "에이 몰라 일단 한번 해보자!"했던 시도의 일환이고, 그것이 다행스럽게도 수년간 잘 굴러가고 있다고 봐야합니다.

어쨌거나, 우로보로스는 "굳이" 잘 굴러가고 있는 POS를 의심의 눈초리로 바라보고 수학적으로 안전하게 만들겠다는 합의 프로토콜입니다. 그러면 기존의 POS 시스템이 가지고 있던 것 중 어떤 문제를 해결하였을까요? 먼저 한가지 질문 드리겠습니다.

혹시 여러분, POS에서 지분에 비례하여 "랜덤"하게 블록생성자를 선출한다는 것에서 뭔가 어색함을 느끼지는 않으셨나요? "중앙도 없다면서, 도대체 누가 지분에 비례한 확률로 블록생성자를 선출해주는거야?"라는 의문이요.

공정하고, 믿을 수 있는 지분 경쟁

블록생성자를 선출하는 방법에는 다양한 아이디어가 있습니다. 가장 간단한 예는 마지막 블록생성자가 다음 블록생성자를 확률적으로 선택하는 것입니다. 그런데 여기서 발생하는 문제가 있습니다. 마지막 블록생성자가 확률을 본인이 유리한대로 조작하면 어떡하죠? 다음 예를 한번 살펴보겠습니다.

A1, A2, A3, A4, A5, A6 이 네트워크를 이룹니다. 마지막 블록생성자는 A5였습니다. A5는 다음 블록생성자를 선출하기 위해 1-6까지 고르게 적힌 공인 주사위를 던집니다. 1이 나오면, A1이 다음 블록생성자가 됩니다. 이때, A5가 멋대로 5가 2번 적힌 조작된 주사위를 던집니다. A5가 블록생성자가 될 확률이 늘어납니다.

우로보로스의 핵심은 위와 같은 행위를 막는 것에 있습니다. 우로보로스는 네트워크 구성원이 주사위를 각각 던지고, 그 결과를 같이 공유하게 합니다. 또 그 결과를 복합적으로 합쳐 다음 블록 생성자가 선출합니다. 누군가 조작한 주사위를 던지더라도, 해당 결과는 다른 사람들이 얻은 랜덤한 결과에 의해 묻히게 됩니다.

A1, A2, A3, A4, A5, A6 이 네트워크를 이룹니다. 마지막 블록생성자는 A5였습니다. 다음 블록생성자를 선출하기 위해 1-6까지 고르게 적힌 공인 주사위를 모두가 던집니다. (3이 나온 회수*1이 나온 회수)를 6으로 나눈 나머지에 해당하는 사람이 다음 블록 생성자가 됩니다. A5가 멋대로 조작한 주사위를 던지더라도, 본인이 원하는 방향으로 결과를 조작하기는 어렵습니다.

  • 보충 설명: 사실 이렇게 간단하지는 않습니다. A5가 나머지 5명의 주사위 결과를 듣고, 본인의 주사위 결과를 알려주지 않는 등의 문제가 발생할 수 있습니다. 다만 이는 본 포스팅의 범주를 넘는 내용으로, 다음으로 미루겠습니다.

위임 증명 (Delegated POS)

카르다노에도 위임 증명이 있습니다. 네트워크의 처리속도 향상을 위해 들어간 장치라고 보여집니다. 카르다노에서는 전체 지분의 1% 이상을 소유(+위임)하면 커미티(Committee)가 될 수 있습니다. 커미티만이 블록생성자가 될 수 있는 제비뽑기 안에 들어갈 수 있게 됩니다. 소규모 지분 보유자는 커미티에게 본인의 지분을 위임함으로서 블록 보상을 얻을 수 있습니다.

댄 라리머의 비판


최근, 우로보로스에 대해 댄이 스팀잇에 리뷰를 올렸습니다. 내용은 꽤나 자극적이고, 여러가지 재밌는 이야깃거리를 만들어냅니다. 댄이 지적한 핵심은 크게 3가지로 나눌 수 있습니다. 블록 생성 속도가 느리고, 최종 확정시기도 예측이 어렵고, 또 말하는 것처럼 안전하지도 않다는 것입니다. 하나 하나 뜯어보겠습니다.

들어가며: 이건 카피다!

댄 라리머는 우로보로스가 결국 본인이 만든 위임증명(DPOS)의 아류작(with a few counter-productive modifications)이라고 주장했습니다. 이름을 "πDPOS"로 바꾼 것에 지나지 않다고요. 게다가 논문에 충분한 인용도 표기되지 않아, 이것은 카피에 가깝다는 이야기를 합니다.

20초의 블록생성 속도

우로보로스는 20초의 블록생성 속도를 가집니다. 이오스가 0.5초, 스팀/빗쉐어가 3초인 것을 감안하면 정말 느리긴 하겠네요.

최종 확정 시간

댄이 계산한 카르다노의 최종 확정 시간은 5시간 이상이라고 합니다. 반면에 이오스는 2초 미만, 스팀/빗쉐어는 45초 미만이라고 하니 카르다노는 거북이 수준임이 확실해보입니다.
다만, 댄의 계산은 좀 더 명확한 파라미터 값이 주어져야할 것 같습니다. 이에 대해 카르다노 개발진(AGGELOS KIAYIAS)은 10%의 공격자가 있을 때, 99%의 신뢰성을 갖고 전송을 확정시키는 데 5분이 걸린다고 반박하고 있습니다.

  • 보충 의견: 둘 다 본인이 유리한 주장을 펼쳤을 것이므로, 필터링은 필요해보입니다.

예측 불가능한 전송시간

전송의 최종 확정은 전체의 지분 중 2/3가 합의를 보았을 때 이루어지게 됩니다. 우로보로스는 각 블록생성자의 지분이 매 시점 다릅니다. 따라서 재수없게도 매번 지분의 1%만 소유하는 생성자가 걸리면, 최대 66개의 블록을 기다려야 합니다. 어떤 날은 20%를 소유한 생성자가 걸려서, 블록 3개만에 확정이 날 수도 있고요. 예측 불가능한 전송시간은 사용자의 편의에 도움이 되지 않는다고 지적합니다.

  • 보충 의견: 댄이 이러한 주장을 하는 것은 의외입니다. 비탈릭과의 논쟁에서 예측 불가능한 전송 담보 VS 예측 가능한 전송 수수료에 있어서는 불확실성에 대해 꽤 너그러웠던 것 같거든요.

무겁기만하고 총알도 못막는 방탄복

카르다노는 최소 1%만큼 지분 소유를 해야 커미티 안에 들어가 보상을 기대할 수 있습니다. 댄은 이에 대해, 소규모 지분 보유자가 합리적 위임(보팅)을 하지 않을 것이고 이는 중앙화를 부를 것이라 주장합니다. 1% 이상의 지분을 보유한 사람에 대해 위임이 많이 이루어질테니, 커미티 구성원 숫자가 감소할 것이라는게 요지입니다. 이것이 심화되면 해커의 공격에도 안전하지 않음을 지적한 것입니다.

  • 개인 의견: 글쎄요. 본 이슈에 대해서는 댄 라리머의 DPOS도 운명을 같이 할 것 같은데, 제 생각만 그런지는 잘 모르겠습니다. 카르다노 구성원들은 돈에 눈 먼 바보들이고, 이오스 구성원들은 똑똑하게 투표하는 현명한 사람들이라 생각하는 것일까요?


찰스 호스킨스의 반박


댄 라리머의 신랄한 비판에 찰스 호스킨스가 반박 글을 올립니다. 꽤 시적인 말로 서두를 장식하는데요.

That's Dan Larimer doing what Dan Larimer does best. Claiming he invented everything and everything else is junk.

이에 대해선 강한 한방... 이라는 개인적인 감상을 남기겠습니다.

우린 수학을 선택

찰스 호스킨스는 "비효율"에 대해 지적하는 댄 라리머에게 말합니다.

  • 보충 설명: 찰스 아저씨가 굉장히 시적이신 분이기 때문에 행간의 의미를 파악해야 하는데요. 제가 마음대로 그 의미를 파헤쳐 읽기 쉽게 정리해보았습니다.

우로보로스는 수학을 기반으로 설계된 합의 프로토콜이니, 비효율적일 수 있다. 일반 사람들은 합의 프로토콜 설계의 타당성 검증을 꽤나 단순하게 생각하고, 간단하게 믿어버린다. 이는 나에게 다소 놀라운 일이다.

이어서 다음과 같은 말을 합니다.

댄의 합의 프로토콜의 설계는 꽤 주관적인 직관을 바탕으로 한다. 그러나 현대 암호학에서 합의 프로토콜의 설계는 이미 충분히 객관화 되어 있다. 합리적인 설계를 위해서는 따라야할 기준과 원칙이 있으며, 댄의 DPOS 역시 이를 따라야 한다.

댄의 DPOS는 이 기준을 따르지 않았기 때문에 높은 성능을 얻을 수 있었다고 말하고 싶은 듯 하네요.

DPOS는 이미 있던 것

찰스 호스킨스는 본인의 작품을 훔쳤다는 말에 다음과 같이 받아칩니다.

DPOS는 본래 paxos에 기반하는 합의 프로토콜이니, 댄은 Leslie Lamport를 인용하는 것을 까먹었군요. 1970년대의 작품을 훔친 것이 되는 것인가요?

  • 보충 의견: 어쨌거나 찰스 호스킨스가 댄의 업적을 제대로 인용하지 않았음에는 변함이 없어 보입니다.

전송속도가 전부는 아니다

마지막으로 찰스는 댄이 전송속도만을 두고 논의를 펼쳤음을 지적하면서, 다음과 같이 말합니다.

Let's go ahead and talk about a million transactions per second but have absolutely no strategy to store or to move that data

찰스는 댄이 데이터 전송량에만 지나치게 집착한다는 것을 지적합니다. 데이터 전송은 빠르게 일어날 수 있을 지언정, 막대한 용량의 데이터 용량을 각 노드들이 감당할 수 있는지는 다른 문제입니다. 전송속도만 빠르게 한다고 해서 상용화가 가까워지는 것은 아니다 라는 것을 지적하는 것이 아닐까 합니다.


마치며: 기초학문은 존중받아야


이번 논쟁은 사실 이것으로 끝나지 않았습니다. 이 링크를 타고 가시면, 댄이 찰스가 말한 암호학의 "기준"을 가볍게 비웃어버리는 글이 나오는데요. 한 줄 요약하면 다음과 같습니다.

실생활에 쓰지도 못할 연구 계속 하시고, 논문 많이 내세요. 저는 지금 당장 쓸 수 있는 것을 만들테니까요.

사견으로는 댄 라리머가 조금은 멀리 갔다는 생각이 듭니다. 사실 맞는 말이기는 한데, 맞는 말을 조금 아프게 했다고나 할까요. 댄의 진취적인 도전도 칭찬받아야 마땅하지만, 찰스의 신중한 발걸음도 존중받아야 한다고 생각합니다. 고리타분한 비트코인이 퍼블릭 블록체인의 가능성을 보여주었기에, 댄의 DPOS도 주목받을 수 있었던 것 아니었을까요?

이만 글 마치도록 하겠습니다. 카르다노 탐구는 이후에 또 이어 쓰도록 하겠습니다. 우로보로스도 더 자세히 알아보고요. 덧붙여 카르다노의 비전 중에는 우로보로스만이 있는 것은 아닙니다. 합의 프로토콜이 전부가 아니라는 찰스는 어떤 그림을 그리고 있는지 알아보겠습니다. 그럼 다음에 뵙겠습니다 :)


참고자료


맺음말


저는 한국의 암호화폐 투기 열풍이 가라앉고, 좀 더 성숙하고 건전한 시장 참여가 이루어지길 기대합니다. 그러기 위해서는 블록체인이 무엇인지에 대한 이해가 필요합니다. 블록체인 기술에 대한 더 깊은 이해를 바탕으로 모두 건강한 투자 하셨으면 좋겠습니다. 리스팀/팔로우/댓글/보팅 감사드립니다. 더 알차고 신나는! 포스팅에 많은 힘이 됩니다.