Original뉴스

Testworld 미션 2.0 - Track 3 Review

BenftBenft2024-02-06 16:35

Testworld 미션 2.0: Track 3 Review


미나는 올해 예정된 버클리 메인넷 업그레이드를 앞두고 Testworld 미션 2.0을 진행하고 있다. Testworld 미션 2.0는 프로토콜 성능 테스트 프로그램이며 커뮤니티 구성원들과 함께 프로토콜 및 네트워크를 스트레스 테스트하여 메인넷 업그레이드에 대한 높은 신뢰 수준을 확보하는데 의의가 있다. 총 Track 4까지 진행될 예정이며 올해 1월 말 Track 3이 완료되었다.


Track 3에서는 다양한 부하를 테스트하고 발견된 문제들을 해결했다. 메인넷 업그레이드를 위한 릴리스 후보 완성과 동시에 최적의 방법을 준비했다.


하이라이트


Testworld 미션 2.0: 프로토콜 성능 테스트 프로그램은 70개국 이상에서 3,305건 이상의 신청을 받았다. 250명 이상의 경험이 풍부한 노드 운영자가 Testworld 트랙 3의 네트워크를 제공하기 위해 선발되었다.


운영자들은 10개 라운드의 부하 테스트 동안 670개 이상의 개별 노드를 실행하고 29,000개 이상의 블록, 176,000개의 거래 및 85,000개의 zkApp 거래를 처리했다.


트랙 3은 다양한 부하를 테스트하고 문제들을 발견 및 해결했다. 결과적으로 메인넷 업그레이드를 위한 릴리스 후보 완성과 동시에 최적의 방법을 준비했다. 다음 트랙은 버클리 업그레이드 직전에 업그레이드 메커니즘에 대한 모든 프로세스 및 도구를 테스트할 것이다.


개요


버클리 메인넷 업그레이드의 핵심 기능은 Mina 커뮤니티에서 온체인 거버넌스 (MIP1, MIP3, MIP4)를 통해 제안되고 투표로 승인되는 세 가지 주요 기능이다.


1. o1js를 통한 ZK 프로그래밍: 이전에 "SnarkyJS"로 알려진 o1js는 zkApps를 작성하기 위한 TypeScript 라이브러리로, ZK 프로그래밍을 지원한다.


2. Kimchi에 의해 강화된 보안 및 효율성: Mina의 선도적인 증명 시스템인 Kimchi는 재귀적인 ZK 프로프 생성을 용이하게 하는 것으로, 향상된 보안 및 효율성을 제공한다.


3. 강력한 보상 제거: 메인넷 초기 단계에서 스테이킹 채택을 위해 일시적 인센티브로 적용된 강력한 보상이 폐지되었다.


미나의 Testworld 미션 2.0: 트랙 3 (프로토콜 성능 테스트)은 프로토콜 스트레스 테스트를 통해 네트워크를 극한까지 밀어 올리는 것을 목표로 하여, 중요한 프로토콜 업그레이드 전에 성능을 최적화하는 것을 목표로 한다.


이 프로그램은 250명 이상의 경험이 풍부한 노드 운영자들을 모아 블록 생성, 부하 테스트, SNARK 작업 생성 등 다양한 테스트 작업을 수행했다. 10개 라운드의 부하 테스트를 통해 10월부터 시작된 이 프로그램에서는 670개 이상의 개별 노드가 29,000개의 블록, 176,000개의 거래 및 85,000개의 zkApp 거래를 처리했다.


사전 업그레이드 테스트넷의 성공에 있어 커뮤니티 지원은 중요한 역할을 했다. Testworld Mission 2.0 Track 3에 적극적으로 참여하는 것 외에도 커뮤니티 구성원들은 Q&A, 가이드, 스크립트, 지갑 및 탐색기를 이용하며 놀라운 적응력을 보여주었다.


뿐만 아니라, 프로그램 내내 진행된 테스트 노력은 블록 생성, 노드 캐치업 성능, 메모리 사용 등과 관련된 중요한 문제를 해결하고 주요 이슈에 대응하는데 도움이 되었다. 전반적으로 네트워크 인프라를 강화해 향후 있을 버클리 업그레이드를 대비했다.



개선 및 향상


