[공유] PoS 위임 및 인센티브 (Lars Brunjes) 프레젠테이션 요약


#1

원문은 이곳에서 확인하실 수 있습니다.

IOHK의 교육팀 책임자인 Lars Brünjes 박사는 최근 함부르크 Blockchain Mania 모임에서 Cardano의 인센티브에 대한 기술적인 내용에 대해 프레젠테이션을 진행했습니다. 아래는 주요 내용 요약입니다.


IOHK에서 하스켈 코스 및 내/외부 교육을 담당하는 그는 Kayayias 교수, Koutsoupias 교수 및 Aikaterini 교수와 함께 카르다노에서 '인센티브 (incentives)'작업 흐름을 담당하고 있습니다. IOHK의 팀원에 대한 자세한 내용은 여기에서 확인할 수 있습니다.


인센티브의 목적이 무엇인가?

블록 체인 상의 목표는 체인 참가자들이”올바른 일을 하게끔” 인센티브를 부여하는 것입니다. 카르다노식으로 해석하면, 이는 특정 지분 분배를 방식을 달성하는 것을 의미합니다. 이 분배는 너무 과하지도, 너무 모자라지도 않게 스테이크 풀에서 달성 되어야합니다. 대부분의 지분은 스테이크 풀에 집중되어야 하며, 스테이크 풀은 온라인 상태여야 하고, 프로토콜에 적극적으로 참여야 해야 합니다.

이러한 방향으로 인센티브가 설정이 될 것이고, 모든 사람들이 자신의 합리적인 재정 이익을 쫓는다면, 적절한 지분 분배의 결과로 이어질 것입니다.

인센티브란 무엇인가?
암호화폐 상에서 인센티브란, 사람들로 하여금 프로토콜에 참여하게 하고, 이를 충실히 따르도록 격려하는 방법을 의미합니다.

비트코인의 경우, 이것은 블록을 마이닝하고 가능한 한 많은 블록을 유효한 블록으로 통합하는 것을 의미합니다.

카르다노 상에서의 인센티브는, 슬롯 리더로 선출되고 선거 과정에 참여할 때 온라인 상태로, 블록을 생성하는 것을 의미합니다.

카르다노 프로토콜 참여는 것은 비트코인에 참여하는 것보다 훨씬 더 적은 컴퓨테이션 비용이 듭니다. 그럼에도 불구하고 슬롯리더들을 그들의 차례가 돌아왔을 때 온라인으로 상태로 유지하는 것은 보안 및 효율성 측면에서 매우 중요합니다. 또한 이 슬롯 리더들에게는 하드웨어, 시간 등의 투자가 이루어지므로, 이 문제들을 해결하기 위한 적절한 보상을 해야 합니다.

카르다노의 경우 현금성 인센티브로서, ADA의 형태로 지급이 됩니다.

다만, 다음의 예시와 같은 인센티브 타입도 존재함을 알아두시기 바랍니다.

• 이상주의
• 도덕성
• "옳은 일을 하고자 하는’ 일반적인 욕구

이 개념들은 결코 평가절하되어서는 안됩니다. 예를들어, 비트코인 마이닝 풀 Ghash가 전체 마이닝 파워의 42 %를 차지했을 때, 사람들은 자발적으로 풀을 떠나기 시작했으며, 이틀만에 마이닝 파워를 38%까지 낮췄습니다. Ghash를 떠난 사람들이 현금성 인센티브를 받은 것이 아니었기 때문에 이러한 행동에 재정적인 유인은 없었습니다. 그럼에도 그들은 비트코인과 분산화에 대한 믿음을 가지고 있었고, 옳은 일을 해야 한다는 열망을 가지고 있었기 때문에 그러한 행동을 보였던 것입니다. 이 사건에 대한 더 자세한 내용은 이곳을 참고하시기 바랍니다.

이상적인 세계에서는 화폐와 도덕적 인센티브가 일치해야합니다.
사람들이 도덕적으로 옳은 일과 재정 이익이라는 두 갈래길에서 선택을 해야만 했던 Bitcoin의 예시는 ‘결코’ 이상적이지 않습니다.

카르다노의 목표는 이 두가지를 일치시키는 것입니다. 카르다노 안에서, 당신의 이익을 극대화 시키는 방식은, 자동적으로 당신이 옳은 일을 하는 방향이 될 것입니다.

