테스트넷 웨이브 2 요약 - 네트워크 학습 결과

테스트넷 웨이브 2는 성공적으로 마무리되었으며, Sui 에서 스테이킹 작업을 실행하는 목표를 달성하는 데 도움이 되었습니다.

테스트넷 웨이브 2 요약 - 네트워크 학습 결과

테스트넷 웨이브 2는 성공적으로 마무리되었으며, Sui 에서 스테이킹 작업을 실행하는 목표를 달성하는 데 도움이 되었습니다. 네트워크에서 엄청난 양의 활동을 통해 메인넷을 향한 여정에서 또 다른 중요한 단계를 밟았다는 확신을 갖게 되었습니다. 더 나은 Sui 을 만들기 위해 참여하고 도와주신 모든 분들께 큰 감사를 드립니다!

웨이브 2에서 놀랍고 광범위한 학습이 이루어졌기 때문에, 저희는 웨이브 2의 모든 것을 요약하는 3부작 블로그 시리즈를 게시할 예정입니다. 첫 번째 블로그에서는 네트워크에서 배운 점을 다루고, 다음 글에서는 토큰노믹스와 프레네미스 게임에 대해 더 깊이 있게 다룰 예정입니다.

통계 스냅샷

웨이브 2 기간 동안 커뮤니티는 3주 동안 33개 시대에 걸쳐 여러 신기록을 함께 달성했습니다.

  • 41개의 유효성 검사기에 연결된 7,000개 이상의 노드
  • 169만 개의 주소
  • 3,650만 건의 트랜잭션(웨이브 1 대비 1.6배 증가)
  • 324만 NFT
  • 118,614개의 패키지가 게시됨(웨이브 1 대비 45배 증가)
  • 134만 SUI 스테이크
  • 735만 건의 스테이킹 작업 처리
  • 67 피크 TPS 관찰
  • Sui 웨이브 2 기간 동안 월렛 DAU는 2.2배 증가한 17만 1천 명(1월의 이전 3주 대비), Sui 월렛 설치 수는 3배 이상 증가한 33만 3천 명(1월의 이전 3주 대비)을 기록했습니다.
  • Sui Explorer의 페이지 조회수 100만 건, 순 방문자 수 57만 1천 명으로 사상 최고치를 경신했습니다.
  • 600,000명 이상의 회원들이 Sui Discord 세계에서 가장 큰 웹3.0 커뮤니티 중 하나입니다.

특히 웨이브 2 기간 동안 4개의 스마트 컨트랙트가 100만 건이 넘는 거래를 기록했으며, 이는 웨이브 2 전체 거래의 약 40%를 차지했습니다:

  1. Sui의 시스템 오브젝트가 730만 건 이상의 스테이킹 관련 트랜잭션을 처리하며 1위를 차지했습니다.
  2. The 프레네미스 게임 는 게임 플레이 5일 만에 350만 건 이상의 트랜잭션을 기록하며 2위를 차지했습니다.
  3. 세 번째로 활발한 스마트 컨트랙트는 8192 게임(개체 ID 0x137aebf47cd16956b68633b6f6f00a992d87d9c6)로, 2백만 건이 조금 넘는 트랜잭션을 처리했습니다.
  4. 네 번째로 활발한 스마트 콘트랙트는 Sui Capys(개체 ID 0x4c10b61966a34d3bb5c8a8f063e6b7445fc41f93)로, 160만 건의 트랜잭션이 발생했습니다.

특별히 축하드립니다. 8192 커뮤니티 프로젝트의 100만 거래 돌파를 진심으로 축하드립니다! 또한 다음 커뮤니티 프로젝트에도 감사의 말씀을 전합니다. 수스칸 커뮤니티 프로젝트 에도 감사의 말씀을 전합니다.

이러한 새로운 기록과 새로운 수준의 활동은 중요한 소프트웨어 개선 사항을 파악하고 검증자 및 노드 운영자 커뮤니티와 함께 운영 역량을 더욱 성숙시킬 수 있는 기회를 제공했습니다.

주목할 만한 Sui 네트워크 학습

웨이브 1과 마찬가지로 웨이브 2는 Sui의 인프라에 대한 개선 사항을 강조하고 발견하기 위해 설계되었습니다.

지나치게 큰 메시지 또는 트랜잭션 처리하기

