블록체인/레벨 VIII · 밈코인 시대/8.1 솔라나 이야기/수업 1
기원: 역사의 증거
검증 가능한 시계와 그 비용을 지불하는 하드웨어
준비물솔라나 블록 탐색기(예: Solscan 또는 Solana Explorer)아나톨리 야코벤코가 쓴 솔라나 백서(2017년)Turbine, Gulf Stream, Sealevel에 관한 Solana 문서
호기심
- 분산된 노드들은 지속적인 동기화 없이도 이벤트의 순서에 대해 어떻게 합의할 수 있을까?
- 결정론적 리더 스케줄링은 왜 병렬 트랜잭션 실행을 가능하게 하는가?
- 밀리초 단위의 블록 생성 시간과 검증자 하드웨어 요구 사항 사이에는 어떤 관계가 있나요?
탐구
- 아나톨리 야코벤코는 2017년 11월에 프루프 오브 히스토리(PoH)를 소개하는 솔라나 백서를 발표했습니다. PoH는 이전 값으로부터 파생된 일련의 SHA-256 해시 값을 생성합니다. 이 암호학적 메커니즘은 검증 가능한 시계 역할을 합니다. 검증자들은 모든 거래마다 서로 메시지를 주고받지 않고도 시간 순서를 파악하는 데 이를 활용합니다. 이러한 방식은 전 세계적인 동기화를 위해 왕복 지연 시간에 의존하는 합의 프로토콜에 비해 통신 오버헤드를 줄여줍니다.
- 솔라나는 PoH와 Tower BFT를 통한 스테이크 기반 투표 방식을 결합합니다. 메인넷 베타는 2020년 3월 16일에 출시되었습니다. 블록들은 예약된 리더에 의해 약 400밀리초 간격으로 생성됩니다. 이러한 결정론적인 일정 덕분에 검증자들은 자신이 언제 블록을 생성할지 정확히 알 수 있습니다. 트랜잭션들은 글로벌 멤풀을 거치지 않고 미리 다음 리더에게 전달될 수 있습니다. 완전한 최종 확정에는 약 32개의 슬롯, 즉 약 13초가 소요됩니다.
- 터빈은 트리 구조를 활용하여 블록들을 작은 조각들로 나누고, 이를 네트워크 전역에 병렬적으로 분산시켜 블록 전파 과정을 처리합니다. 전파가 지연되면 처리량이 현저히 감소합니다. 걸프 스트림은 트랜잭션이 블록에 포함되기 전에 이를 다음 리더들에게 직접 전달함으로써 메모풀의 혼잡 문제를 해결합니다. 이를 통해 검증자들은 가능한 한 빨리 트랜잭션 데이터를 받을 수 있어 지연 시간이 줄어들고, 트래픽이 많은 시기에 발생할 수 있는 병목 현상도 방지됩니다.
- Sealevel은 트랜잭션이 미리 계정 의존성을 명시하기 때문에 스마트 컨트랙트의 병렬 실행이 가능합니다. 두 트랜잭션의 계정 의존성이 없다면, Sealevel은 여러 CPU 코어에 걸쳐 이들을 동시에 실행합니다. 이는 논리적 독립성과 상관없이 각 트랜잭션이 이전 트랜잭션의 완료를 기다려야 하는 순차적 실행 방식과는 대조됩니다. 이 아키텍처는 하드웨어 활용도를 극대화함으로써 초당 수천 건의 트랜잭션 처리를 목표로 합니다.
- 그 대가로는 강력한 검증자 하드웨어가 필요합니다. 높은 처리량을 유지하려면 슬롯 시간을 관리하기 위해 상당한 처리 성능과 네트워크 대역폭이 요구됩니다. Jump Crypto의 Firedancer라는 또 다른 독립적인 클라이언트는 2024년 9월부터 하이브리드 형태인 ‘Frankendancer’로 메인넷에서 처음 운영되었으며, 2025년 12월부터는 완전한 독립적인 클라이언트로서 작동하기 시작했습니다. 이를 통해 네트워크에 다양성이 추가되어, 합의 및 실행 로직을 위해 단일 코드베이스에 의존하는 정도가 줄어듭니다.
- 이 아키텍처를 확인하려면 Solana 블록 탐색기를 엽니다. 최근의 슬롯 중 하나를 선택한 다음, 포함된 트랜잭션 목록을 살펴봅니다. 해당 슬롯의 메타데이터에 명시된 특정 검증자가 그 블록을 생성했다는 점에 주목하세요. 블록에 포함된 트랜잭션의 수와 연속적인 슬롯들 사이의 시간 간격도 확인해 보세요. 일반적으로 약 400밀리초 정도이지만, 리더가 블록을 생성하지 못할 경우 일부 슬롯은 생략될 수 있습니다.
핵심 사실
- Proof of History는 SHA-256 해시 시퀀스를 사용하여 거래의 순서를 결정할 수 있는 검증 가능한 타임스탬프를 생성합니다.
- 솔라나의 메인넷 베타는 2020년 3월에 출시되었으며, 각 트랜잭션 처리 시간은 약 400밀리초였습니다.
- 타워 BFT는 프루프 오브 히스토리 클록 위에 합의 메커니즘을 제공합니다.
- 터빈 파편들은 블록들을 작은 조각들로 나누어 검증자 네트워크 전반에 평행하게 전파됩니다.
- 걸프 스트림은 글로벌 멤풀을 우회하여 거래를 차기 리더들에게 전달합니다.
- Sealevel은 사전에 정의된 계정 간 의존성을 활용하여 병렬 실행이 가능하도록 합니다.
연습 아홉, 여섯, 셋, 하나
9모으기솔라나의 아키텍처 또는 합의 메커니즘을 구성하는 9가지 요소를 나열하십시오. 각 요소에 대해 그 주요 기능과 처리량 또는 지연 시간과 관련하여 해결하는 특정 문제를 기술하십시오.
6묶기거래 라이프사이클의 단계에 따라 9개의 구성 요소를 클록/주문, 전파, 실행, 저장, 합의, 클라이언트 구현의 6가지 범주로 분류합니다.
3추리기6가지 카테고리를 솔라나의 높은 처리량을 가능하게 하는 3가지 핵심 설계 원칙으로 축소합니다. 통신에 드는 오버헤드를 최소화하는 방법과 병렬 처리를 실현하는 방법에 중점을 둡니다.
1결정화수밀리초 단위의 블록 시간을 확보하려면 네트워크의 분산화와 하드웨어 리소스 사용량 사이에서 타협이 필요하기 때문입니다.
팩트 체크
날짜, 수치 및 주장은 아래에 명시된 출처들을 통해 확인되었습니다.