어떤 것을 인센티브화 할 것인가?

  • 지분보유자들의 온라인 상태 유지
  • 프로토콜 참여 : 지분보유자들이 특정 슬롯의 슬롯 리더로 선출되면 그들은 블록을 생성하기 위해서는 슬롯에서 온라인 상태여야 합니다.

한편, 지분참여에 대해서, 흥미가 없거나, 소프트웨어를 어떻게 설치해야 하는지에 대한 기술적 노하우가 부족하거나, 혹은 온라인에 머물 시간적 제약이 있는 사람들이 있을 수 있습니다. 이들은 위임방식을 통해 스테이크 풀에 지분을 위임하는 방법으로 참여가능합니다!

인센티브 구축 지향점

  • 모든 스테이크의 80 %가 스테이크 풀의 번호 (k)에 위임되어야한다.
  • k는 약 100이어야한다.
  • 스테이크 풀은 파워 유저로 운영되어야 하며, 필요시 온라인 상태여야한다.
  • 유저들은 추가 네트워크 인프라 (중계 노드)를 제공해야한다.
  • 나머지 20 %가 스스로 프로토콜에 참여하거나 아무것도하지 않아도 된다.

카르다노 팀은 이러한 결과를 달성하는 방식으로 인센티브를 구축합니다.

위임 매커니즘

카르 다노는 proof -of-stake (POS) 시스템입니다. 지분 소유(Ada 소유)는 Bitcoin을 보유하는 것 이상을 의미합니다. 암호화폐인 Ada로 상품이나 서비스를 구매할 수 있지만 구매 / 지불 능력 외에도 프로토콜에 참여하고 블록을 만들 권리와 의무가 있음을 의미합니다.

이 2 가지 용도는 위임 메커니즘에 의해 분리 될 수 있습니다. 즉, 에이다를 소유 한 누군가가 프로토콜에 참여할 권한을 다른 사람에게 위임하는 동안 지불 능력을 유지할 수 있음을 의미합니다 (스테이크 풀).
자금은 언제든지 정상적으로 사용할 수 있음을 알아두시기 바랍니다.

주소/계정
지불과, 스테이킹에 각각 해당하는 2가지 종류의 키(Key)가 있으며, 각각의 키에는 세가지로 구별되는 주소 또는 계정이 연결됩니다.

주소의 세 종류

  • 베이스 주소 (Base Address) : 스테이킹 키가 연결되는 주소입니다.
  • 포인터 주소(Pointer Address) : 베이스 주소에 비해 덜 직접적으로 연결됩니다. 이 주소는 블록 체인의 한 지점을 가리키며 → 해당 포인트에는 스테이징 키를 정의하는 일부 메타 데이터가 있습니다.
    *엔터프라이즈 주소(Enterprise Address) : 엔터프라이즈 주소는 스테이크를 할 수 없습니다. 이 주소는 교환소들을 위해 사용됩니다. 블록 체인의 지점에서, 거래소는 막대한 자금(암호화폐)을 지니고 있습니다. 그러나 이 주소에있는 에이다는 실제로 입금 한 여러 개인에게 속합니다. 우리는 거래소가 고객의 자산을 이용해 프로토콜에 참여하는 것을 원치 않습니다. 이 유형의 주소는 자금을 이체시키는 데에만 사용될 수 있습니다.

위임 증명서란?

그것은 하나의 스테이킹 권한을 다른 스테이키 키로 전송하는 메타데이터로 블록체인의 암호로 서명 된 메타 데이터입니다. 이 트랜잭션은 블록체인에서 이러나며, 메타데이터의 일부가 위임증명서가 됩니다. 이를 위해 일반 거래 수수료와 같은 거래 수수료가 발생학 됩니다.

경량급의 증명서도 물론 존재합니다. 경량급 증명서는 블록체인에서 발행되지 않으며, 메타데이타 트랜젝션의 일부도 아닙니다. 이 증명서는 블록의 일부로 공개될 뿐이며, 해당 주소의 스테이킹 권한을 가졌음을 증명하기 위해 블록 생성자에 의해 블록 헤더에 포함됩니다.

만약 당신이 어떤 사람에게 위임 하고 바로 이어 제 3자에게 또 위임을 하는 것과 같이 증명서가 충돌하는 경우에는, 2개의 위임증명서가 발생합니다. 이를 해결하기 위한 기준은 다음과 같습니다. : 나중에 발생하는 블록이 선택된다.