처음에는 총 세 기간 동안 진행될 예정이었지만, 테스트 중 마지막 기간에서 발생한 여러 문제들로 인해 긴급한 개선이 필요했다. 따라서 두 기간을 추가로 연장하여 2024년 1월 22일까지 계속하여 테스트하고 수정을 적용했다.


이 기간 동안 4개의 노드 버전이 출시되었고, 우리는 여러분과 함께 효율성, 성능, 안정성 향상을 이루어냈다.


- GraphQL, CLI, UX, 그리고 로깅


`libp2p` 키를 덤프하는 CLI 명령어, URL 파싱 수정 등을 포함한 총 6가지 기술적 개선이 이루어졌다.


- 원장(Ledger) 개선사항


원장 성능이 최적화되어 블록 생성 성능 문제를 해결했다. 최적화는 트랜잭션 적용 시간에 10배 이상의 성능 향상을 보여주며, 추가적인 성능 최적화도 계획되어 있다.


효율적인 스캔 상태 및 단계별 원장 해싱, 제네시스 원장 디렉터리 수정 등을 포함한 총 7가지 기술적 개선이 이루어졌다.


- 최적화 사항


트랜잭션 검증 중에 증명 중복 방지, 속도 저하 방지, 장기 비동기 주기 수정 등을 포함한 총 12가지 기술 개선이 이루어졌다.


- 추가적인 개선 사항


런타임 구성 계정 출력 중단, 포크에서 CI 지원 등을 포함한 총 20가지 기술 개선이 이루어졌다.


이번 릴리스 후보판에서는 아카이브 데이터베이스에 블록을 추가할때의 문제 및 Rosetta API와 관련된 문제가 처리될 것이다.


결과 발표


Testworld 미션 2.0의 세 번째 트랙, 프로토콜 및 성능 테스트는 목표했던 대로 향후 있을 버클리 업그레이드의 견고성과 효율성을 확인했다.


새로운 테스트 프레임워크를 통해 팀은 커뮤니티와 긴밀히 협력하고, 대규모의 트랜잭션을 네트워크에 전송해 좋은 품질의 데이터를 제공했다. 엔지니어링 팀은 다양한 구성을 갖는 수십 개의 multi-day 테스트를 빠르게 반복해 중요한 성능 문제를 찾아내고 수정했다.


초기 테스트로 대규모 블록 생성 시 성능 저하가 발견됐고 문제를 해결해 현재는 약 100배의 시간 감축에 성공했다. Testworld 트랙 덕분에 주목받은 다른 문제로는 크기가 계속 커지는 제네시스 원장 문제였으며 현재 해결되었고 또한 아카이브 노드 성능도 크게 향상되었다. 더 많은 메모리 사용에 대한 해결책은 여전히 탐색 중이며, 버클리 업그레이드 이후에 소규모 업그레이드를 통해 적용될 예정이다.


마지막으로, 우리 팀은 네트워크가 고부하 상황 속에서도 잘 작동되었고 트랜잭션 활동 급증을 처리할 수 있다고 보고 있다. 이번 테스트넷 성공에 도움을 준 커뮤니티 테스터 및 O(1)Labs 팀에게 감사 인사를 전한다. 버클리 업그레이드는 이제 최종 테스트 단계인 트랙 4만을 남겨두고 있으며 이 과정이 완료되면 한 걸음 더 나아가게 될 것이다.


다음 단계


미나의 버클리 업그레이드를 위한 테스트넷은 4개의 트랙으로 나뉘어져 있으며, 현재까지 zkApp End-to-End (E2E) 테스트, 외부 보안 감사, 그리고 프로토콜 성능 테스트를 완료했다.


2024년 2월에 시작될 네 번째 트랙에서는 새로운 기능을 복제한 네트워크에서 테스트하고 업그레이드 메커니즘을 설계할 예정이며, 이는 메인넷 업그레이드 전의 마지막 단계다. 이미 거래소 및 업체와 개별 테스트가 진행 중이며, 마지막 트랙 동안 계속될 예정이다.


업그레이드 관련 업데이트를 확인하고 더 많은 정보를 얻으려면 아래 링크를 참고 바란다.


미나 한국 X | Discord | 뉴스레터