로테르담 밋업 후기 1편 (2018년 7월 18일)


#1

지난 주 네덜란드의 첫 카르다노 밋업이 로테르담에서 열렸습니다. 아름다운 이벤트 공간과 놀라운 연사진에 네덜란드 커뮤니티에서 참석한 청중까지 압도적이어서 밋업이 성공적이었다는 말만으로는 부족할 따름입니다. 장소를 제공한 Blocklab과 커뮤니티 회원이신 @Ilhan, @bullish, @Andy_Hendrikx 님을 비롯해 밋업을 주관한 모든 분들께 특별히 감사를 전합니다!

이번 후기는2 부 중 1 부입니다. 본 요약에는 Bernardo David의 연설이 포함되며, 2부에는 Edsko de Vries의 발표도 이어집니다.

카르다노 재단의 Tom과 Jon이 프로젝트와 재단의 역할, 카르다노 커뮤니티를 간략히 소개하면서 밋업을 시작했습니다.
그 다음에는 Bernardo David가 연단에 올랐습니다. 베르나르도는 IOHK 연구원이자 도쿄 공업 대학의 조교수입니다. 그는 카르다노에서 사용되는 주요 합의 프로토콜인 우로보로스가 비트코인을 비롯한 다른 블록체인과 어떻게 다른지에 대해 발표했습니다.

소개 및 배경

베르나르도는 작업 증명(Proof-of-Work) 시스템에서 나타난 현안을 제시하며 시작했습니다.

  • 작업 증명(PoW) 기반 시스템에서는 블록을 만드는 사람과 돈을 투자하는 사람이 같을 필요는 없습니다.
  • 즉, 코인 보유자(토큰을 구입하여 시스템에 투자한 사람)와 전문 채굴자(채굴장을 운영하며 새로운 블록을 생성하고 수익을 얻는 사람) 사이에 구별이 있음을 의미합니다.
  • 시스템 작동 방식을 제어하는 사람이 채굴자입니다.
  • 제어하는 사람들이 블록체인을 파괴하고 성장시키며, 정책을 변경하고, 하드 포크를 발생시키는 등 여러 가지 작업을 할 수 있습니다.
  • 채굴에 대한 보상도 줄어들고 있습니다.
  • 비트코인에서 블록을 채굴하면 21만개 블록마다 그 절반을 보상합니다.
  • 채굴 투자에 대한 인센티브도 감소한다는 의미이기 때문에 시스템이 채굴 작업에 의존할 때 문제가 됩니다.
  • 보상이 제로일 때 해당 시스템에는 어떤 변화가 일어납니까?
  • 셋째, PoW 시스템에서 네트워크 제어가 매우 중앙 집중화되어 있습니다.
  • 비트코인 네트워크 전체가 소수의 중국 채굴장에서 처리되는 것으로 알려져 있습니다.
  • 중국에서 규정이 변경될 경우 비트코인이 몰락 위기에 처할 수 있으며, 일반적으로 몇몇 큰 손들이 시스템을 관리하는 것은 바람직하지 않습니다.
  • 게다가 한 사용자가 50 % 이상을 채굴할 수 있는 에너지를 가지고 있다면 이론적으로 전체를 좌우할 수 있습니다.
  • PoW 시스템은 매우 에너지 집약적이어서 막대한 에너지 낭비가 발생합니다.
  • 전체 비트코인 채굴 단지가 하루에 네덜란드보다 더 많은 에너지를 소비합니다.
  • 지속 가능한 시스템을 만들려면 천연 자원 사용량을 줄이고 오염을 방지해야 합니다.

