Cortina:X 체인 선형화
저자:Cortina
2023년 4월 3일 월요일, Avalanche Cortina 업그레이드의 프리릴리스 코드가 발표됩니다. 이 업그레이드는 오전 11시에 활성화됩니다. 2023년 4월 6일 목요일, 미국 동부 표준시(UTC 오후 3시). 이 프리릴리스 코드는 Fuji에만 적용됩니다. 메인넷에서 코드를 실행하는 경우 시작 시 종료됩니다.
Fuji에서 Cortina 업그레이드가 성공적으로 완료되기 전에 Avalanche 메인넷 활성화 시간이 발표되며, 공식 Cortina AvalancheGo 버전(v1.10.0)이 출시됩니다.
Cortina 업그레이드는 AvalancheGo 버전 < v1.10.0과 호환되지 않는 프로토콜 최적화를 포함합니다. Fuji에서 노드를 실행하는 경우, Fuji의 활성화 시간 이전에 소프트웨어를 AvalancheGo >= v1.10.0으로 업그레이드해야 합니다. 메인넷 노드 운영자라면 공식 AvalancheGo@v1.10.0 코드가 출시되기 전까지는 아무런 조치를 취할 필요가 없습니다.
X체인 선형화
X-Chain은 Avalanche Consensus를 실행하며, 이는 DAG 기반의 비지도 프로토콜로, 활동적인 총 순서를 설정하지 않고도 높은 처리량으로 비충돌 UTXO를 동시에 처리할 수 있게 합니다. 반면, C-Chain, P-Chain 및 모든 Avalanche 서브넷은 Snowman++를 실행하며, 이는 수천 명의 참가자 간에 비충돌 블록 생산을 정렬할 수 있는 완전 순서 기반의 체인 프로토콜입니다.
X-Chain의 기존 의미는 Avalanche Warp Messaging (AWM)의 통합, 복잡한 X-Chain 거래 추가, 상태 동기화 활성화 및 광범위한 교환 지원을 방해하거나 상당히 복잡하게 만듭니다. AWM 통합은 다른 Avalanche 서브넷에서 오는 수신 메시지의 BLS 다중 서명을 검증하기 위해 Snowman++가 필요합니다.
이러한 제한은 현재 형태의 X-Chain이 서브넷과 상호작용할 수 없음을 의미하며, 그것이 실행되는 DAG 기반의 합의는 서브넷에 광범위하게 적용될 수 없고, 서브넷의 대다수는 다른 서브넷과 원활하게 통신하기를 원합니다. X-Chain의 부분 정렬은 정점 검증 중에 규범 상태가 없음을 의미합니다(정점은 X-Chain에서 배치 거래의 컨테이너로, 블록체인에서 블록과 유사합니다) 그리고 정점은 설계상 서로 다른 노드에서 서로 다른 순서로 처리됩니다.
규범 상태가 없는 상황에서 공유 체인 객체(예: 거래소)와 상호작용하고 상태를 네트워크 끝으로 동기화하는 것은 모든 역사적 활동을 다시 처리하지 않기 위해 중요한 문제이며, 커뮤니티는 서브넷을 추가로 발전시키는 데 시간을 소비할 수 있습니다.
마지막으로, 체인 상의 활동의 불확실한 정렬은 많은 전통적인 거래소가 현재 형태로 X 체인과 통합할 수 있는 능력을 크게 저해합니다. 대부분의 전통적인 거래소는 비트코인 및 이더리움과 같은 완전 순서의 블록체인을 위해 설계되었으며, 부분 정렬된 블록체인에서 서로 다른 시점의 잔액을 조정하는 데 어려움을 겪고 있습니다.
Cortina는 X-Chain을 Snowman++ 합의로 전환하고, "선형화"라는 과정에서 완전 순서의 블록체인으로 실행됩니다. 선형화가 시작되면 X-Chain DAG에 추가 정점을 추가하는 것이 더 이상 불가능해집니다. DAG의 최종 상태는 이제 불변이며, 이후 Snowman++가 지원하는 선형화된 X 체인의 초기 상태로 사용됩니다. X-Chain에서 사용되는 거래 형식과 거래 제출, 거래 상태 조회 및 잔액 조회를 위한 API는 이 과정에서 변경되지 않으므로 대부분의 지갑은 이 선형화 이벤트를 지원하기 위해 아무런 변경을 할 필요가 없습니다.
그러나 X-Chain을 지원하는 탐색자는 X-Chain 정점을 파싱하는 대신 X-Chain 블록을 파싱하도록 마이그레이션해야 하며, 이는 P-Chain 블록과 매우 유사하게 보입니다. 선형화는 원활하게 이루어지며 P 체인, C 체인 또는 어떤 서브넷에서도 중단이 발생하지 않아야 합니다. 그러나 X-Chain은 일시적으로 접근할 수 없습니다.
위에서 언급한 바와 같이, 이 마이그레이션은 Avalanche Warp Messaging 통합을 위한 길을 열어주며, 새로운 거래 유형은 공유된 X-Chain 상태를 수정하고 상태 동기화를 위한 직접적인 경로를 제공하며, 거래소가 X-Chain을 지원할 수 있게 합니다. 이곳에는 탄력적인 서브넷에서 사용되는 많은 토큰이 포함될 것입니다.
DAG에서 총 정렬을 도입할 수 있지만, X-Chain에서 이를 수행하려면 기존의 Avalanche 합의 엔진을 재작성해야 하며, 이는 어떤 서브넷에도 도움이 되지 않습니다. 전체 Avalanche 네트워크에 단일 합의 엔진으로 마이그레이션하고 신뢰할 수 있는 컴퓨팅 기반의 규모를 줄이며 기존 연구 개발 작업의 레버리지를 증가시키면 더 빠른 개발과 더 넓은 적용 가능한 혁신을 실현할 수 있습니다.
여기에서 통합자를 위해 Cortina를 지원하는 데 필요한 AvalancheGo API의 모든 변경 사항을 강조한 마이그레이션 가이드를 준비했습니다.
배치 위임 보상
Avalanche 네트워크가 시작된 이후, 검증자는 자신의 노드에 위임된 누구에게나 서비스 요금을 청구할 기회를 가졌습니다. 검증자가 위임 기간 동안 80% 온라인 상태라면, 그들은 위임자가 벌어들인 보상(수수료)의 백분율을 받게 됩니다. P-Chain은 각 위임 기간 동안 이 수수료를 별도의 UTXO로 분배합니다.
지난 몇 개월 동안 네트워크에서 위임자 수가 크게 증가함에 따라(2023년 3월 20일 기준 약 80k에 도달), 검증자가 수수료로 받을 수 있는 UTXO의 수 또한 크게 증가했습니다. 이는 일반적으로 검증자가 수천 개의 작은 UTXO를 최종적으로 받게 되며, 이 UTXO는 어떤 용도로든 사용하기 위해 집계해야 합니다. 브라우저와 지갑에서 수천 개의 UTXO를 추적하는 것도 뛰어난 사용자 경험을 제공하는 데 더 많은 도전 과제가 됩니다.
Cortina는 이러한 위임 수수료가 Cortina 활성화 이후에 스테이킹을 시작한 모든 검증자에게 어떻게 분배되는지를 수정했습니다(이전에 스테이킹한 검증자는 어떤 변화도 보지 못할 것입니다). 수수료는 이제 각 성공적인 위임 기간마다 수수료 UTXO를 전송하는 것이 아니라, 노드의 전체 검증 기간 동안 배치 처리되며, 노드가 언스테이킹될 때 분배됩니다.
C 체인 가스 한도 증가
Apricot Phase 1 이후, C-Chain 블록의 가스 한도는 8M 가스로 설정되었습니다. C 체인에서 블록은 약 2초마다 생성되므로, 이 설정은 10초마다 소비할 수 있는 최대 가스 양을 약 40M 가스로 제한합니다. 그러나 각 10초 롤링 창의 가스 목표는 15M 가스로 설정되어 있습니다. 이는 10초 창 내에서 15M 이상의 가스를 사용할 경우 가스 가격이 상승하고(15M 미만일 경우 하락함을 의미합니다).
어떤 가스 가격으로든 특정 창에서 소비할 수 있는 가스 양을 제한하는 것 외에도, 블록 가스 한도는 단일 블록에서 발행할 수 있는 거래의 복잡성을 제한합니다. Avalanche에서 다양한 개발자들이 더 복잡한 dApp을 배포하기 시작하면서, 그들은 각 블록 800만 가스가 그들의 용례에 충분하지 않다고 말하고 있습니다. Cortina는 C-Chain 블록의 가스 한도를 1500만 가스로 증가시킵니다. 검증을 위해 필요한 리소스의 양을 증가시키지 않기 위해, 가스 목표는 10초마다 15M 가스로 유지됩니다.