앱토스 (Aptos) vs 수이 (Sui) 전격 비교
최근 크립토 업계에서 가장 핫한 주제를 꼽으라면 단연 Aptos와 Sui의 대결 구도다. 두 프로젝트 모두 한때 전세계의 관심을 불러일으켰던 메타의 블록체인 사업인 Diem (전 Libra) 프로젝트로부터 파생된 신생 Layer1(L1)인만큼 업계의 기대감도 무척 큰 상황이다. Aptos와 Sui, 두 L1 중 누가 왕좌를 차지하게 될 지 관심이 쏠리고 있는 가운데 이들의 공통점과 차이점을 짚어보도록 하겠다.
요약
최근 옵티미즘과 스타크넷 토큰 출시 발표 및 폴리곤의 zkEVM 발표 등의 영향으로 모듈러 블록체인이 대세로 부상하고 있다. 그 와중에 솔라나와 같이 L1만으로 충분하다고 주장하는 강력한 모놀리틱 L1 후보자들이 등장하면서 L1 vs L2 담론이 다시 한 번 대두되고 있다. Aptos와 Sui 둘 다 베이스 레이어에서 확장성 문제를 해결하려는 초고속 L1블록체인이라는 측면에서는 유사하나, 합의 알고리즘이나 설계 구조 등 높은 확장성을 구현해내기 위한 접근 방식과 비전이 다르다는 점이 흥미롭다. 앱토스가 정석 L1에 가깝다면, Sui는 자유로운 개발 환경을 갖춘 객체(object) 중심의 블록체인으로 셀프 브랜딩을 하고 있다. 여기서 말하는 객체가 무엇인지는 ‘Sui 합의 알고리즘’ 파트에서 구체적으로 후술할 예정이다.
비전
Aptos - “The safest and most scalable Layer 1 blockchain”
‘국민(The People)’이라는 어원을 가진 앱토스(Aptos) 랩스의 비전은 전세계 모든 사람들이 자유롭게 가상자산에 접근할 수 있는 안전한 환경을 만드는 것이다. 이들은 블록체인이 진정으로 대중화되기 위해선 L1의 보안(security)과 확장성(scalability)이 개선되어야 한다는 문제 의식에서 출범하였다. 앱토스는 가장 안전하고 확장성이 뛰어난 블록체인을 구축하는 것을 목표로 삼고 있으며 개방성(openness)을 통해 credible neutrality를 확보하고자 한다.
Sui - “Build without boundaries”
Sui 랩스의 비전은 수십 억 명의 사용자들이 사용하게 될 Web3 서비스를 개발할 수 있는 블록체인을 만드는 것이다. 구체적으로, Sui는 게임부터 금융 서비스까지 모든 산업에서 적용할 수 있는 플랫폼을 구축하는 것이 목표이며 이를 위해 무엇이든 구현해낼 수 있는 강력한 SDK와 수평적 확장(horizontal scaling)이 가능한 L1블록체인을 개발하고자 한다. 기존 Diem이 결제 트래픽을 처리하는데 특화된 블록체인이었다면, Sui는 그것을 넘어 개발에 한계가 없는 스마트 컨트랙트 플랫폼을 지향한다.
팀
Aptos Labs와 Mysten Labs(Sui)의 주요 경영진들은 메타의 블록체인 사업인 Diem(전 Libra)의 핵심 개발자, 연구원, 및 PM 출신들이다. 두 블록체인간 기술이나 프로그래밍 언어, 출시 시기 등 다양한 측면에서 유사한 부분들이 있는 것으로 보아 이들은 함께 블록체인을 고민하고 연구하면서 서로에게 크고 작은 영향을 주었을 것으로 추정된다. 두 프로젝트의 핵심 인력 모두 애플, 메타, 야후, MS 등 전세계 탑급 테크 업계 출신이자 암호학, 분산 시스템, 보안 전공 박사들로 구성되어 있다. Mysten Labs의 총 직원 수는 +35명, Aptos Labs는 +50명 안팎이다.
투자자 및 밸류에이션
Aptos와 Sui의 주요 투자 현황은 다음과 같다 (아래 표 참고):
두 프로젝트는 펀딩 규모 및 밸류에이션 측면에서 큰 차이를 보이고 있으나, 최근 Mysten Labs에서 $2B 밸류에이션으로 $200M 펀딩을 준비하고 있고 이와 관련하여 FTX Ventures가 리드 투자자로 이미 $140M 이상을 커밋한 것으로 확인되었다. Mysten Labs가 큰 무리 없이 시리즈B 라운드를 마무리하게 될 경우 격차가 눈에 띄게 좁혀질 것으로 보인다. 한편, 고성능 L1블록체인을 구축하려고 한다는 측면에서 두 블록체인과 유사한 솔라나 랩스는 총 $335M 규모의 투자를 유치 한 바 있다.
확장성 및 퍼포먼스
1) BlockSTM
두 블록체인 모두 30억 명 가까이 되는 메타의 유저 층을 온보딩시킬 수 있는 블록체인을 구축 중이었던 Diem으로부터 파생된 만큼 확장성을 가장 큰 무기로 내세우고 있다. 앱토스와 Sui는 각각 160,000 TPS, 120,000 TPS(8코어 M1 맥북 프로 기준. 1코어 기준으로는 25,000 TPS)까지 도달 가능하다고 주장하는데, 이더리움, 아비트럼, 그리고 VISA의 처리 속도가 각각 15, 500, 65,000 TPS인 것을 감안하면 위 수치는 다소 비현실적으로 느껴지기까지 한다. 이러한 속도의 비결은 무엇일까?
핵심은 두 프로젝트 경영진들이 메타에서 근무했을 당시 연구했던 BlockSTM 기술에 있다. BlockSTM은 Software Transactional Memory(ACID 속성을 만족하는 데이터베이스 트랜젝션의 속성을 병렬 프로그래밍에 적용한 기법)를 활용한 스마트 컨트랙트 병렬 처리 엔진(smart contract parallel execution engine)인데, 이는 블록 순서에 따라 트랜젝션을 순차적으로(sequentially) 처리해야 하는 전통적인 블록체인 방식과 달리 아래와 같은 특징을 갖는다.
- 독립적인 트랜젝션에 대해서는 여러 쓰레드(thread)에 나눠 동시에 병렬적으로 실행(execution) (참고. 솔라나도 Sealevel으로 병렬 처리가 가능하다)
- 트랜젝션 순서를 미리 결정 (Pre-defined order)
- 트랜젝션을 우선 실행한 뒤 검증(validation) 및 합의 과정은 나중에 거침으로써 블록체인의 bottleneck를 해소하고 속도를 대폭 향상
그렇기에, BlockSTM 적용 시 블록체인의 최대 TPS는 160k, 일반적으로는 60k 수준이라고 한다. 다만, 실제로 트랜젝션의 검증 과정에서 충돌(conflict)이 생겨 롤백을 해야 하거나 어떠한 이유로 커밋 작업이 중단되는 경우 TPS는 이보다 현저히 낮아질 수 있어 투자자들은 이 점에 유의할 것을 당부하는 바이다. 사실 위 개념은 오래전부터 컴퓨터 과학 분야에서 사용하고 있었던 터라 혁신적인 기술이라고 보기에는 어려우나, 기존의 방식을 블록체인에 접목할 수 있도록 재구성하고 추가적인 안전 장치들을 마련했다는 점에서 대단히 의의가 있다고 생각한다.
이를 가능케 하는 BlockSTM의 핵심 기술들은 다음과 같다:
- 낙관적 동시성 제어(Optimistic concurrency control): 사용자들이 같은 데이터를 동시에 수정하지 않을 것이라고 가정하고 락(lock)을 걸지 않아 멀티 쓰레드를 사용하는 STM의 낙관적 동시성 제어(optimistic concurrency control) 속성을 활용한 방식으로, 트랜젝션을 우선 병렬로 처리하고 검증 과정에서 충돌(conflict)이 생겨 트랜젝션이 커밋(commit)되지 않으면 롤백하여 다시 실행하는 과정을 뜻한다. 어찌 보면 모든 트랜젝션이 이상 없다고 가정하고 우선 실행하는 옵티미스틱 롤업과 유사한 작동 방식이라고 볼 수도 있다. 대부분의 트랜젝션은 문제 없이 처리될 가능성이 높기에 해당 방식을 사용할 경우 속도가 비약적으로 상승할 수 있다.
- Dynamic dependency estimation: 검증에 실패하는 트랜젝션을 최대한 빨리 포착함으로써 비효율성을 줄이기 위한 장치이자 블록체인의 커밋 규칙을 정하는 방식이다. 검증자가 어떠한 트랜젝션 검증에 실패하는 경우 ESTIMATION이라고 태그해 놓는다. 다른 검증자가 해당 트랜젝션을 성공적으로 검증할 때까지 해당 트랜젝션과 의존성(dependency)이 존재하는 모든 트랜젝션들을 실행 및 검증하지 않고 우선 다음 트랜젝션으로 건너뛰는 방식을 뜻한다. 만약 트랜젝션 검증에 실패하는데도 불구하고 해당 트랜젝션과 의존성이 존재하는 트랜젝션들을 실행해 버린다면 관련된 모든 작업을 모조리 롤백해야 하는 리스크가 존재하기에 시간 및 리소스 낭비를 방지하고자 해당 장치를 마련한 것이다.
- Collaborative scheduler: 트랜젝션의 검증과 실행 작업을 쓰레드에 할당해주는 기술로, 트랜젝션의 순서를 미리(pre-defined order) 정해줄 수 있도록 해준다. 트랜젝션 순서는 low transaction 위주로 먼저 처리하는데, 그 이유는 트랜젝션 실행과 검증 작업이 분리된 BlockSTM 구조 상 트랜젝션이 성공적으로 실행되었다고 해서 해당 트랜젝션이 완전히 커밋(commit)되는 것이 아니기 때문이다. 트랜젝션 검증 과정 중 합의를 이루지 못하면 해당 트랜젝션 뿐만 아니라 그 이후에 발생한 트랜젝션까지 모두 롤백 해야 하기에, 최대한 시간 낭비 없이 효율적으로 블록체인을 운영하고자 high transaction을 먼저 실행하는 일은 피하도록 설계되었다.
2) 합의 알고리즘
Aptos - DiemBFT V4
앱토스는 HotStuff BFT 기반의 DiemBFT v4를 합의 알고리즘으로 채택하였다. DiemBFT의 뿌리는 PBFT(Practical Byzantine Fault Tolerance)에 있는데, 이는 동기 네트워크에서만 합의가 가능했던 BFT의 문제를 개선하여 비동기 네트워크인 블록체인에서도 합의를 이룰 수 있게 해주는 방식이다. PBFT의 골자는 비잔틴 노드(즉, 배신자 노드)의 최대 개수가 f개라는 전제 하에, 전체 네트워크 노드 수가 3f +1개 이상이면 네트워크 내에서 이루어지는 합의를 신뢰할 수 있다는 것이다. 코스모스, 이오스, 리플, R3 등 대부분의 블록체인이 PBFT를 조금씩 변형해서 사용하고 있다.
다시 돌아와서, DiemBFT는 기존의 PBFT를 개선한 합의 알고리즘으로, PBFT 대비 네트워크 부하가 적고 합의 속도가 빠르다는 것이 특징이다. 그 이유는 크게 세 가지가 있는데, 1) linear communication과 chaining 기법을 통해 Finality(Safety), 지연시간 및 네트워크 효율성을 개선하였고 (아래 설명 참고), 2) pacemaker를 도입하여 효율적인 timeout 사용을 통해 검증자간 빠른 동기화가 가능해졌으며 3) 평판 시스템(reputation system)을 통해 온체인 현황을 분석하여 리더 노드를 선별하는 과정에서 문제가 있는 검증자들을 빠르게 필터링할 수 있게 되었기 때문이다.
DiemBFT V4, Linear Communication 및 Chaining 방식으로 합의를 이루는 과정
PBFT에서는 리더가 블록 생성 제안을 각 노드들에게 전파하면 노드들이 서로 교차 검증하는 방식을 취하고 있다. 반면에 DiemBFT V4은 이러한 검증 과정을 간소화하고 일방향으로 통일함으로써 노드간 커뮤니케이션 방식을 효율적으로 개선하였다.
위 그림은 DiemBFT V1의 방식으로, V4과 비슷하지만, V4에서는 네트워크 부담을 덜기 위해 검증자들이 투표 데이터를 현재 라운드가 아닌 다음 라운드의 리더에게 전달한다는 면에서 차이가 있다.
Linear Communication 및 chaining 방식을 적용한 라운드 진행 과정은 다음과 같다:
1. 리더가 블록 생성 제안을 검증자들에게 각각 전파한다
2. 검증자들은 검증 결과에 대한 투표를 다음 라운드의 리더에게 전달한다
3. 2/3이상의 검증자들이 투표를 성공적으로 전달할 경우 리더는 QC(Quorum Certificate)을 발행한다.
4. 리더는 이렇게 발행된 이전 라운드의 QC와 함께 새로운 제안을 검증자들에게 전파한다. 단, 유의해야 할 점은 다음 라운드(k+1)의 리더가 QC를 발행하고 검증자들에게 전파했다고 해서 k 라운드 블록이 커밋되는 것은 아니다. K+1라운드에서는 QC만 받고 실제 블록 커밋은 k+2 라운드에서 이루어지는 chaining 방식을 따른다 (아래 그림 참고)
이처럼 Chaining은 블록 검증 과정을 여러 라운드에 걸쳐 진행하는 방식으로, 제안 전파부터 QC 발행 및 생성까지 모두 한 라운드에서 해결하는 기존의 PBFT 방식 대비 네트워크 부하가 적다는 장점이 있다.
Sui - FastPay + Narwhal and Tusk DAG 기반의 멤풀과 효율적인 BFT컨센서스 투트랙 방식
앱토스가 전통적인 PBFT의 효율을 극대화하는 방식을 선택했다면, Sui는 전통적인 블록체인과 근본적으로 다른 구조로 설계되었다. Sui는 객체를 두 종류로 나누어 소유 객체(owned object)와 관련된 단순한 트랜젝션(종류 참고)에 대해서는 합의 과정을 생략하여 처리 즉시 완결성을 보장하고, 공유 객체(shared object)와 관련된 복잡한 트랜젝션에 대해서는 Narwhal and Tusk DAG(Direct Acyclic Graph) 합의 알고리즘을 사용한다. 앱토스와 비슷해 보이면서도 구조적으로 완전히 다른 이유다.
여기서 알아야 하는 것이, P2P 송금이나 메시지 전송과 같은 단순한 트랜젝션에 대해서는 합의 과정을 생략한다는 것은 아무런 검증 과정을 거치지 않는다는 말은 아니고 Byzantine Consistent Broadcast 기반의 단순한 알고리즘을 사용한다는 뜻이다. 해당 알고리즘은 피어 리뷰(peer review)를 통해 보안성이 보증된 Fastpay를 기반으로 하고 있는데, 결제에 특화된 Fastpay는 이론상 80,000 TPS 및 100ms이라는 낮은 지연 시간을 달성하게 해주는 고성능 BFT 알고리즘이다. Sui는 이러한 Fastpay 구조에 위임된 지분에 비례하여 투표권을 산정하는 DPoS 방식을 혼합하였다.
결과적으로, Sui의 트랜젝션 커밋 과정을 간소화하여 설명하면 다음과 같다:
Fastpay
1. 발송인(리더 노드와 유사)이 모든 Sui 검증자들에게 트랜젝션을 전파한다
2. Sui 검증자들은 발송인에게 투표를 보낸다. 투표는 DPoS 구조에 따라 검증자가 소유하고 있는 Sui 지분에 비례하여 가중치를 부여 받는다.
3. 발송인은 비잔틴 저항 요건을 충족하는 해당 표들을 증명서(certificate)로 모은 뒤 검증자들에게 다시 전파하고 트랜젝션을 완결(finalize)한다.
Narwhal DAG
1. 발송인(리더 노드와 유사)이 모든 Sui 검증자들에게 트랜젝션을 전파한다
2. Sui 검증자들은 발송인에게 투표를 보낸다. 투표는 DPoS 구조에 따라 검증자가 소유하고 있는 Sui 지분에 비례하여 가중치를 부여 받는다.
3. 발송인은 비잔틴 저항 요건을 충족하는 해당 표들을 증명서(certificate)로 모은 뒤 검증자들에게 다시 전파한다. 해당 증명서가 비잔틴 합의를 통해 순차적으로 처리된다 (참고:해당 과정이 위 ‘Sui 트랜젝션 검증 과정’ 그림에서 나오는 consensus 과정이다).
4. 증명서가 순차적으로 처리되고 나서 발송인은 트랜젝션을 완결시키기 위해 최종적으로 증명서를 검증자들에게 다시 한 번 전파한다.
Sui가 위와 같은 작동 방식이 가능한 이유는 Sui가 갖는 다음 네 가지 속성 덕분이다. 이를 통해 Sui는 1) 트랜젝션을 병렬적으로 처리할 수 있을 뿐만 아니라 2) 트랜젝션의 성격에 따라 합의 알고리즘을 투트랙으로 운영하여 블록체인 속도를 극대화하였다.
- 여러 트랜젝션을 블록(block)으로 묶어 검증하는 일반적인 블록체인과 달리 Sui는 트랜젝션이 실행되는 대로 바로 검증하고 체인에 저장한다. 이렇듯 Sui는 요청자와 검증자 간 양방향 통신을 보장하기 때문에 낮은 지연 시간(latency)과 즉각적인 완결성(finality)를 자랑한다.
- Sui는 객체(object)의 집합을 저장하는 블록체인이다. Sui의 기본적인 저장 단위는 account가 아닌 객체(object)이며, Sui는 상태(state)의 집합이 아니라 객체를 관리하기 위한 블록체인이다. 여기서 말하는 객체란 Move 패키지(스마트 컨트랙트)에 의해 생성 및 관리되고 프로그래밍이 가능한 객체인데, Move 패키지 자체도 객체이다.
- Sui 객체는 두 가지 종류가 있다: 1) 특정한 소유자만 수정할 수 있는 소유 객체(owned object)와 2) 특정한 소유자가 따로 없고 여러 사람들이 수정할 수 있는 공유 객체 (shared object)
- 객체마다 고유한 ID 값이 있고, 해당 ID 값은 객체가 어떤 트랜젝션으로부터 생성되었는지 혹은 다른 객체들과 어떠한 인과관계 혹은 종속관계가 있는 지 등의 내용을 포함하고 있다. 즉, 객체의 ID값을 확인하면 해당 객체의 인과적 역사를 나타내는 데이터를 확인할 수 있다. 따라서, Sui 검증자들은 ID값을 통해 각 객체들의 인과관계를 파악하여 이중 지불의 문제가 발생하지 않을 만한 독립적인 트랜젝션에 대해서는 병렬적으로 처리할 수 있다.
프로그래밍 언어 - Move
두 블록체인 모두 러스트(Rust) 기반의 무브(Move) 프로그래밍 언어를 사용하고 있다. 무브는 디엠 블록체인에 사용하기 위해 메타에서 개발한 오픈소스 언어로, 현재 Web3 생태계에서 가장 널리 쓰이고 있는 솔리디티(Solidity) 대비 1) 디지털 자산에 대한 표현력이 뛰어나고 2) 높은 수준의 보안성을 가지고 있으며 3) Move Prover라는 검증 툴을 통해 개발자의 의도대로 코드를 작동시킬 수 있다는 것이 특징이다. 또한, 무브는 러스트와 유사하게 메모리 안전성(memory safe)을 제공하여 메모리 관리를 손쉽게 할 수 있게 해준다.
현재 크립토 시장에서는 스마트 컨트랙트의 허점을 이용한 해킹 사례들이 쏟아져 나오고 있다. 스마트 컨트랙트는 일단 실행되면 변경하는 것이 어렵다. 이에 프로젝트들은 디앱 출시 전 여러 차례에 걸쳐 기술 감사를 맡기고 있음에도 솔리디티 컨트랙트의 동적 디스패치, 즉 실행(deploy)하기 전까지는 어떠한 변수가 생길지 알 수 없는 특성상 덕분에 골머리를 앓고 있다. 이처럼 보안 관련 이슈들이 지속적으로 발생하고 있어 취약점이 적은 언어에 대한 수요가 그 어느 때보다 큰 와중에, 무브가 내세우고 있는 보안성과 같은 장점들은 개발자들에게 특히 매력적으로 다가온다. 현재 앱토스, Sui 외에도 파라체인 Pontem, Celo가 대표적으로 무브 언어를 사용하고 있다.
앱토스와 Sui의 미래는?
올해 9월 이더리움 머지(Merge) 이벤트가 예정되어 있는 가운데, PoS전환이 마무리되고 L2 기술이 발전하면 이더리움이 가상자산 시장을 평정할 것이라는 의견이 다수를 차지하고 있는 상황이다. 현재 가상자산 시장내에서 이더리움 생태계가 가장 큰 편에 속하기는 하나, 아직 미래를 속단하기에는 이르다고 판단된다. Web3의 대중화라는 관점에서 살펴보면 이더리움은 아직 메인스트림의 반열에 올라서지 않았을 뿐더러 향후 수십 억 명의 사용자들을 Web3 시장에 온보딩한다고 가정했을 때 기타 L1블록체인들도 먹을 파이가 많이 남아있다. 실제로 Electric Capital의 개발자 보고서에 따르면 2021년 말 기준 전체 Web3 개발자 수는 1.8만 명, 그 중에서도 EVM 개발자 수는 약 4,000명에 불과했다. 2021년 소프트웨어 총 개발자 수가 약 2,700만 명임을 고려 시 이더리움이 전체 개발자 시장에서 차지하고 있는 비중은 고작 0.02%로, Web3 시장은 이제 막 걸음마를 뗀 수준이라고 봐도 무방하다.
이와 같은 측면에서 봤을 때 뛰어난 개발 인력, 풍부한 자원, 그리고 뛰어난 기술력을 바탕으로 높은 수준의 보안성, 확장성, 그리고 편리성을 갖춘 모놀리틱 L1블록체인인 앱토스와 Sui은 충분히 경쟁력이 있어 보인다. 여러 측면에서 비슷한 특징을 가지고 있는 솔라나도 수많은 셧다운과 비판에도 불구하고 두각을 나타내고 있는데, 여기에 앱토스와 Sui는 30억 명의 사용자를 보유하고 있는 메타라는 카드까지 있다. (참고: 디엠 프로젝트는 스테이블코인을 발행하려고 했기 때문에 중단되었다.) 지나치게 낙관적으로 생각하는 것일 수도 있지만, 지갑 및 디앱 서비스만 사용자들에게 제공하는 것이라면 블록체인을 메타 플랫폼에 올리는 것도 불가능은 아닐 것이다. 실제로 앱토스는 현재 테스트넷 단계인데도 불구하고 Anchorage, BNB Chain, Coinbase, Paxos, Rarible 등 다양한 참여자들이 벌써부터 앱토스에서 서비스를 개발하고 있는 것으로 드러났다. Web2 → Web3 과도기에 서 있는 지금, 앱토스와 Sui가 더욱 기대되는 이유이기도 하다.
다른 리서치 보러가기
- 셀시우스 / 3AC / 블록파이 사태 총정리
- XCM으로 완성될 폴카닷 인터체인의 미래
- 폴리곤, 디즈니 엑셀러레이터 선정. 그 이유와 의미는?
- 클레이튼 생태계는 시간이 필요해 (Feat. 쟁글 애널리틱스)