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

in #coinkorea6 years ago (edited)

머리말


카르다노(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으로 나눈 나머지+1 에 해당하는 사람이 다음 블록 생성자가 됩니다. 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도 주목받을 수 있었던 것 아니었을까요?

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


참고자료


맺음말


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

Sort:  

Cheer Up!

  • from Clean STEEM activity supporter

아직 초보라 이해가 쉽지않네요. 자주 들러서 많이 배우겠습니다.
좋은 정보 계속 부탁드립니다.

더 쉽게 설명드릴수있도록 저도 노력해야겠네요. 감사합니다~

많은 분들이 보실수있도록 리스팀하겠습니다! 글 감사합니다

리스팀 감사드립니다^^

기존 pos가 블럭 잡고 있는 노드가 주사위를 굴리는 거면 우르보르스 pos는 모든 구성원들이 주사위를 굴리고 네트워크에서 랜덤으로 집은 노드의 주사위를 쓰는 거네요. ㅋㅋㅋㅋㅋ

비슷한 원리라고 보시면 되는데요. "마지막에 네트워크에서 랜덤으로 고른다"는 부분은 구현이 어렵습니다. 네트워크가 독자적으로 움직여주면 좋겠지만, 그것이 쉽지않거든요 ㅠㅠ 그래서 각자의 결과를 가지고 연산해 최종 랜덤 변수를 구하는게 핵심입니다.

음 이해가 될듯하면서 안되네요 ㅎㅎ

역시 격이 다른 글을 써주시네요 ^^
저는 개인적으로 카르다노에 매료되어있지만 우로보러스든 DPOS든 이론적으로는 그럴듯한데 둘 다 실제 사용에 있어 효용성을 갖게될지는 아직도 의문입니다. 백서를 읽어보면 둘다 어쨌든 선의(honesty)가 있어야 하는데 인간군쳉 그런 것이 있을리는 만무하다고 보거든요.

맞습니다. 아무도 모르죠. 그래서 비트코인이 아직도 건재하다는 것이 중요하다고 봅니다. 비트코인 시총 규모는 꽤나 거대해졌습니다. 그럼에도 아직 안정적으로 굴러가는 것을 보면, 어느정도 증명해주었다고 볼 수 있을 것 같습니다.
덧붙여 비트코인 프로토콜이 안전하다고 믿고, 그 기반 위에 쌓아올리려 하는 것이 카르다노 프로젝트입니다. 이오스 프로젝트는 비트코인 프로토콜을 부정(?)하고, 더 좋은 프로토콜도 굴러간다는 것을 보여주려는 것이고요.

1세대는 비트코인, 2세대는 이더리움, 3세대는 에이다 아니면 이오스다 이런 얘기를 많이 들었는데... 둘이 치고 박고 싸우는(???) 걸 보며 각자가 지향하는 바가 무엇인지, 단점이나 장점들을 알 수 있어 좋네요 ㅎㅎ 에이다 지지자이긴 하다만 에이다에 접목시킨 기술들을 잘 이해하지 못했는데 본 글을 읽으면서 에이다를 한층 더 알 수 있어서 좋았습니다!!

카르다노 합의프로토콜인 우로보로스는 현재 이미 거의 구현완료단계에 있는데요. 이게 빙산의 일각이라 할정도로, 하고싶은 것이 많은 코인입니다. 어찌나 그 비전이 야심찬지... 너무 야심차서 그게 오히려 리스크라 말하는 분들도 계시네요.

기대가 크면 실망도 큰 법이니까요ㅎㅎ 이번 2월 5일에 로드맵 업데이트를 한다고 알고 있는데, 목표에 맞게 잘 진행되고 있다라는 정도만 보여주어도 안심할 거예여..ㅎㅎㅎ

앞으로도 암호화폐에 대한 심도깊은 분석의 글 기대가 됩니다

더 재밌고 알찬 내용으로 찾아뵐 수 있도록 노력할게요. 감사합니다 :)

작업 증명은 블록체인의 최대 숙제인 것 같습니다.

공부할 수록 작업증명을 넘는 것이 굉장히 어려운 일이라는 것을 깨닫습니다 :)

저는 에이다가 암호화폐에 대한 학문적인 진정성을 가지고 차근히 앞으로 나아가는듯한 행보가 마음에 들어 보유하고 있지만... 뭔가 커다란 이슈가 없어 좀 지루하기도 하고 그렇습니다 .. ㅎ 스팀만 봐도 카르다노 보다 이오스에 대한 글이 많으니깐요 .. 어떤 사람의 비전이 더 큰 영향력을 끼칠지 더 궁금해지는 글이네요 ! 리스팀은 .. 이미했습니다 : )

묵직한 발걸음은 조용할 수밖에 없겠죠. 스팀에 이오스글이 많은 것은 아무래도 댄의 팬층이 두텁기 때문이 아닐까 싶습니다. 스팀을 만든 창립 멤버니까요. 댄 라리머는 댄 라리머대로 암호화폐의 상용화를 당겨오고, 찰스는 찰스대로 좋은 연구를 통해 범용성을 넓혀주었으면 좋겠네요 :)

아 ; ) 그런이유가 있었군요 ... 저는 정말 아직도 모르는게 너무 많은가 봅니다.. 하하 나름 관심 많이가지고 눈여겨 사실을 알아보려고 하지만.. 정보의 흐름이 너무 빠른것 같습니다 ㅎㅎ 앞으로 포스팅하시는 글 정독하도록 해야겠어요 ㅋㅋ 저도 님의 말처럼 둘이 암호화폐시장에서 시너지를 발휘했으면 좋겠네요 서로의 비전이 틀렸다 맞다 보다는 상호 협력하는 구조가 이상적이겠네요 ㅎ

우왕굿! 이네요~ 카르다노에 대한 이야기가 반갑습니다^^ 코린이 수준이라 내용을 100이해하진 못하지만 그래도 조금씩 카르다노등의 코인에대해 깊이있게 알아갈수 있는 이런 포스팅에 감사드립니다!!
팔로해요!!!!

스팀잇 유저분들이 대체로 이해도가 높으셔서 처음 접하는 분들을 위한 정보는 대체로 생략됩니다. ㅠㅠ 이해해주세요 :) 혹시 블록체인에 대해 이해하고 싶으시다면, 제 블로그 첫글부터 보셔도 좋을 것 같습니다.

Coin Marketplace

STEEM 0.26
TRX 0.11
JST 0.032
BTC 63547.08
ETH 3070.13
USDT 1.00
SBD 3.83