앱토스는 첨단 기술을 도입하고 사용자 경험을 향상시킴으로써 웹3.0에 혁신적인 변화를 가져오고 있습니다. 시장에서 가장 빠르고 효율적인 블록체인인 앱토스는 개발자들이 효율적으로 구축하고 최고 수준의 애플리케이션을 만들 수 있도록 지원합니다.
앱토스가 존재하는 주된 이유는 다름 아닌 앱토스 커뮤니티입니다. 우리 네트워크는 빌더와 크리에이터의 열정과 헌신으로 인해 번창하고 있습니다.
커뮤니티와 더불어 앱토스의 또 다른 주목할 만한 요소는 강력한 기술력입니다. 이 글에서는 웹3.0을 재정의하고 실용성을 대폭 향상시키는 앱토스의 획기적인 혁신에 대해 간략하게 설명합니다. 이러한 혁신은 개발자와 사용자 모두에게 원활한 경험을 제공하기 위해 조화롭게 작동하며, 무브(Move) 언어를 사용하여 쉽게 개발하고 기술 기반 사용자 보호 기능의 이점을 누릴 수 있습니다. 무엇보다, 앱토스는 원활하고 사용자 친화적인 경험을 보장합니다.
1. 무브 언어를 통한 빌드 향상
앱토스는 애플리케이션 개발 프로세스를 개선하기 위해 무브 언어를 도입했습니다. 무브는 개발자가 리소스에 액세스하는 데 방해가 되는 불필요한 복잡성을 의도적으로 제거하여 빌드 프로세스를 간소화합니다. 앱토스 프레임워크에 무브를 통합함으로써 개발자는 뛰어난 확장성과 효율적인 개발 경험을 누릴 수 있습니다.
무브는 보안과 안전한 자산 관리에 중점을 두고 표현력과 접근성을 결합한 프로그래밍 언어입니다. 러스트(Rust)가 인프라 개발에 혁명을 일으켰던 것과 마찬가지로 무브는 상호 작용 매핑에 대한 안전하고 효율적인 접근 방식을 웹3.0에 제공합니다.
앱토스 블록체인에 무브 언어가 기본적으로 통합된 것은 핵심 설계 원칙 측면에서 두 언어가 밀접하게 일치한다는 것을 보여줍니다. 이를 통해 기존 무브 개발자는 자신의 프로젝트에 앱토스를 손쉽게 활용할 수 있으며, 무브를 처음 접하는 개발자는 앱토스 도입 이전의 기존 문서, 가이드 및 예제를 활용할 수 있습니다.
앱토스는 언어와 프레임워크 수준에서 다양한 기능을 도입하여 무브 생태계를 크게 향상시켰습니다. 여기에는 더 나아진 보안 아키텍처, 상세하고 사용자 정의 가능한 가스 계량(gas metering), 코드 업그레이드 가능성, 대규모 테이블 및 리소스 계정 지원 등이 포함됩니다. 또한 앱토스는 무브 스마트 컨트랙트에 대한 공식 밸리데이터인 무브 프루버(Move Prover)를 제공하여 컨트랙트 불변성에 대한 추가적인 보호 계층을 추가합니다. 이 밸리데이터는 앱토스 생태계 내에서 활발하게 확장되고 있습니다.
무브 언어의 최초 연구자 및 개발자 중 다수가 앱토스 생태계 내에서 계속해서 빌드하고 커뮤니티를 발전시키고 있습니다. 무브 언어는 4년에 걸친 테스트와 검증을 통해 안전하고 프로덕션에 바로 사용할 수 있는 것으로 입증되었습니다.
2. 더 자유로운 프로그래밍을 위한 블록-STM
블록-STM은 앱토스의 스마트 컨트랙트를 위해 특별히 설계된 혁신적인 병렬 실행 엔진입니다. 소프트웨어 트랜잭션 메모리와 옵티미스틱 동시성 제어( Optimistic Concurrency Control)원칙을 기반으로 작동합니다. 트랜잭션 병렬 처리에 대한 이 독특한 접근 방식은 원활한 개발자 경험을 보장하면서 트랜잭션을 더 빠르게 처리할 수 있도록 합니다.
병렬 실행 엔진은 읽기/쓰기할 데이터에 대한 사전 지식이 필요하여 트랜잭션 원자성을 깨뜨리는 단점이 있습니다. 블록-STM은 이러한 점을 개선하여 개발자가 보다 자유롭게 코딩할 수 있게 해주고, 결과적으로 더 높은 처리량과 더 낮은 지연 시간을 달성하게 됩니다.
개발자는 블록-STM을 사용하여 고도로 병렬화된 애플리케이션을 쉽게 구축할 수 있습니다. 블록-STM은 작업을 여러 트랜잭션으로 분할해야 하는(논리적 원자성을 깨뜨리는) 다른 병렬 실행 환경보다 더 풍부한 원자성을 지원합니다. 이를 통해 지연 시간을 단축하고 비용 효율성을 개선하여 보다 나은 사용자 경험을 제공합니다.
3. 온체인 거버넌스 및 탈중앙화
진정한 탈중앙화 및 무허가 레이어 1을 지원하기 위해 앱토스는 원활한 네트워크 및 가상머신 구성 변경을 가능하게 하는 온체인 거버넌스를 내장하고 있습니다. 앱토스 인센티브 테스트넷 3과 메인넷이 이를 입증합니다.
메인넷의 “투표권 증가(voting power increase)” 한도를 줄임으로써 네트워크의 안정성이 크게 향상되었습니다. 토큰 소유자의 52% 이상의 지지를 받은 이 조정으로 네트워크의 빠른 부트스트랩이 가능해졌습니다. 이 조치는 네트워크의 보안과 안정성을 보장하는 데 결정적인 역할을 했습니다.
앱토스가 시작된 이래로 커뮤니티는 앱토스 블록체인의 운영에 대한 프로포절을 생성하고 참여할 수 있었습니다. 이러한 거버넌스 프로포절은 에포크 기간, 최소 및 최대 밸리데이터 지분과 관련된 변경 사항을 도입하고 핵심 블록체인 코드의 소프트웨어 업그레이드 활용을 가능하게 하는 플래그를 수정할 수 있는 권한을 가집니다. 또한, 무브 개발자를 위한 필수 라이브러리인 앱토스 프레임워크 모듈을 업그레이드하여 문제를 해결하거나 앱토스 블록체인의 기능을 개선하기 위한 제안을 할 수 있습니다.
4. 효율성을 위한 AptosBFTv4 컨센서스
AptosBFTv4는 엄격한 정확성 검증을 거친 최초의 프로덕션 지원 솔루션이라는 점에서 차별화되는 혁신적인 블록체인 BFT(비잔틴 장애 허용, Byzantine Fault Tolerance) 프로토콜입니다. 이 프로토콜은 옵티미스틱 반응성(Optimistic Responsiveness)을 보여줌으로써 기본 네트워크의 기능을 최대한 활용하여 낮은 지연 시간과 높은 처리량을 제공합니다. 핫스터프의 발전된 기능을 기반으로 한 Aptosv4BFT는 커밋 지연 시간을 3단계에서 2단계로 줄여 성능을 한 단계 끌어올렸습니다. 이러한 개선은 통신 측면에서 추가적인 복잡성을 도입하지 않고도 대기 시간을 33% 크게 줄인다는 것을 의미합니다. 이러한 놀라운 성과는 “Jolteon”이라는 간행물에 문서화 되었습니다.
또한, AptosBFTv4는 프로세스의 모든 단계에서 리소스 활용을 최적화하기 위해 프로세서와 유사한 파이프라인 아키텍처를 사용합니다. 이러한 설계를 통해 단일 노드가 다양한 컨센서스 관련 작업을 동시에 수행할 수 있습니다. 이러한 작업에는 블록에 포함할 트랜잭션 선택, 별도의 트랜잭션 세트 실행, 다른 세트의 결과물을 스토리지에 기록, 또 다른 트랜잭션 세트의 결과물을 인증하는 작업이 포함됩니다. 이 접근 방식을 채택함으로써 프로토콜은 순차적으로 실행되는 모든 단계의 누적 시간이 아닌, 단일적으로 가장 느린 단계에 의해서만 처리량이 제한되도록 보장합니다.
보안과 업그레이드 가능성에 중점을 두고 설계된 AptosBFTv4는 불변성을 꼼꼼하게 구분하여 격리하고 효과적인 감사를 수행하여 “노포크(no-forks)” 정신을 구현합니다. 이 소프트웨어 스택은 네 차례의 성공적인 업그레이드와 라이브 네트워크에서의 광범위한 테스트를 거쳐 신중한 개발 프로세스를 보여줍니다. 최신 버전인 AptosBFTv4는 가장 빠르고 완벽하게 작동하는 비잔틴 내결함성 컨센서스 프로토콜로, 실제 배포에 대한 신뢰성과 준비성을 더욱 강화한 것이 특징입니다.
앱토스는 다운타임시에도 중단 없는 네트워크 운영을 보장합니다. 이러한 신뢰성은 온체인 평판 시스템을 통해 달성됩니다. 평판 시스템은 밸리데이터의 과거 가용성과 성능을 평가함으로써 향후 행동을 예측하고 응답하지 않거나 성능이 낮은 밸리데이터로 인한 부작용을 자동으로 완화합니다.
5. 소비자 신뢰를 위한 강화된 안전장치
앱토스는 키 로테이션, 암호화 민첩성, 하이브리드 커스터디 모델을 지원하는 등 계정에 다양한 키 관리 기능을 제공합니다. 키 로테이션은 모범 사례로 간주되며 잠재적으로 다자간 계정을 손상시킬 수 있는 장거리 공격을 방지하는 데 중요한 역할을 합니다. 로테이션을 위해 모든 자산을 새 계정으로 마이그레이션 해야하는 다른 블록체인과 달리, 앱토스는 계정과 키를 분리하여 새로운 디지털 서명 알고리즘을 통합하고 다양한 유형의 퍼블릭 및 프라이빗 키를 지원합니다. 하이브리드 커스터디 모델은 고급 복구 솔루션을 용이하게 하고 효과적인 계정 관리를 가능하게 하여 웹2.0과 웹3.0 기술 간의 격차를 해소합니다.
지갑에는 트랜잭션 사전 실행 기능이 있어 사용자가 서명하기 전에 트랜잭션 결과를 미리 볼 수 있습니다. 트랜잭션에 대한 이러한 사전 평가는 웹3.0 생태계에서 널리 퍼진 피싱 공격 문제를 비롯한 보안 위험을 완화하는 데 도움이 됩니다. 보안 조치를 강화하기 위해 앱토스 블록체인은 시퀀스 번호, 만료 시간, 체인 ID라는 세 가지 보호 조치를 구현합니다. 이러한 조치는 함께 작동하여 각 트랜잭션의 유효성과 실행 가능성을 제한하여 잠재적인 오류나 악의적인 공격으로부터 서명자를 보호합니다.
앱토스 컨센서스 프로토콜은 인증된 스토리지와 결합하여 라이트 클라이언트 프로토콜을 원활하게 지원하며, 안전성과 신뢰성을 높여 사용자 경험을 향상시킵니다. “신뢰하지 말고 검증하라”는 웹3.0 원칙에 따라 앱토스 네트워크는 누구나 전체 노드를 연결하여 인증된 데이터에 직접 액세스할 수 있도록 장려합니다. 이를 위해 앱토스는 효율적인 멀티캐스트 트리 구조를 활용하여 높은 처리량과 짧은 지연 시간으로 네트워크를 촉진하고 블록체인 상태를 참여자에게 배포합니다. 참여자는 시작(제네시스) 이후의 모든 트랜잭션을 처리하거나 전체 블록체인 기록을 건너뛰고 웨이포인트를 사용하여 가장 최근의 상태만 동기화할 수 있는 유연성을 갖습니다. 라이트 클라이언트는 특정 계정이나 데이터 값과 같은 블록체인 상태의 특정 부분을 동기화할 수 있으며, BFT 타임스탬프로 확인된 계정 잔액을 검색하는 등 확인된 상태 읽기 작업도 수행할 수 있습니다. 이러한 포괄적인 접근 방식은 앱토스 생태계 내에서 안전하고 효율적인 라이트 클라이언트 경험을 보장합니다.
6. 미래를 대비하는 네트워크를 위한 모듈형 아키텍처
앱토스는 예전부터 시스템의 각 구성요소를 모듈식으로 유연하게 설계하여 업그레이드가 가능한 것으로 입증된 바 있습니다. 이러한 접근 방식은 앱토스 아키텍처가 정기적인 업그레이드를 수용할 수 있도록 보장하며, 블록체인이 최신 기술 발전을 신속하게 통합할 수 있도록 합니다. 잦은 업그레이드 문화를 수용함으로써 앱토스는 새로운 사용 사례에 대한 탁월한 지원을 제공하여 업계 혁신의 선두를 유지하고 있습니다.
앱토스의 모듈식 아키텍처는 사용자에게 유연성을 제공하고 다운타임 없이 업그레이드가 가능하도록 설계되었습니다. 이 기능은 이전 메인넷 반복, 테스트넷 환경 및 수많은 내부 스트레스 테스트에서 성공적으로 입증되었습니다. 앱토스 블록체인은 온체인 변경 관리 프로토콜을 통합하여 새로운 기술 혁신의 신속한 배포를 촉진하고 새로운 웹3 사용 사례를 효과적으로 지원합니다. 이러한 설계 철학은 블록체인이 진화하는 기술 요구사항과 사용자 요구에 적응하고 대응할 수 있도록 보장합니다.
7. 프로포절 기반 보상 시스템
앱토스 인센티브 테스트넷 3에서는 투표를 기반으로 노드 운영자를 위한 보상 시스템을 구현했습니다. 이 시스템에서는 제안자 노드가 투표의 3분의 2를 받으면 BFT 프로토콜을 사용하여 합의에 도달합니다. 따라서 후속 투표의 3분의 1과 그와 관련된 밸리데이터는 컨센서스에 포함되지 않으며 보상을 받지 못합니다.
이는 지연 시간 경쟁으로 이어질 수 있으며, 메인 노드 클러스터에 가까운 밸리데이터가 더 많은 보상을 받는 경향이 있습니다. 따라서 노드 운영자는 지연 시간을 줄이고 스테이킹 보상을 늘리기 위해 노드를 메인 클러스터에 더 가깝게 재배치할 수 있습니다. 그러나 이러한 관행은 노드의 다양한 분포보다는 공동 배치에 대한 인센티브를 생성하기 때문에 탈중앙화와 지리적 분포에 부정적인 영향을 미칩니다.
이를 해결하기 위해 프로포절 성과에 기반한 보상 시스템을 도입했습니다. 즉, 밸리데이터는 프로포절의 효과에 따라 보상을 받게 됩니다.
프로포절을 기반으로 운영되는 시스템은 투표 시스템에 비해 타임아웃이 길고 지리적 차이로 인한 지연의 영향을 덜 받는 경향이 있습니다. 따라서 외딴 지역에 위치한 노드에 대한 보상 비율이 높아져 지리적 분포의 영향을 줄일 수 있습니다. 예를 들어, 밸리데이터는 가장 큰 노드 클러스터 내에 위치하지 않는 경우 더 적은 보상을 받게 됩니다. 좋은 투표 성과가 프로포절 선출 확률에 영향을 미치기 때문에 이러한 보상 모델은 계속해서 바람직한 투표 행동을 장려합니다.
8. 고성능 희소 머클 트리(Sparse Merkle Tree)
앱토스는 단조롭게 증가하는 버전 기반 키 스키마를 활용하는 젤리피쉬 머클 트리(JMT) 설계를 활용합니다. 이는 특히 LSM 트리(로그 구조 병합 트리)를 기반으로 하는 RocksDB와 같은 기본 스토리지 엔진에서 쓰기 증폭을 최소화하는 데 특화 되어있습니다. 앱토스는 JMT를 활용하여 CPU 사용량, I/O 작업, 스토리지 공간 사이의 균형을 유지함으로써 실용적인 타협점을 찾아냅니다. 이 접근 방식은 시스템이 만족스러운 성능을 제공하는 동시에, 디스크에 지나치게 큰 상태 데이터가 저장되어 효과적으로 처리하기 어려운 문제를 피할 수 있도록 보장합니다.
기존부터 사용되고 있는 앱토스 상태 포맷인 JMT에 더불어, 인메모리 기능에 락이 없는 희소 머클 트리 구현을 추가로 통합했습니다. 이 구현은 캐싱 및 병렬화 목적으로 특별히 설계되었으며, 블록-STM과 함께 작동하여 글로벌 상태에 대한 효율적이고 고성능의 업데이트를 가능하게 합니다.