그렇다면 이러한 문제를 해결하기 위해 무엇을 할 수 있을까요?

  • 한 가지 선택은 PoW에서 벗어나 다른 방법으로 옮기는 것입니다.
  • 예컨대, 지분 증명(Proof-of-Stake)과 공간 증명(Proof-of-Space) 방식을 들 수 있습니다.
  • Proof of Space (공간 증명)은 계산 대신에 저장 공간을 사용한다는 점을 제외하고는 작업 증명과 매우 유사합니다.
  • 카르다노는 연구자와 IOHK가 에너지 낭비가 없는 모델로 이동하여 선택한 리소스를 사용해 시스템과 커뮤니티에 유익한 일을 하기를 원했습니다.
  • 지분 증명은 시스템에 더 많이 투자하면 더 많이 통제할 수 있다는 개념에 근거합니다.
  • 그리고 사용자는 프로젝트 진행 방식을 (투표 권한으로) 관리할 수 있습니다.
  • 또한 지분 증명(PoS) 방식은 에너지 효율적입니다.
  • 블록 생성에 필요한 것은 에너지나 데이터를 소비하지 않는 몇 가지 암호화 연산과 서명뿐입니다.
  • 리소스 낭비가 없고, 사용자가 시스템을 제어하여 블록체인을 성장시킬 수 있습니다.

기본 구조: PoS는 어떻게 작동합니까?

지분 증명(PoS)이 어떻게 작동하는지 설명하고자 베르나르도는 토토로, 포르코, 로쏘, 치히로(그림의 왼쪽에서 오른쪽 순) 같은 지브리 캐릭터가 나오는 슬라이드를 사용했습니다.
image

  • 슬라이드에서 보듯이, 토토로는 9 개, 포르코 로쏘는 6 개, 치히로는 15 개의 코인을 가지고 있습니다.
  • 누구든지 더 많은 코인을 보유하고 있으면 (따라서 더 많이 투자할 수 있으므로) PoS 기반 시스템에서 더 많은 블록을 생성할 수 있어야 합니다.
  • 누가 다음 블록을 만들 수 있는지 알아내기 위해 추첨이 진행됩니다.
  • 동전을 많이 가질수록 추첨에서 당첨될 확률이 더 높습니다. 이 사례에서는 치히로가 그렇습니다.
  • PoW 퍼즐을 해결해야 하는 비트코인 네트워크와 비교하여, 이 추첨 방식은 블록체인을 성장시키고 블록을 생성해야 할 때마다 실행됩니다.
  • PoS의 첫 번째 가정과 기본 메커니즘은 치히로가 더 많이 투자하기 때문에 추첨에서 더 자주 당첨된다는 것입니다.
  • 카르다노에서 블록을 생성하는 사람을 슬롯 리더라고 부릅니다.
  • 모든 블록에는 시간 슬롯이 있습니다. 그 시간 동안 누군가 블록을 생성할 수 있습니다.
  • 블록의 길이는 20초이며, 각 20 초 블록마다 해당하는 추첨이 있습니다.
  • 카르다노에서 사용되는 프로토콜의 추첨 방식을 _슬롯 리더 선택 프로세스_라고 합니다.

이 분야에서 연구를 통해 기여한 바는 무엇입니까?

  • IOHK 연구소에서 작성한 보고서 이전에는 아무도 이 시스템이 수학적으로 안전하다는 것을 증명하지 못했습니다.
  • 매우 복잡한 증명이며, 3 년에 걸쳐 연구자들은 안전하고 공간의 다른 사람들이 수학적으로 입증하고 검증할 수 있다고 주장하는 시스템을 고안했습니다.
  • PoS 기반 합의 프로토콜에 대한 공식 모델이 처음 등장했습니다.
  • 그 다음에, 안전을 보장할 수 있는 최초의 PoS 기반 블록체인 프로토콜인 우로보로스가 처음 출시되었습니다.
  • 우로보로스(Ouroboros)는 그리스 신화에 나오는 자신의 꼬리를 먹는 뱀을 뜻합니다. 블록체인은 스스로 자체에서 임의로 생성되기 때문에 기본적으로 이러한 맥락에서 사용되는 말입니다.
  • 이 프로토콜에는 몇 가지 유의점이 있지만, 올해 우로보로스 프라오스가 이러한 문제를 해소하여 이전에 제안된 프로토콜의 보안과 효율성을 향상했습니다.
  • 프라오스(Praos)는 고대 그리스 말로 휴식을 뜻합니다.
  • 원래 프로토콜은 사용자가 항상 온라인 상태에 있고 메시지를 게시하며 신속하게 행동해야 하는 것으로 가정합니다. 하지만 프라오스는 새로운 제안을 통해 사용자가 보다 현실적인 환경에서 온라인과 오프라인을 오가며 더 편하게 이용할 수 있습니다.
  • 프라오스는 실제 시나리오를 구현하면서 보안을 유지하는 방법을 찾은 성과였습니다.