스테이크 풀 등록

스테이크 풀을 생성하고 싶다면, 정식 등록 절차를 걸쳐 블록체인 원장에 기록되어야 합니다. 스테이크 풀은 등록 인증서 발행하게 됩니다. 이 인증서 또한 특별 거래에 포함될 것입니다. (따라서 스테이크 풀을 생성하는데에 수수료가 발생하게 됩니다. ) 인증서에는 풀 리더의 스테이징 키가 포함됩니다. 이 풀에 위임하기를 원하는 사람들은 위임 권한을 해당 스테이 킹 키로 전송하는 위임 인증서를 생성해야 합니다.

스테이크 풀 등록이 5월 31일까지로 연장되었다는 소식도 놓치지 마세요. 스테이크 풀 등록에 관심이 있으신 분은 여기에서 세부 내용을 확인하실 수 있습니다.

인센티브 매커니즘: 인센티브를 위한 현금은 어디에서 오는가?

인센티브를 위한 자금은 두 곳에서 유입됩니다.

1. 트랜잭션 수수료
트랜잭션 수수료를 부과하는 이유는 총 두가지 입니다.

  • DDoS (분산 서비스 거부 공격) 공격 예방
    DDoS 공격에서 공격자는 시스템에 과부하를 유발하기 위해 네트워크에 더미 트랜잭션을 유발을 시도합니다. 이러한 가짜 거래에 대해 충분히 높은 수수료를 부과한다면, 디도스 공격자에 대한 부담이 엄청나게 늘어나게 됩니다.
  • 인센티브를 제공하기 위한 자금
    다음 장에서 수수료가 어떻게 계싼되는지를 설명하겠습니다.

2. 통화 팽창
현재 Ada의 총 공급량은 약 310 억 Ada입니다. 그리고 최대 공급량은 450 억입니다. 따라서 140 억 Ada의 격차가 있습니다. 이 격차만큼의 Ada는 인센티브로도 사용될 수 있습니다.
이것은 매우 많은 양이지만, 유한한 것은 아닙니다.
이 아이디어는 시간에 따라 감소하는 Bitcoin의 이전 사례와 비슷합니다. (인센티브에 사용되는 비율은 점점 줄어들 것입니다). 물론 카르다노 원하는 목표와 희망은 막대한 성공입니다. 이러한 목표로 인해, 점점 더 많은 사람들이 이를 사용할 것이고, 트랜잭션 수수료는 점차 올라갈 것입니다. 이는 인센티브를 위한 통화 팽창의 부담을 덜어줄 것입니다.

수수료 사용 방식
매번의 트랜젝션에 부과되는 최소 수수료에 대한 확고한 기준이 제시되어 있습니다. 각각의 트랜젝션은 적어도 최소의 수수료를 반드시 포함해야 합니다. 따라서 산출대비 투입의 금액이 더 많아야 합니다. 그리고 투입과 산출의 차이는 적어도 최소 수수료와 동등한 금액이어야 합니다. (원하신다면 수수료를 더 지불하셔도 좋습니다.)

최소 수수료 수식
수식은 선형 함수입니다. : a + b * size
(size는 바이트bytes로 표현되는 트랜잭션 사이즈를 의미하며, Ada양이 아닙니다.)
a=상수이며, 현재 기준 0.155371 Ada입니다.
DDoS를 예방하기 위해 필요합니다. 따라서 트랜젝션이 얼마나 작은지와 상관 없이, 수많은 더미 공격 시도에 무리를 줄 수 있는 금액이어야 합니다.

b=상수이며, 현재 기준 0.000043946 Ada/byte입니다.
이는 공정함을 위한 수수료입니다. 당신은 당신이 시스템에 가한 부담을 지불해야합니다. 대규모 트랜잭션이있는 경우 프로토콜을 실행하는 사용자는 컴퓨터에 데이터를 저장하고 컴퓨터 메모리를 보유해야합니다. 따라서 거래가 커질수록 비용이 많이 들게됩니다.

예를들어, 200바이트 크기의 트랜젝션이 있다고 가정하고, 각각의 상수와 사이즈를 적용해보면, 트랜젝션 수수료는 다음과 같아집니다.
0.155381 Ada + 0.000043946 Ada/byte x 200 bytes = 0.1641702 Ada

