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