저자:AGGELOS KIAYIAS
발표일자:2018년 10월 23일
출처:https://iohk.io/blog/stake-pools-in-cardano/
지분증명 (PoS) 블록체인 프로토콜에서 원장은 원장의 자산을 보유하고 있는 지분 보유자가 관리한다. 이를 통해 PoS 블록체인은 작업 증명 (PoW) 또는 다른 유형의 블록체인 프로토콜에 비해 적은 에너지를 사용할 수 있다. 그럼에도 불구하고 이 요구 사항은 지분 보유자에게 부담을 준다. 적정한 수의 지분 보유자들이 온라인을 통해 거래를 수집하고 상당한 네트워크 지연없이 PoS 블록을 다른 사람에게까지 전달할 수 있도록 온라인 상태이어야 하고, 충분한 네트워크 연결을 유지해야 한다. 어떤 PoS 원장도 지분을 보유하고 유지 보수에 집중하는 안정적인 서버 노드의 이점을 누릴 수 있다.
스테이크 풀에 대한 논의
부는 일반적으로 파레토 (Pareto) 분배와 같은 멱함수법칙(감각 자극과 감각 경험 간의 관계가 멱함수로 표시된다는 공식화, 이상 네이버실험심리학용어사전)에 따라 분배되므로 PoS 프로토콜을 실행하는 신뢰할 수 있는 노드를 실행하는 것은 그러한 서비스를 실행할 수 없는 대다수를 방치한 채 작고 부유한 지분 보유자만의 옵션이 될 수 있다. 이것은 바람직하지 않다. 모든 사람이 원장 유지 보수에 기여할 수 있는 능력이 있다면 더 좋을 것이다. 이 문제를 해결하기 위한 방법은 스테이크 풀 생성을 허용하는 것이다. 구체적으로 이것은 지분 보유자가 지분들을 모아서 단일 개체로서의 스테이크 풀을 형성하는 능력을 나타낸다. 이를 통해 구성원의 전체 지분을 사용하여 PoS 프로토콜에 참여할 수 있다. 풀에는 트랜잭션을 처리하는 서비스를 실행할 책임을 지는 관리자가 있게 된다. 그와 동시에 풀 관리자는 풀을 대표하는 지분을 사용할 수 없어야 하며, 풀에서 대표가 되는 회원은 자유롭게 마음을 바꿀 수 있고, 다른 풀을 원하게 되면 지분을 재배정해야 한다. 마지막으로 가장 중요한 것은 모든 지분 보유자가 스테이크 풀 관리자가 되기를 원한다면 그렇게 될 수 있어야 한다는 것이다.
지분증명 원장의 유지 관리에 참여하는 데에는 비용이 발생한다. 작업증명 프로토콜의 경우만큼 높지는 않지만 그럼에도 불구하고 여전히 중요하다. 결과적으로 모든 지분 보유자들의 커뮤니티가 서버를 설정하고 거래를 처리함으로써 원장을 지원하는 자들에게 어떤 형태의 인센티브를 부여하는 것은 합리적인 것이다. 인센티브는 (거래 수수료의 형태로) 원장을 사용하는 사람들의 기여와 순환하는 코인 공급의 팽창 (프로토콜에 관여하는 사람들이 청구하여 발행되는 새로운 코인을 도입)에 의해 달성될 수 있다.
Bitcoin의 경우, 위의 메커니즘, 즉 인센티브 및 풀이 모두 있다. 한편, 채굴은 거래 수수료뿐만 아니라 기하 급수적으로 시간이 지남에 따라 고정되고 감소하는 블록 보상으로 보상을 받는다. 다른 한편으로는, 많은 참가자들 사이에서 블록을 생성하는 데 필요한 작업을 나누고 풀 참여의 증거로서의 ‘부분적인’ 작업증명 (현재의 원장 상태가 나타내는 작업증명보다 어려움이 적은 작업증명)을 통해 풀을 가능하게 할 수 있다.
지분증명 설정에 있어서 유사한 유형의 인센티브 부여 메커니즘을 적용하는 것은 간단하다. 그러나 Bitcoin과 같은 메커니즘 (또는 인센티브 부여에 관한 어떠한 메커니즘)이 바람직한 시스템 구성으로 수렴되는지 여부를 먼저 확인해야 한다. 우리에게 제기되는 중요한 질문은 바람직한 시스템 구성은 어떤 것인가? 이다. 만약 유일하게 고려해야 할 사항이 거래 처리 비용을 최소화하는 것이라면, 결점이 없는 환경에서 경제적으로 최적의 구성은 독점적인 구성이다. 당사자 중 하나가 원장을 서비스로 유지 관리하고 풀에 있는 다른 모든 참가자가 이 당사자가 생성한 풀에 참여한다. 이는 하나의 풀 리더가 시스템의 유일한 실패의 대상도 되기 때문에 바람직하지 않은 결과이다. 이는 바로 분산형 원장이 피해야 할 결과 유형이다. 따라서 많은 풀의 공존, 즉 탈중앙화가 원장 인센티브 부여 메커니즘의 바람직한 특징이 되어야 한다.
지분증명에 대한 보상 분배 체계
지분증명 설정에서 보상 분배 체계는 어떻게 되어 있나? 보상은 일정한 간격으로 제공되어야 하며 풀 관리자는 나머지 보상을 회원들에게 지급하기까지 풀 유지 관리 비용을 유지해야 한다. 참가자의 스테이크 키를 사용하여 원장 자체의 풀 멤버쉽을 추적하는 것이 가능할 경우, 각 풀 내의 보상 분배은 스마트 계약으로 인코딩될 수 있고, 원장 유지 보수 서비스의 일부가 될 수 있다. 우선 먼저 풀 관리자는 풀을 생성한 것에 대한 보상을 받아야 한다. 원장에 게시된 풀 생성 인증은 풀 운영 비용을 풀 수익에서 공제되도록 수익폭을 선언할 것이고, 이것은 풀 생성 인증의 일부로 선언될 것이다. 비용 선언은 풀 관리자의 실제 비용을 나타내는 통화와 관련하여 시스템의 기본 토큰(에이다)이 갖는 변동성을 반영하기 위해 자주 업데이트 되어야 한다. 동시에 지분 보유자가 제공하는 하나 이상의 스테이크 키로 백업된 풀 생성 인증은 풀 뒤에 대기하는 일정 양의 스테이크를 선언할 수 있으며 해당 풀이 하나 이상의 지분 보유자의 진정한 풀임을 나타내는 표시로 사용될 수 있거나 올바른 프로토콜 행동을 준수함을 담보하는 것으로 사용될 수 있다.
위의 설정을 감안할 때 Bitcoin과 같은 메커니즘이 탈중앙화 목표와 관련하여 어떻게 수행되는 것일까? Bitcoin에서는 모든 사람이 프로토콜을 따를 경우 풀 보상은 각 풀의 크기에 비례하여 분배된다. 예를 들어 총 해시 파워의 20%를 차지하는 마이닝 풀은 보상의 20%를 얻을 것으로 예상된다. 보상은 풀에서 얻은 블록 수에 비례하고 블록 수는 풀의 마이닝 파워에 비례하기 때문이다. 이것은 탈중앙화된 시스템으로 이어질 수 있을까? 경험적 증거는 다른 결과를 보여주는 것 같다. Bitcoin에서 마이닝 풀은 원장의 탄력성을 보장하기 위한 상한선인 50% 한계치에 가까운 (때로는 심지어 50%를 초과할 수도 있음) 것으로 나타났다. 간단한 논증으로 보상 분배 체계의 틀에서 이러한 경험적 관찰을 검증할 수 있다. 다시말하여 풀들이 그들의 풀 사이즈에 비례하여 보상을 받고, 풀안에서 풀 구성원의 스테이킹 비율에 따라 보상을 받는다면 합리적으로 할 일은 하나의 풀로 집중시키는 것이다. 다음과 같은 내용을 생각해 보라. 우선, 풀을 만들만큼 충분히 부유한 모든 참여자들이 서버 장비를 설치하거나 대여하여 보상 분배이 많아지도록 회원을 유치할 목적으로 홍보하는 것을 기대하는 것은 합리적이다. 풀 관리자가 아닌 다른 지분 보유자들은 가장 적은 비용으로 수익이 있고 보상이 가장 많은 풀에 참여할 것이다. 이 구성원을 확보하기 위한 풀 경쟁은 이익 마진을 매우 낮은 가격으로 설정하게 할 것이다. 그러나 이익 마진이 0이더라도 다른 모든 풀은 가장 낮은 비용때문에 경쟁에서 지게 될 것이다. 동점이 없다고 가정하면, 이러한 단일 풀은 모든 지분 보유자를 끌어들일 것이다. 결국, 다른 풀 관리자는 자신이 보유한 스테이크에 대해 더 많은 보상을 받을 것이기 때문에 자신의 보유를 유지하는 것과 반대로 그 풀에 가입하는 것이 더 나을 것임을 깨닫게 될 것이다. 결과적으로, 그 시스템은 독점적인 단일 풀로 수렴하게 될 것이다.
그림 1은 위에 설명한 내용을 도표화 한 것이다. 효과적인 보상 분배 체계를 정제하는 과정에서 개발팀이 수행한 수 많은 시뮬레이션에서 나온 결과이다. 이 실험에서 많은 지분 보유자들은 현재의 시스템 구성에 의거한 그들의 이익을 극대화하려는 반응적인 과정을 따른다. 실험 결과는 결국 중앙화된 하나의 풀 만으로 결론이 나고, 이것은 위에 언급한 비트코인과 같은 보상 구조에 관한 우리의 이론적 검토를 유효화하는 것이다. 탈중앙화를 목표로 하는 관점에서 보면 이것은 비극이라고 할 수 있다. 다시 말하면, 참여자들이 탈중앙화를 추상적인 개념으로 평가를 한다고 하더라도 그들 중 누구도 개인적으로 탈중앙화의 부담을 짊어지기를 원치 않는다.
(그림 1) 100명의 지분보유자를 가정한 시뮬레이션에서 비트코인과 같은 보상 분배 체계가 나타낸 중앙화. 교대로 지분보유자들은 그들의 보상을 극대화할려고 노력하고 전략을 바꾸지만, 오직 하나의 풀만 존재하는 쪽으로 수렴하게 되었다.
더 나은 보상 분배 체계
분명히 우리는 독점적 체제보다 더 나은 것을 만들어야 한다! 첫 번째 관찰은 탈중앙화를 달성하려면 보상과 사이즈간의 선형성이 일정 수준을 넘기면 점점 줄어들도록 해야한다는 것이다. 이는 선형성이 풀이 작고 지분 보유자를 유치하기 원하는 경우 매력적이기는 하지만 일정 수준을 넘긴 후에는 보다 작은 풀이 보다 경쟁적이 되기 위한 기회를 주기 원한다면 그것을 감소시켜야 하기 때문이다. 이와 같이 우리는 풀의 크기에 따라 보상 분배 체계의 행동을 2단계로 나눌 것이다: 선형성을 고려되어야 할 성장 단계와 풀이 충분히 큰 경우의 안정화 단계이다. 전환이 발생하는 지점을 포화점이라고 하고 이 지점을 통과한 풀은 포화된다. 포화점을 넘긴 경우 보상이 일정하게 유지되도록 할 수 있어, 만약 포화점이 1%인 경우 총 스테이크가 1%와 1.5%인 두 풀은 동일한 보상을 받게 될 것이다.
단일 지분 보유자의 관점에서 이런 동역학이 어떻게 작동하는지 알아 보려면 다음 예제를 생각해 보길 바란다. 앨리스(Alice)와 밥(Bob)이 운영하는 두 개의 풀 A와 B가 각각 25와 30 개의 코인으로 운영 비용으로 각각 4%의 수익을 가진다고 가정해보자. 또한 분배될 총 보상은 1,000코인이며 보상 분배 메커니즘의 포화점은 20%라고 가정한다. 주어진 시점에서 Alice의 풀은 20%의 지분을 가지므로 포화 상태에 있고 Bob의 풀은 19%이다. 예비 풀 회원인 Charlie는 1%의 지분을 보유하고 있으며 어느 풀에 가입할 지 생각한다. 앨리스의 풀에 합류하면 총 지분은 21%가 되며 포화점을 초과하기 때문에 보상금은 200코인 (총 보상의 20 %)이 된다. 운영 비용(25코인)을 공제하면 앨리스와 풀간에 175개의 코인이 분배된다. Alice의 이익 마진을 제하고 풀에서 Charlie의 관련 지분을 고려하면, 그는 8개의 코인을 보상으로 받게 된다. Charlie가 Bob의 풀에 합류하면 운영비를 제한 후 총 보상액은 200코인 또는 170코인이 된다. 그러나 Charlie의 지분이 풀의 5% (1/20)이므로 Alice의 풀에 가입했을 때보다 2% 더 많은 코인을 받게 된다. 찰리는 보상을 최대화하기 위해 밥의 풀에 가입한다.
자 이제 앨리스의 풀이 이미 전체 지분의 20%에 이르렀을 때 Bob의 풀은 겨우 3%일 때, 찰리가 전체 과정의 가상적 초기 단계에서 동일한 결정을 하는 경우에 어떻게 되는 알아보자. 이 경우 Bob은 매우 작은 풀을 보유하고 있으며 회원에게 제공되는 총 보상은 이전 사례와 비교하여 훨씬 적다. 결과적으로 Charlie가 Bob의 풀에 대해 동일한 계산을 수행한 경우 1%의 지분은 풀의 총 지분 4%가 되지만 계산을 하면 그가 Alice의 풀에 합류했다면 받을 보상의 겨우 30%의 보상만 받게 된다. 그러한 경우 합리적인 결정은 Alice의 풀이 포화 상태를 넘게한다는 사실에도 불구하고 Alice의 풀에 가입하는 것이다. 정확한 수치는 아래 표1을 참조하길 바란다.
(표1) 전체 스테이킹 량의 1%를 갖는 Charlie는 Alice, Bob, Brenda, Ben의 풀에 참여하는 것을 생각할 수 있다. 각 풀에 참여했을 때 코인으로 받을 수 있는 보상이다. 전체 보상 풀은 1,000이고, 포화점은 20%이다.
원시안적인 문제
위의 내용은 모순된 것처럼 보인다. Charlie가 무엇을 해야 하는지 이해하려면 다음 사실을 이해해야 한다. 두 번째 시나리오에서 앨리스의 풀에 합류하려는 Charlie의 선택은 아주 근시안적인(일명 근시안) 의미에서만 합리적이다. 사실, Bob의 풀이 포화점에 도달하는 한 첫 번째 시나리오에서 시연된 것처럼 Charlie는 Bob의 풀에 참여하는 게 더 낫다. 따라서, 찰리가 밥의 풀이 포화점에 도달할 것이라고 믿는다면 합리적인 선택은 그것을 지지해야 할 것이다. 다른 지분 보유자도 동일한 작업을 수행하므로 Bob의 풀이 포화점에 도달하여 참여한 모든 사람을 더 잘 관리할 수 있으며 탈중앙화의 이상을 지지하는 것이다. 지속적으로 커지는 대신 앨리스의 풀은 포화점을 멈추고 다른 풀은 같은 크기로 성장할 수 있는 능력을 부여 받게 될 것이다. 이 유형의 전략적 사고는 지분 보유자를 대신하여 더 원시안적 (일명 비근시 안적)이며 당사자가 시스템이 바람직한 탈중앙화 구성으로 수렴하도록 도울 수 있다.
앨리스의 풀이 포화점에 도달하고 다른 풀이 여전히 상당히 작은 규모에 있는 위의 시나리오에서처럼 시스템 진화과정에서 지분 보유자가 원시안적인 사고를 하는 것이 중요한 지점에 반드시 도달하게 될 것이라는 점은 주목할 가치가 있다. 그 이유는 각 스테이크 풀 관리자의 특수한 상황으로 인해 운영 비용이 지분 보유자 수에 따라 달라질 수 있기 때문이다. 결과적으로 스테이크 풀이 없는 0의 지점부터 시작하여 운영비가 가장 낮은 풀이 가장 먼저 성장할 것으로 예상된다. 운영비가 적기 때문에 풀 회원들에게 더 많은 보상을 제공하기 때문에 자연스러운 것이다. 위에 있는 두 번째 시나리오와 같이 두 번째로 가장 경쟁력있는 풀 (운영 비용이 30인 Bob의 풀)이 여전히 소규모 회원 수준에 있는 동안에 가장 경쟁력있는 풀 (운영 비용이 25인 Alice의 풀)이 포화점에 도달하는 상황에 시스템이 이를 것으로 예상된다.
어떤 사람은 Bitcoin과 같은 보상 체계를 설정함으로 장기적인 생각을 하고 그것이 탈중앙화에의 집중에 도움이 될 수 있을 거라고 생각할 수도 있다. 하지만 불행히도, 그렇지 않다. Bitcoin과 같은 체계에서는 포화점을 가지고 있는 우리의 보상 체계와는 반대로 Bob의 풀이 Charlie의 시각에서 더 매력적일 것이라는 생각은 Alice와 Bob의 풀 개발에는 아무런 의미가 없다. 실제로 포화점이 발생하지 않으면 앨리스의 더 큰 풀이 항상 찰리에게 더 많은 보상을 제공할 것이다. 이는 앨리스의 운영 비용이 더 적고 모든 이해 관계자에게 더 많은 보상을 남긴다는 사실에서 비롯된다. 이것은 Bob의 풀에 회원이 떠나가고, 결국 위에서 설명한 바와 Bob이 풀을 해체하고 Alice에 가입하는 것이 합리적인 선택이 되어 Alice가 시스템의 독재자가 될 것이다.
우리의 보상금 분배 체계로 돌아가서 우리는 비근시안적 전략적 사고가 탈중앙화를 촉진시킨다는 확증했다. 그럼에도 불구하고 여전히 중요한 논의가 남아 있다. 중요한 순간에, 비근시안적인 지분 보유자인 Charlie가 Alice의 포화된 풀에 참여할 수 있는 옵션을 합리적으로 포기하기로 결정할 때, 그는 선택해야 할 의욕적인 풀을 많이 가지고 있을 지도 모른다. 예를 들어, 운영 비용이 30으로 이익률이 4%인 Bob의 풀과 함께 운영 비용 33으로 이익률이 2%인 Brenda의 풀과 운영 비용 36으로 이익률이 1%인 Ben의 풀이 있을 수 있다.
합리적인 선택은 포화점에 도달한 것을 선택하는 것이다. 어느 것이 최선의 선택인지를 알 수 있는 방법이 있는가? 우리들의 전체 분석 논문에서 우리는 그들의 희망에 따라 풀의 순위를 매기는 명확인 메커니즘을 제공할 것이다. 그리고 각각 스테이크 풀에 관해 원장에 기록된 정보를 사용할 것이다. 특정 순간에 최선의 선택을 할 수 있도록 지분 보유자를 도울 수 있다. 우리의 예에서는 찰리가 자신의 보상을 최대화하기를 원하면 브렌다의 풀이다 (표1 참조). Cardano 사용자를 지원하기 위해 Pool-sorting 메커니즘은 Daedalus (및 다른 Cardano 호환 지갑)에 내장될 것이며 Pool 등록에 관한 원장 정보를 사용하여 지분 보유자가 사용할 수 있는 최상의 선택을 시각적으로 보여줄 것이다.
실험 평가
그렇다면 탈중앙화에 대한 우리의 보상 체계는 어떻게 이루어지고 있을까? 전체 분석 논문에서 우리는 “비근시안적 나쉬 평형(Nash equilibria)”이라는 종류의 탈중앙화형 시스템 구성이 있음을 증명한다. 여기서 평형 전략이란 장기적으로 생각하여 지분 보유자가 다른 전략에 따르는 것이 이득이 아닌 것처럼 지분 보유자가 풀을 생성하고 이윤폭을 설정하고 그리고/또는 다른 풀에 위임을 하는 특정한 방법을 가지는 것을 의미한다. 또한, 우리는 비 근시안적 사고를 가진 지분 보유자들 사이의 반응적 행동이 그림 2에서와 같이 적은 수의 반복으로 이 평형점에 수렴한다는 것을 실험적으로 증명한다.
(그림 2) 100명의 지분 보유자와 10%의 포화점하에서의 우리의 보상 분배 체계를 통해 나타난 탈중앙화. 풀들은 지분보유자들에 의해서 점진적으로 생성되며, 순서대로 진행함에 따라 지분 보유자들은 비근시안적으로 그들의 이윤을 최대화할려고 시도하여 최종적으로 10개의 풀이 남는 결과로 수렴하는 것을 보여주었다. 마지막 점에서 모든 합리적인 지분 보유자는 시스템의 상태를 변화시키기를 원하지 않는다.
우리의 접근 방법의 특징은 풀의 수는 보상 분배 방식을 설명하는 한 부분일 뿐이라는 점이다. 그러므로 지분 보유자에 대한 시스템에 의해 강제되지 않는다는 것이다. 즉, 지분 보유자는 소정의 시스템 아키텍처를 준수하지 않고도 풀 생성 및 스테이크 위임을 자유롭게 시도할 수 있다. 이것은 참가자 수가 합의 시스템으로 하드 코딩된 매개 변수인 EOS와 같은 PoS 시스템에서 채용되고 있는 다른 접근 방식(구체적으로는 21개의 풀)과는 대조적이다. 동시에, 우리의 접근법은 풀에 자유롭게 가입하거나 탈퇴하고 풀에 참여함으로써 보장된 보상을 받음으로써 그들의 지분의 크기와는 상관없이 PoS 분산 원장의 관리에 정량적인 영향을 미치는 지를 목격하면서 전체 지분 보유자가 자신의 의사를 표현할 수 있게 한다. 이는 Ethereum 2.0과 같은 PoS 시스템에서 사용되는 다른 접근법과 대조적인데, 여기서는 원장 유지 보수가 지분 보유자의 설정에 의한 검증 도입 절차 없이 담보 예치금을 바탕으로 등록된 유효 검증자에 의해 이루어진다.
그렇다면 카르다노를 위한 보상 체계가 지지되어야 할 풀의 수를 위한 현명한 선택은 무엇일까? 탈중앙화가 우리의 주된 목표임을 고려하면 이 매개 변수를 가능한 한 높게 설정하는 것이 현명하다. 우리의 네트워크 실험에 따르면 시스템은 1,000개의 실행중인 풀에서 여전히 효과적으로 작동할 수 있음을 보여준다. 이 숫자를 기반으로 한 보상 분배 체계의 포화점을 선택하면 거기에 위임된 총 스테이크가 Ada의 총 판매량의 0.1%로 적을지라도 수익 분배가 가능하다.
앞으로의 전망 – Sybil attacks
탈중앙화가 많은 독립적인 스테이크 풀에 의해 달성될 수 있다는 점을 감안할 때, 일부 탈중앙화 시스템 구성이 다른 것보다 더 바람직한 지를 확인하는 것도 중요하다. 지금까지 이 기고문에서 설명한 바와 같이, 우리의 보상 분배 체계는 합리적인 지분 보유자들이 총 비용이 가장 적은 스테이크 풀을 홍보하도록 이끌 것이다. 이는 보상을 극대화하고 비용을 최소화하더라도 반드시 가장 바람직한 결과는 아닐 수도 있다. 그 이유는 평형 상태에서는 집합적으로 아주 작은 지분을 소유하고 있는 스테이크 풀 관리자로서 격상되어 있는 일련의 지분 보유자를 볼 수 있기 때문이다. 작은 총 지분이 시스템의 전체 지분을 대표하는 이러한 불균형은 여러 가지면에서 해를 끼칠 수 있다. 즉, 지분 풀 관리자가 부패 또는 뇌물 수수를 불러올 수 있다. 나아가 더 안 좋은 경우에는 대규모 지분 보유자가 전체 생태계를 통제하기 위해 많은 스테이크 풀을 등록하여 이러한 방식으로 탈중앙화를 해칠 수 있는 Sybil 공격을 수행할 지도 모른다. 이러한 이유 때문에 우리의 전체 분석 논문에서 제시된 보상 분배 체계는 풀의 근거가 되는 스테이크에 민감하게 반응하도록 적절히 수정되어 이러한 유형의 행동은 완화된다. 우리는 다음 블로그 포스트에서 Cardano 보상 분배의 이러한 측면에 대해 더 깊이 파고들 것이다.