실제 비용을보다 잘 반영하기 위해 가치를 조정해야 한다는 의견도 있습니다. 이는 Ada의 과정과 시스템의 사용 통계에 따라 결정됩니다.

Brünjes 박사는 또한 앞으로 추가 내용이 있을 수도 있음을 알렸습니다. (지갑을 더 복잡하게 하는) UTxO의 수를 조사하고, 데이터 양에 영향을 미치거나 Ada의 실제 크기 (바이트 단위가 아닌 상당수의 Ada)를 조사하는 것과 같은 것들이 있습니다.

인센티브 분배
카르다노에는 에포크와 슬롯들 간에 엄격한 시간 구분이 있습니다.
슬롯은 20초간 유지됩니다. 각각의 슬롯에서 코인 하나가 무작위로 선택되며, 해당 코인 소유자는 슬롯에서 블록을 생성한 권한을 갖습니다.
에포크는 5일에 해당하는 21,600개의 슬롯을 포함합니다. 에포크에서 선출/무작위화 프로세스가 진행됩니다. 매 5일동안, 사람들은 ‘주사위’를 던지고, 다음 에포크의 슬롯리더가 선출됩니다.

비트코인에서는 분배가 블록별로 일어납니다. 하지만 카르다노에서는 에포크 별로 인센티브 분배가 이뤄집니다. 전체 에포크에 대해 (모든 에포크 블록에서) 모든 통화료와 화폐 확장액을 하나의 보상 풀에 넣습니다. 그리고 나서 이 전체 풀은 에포크에서 활동적이고 중요했던 사람들에게 분배됩니다.

분배에 대한 기본 아이디어 : 2스탭 설명

1. 전체 보상풀이 어떻게 풀들 사이에서 분배가 될까?
기본적인 방식은 당신이 보유하고 있는 지분에 따라 비율적으로 분배받는 것입니다. 따라서 본인이 보유하고 있는 지분에 따라 계산을 하시면 됩니다. 또는 풀이 슬롯 리더로 선출된 에포크에 속한 슬롯의 숫자를 보시면 파악할 수 있습니다. (생선된 블록의 숫자를 보는 것이 아닙니다.)

다음과 같은 두가지 세부사항이 있습니다.

Refinement 1
스테이크 풀이 받을 수있는 보상 풀의 최대 비율은 1 / k로 제한됩니다.
(k는 원하는 풀의 수를 뜻하며 약 100입니다.)
이 제한이 없다면 풀이 점점 더 커질 수록 제비용이 더 작은 풀보다 크지 않다는 점을 이용해 더 적은 비용으로 작은 풀과 동등한 리워드를 받는 맹점이 생깁니다.

예를들어
만약 k=100 일 때,
A와 B가 각각 0.3%, 1.2%의 지분을 보유한다면.
A 가 0.3%의 보상을 받을 때, B는 1/100=1의 보상을 받게 된다.
이 예시에서 당신의 지분이 얼마나 높은지와 상관 없이 당신은 절대 1%를 초과하는 보상을 풀을 받지 못합니다. 이로 인해 특정 풀이 너무 큰 규모로 커지지 않도록 하는 효과를 지니기를 희망합니다.

Refinement 2:
현재까지는 실제 일어나는 과정보다는 풀에 존재하는 지분 측면에서만 설명이 되었습니다. 선출 당시 블록이 실제로 생성되었는지를 확인하는 매커니즘이 필요합니다. 따라서 따라서 자신의 순서에 프로토콜을 따르지 않고 온라인 상태가 아닌 풀에는 패널티가 부가되어야 합니다.

이 속성은 해당 스테이크 풀이 리더로 선출 된 슬롯과 실제로 생성 된 블록의 수를 조사해 스테이크 풀이 보상 풀 지분 분배에 적합한 지 여부를 결정합니다. 이것은 "예상 블록 생산량의 최소 x %를 만드는 것"만큼 간단하지는 않습니다. → 가령, 보상을 받기 위해 선출 된 블록의 90 % 이상을 만들어야 한다고 가정해봅시다. 이 경우, 스테이크 풀이 에포크에서 100 개의 슬롯에 대해 선출되고 이미 90 개의 블록을 생성 한 경우 컴퓨터를 끄고 마지막 10 개를 무시할 가능성이 높습니다. 모든 사람이 그렇게 한 다음 에포크가 끝날 즈음 모두가 컴퓨터를 종료할 것이고 이는 좋지 않은 결과를 유발합니다.
따라서 무작위 또는 다른 알고리즘과 같은 복잡성이 필요한 것입니다.