웨이브 2는 스테이킹에 중점을 두었기 때문에 네트워크에서 스테이킹과 스테이킹 해제 트랜잭션의 비율이 높았으며, 이는 대규모 네트워크 메시지와 트랜잭션 처리의 한계를 뛰어넘는 데 도움이 되었습니다. 특히, 보류 중인 각 스테이킹 위임과 위임 해제 트랜잭션은 에포크 변경 중에 이벤트를 발생시켰습니다. 이는 생성된 모든 이벤트가 트랜잭션 효과의 일부이기 때문에 에포크 변경 트랜잭션의 트랜잭션 크기에 영향을 미쳤습니다. 웨이브 2에서는 한 에포크 동안 최대 230,000건의 스테이킹 작업이 발생했으며, 그 결과 이 에포크 변경 트랜잭션의 트랜잭션 효과는 매우 커졌습니다.

이러한 초대형 트랜잭션은 여러 가지 문제를 일으킵니다. 에포크 변경 트랜잭션 효과가 너무 커져서 네트워크를 통해 다운로드할 수 없는 경우 에포크 변경이 실패합니다. 트랜잭션 효과가 최대 JSON RPC 응답보다 크면 트랜잭션을 검색할 수 없습니다. 이러한 대용량 트랜잭션을 로드하려고 시도하는 Explorer와 같은 앱은 충돌 위험이 있습니다. 또한 이러한 대규모 트랜잭션은 네트워크가 처리하기에는 계산적으로 너무 비쌀 수 있습니다. 웨이브 2 기간 동안 저희 팀은 대규모 트랜잭션으로 네트워크를 계속 운영하기 위해 여러 차례 긴급 한도 증액을 적용해야 했습니다.

이러한 발견 덕분에 오브젝트, 패키지, 다양한 트랜잭션 데이터(입력 인수, 트랜잭션 효과, 이벤트)에 대한 보호 크기 제한을 추가하는 작업을 가속화할 수 있었습니다. 이러한 제한은 메인넷에서 지나치게 큰 트랜잭션으로 인해 스토리지, 네트워크, 연산 리소스가 과부하되지 않도록 하는 데 도움이 될 것입니다.

트랜잭션의 유형 인수 입력 처리를 더욱 강력하게 지원

2월 1일에 유형 인수의 트랜잭션 입력으로 Move 모듈이 지정된 경우 트랜잭션 처리 로직이 Move 모듈의 종속성(즉, 해당 유형이 속한 모듈이 게시되었는지 여부)을 제대로 검증하지 못하는 버그를 발견했습니다. Move 패키지 게시가 비잔틴 일관된 브로드캐스트 빠른 경로를 통해 이루어지기 때문에, 일부 유효성 검사기가 게시된 Move 모듈을 다른 유효성 검사기보다 먼저 인식하고 유형 인수에 이 모듈을 사용하는 트랜잭션의 유효성에 대해 동의하지 않을 수 있습니다. 이러한 트랜잭션 중 하나로 인해 시스템이 다음 체크포인트를 형성하지 못했고, 그 결과 다수의 풀 노드가 중단되고 검증자가 분기(또는 갈라짐)되었습니다. 이것이 2월 1일 새벽에 발생한 테스트넷 웨이브 2 중단의 주요 원인이었습니다.

타입 인수에 잘못된 입력 모듈이 있는 커밋된 트랜잭션이 있는 경우에도 테스트넷을 계속 진행하기 위해 저희 팀은 여러 가지 긴급 수정 작업을 수행했습니다:

  • 항상 유형 인수의 모듈이 게시되었는지 확인합니다.
  • 커밋된 유효하지 않은 트랜잭션이 실패하여 실행을 완료하도록 허용합니다.
  • 게시되지 않은 유형 인수가 있는 트랜잭션이 더 이상 커밋되지 않도록 방지합니다.


트랜잭션 입력 확인 로직이 타입 인수에 입력으로 삽입되는 Move 모듈이 아닌 객체 ID를 거부하지 않는 두 번째 버그가 발견되었습니다. 유형 인수는 Move 모듈이어야 하기 때문에 트랜잭션이 완료되지 않고 다음 체크포인트가 형성될 수 없습니다. 그래서 저희 팀은 네트워크를 복구하기 위해 문제가 있는 트랜잭션에 실행 오류를 발생시켜 강제로 실패하도록 하는 긴급 수정 사항을 추가해야 했습니다.

