오픈 소스 보상 계산 공개
필자: 파비안 보르만 에코시스템 아키텍처 및 엔지니어링(EAE) 팀장
출처: Releasing an open source rewards calculation
카르다노의 지분 증명(PoS) 프로토콜인 우로보로스에서 위임자와 지분 풀 운영자(SPO)는 네트워크 보안에 기여한 만큼 보상을 받습니다. 카르다노 원장 사양은 이러한 보상을 계산하는 공식을 간략하게 설명합니다. 이를 염두에 두고 네트워크의 운영 탄력성을 위한 카르다노재단의 노력의 일환으로, 저희는 노드에 독립적인 보상 계산을 오픈소스로 공개했습니다. 이 프로젝트는 단일 구현과 독립적인 보상 계산을 수행하고 검증하는 수단을 달성하고자 합니다. 또한 카르다노의 재무, 준비금, 풀 보상과 관련된 포괄적인 문서를 제공하고자 합니다.
MIT 라이선스에 따른 오픈 소스 저장소인 이 이니셔티브는 오픈 소스 성숙도를 향한 재단의 노력을 심화하며, 생태계 전반의 기여를 이끌어내는 것을 목표로 합니다. 마지막으로, 이 계산은 프로토콜 매개변수 변경이 자금 흐름에 어떤 영향을 미칠 수 있는지에 대한 교육 도구로도 사용될 수 있습니다. 이는 궁극적으로 투명성을 높이고 운영 탄력성을 개선할 것입니다.
오픈 소스를 통한 운영 복원력 강화
카르다노 블록체인은 몇 가지 독특하고 세심하게 고려된 기능을 제공합니다. 가장 중요한 기능은 스테이킹된 에이다가 사용자 지갑에 남아 있어 언제든지 다른 지갑으로 이체할 수 있다는 점입니다. 이 기능에는 장점이 있지만, 보상 계산을 구현하는 데 어려움이 있습니다. 따라서 원장 사양에 설명된 대로 보상 계산을 위해 스냅샷을 사용해야 합니다.
이 과정은 새로운 적립금, 수수료, 총 리워드 팟, 재무부를 계산하는 것으로 시작됩니다. 그 후 이 총 보상 팟을 기준으로 풀 보상이 결정됩니다. 풀 보상은 스테이크 풀 위임자와 스테이크 풀 운영자의 보상을 계산하는 데 사용됩니다. 스냅샷을 기반으로 계산해야 하기 때문에, 스테이크 계정이 스냅샷을 찍은 후 등록되지 않을 수 있습니다. 따라서 스테이크 계정은 계산이 완료된 후 보상을 받을 수 없으며, 이러한 특수한 상황을 처리하기 위한 사용자 지정 규칙이 필요합니다.
계산 프로세스 자체가 시간이 지남에 따라 분산되기 때문에 이러한 규칙은 자연스럽게 코드 베이스 전체에 퍼집니다. 카르다노 원장 저장소는 대부분의 비즈니스 로직을 관련 문서와 함께 집계합니다. 이 프로세스에 필요한 일부 추가 구성 요소는 카르다노 노드 자체 또는 우로보로스 네트워크 저장소에서 찾을 수 있습니다.
코드는 슬롯 기반 스케줄러를 사용하여 실행되므로 코드베이스에 익숙하지 않은 사용자는 코드를 읽고 따라하기가 어려울 수 있습니다. 계산의 성능을 향상시키기 위해 특정 최적화가 도입되었지만, 이러한 최적화는 코드를 이해하기 어렵게 만들 수 있습니다. 오픈 소스 보상 계산은 이러한 문제를 해결하는 동시에 카르다노 네트워크 고유의 강력한 기능을 유지하는 것을 목표로 합니다.
카르다노 보상 메커니즘
카르다노 원장 사양에는 각 에포크가 끝날 때 에이다의 흐름을 종합적으로 정의하는 여러 방정식이 포함되어 있습니다. 각 노드는 잠재적인 보상을 분산된 방식으로 에포크당 보상을 독립적으로 계산한 다음 합의 메커니즘에 따라 분배합니다. 주목할 점은 어느 한 주체가 이 계산을 완료하거나 보상을 보류할 수 없다는 것입니다. 이러한 에이다 보상은 매 에포크마다 계산되며 거래 수수료와 코인 확장이라는 두 가지 소스의 상호 작용에서 파생됩니다.
- 거래 수수료: 각 에포크가 끝날 때마다 수수료 팟의 가치(해당 에포크의 모든 거래 수수료의 합계)가 총 보상 팟으로 들어갑니다.
- 코인 확장: 거래 수수료 외에도 적립금의 일정 비율이 동일한 리워드 팟에 적립됩니다.
그런 다음 총 보상 팟은 두 부분으로 나뉩니다. 첫 번째 부분은 재무부로 들어가고, 두 번째 부분은 스테이크 풀 보상 팟을 형성합니다. 특히, 언급된 보유금은 원래 약 140억 에이다로 시작하여 점차 감소하고 있습니다.
동시에, 또 다른 계산은 겉으로 드러난 풀 성과와 함께 개별 스테이크 풀 보상을 결정하는 스테이크 풀 매개변수를 활용하여 풀 보상을 계산합니다. 결과 값은 위임자와 운영자 보상을 모두 계산하는 기초가 됩니다. 중요한 점은 이러한 모든 계산이 프로토콜 매개변수에 따라 달라진다는 것입니다. 보상 계산은 카르다노 블록체인 생태계의 필수적인 부분을 형성하므로, 사람들에게 보상 계산의 작동 방식을 교육하는 것이 중요합니다. 이러한 지식을 통해 사람들은 자신의 비전과 가치에 맞는 스테이크 풀을 선택할 수 있습니다.
보상 계산이 투명성을 개선하는 방법
종종 에이다 팟이라고 불리는 재무부, 준비금, 보상, 예금 및 수수료는 최대 450억 에이다의 공급량을 합산합니다. 누구나 카르다노 블록체인 탐색기와 카르다노 DB 동기화에서 에이다 팟 숫자를 검토할 수 있지만, 이러한 플랫폼은 계산 방법을 확인할 수 있는 기초 데이터 없이 계산의 최종 결과만 제공할 수 있습니다. 이러한 계산은 노드와 원장 저장소의 하스켈 코드에 존재하지만, 복잡하고 고도로 분산된 공식 구현을 사용합니다.
이러한 이유로 재단은 카르다노 원장 사양에 명시된 공식을 구현하고 지정된 공식이 실제 구현과 일치하지 않는 엣지 케이스를 처리하기 위한 문서 리소스 역할을 하는 노드 독립적인 보상 계산을 추구하기 시작했습니다. 예를 들어, 노드 구현의 버그로 인해 두 개의 서로 다른 풀을 운영하지만 동일한 보상 주소를 가진 풀 소유자가 하나의 스테이크 풀에 대해서만 보상을 받게 되는 경우가 있습니다. 이 경우 버그를 수정하면 트레저리에서 풀 소유자에게 추가 보상을 지급할 수 있었습니다.
이러한 수동 개입은 프로토콜 사양에 완전히 부합하고 소위 이동 즉시 보상(MIR)) 인증서를 통해 투명한 방식으로 기록되지만, 이 시기에 계산된 에이다 팟은 부정확할 수 있습니다. 특히, 이 시기의 일반 공식을 사용하여 자산 가치를 계산하면 실제 보유한 에이다의 양과 일치하지 않는다는 것이 분명해집니다. 요컨대, 이러한 특별한 사건에 대한 지식이 없다면 공식과 국고 가치 사이의 불일치를 추적하기 어렵고 국고에는 공식에 표시된 것보다 적은 자금이 있을 것입니다.
공식 구현 오픈 소싱의 장점
보상 계산은 원래 카르다노재단의 새로운 카르다노 탐색기에 카르다노 블록체인의 데이터를 제공하기 위해 개발된 자바 기반 데이터 파이프라인인 레저싱크(LedgerSync)에 통합되었습니다. 그러나 재단의 엔지니어링 팀은 곧 계산의 여러 측면에 관련된 여러 구성 요소를 풀어내는 것이 상당히 복잡하다는 것을 깨달았습니다. 사양, 블로그 게시물, 포럼 스레드, 자체 호스팅 커뮤니티 문서 등 입력 데이터의 다양성으로 인해 에이다의 흐름을 종합적으로 이해하기 위해 다양한 출처에서 필요한 정보를 수집하는 데 특히 많은 시간이 소요됩니다.
반면에 보상 계산을 오픈 소싱하면 알고리즘과 보상 분배 방식을 결정하는 데 사용되는 코드를 공개적으로 검사, 검토, 검증할 수 있습니다. 이 접근 방식은 마찬가지로 한 시대가 끝날 때 에이다 흐름을 설명하는 대화형 차트와 공식과 실제 가치의 차이를 강조하는 보고서를 포함하는 저장소 역할을 함으로써 카르다노 인프라에 대한 신뢰를 구축하는 데 도움이 됩니다.
이는 또한 사람들에게 카르다노의 탈중앙화된 재무 시스템에 대해 교육하는 유용한 방법이며, 거래 수수료 사용에 대한 통찰력을 제공하는 데 기여합니다. 오픈 소스 저장소로서 보상 계산은 커뮤니티를 더욱 참여시켜 모든 사람이 가능한 한 많은 문서에 기여하도록 유도합니다. 또한, 현재 노드 데이터를 크롤링하고 포스트그레SQL 데이터베이스에서 액세스할 수 있도록 하는 IOG의 하스켈 도구인 카르다노 DB 싱크에서만 사용할 수 있는 값을 계산할 수 있는 API를 공개하여 기술적 지원을 위한 툴을 제공합니다.
보상 산정 투명성을 위한 노력
앞의 엣지 케이스 예시에서 설명한 것처럼, 다음 에포크에 대한 공식을 사용하여 재무 가치를 계산하면 정확한 결과가 나오지 않을 수 있습니다. 이러한 역학 관계는 프로젝트 카탈리스트 제안을 지불하기 위해 자금을 이체하거나, 예를 들어 버그로 인해 놓친 풀 보상을 보상하기 위해 MIR 인증서를 사용할 때 발생할 수 있습니다. 이러한 엣지 케이스는 MIR 인증서 메커니즘을 통해 카르다노 블록체인에 투명하게 기록되지만, 항상 공개적으로 상세하게 문서화되는 것은 아니기 때문에 역사적 배경이 부족하여 투명성이 크게 손상되고, 이는 결국 불확실성과 신뢰도 저하로 이어집니다. 적절한 문서를 구축하면 이를 방지할 수 있으며, 향후 검토와 감사는 물론 문서 개선이 가능하여 카르다노의 신뢰성과 운영 탄력성을 강화할 수 있습니다.
재단의 작업은 공식 구현과 엣지 케이스 문서로 시작되었지만, 아직 해결해야 할 몇 가지 미해결 과제가 남아 있습니다. 예를 들어, 에포크 271 이전의 초기 카탈리스트 펀드나 미르 인증서는 메타데이터가 첨부되어 있지 않기 때문에 이에 대한 설명이 필요합니다. 재단은 이 공식을 오픈 소싱함으로써 커뮤니티 구성원들과 협력하여 데이터 소스에 독립적인 솔루션을 구축하고자 합니다. 현재, 저희는 집계된 데이터를 제공하는 Koios 데이터 공급자와 정적 JSON 파일용 데이터 공급자를 보유하고 있습니다. 또한, 잠재적으로 자바 기반 카르다노 데이터 저장소 구현인 야시 스토어를 기반으로 하는 범위가 지정된 인덱서는 보상 계산의 투명성을 극대화하는 데 도움이 될 것입니다.
이 이니셔티브는 궁극적으로 카르다노가 생태계의 탈중앙화 개발, 풀 보상 및 거래 수수료에 자금을 조달하는 데 사용하는 자산 가치와도 관련이 있습니다. 따라서 이는 모든 카르다노 사용자가 관심을 가져야 하는 측면, 즉 자신이 속한 생태계의 보상 배포에 직접적인 영향을 미칩니다. 동시에 코드나 정보를 공유하는 모든 기여자는 생태계에 더 많은 신뢰와 투명성을 가져오는 데 중요한 역할을 하며, 따라서 블록체인 채택을 늘리기 위한 조건을 개선합니다.
계산 해독
재단은 레포지토리의 모든 새 버전과 함께 보고서를 생성합니다. 계산값과 실제 재무 가치의 평균 절대 차이를 지표로 추가했으며, 커뮤니티와 함께 시간이 지남에 따라 이 값을 줄이기를 희망합니다.
이 레포지토리에 기여하는 것은 코드에만 국한되지 않으며, 사람들은 데이터, 링크, 문서, 일부 시대에서 관찰된 상당한 차이에 관한 인사이트를 추가할 수 있습니다. 레포지토리 자체는 테스트 중심 접근 방식을 따르기 때문에 특정 시기의 특정 풀 보상과 관련된 테스트부터 시작하는 것이 좋습니다. 재단은 재무부에 대해서만 보고서를 작성했지만, 향후에는 아다 팟의 다른 구성 요소와 일부 스테이크 풀 및 회원 보상에 대한 자세한 보고서에도 이러한 유형의 보고서를 도입할 가능성이 있다고 생각합니다.
대부분의 경우, 예치금 가치는 평균적으로 공식이 예측하는 것보다 약 3,500 에이다 더 높습니다. 풀 회수 규칙은 풀이 종료되고 관련 스테이크 주소가 이미 등록이 취소된 경우와 같이 청구할 수 없는 풀 예치금을 재무부로 돌려보냅니다. 또한 각 풀은 각 에포크에 대해 최대 에이다 값을 받을 수 있습니다. 또한, 재무부는 공식에 의해 계산된 값과 최대 값 사이의 차액을 직접 처리합니다. 현재 구현에 대한 이러한 조정으로 평균 절대 차이가 줄어들 것입니다.
재단은 이미 계산의 근본적인 문제를 해결하고 이러한 불일치 중 일부에 대한 설명을 파악하는 데 어느 정도 성공을 거두었습니다. 그러나 재무부에서 나가는 모든 거래에 대한 포괄적인 문서가 있으면 유용할 것입니다.
다음 단계에는 풀 리업 규칙을 구현하고, 한도 제한 보상을 재무부에 추가하고, 미르 인증서를 통합하고, 미청구 보상을 준비금으로 보내는 작업도 포함됩니다. 또한, 현재는 새로운 에포크가 발생할 때마다 이전 에포크의 전달 오류를 방지하기 위해 알려진 값으로 재설정하지만, 앞으로는 수수료, 폐지된 풀, 등록 취소된 스테이크 계정, 풀 업데이트 등에 대해 범위가 지정된 소비자를 보유하는 것이 유리할 것으로 보입니다. 이 구조는 이전 계산을 기반으로 동적 계산을 가능하게 할 것입니다.
그러나 계산에 또 다른 알려지지 않은 것이 있어 계산과 실제 값 사이에 불일치가 발생하는 경우, 카르다노 노드 및 카르다노 원장 저장소의 하스켈 구현에 대한 심층적인 조사가 완료될 수 있습니다. 이 시나리오는 커밋 기록과 이슈 토론을 탐색하여 불일치를 설명하는 변경 사항을 식별하는 것을 목표로 합니다.
앞으로 재단은 이 저장소에서 제공되는 보고서와 대화형 차트를 활용하여 규제 당국, 기업, 기관에 에이다 토큰노믹스를 설명할 계획입니다. 지난 9월, 저희는 코이오스 CNTools의 팀과 만나 레포지토리에 대해 소개하고 초기 피드백을 수집했습니다. 그들은 이 이니셔티브와 보상 계산을 구현하고 문서화하는 아이디어를 환영했으며, 다른 개발자들이 이 Java 참조 구현을 다른 언어로 포팅하면 부가적인 가치를 제공할 수 있을 것이라고 언급했습니다.
오픈 소스 접근 방식은 항상 생태계를 풍요롭게 하여 모든 관련 당사자에게 상호 이익을 제공하는 동시에 투명성을 촉진하고 블록체인 기술의 광범위한 채택 가능성을 개선합니다. 따라서 카르다노재단은 카르다노의 오픈 소스 성숙도를 촉진하기 위해 오픈 소스 저장소와 솔루션을 지속적으로 오픈 소스화할 계획입니다.
이상
번역: Paul Ko (카르다노 앰버서더, JOY & HOPE 풀 운영자, 카르다노 사랑방 운영자)