2. 풀이 멤버들에게 보상을 분배하는 방법
보상풀로부터 풀들에 대한 보상분배가 끝나고 나면, 각각의 스테이크 풀 리더는 그녀의 풀 멤버들에 대해 보상을 분배해야 합니다. 풀 멤버란, 본인들의 스테이크를 풀에 위임한 사람들을 말합니다.

일반적인 두가지 가이드라인은 아래와 같습니다:

  • 풀 리더는 자신의 하드웨어, 등록, 컴퓨팅 파워, 온라인 시간 등에 대한 비용과 그녀의 노력에 대한 보상을 직접 분배해야 합니다.
  • 풀 멤버들은 풀에 위임한 지분의 비율만큼 보상을 받아야 합니다.

이를 이해하기 위해, 아래와 같은 예시를 들어보겠습니다.
풀리더이자, 0.2%의 지분을 가진 앨리스가 있습니다. 그녀는 그녀의 풀을 0.1%의 지분을 가진 밥, 0.2%의 찰리와 함께 구성했습니다.

5,000,000 Ada를 보유한 가상의 에포크에 대한 보상 풀이 있다고 가정해보겠습니다. 그리고
또한 앨리스의 풀이 속성을 만족하고 슬롯 리더로 선출 된 모든 슬롯에서 정교하게 블록을 생성했다고 가정합니다.

그렇다면 지분의 0.5% (0.2% + 0.1% + 0.2%)를 보유한 앨리스의 풀은 1/k가 됨으로 보상에 제한이 없습니다. 따라서 앨리스 풀은 해당 에포크에 대해 25,000 Ada (5,000,000의 0.5%)를 보상풀로부터 받게 됩니다.

25,000 Ada 중 밥은 찰리가 갖는 것의 절받을 받게 됩니다.
하지만 찰리는 앨리스보다 적게 분배 받습니다. 앨리스가 풀을 운영하는 비용에 대한 보상을 받아야 하기 때문입니다.

풀 운영에 대한 보상을 5,000Ada라고 가정해보겠습니다. 이 보상은 풀 리더에게로 돌아갑니다. 따라서 남은 20,000 중 지분 보율에 해당하는 2:1:2 비율로,
앨리스 : 13,000 Ada (8,000 + 5000)
밥 : 4,000 Ada
찰리 : 8,000 Ada를 받게 됩니다.

*주의 : 이 예시는 보상풀을 설명하기 위한 가상의 예시이며, 향후 발생하게 될 실제 보상과는 관련이 없습니다.

분배되지 않는 자금
당신의 지분에 비해 더 적은 양을 분배 받는 경우가 2종류 존재 합니다.

  • 1/k보다 더 많은 양을 보유한 경우
  • 당신의 책임을 다 하지 않은채로 프로토콜에 참여한 경우
    이러한 경우에, 전체 보상풀이 분배되지는 않습니다. 이 미사용 보상이 나머지 사람들에게 분배되지 않도록하는 것이 중요합니다. 이것은 버그가 아니며 정해진 기능입니다. 이 잔여 자금은 시스템의 지속성을 위해 사용될 것입니다.

풀간의 경쟁 지양

배분되지 않는 자금의 구조에서 비롯되는 중요한 결과는 풀간에 경쟁이 없음을 뜻합니다. 주어진 보상보다 더 많은 부상을 분배 받기 위해 다른 풀의 보상을 줄이는 등과 같이 한 풀에서 할 수 있는 일은 없습니다. 다른 풀의 작업을 방해하는 일에 대한 인센티브는 없습니다.

비트코인에서의 이기적인 마이닝 또는 블록 보류와 같은 고전적인 공격은 풀이 각각 독립적으로 나누어져 있는 조건에서는 통하지 않습니다. 풀이 취하는 모든 행동은 해당 풀의 보상에만 영향을 끼칩니다.


프레젠테이션 영상은 여기서 보실 수 있습니다.

또한 프레젠테이션 슬라이드는 여기서 확인하실 수 있습니다.


런던 밋업 후기 - Aggelos Kiyaias 교수 강의 요약 및 비디오 (2018. 6. 11)
상하이 밋업 Cardano and Blockchian 3.0 Era (2018.8. 4)