지난 이틀 동안 솔라나의 10만 TPS에 대한 논의가 활발하게 진행되었습니다 . 그 이유는 @cavemanloverboy가 솔라나 메인넷에서 10만 TPS 이상을 기록했지만, 대부분의 사람들이 이 데이터의 의미를 이해하지 못했기 때문입니다.
1) 첫째, 케이비의 실험은 본질적으로 "이상적인 조건" 하에서 진행된 극단적인 테스트였습니다. 즉, 이는 솔라나 메인넷의 일반적인 성능과는 다르며, 테스트넷 환경의 랩 데이터와는 차이가 있을 수 있지만 거의 동일합니다.
그는 noop(no operation) 테스트 프로그램을 사용했기 때문입니다. 이름에서 알 수 있듯이, 이 프로그램은 가장 기본적인 서명 확인만 수행하고 바로 성공을 반환합니다. 어떠한 계산도 수행하지 않고, 계정 상태를 변경하지 않으며, 다른 프로그램을 호출하지 않습니다. 각 거래는 200바이트에 불과하며, 이는 일반 거래의 1KB 이상보다 훨씬 작습니다.
즉, 100,000 TPS 테스트는 비정상적인 거래 환경에서 계산되었으며, 애플리케이션 계층의 실제 처리 용량이 아닌 솔라나 네트워크 계층과 합의 계층의 최대 처리량을 테스트한 것입니다.
2) 이 실험의 성공에 또 다른 핵심 요소는 Frankendancer 검증자 클라이언트였습니다. 간단히 말해, Frankendancer는 Jump Crypto에서 현재 개발 중인 Firedancer 검증자의 하이브리드 베타 버전입니다. 즉, Firedancer의 이미 완성된 고성능 구성 요소를 기존 Solana 검증자에 접목한 것입니다.
본질적으로 솔라나의 노드 시스템은 월스트리트와 동일한 고빈도 거래 기술 스택을 사용하여 재구축되었습니다. 이러한 성능 향상은 정교한 메모리 관리 및 맞춤형 스레드 스케줄링과 같은 기본 최적화를 통해 이루어졌습니다. 일부 구성 요소만 교체해도 3~5배의 성능 향상을 얻을 수 있습니다.
3) 이 테스트 실험은 Solana가 이상적인 조건에서 100,000 이상의 TPS를 달성할 수 있음을 보여줍니다. 그런데 왜 일일 TPS가 3,000~4,000에 불과할까요? 그 이유는 크게 세 가지입니다.
1. 솔라나의 POH 합의 메커니즘은 유효성 유지를 위해 검증자의 지속적인 투표를 요구합니다. 이러한 투표 거래만으로도 블록 공간의 70% 이상을 차지하여 일반 거래의 성능 채널이 감소합니다. 2. 솔라나의 생태계 활동은 종종 상당한 상태 경합을 수반합니다. 예를 들어, 새로운 NFT를 발행하거나 새로운 MEME를 출시할 때 동일한 계정에서 쓰기 권한을 놓고 수천 개의 거래가 경쟁하여 거래 실패율이 높아질 수 있습니다.
3. 솔라나 생태계의 중재 로봇은 MEV 혜택을 얻기 위해 대량의 유효하지 않은 거래를 보내 자원 낭비를 초래할 수 있습니다.
4) 그러나 Firedancer의 완전한 배포와 Alpenglow의 합의 업그레이드를 통해 이러한 문제가 체계적으로 해결될 것입니다.
Alpenglow 합의 알고리즘 업그레이드의 핵심은 투표 거래를 오프체인으로 전환하여 일반 거래에 사용 가능한 공간의 70%를 확보하는 것입니다. 또한, 이를 통해 확인 시간이 150밀리초로 단축되어 솔라나의 DEX 환경을 CEX와 매우 유사하게 만들 수 있습니다. 또한, 지역 수수료 시장을 활성화함으로써 단일 인기 Fomo 애플리케이션으로 인해 네트워크 혼잡이 발생하는 당혹스러운 상황을 방지합니다.
성능 최적화 및 개선 외에도 Firedancer의 주요 이점은 클라이언트 다양성을 달성하여 Solana가 Geth Nethermind와 같이 여러 클라이언트를 갖춘 Ethereum과 유사해질 수 있다는 것입니다. 이를 통해 분산화와 단일 지점 노드 장애가 직접적으로 개선됩니다.
위에.
따라서 솔라나의 10만 TPS 논의에 정통한 사람들은 이를 솔라나의 향후 업그레이드된 클라이언트와 합의 프로토콜에 대한 신뢰의 표시로 받아들이는 반면, 이 문제에 익숙하지 않은 사람들은 TPS 군비 경쟁을 이용하여 솔라나를 더욱 눈에 띄게 만들려 하고 있습니다 (TPS 경쟁은 이미 시대에 뒤떨어진 개념이지만요). 하지만 이 실험의 의미를 이해한다면, 여전히 상당한 보람을 느낄 수 있을 것입니다. 대중 과학을 위해 이 실험 결과를 공유하겠습니다.