우로보로스

  • 첫 번째 제안은 동시성에 대한 가정을 세웠습니다. 모두가 (세계 어디서든 상관없이) 서로 동기화된 클록을 가지는데, 그래야 (추첨과 블록 생성 같은) 메시지를 언제 보낼지 알 수 있습니다.
  • 이 가정을 감안할 때 상대가 시스템에서 지분의 50 % 이상을 통제하지 않는 한 비트코인만큼 안전하다는 것을 증명합니다.
  • 또 다른 가정은 상대가 자동으로 사람들을 통제할 수 없다는 것입니다. 즉, 상대가 사용자를 해킹하거나 속이면 잠시 기다린 후에야 다음 계산이나 오염 지연을 해킹할 수 있습니다.
  • 이러한 가정이 실제 가능할 것 같지는 않지만 먼저 간단한 시스템을 만들어야 한다는 것을 압니다.
    프라오스가 이러한 가정을 어떻게 해결했는지 살펴보기 전에 먼저 베르나르도는 추첨하는 방식과 프로토콜의 일반적인 메커니즘을 설명했습니다.

추첨은 어떻게 이루어집니까?

  • ‘사토시 프로토콜 준수’ 원칙에 따릅니다.
  • 이 절차를 통해 사용자가 가지고 있는 코인의 수에 비례하는 확률로 모든 사용자 중에서 한 명을 선택할 수 있습니다.

image

  • 기본적으로 임의값(달리 씨드값으로 명칭)을 취하는 암호 해시 함수(H)로 시작합니다.
  • 그러면 ‘i’ 수가 출력됩니다.
  • 이 i 값은 블록체인의 전체 사토시 수와 0 사이에 있습니다.
  • 사토시는 암호화폐에서 (센트와 같은) 가장 작은 화폐 단위입니다.
  • 카르다노의 경우, 해시 함수의 출력값은 블록체인에 있는 전체 에이다 코인의 수와 1 사이에 해당합니다.
  • H(씨드값)는 에이다 코인 수 i값을 출력합니다.
  • 이 '사용자’가 코인 i개를 소유하고 있음을 보여주는 트랜잭션이 블록체인에 나타납니다.
  • 선택된 숫자는 임의값이므로 각 코인은 동일한 확률을 가집니다.
  • 하지만 코인이 많으면 더 자주 선택될 수 있습니다.
  • 이러한 무작위 씨드값을 어떻게 생성합니까?
  • 어떻게 분산된 방식으로 생성할 수 있습니까?

프로토콜: 단일 에포크

image

  • 에포크마다 여러 개의 슬롯이 있고, 각 슬롯에서 블록이 생성됩니다.
  • 제네시스 블록 B0(시간이 시작되기 전에 있던 블록)에서 시작합니다.
  • 여기에 사용자의 설명과 소유한 코인의 수가 나옵니다. s와 임의값을 가지고 있습니다.
  • 그림의 첫 번째 슬롯에서 보다시피, 아무도 온라인 상태가 아니므로 블록이 생성되지 않았음을 알 수 있습니다.
  • 그 다음 2번째 슬롯에서 블록이 생성되고 블록체인이 진행됩니다.
  • 여기서 문제는 코인을 소유하고 고정된 임의값을 가진 사람들의 목록을 사용하여 블록을 생성하는 사람을 선택한다는 것입니다.
  • 그러나 실제로는 사람들이 거래하고 코인을 교환하기 때문에 목록이 최신 상태가 아니어서 유효하지 않게 됩니다.
  • 예컨대, 블록 1 이후에 사용자 1이 코인을 팔았다면 소유한 지분이 없습니다.
  • 그러나 에포크가 끝날 때에 여전히 코인을 소유하고 있는 것처럼 선택될 수 있습니다.
  • 보안 유지를 위해 이러한 작업이 필요하다는 점에 유의해야 합니다.
  • 하지만 최신 상태가 아닌 목록이 전체 프로토콜을 통해 유지되는 것은 원하지 않습니다.
  • 그래서 해당 목록이 에포크로 분할되는 것입니다.
  • 에포크가 끝날 즈음에 새로운 임의값이 생성되고 목록이 업데이트됩니다(각 블록에서 모든 트랜잭션이 추적되기 때문에 쉽게 실행됨).
  • 우로보로스의 첫 번째 제안에서 모든 메시지가 슬롯 끝까지 전달되는 제한사항이 있었지만 프라오스에서 이 문제를 해결했습니다.
  • 빈 블록의 수에 대한 제한도 없습니다.
  • 중요한 제한사항은 온라인에 정직한 사람들이 있어야 한다는 것입니다(우로보로스의 첫 번째 버전에 해당).