두 버그에 대한 장기적인 수정 사항은 Sui 저장소에 다음과 같이 추가되었습니다. 입력 객체 생성 수정 #7940.

일각고래 합의 지연 시간 개선

웨이브 1과 마찬가지로 테스트넷 웨이브 2는 41명의 탈중앙화된 검증자와 함께 일각고래 합의를 더욱 특성화할 수 있는 소중한 기회를 제공했습니다. 웨이브 2 기간 동안 저희는 몇 가지 합의 지연 시간 단축 최적화를 수행할 수 있는 기회를 가졌습니다(두 검증인에 대한 병렬 합의 제출, 병렬 인증서 검증, min_header_delay 매개변수, 1초 min_header_delay). 우리는 지속적으로 성능을 반복하고 있으며 더 많은 최적화 를 계획하고 있습니다.

주목할 만한 개발자 경험 학습 내용

네트워크의 안정성을 확보하는 것이 최우선 과제였지만, 저희의 장기적인 목표는 Sui 빌더가 웹3.0을 위한 최적의 경험을 만들 수 있는 최고의 스마트 컨트랙트 개발자 플랫폼이 되는 것입니다. 이를 위해 웨이브 2 기간 동안 개발자와 사용자의 마찰 지점을 모니터링하기도 했습니다.

코인 관리

웨이브 2 기간 동안 몇 가지 요인으로 인해 사용자가 코인 관리 문제를 겪을 가능성이 높아졌습니다. 이러한 문제는 일반적으로 가스비 부족 오류 또는 사용자가 거래에 충분한 SUI 잔액을 보유하고 있는 것처럼 보이는데 스테이킹 버튼이 회색으로 표시되는 등의 형태로 나타났습니다.

때문에 검증자 게임 이 네트워크에서 활발하게 진행되었기 때문에, 기준 가스 가격이 변동하고 에포크마다 평소보다 큰 폭으로 상승하는 것이 가능했습니다. 높은 가스 가격의 변동은 사용자가 가스 요금으로 충분히 높은 가치를 지닌 단일 코인을 보유할 가능성을 낮출 수 있습니다. 둘째, 초기 기준 가스 가격이 데브넷보다 높은 수치로 설정되어 사용자가 여러 코인을 보유할 가능성이 낮아지고 코인이 더 빨리 소진될 수 있습니다. 마지막으로, 스테이킹 작업은 본질적으로 사용자가 하나 이상의 검증인에게 기존 SUI 잔액을 위임하는 방식으로 이루어집니다. 그러나 사용자의 SUI 잔액의 코인 레이아웃이 항상 의도한 스테이킹 작업과 일치하지 않을 수 있습니다.

웨이브 2에서는 상황을 완화하기 위해 여러 가지 변경이 이루어졌습니다:

  • 기준 가스 가격이 높은 기간 동안 기본 수도꼭지 금액을 인상했습니다.
  • 우리 해결Sui 클라이언트가 가스_예산 * 가스_가격이 아닌 가스_예산보다 큰 가스 개체를 선택하는 SDK의 버그가 해결되었습니다.
  • Sui 지갑 스테이킹에 기본 코인 관리가 추가되었습니다.에서 각 스테이킹 작업에 대해 페이수이 트랜잭션을 사용하여 위임용 스테이킹 코인과 위임 자금을 위한 가스 코인을 구성했습니다.

곧 다음을 지원할 계획입니다. 프로그래밍 가능한 트랜잭션을 지원하여 애플리케이션의 코인 관리를 간소화할 계획입니다. 계속 지켜봐 주세요!

더 많은 테스트넷 성공 사례

각 테스트넷 웨이브는 떨림과 흥분을 동시에 선사합니다. 저희는 Sui 커뮤니티의 모든 분들과 협력하여 의도적으로 네트워크의 스테이킹 기능을 한계까지 밀어붙였고, 그 정신으로 테스트넷 웨이브 2 기간 동안 Sui 을 성공적으로 강화했습니다.

부하를 생성하고 문제를 발견하는 데 도움을 준 커뮤니티의 경이로운 참여에 큰 감사를 표하고 싶습니다. 다음 이정표는 더 이상 일시적인 것이 아닌 빌더 커뮤니티를 위한 영구적인 테스트넷을 출시하는 것이며, 그때까지 더 많은 협업을 기대합니다.

테스트넷 웨이브 2의 학습 내용을 설명하는 두 개의 기사를 더 기대해주세요!