프로토콜: 다수의 에포크

image

  • 물론 전체 프로토콜에는 여러 개의 에포크가 있습니다.
  • 출력 전달 보증(GOD), 코인 토싱이라는 도구를 사용하여 임의값 소스를 구합니다.
  • 블랙 박스처럼 작동하는 이러한 도구는 블록체인 프로토콜과 병렬로 실행되어 무작위로 보장되는 값을 제공합니다(사용자의 50 %가 정직한 경우).
  • 이 블록 박스는 사용자가 블록체인을 통해 서로 주고받는 인터랙티브 프로토콜을 사용하며 완벽한 임의성을 제공하는 것으로 연구를 통해 입증되었습니다.
  • 각 에포크마다 반복됩니다.
  • 동일한 임의값이 사용되면 불량 사용자가 어떤 코인이 선택될지 예측하여 해당 코인을 살 수 있으므로 새로운 임의값을 생성해야 합니다.

우로보로스 제네시스

  • 이 프로토콜은 프라오스에서 정교한 체인 선택 규칙을 통해 일반 결합 가능성을 구현하도록 향상되었습니다.
  • 이전에 블록체인을 실행한 적이 없는 시스템에 참여하는 사용자는 프라오스에서 자신이 수신하는 체인의 정확성을 확인하기 위해 시스템의 중간 상태(시스템 블록)를 제공할 만한 사람이 필요하다고 가정해야 했습니다.
  • 이러한 가정은 이상적이지 않으므로, 대신에 모든 블록체인을 제네시스 블록에서 부트스트랩할 수 있기를 원합니다.
  • 일반적으로 블록의 가장 긴 체인을 선택하는 '최장 체인 규칙’을 사용하지만, 최상의 보증을 제공하지는 않습니다.
  • 정교한 규칙에 따라 신뢰할 수 있는 중간 체크포인트 없이 제네시스 블록에서 직접 부트스트랩할 수 있습니다.
  • 제네시스는 체크포인트 없이 보안을 달성했습니다.
  • 그리고 성능에도 영향을 미쳤습니다.
  • 마지막 벤치마크 테스트는 수년 전 최적화되지 않은 우로보로스 버전에서 실행되었으며, 그 때 초당 100회의 트랜잭션이 발생했습니다.

결론적으로 베르나르도는 자신들이 실행한 연구와 우로보로스 프로토콜이 비트코인과 동일한 보안을 달성하면서도 에너지 소비를 줄이고 더 나은 성능을 발휘할 수 있다고 밝힙니다. 이 모든 것이 수학적으로 옳다고 입증된 명쾌한 암호화 기술을 사용하여 이루어진 것입니다.

우로보로스에 관한 자세한 내용과 관련 보고서를 살펴보려면 아래 자료를 참조하시기 바랍니다.

우로보로스
우로보로스 프라오스
우로보로스 제네시스

Edsko de Vries와의 로테르담 밋업에 관한 내용은 2부에서 이어집니다!


로테르담 밋업 후기 2편 (2018년 7월 18일)
#2