공유 체인 경주가 다시 시작되었고, Move 계열의 새로운 공유 체인이 두각을 나타내고 있다
저자: IOBC Capital
블록체인이 탄생한 이후, 전체 산업은 몇 차례의 주기적 교체를 겪었습니다. 현재 가장 풍부한 생태계와 큰 영향력을 가진 이더리움은 성능 문제와 비용 문제로 많은 비판을 받고 있으며, 주기 중에 계속해서 후발 주자에게 도전받고 있습니다.
지난 주기에서는 Solana, Polygon, Fantom, Near 등 새로운 Layer1 프로젝트들이 등장하여, 이들은 모두 기본 공용 블록체인에서 개선과 탐색을 시도하고 있습니다.
주기가 새로운 약세장에 접어들면서, 새로운 공용 블록체인들이 주목받고 있습니다. 그 중 가장 주목받는 것은 Move 프로그래밍 언어를 채택한 Libra 계열 프로젝트인 Aptos와 Sui입니다.
2019년, 당시 Facebook(현재 Meta로 변경됨)은 전 세계에서 유통되는 암호화폐 Libra(후에 Diem으로 변경)를 출시한다고 대대적으로 발표했습니다. 그러나 규제 등의 문제로 Libra 프로젝트는 실현되지 못했습니다. 하지만 이는 팀이 혁신적인 Web3 프로젝트를 진정으로 구축하기 위해서는 전통적인 분야를 완전히 벗어나 암호화 분야로 진입해야 한다는 것을 깨닫게 했습니다.
Aptos와 Sui의 개발자들은 모두 Libra의 핵심 개발자들이며, 그들은 Libra 프로젝트에서 사용된 프로그래밍 언어인 Move 언어를 계승하여 이 두 개의 새로운 공용 블록체인을 구축했습니다.
이 글에서는 Move 언어의 몇 가지 특징과 이 두 개의 공용 블록체인의 현황을 간단히 소개하겠습니다.
Move 언어
Move 언어는 스마트 계약을 작성하는 데 가장 적합한 언어로 알려져 있습니다. 많은 사람들이 이를 현재 주류인 Solidity 언어와 비교하며 Move가 Solidity보다 우수하다고 생각합니다. 이는 Move가 탄생할 때부터 블록체인 자산을 위해 관련 최적화를 이루었기 때문입니다.
자산 안전성
거의 모든 블록체인 프로젝트는 자체 암호화 자산을 보유하고 있습니다. 자산의 가치 증가는 프로젝트 발전의 결과이자 동력이기도 합니다. 자산 안전성은 본래 프로젝트 발전의 최우선 과제가 되어야 합니다. 그러나 암호화 산업에서 자주 발생하는 자산 도난 및 손실 사건은 아직 산업에 진입하지 않은 많은 투자자들에게 두려움을 주고 있습니다.
슬로우 데이터 통계에 따르면, 2022년 상반기에는 약 100건의 DeFi 보안 사건이 발생했으며, 손실은 16억 3천만 달러를 초과했습니다. 이 중 프로젝트 결함과 계약 취약점이 주요 원인으로 꼽힙니다.
Move는 디지털 자산을 조작하기 위해 태어난 언어입니다. 처음 Facebook 팀이 Move 언어를 개발한 이유는 Diem을 지원하고 글로벌 금융 및 통화 인프라를 구축하기 위함이었습니다. 따라서 Move는 금융 인프라를 구성하는 다양한 자산과 비즈니스 논리를 인코딩할 수 있는 능력을 가져야 합니다.
Move 언어에서는 자산과 자원에 더 중점을 둡니다. 그들의 말에 따르면 "1급 자원(First-class resources)"입니다. Solidity와 대부분의 프로그래밍 언어는 Token 또는 암호화 자산을 숫자로 처리하며, 자산 이전 과정은 계좌의 숫자를 더하거나 빼는 방식으로 이루어집니다. 예를 들어, Alice가 Bob에게 10개의 token을 전송하려면 먼저 Alice의 잔액에서 -10을 하고, Bob의 잔액에 +10을 해야 합니다. 여러 자산 계좌에서 더하고 빼는 과정에서 보안 취약점이 발생하기 쉬우며, 코드의 엄격성에 의존해야만 자산 안전성을 보장할 수 있습니다.
하지만 Move 언어에서는 자산이 문자열이나 숫자 변수로 정의되지 않고 resource(자원) 유형으로 재정의됩니다. Move 프로그래밍 언어는 자원의 네 가지 속성, 즉 복사 가능(copy), 인덱스 가능(key), 폐기 가능(drop), 저장 가능(store)을 추상화하여, 사용자가 다양한 유형의 자원을 쉽게 정의할 수 있도록 합니다.
자원 우선 개념은 프로그래머가 안전하고 효율적인 코드를 작성하는 데 큰 도움을 줍니다. SUI 개발 팀의 프로그래밍 엔지니어인 Damir는 이렇게 말했습니다: "한 번 객체처럼 생각하기 시작하면, 해시 맵과 같은 프로그래밍 원시 위에서 구축된 추상적 사고가 아닌, 자신이 무엇을 하고 있는지 항상 알 수 있습니다. 마치 무한한 표현성과 명확한 유형 설명을 가진 것처럼------과거는 무엇이었고, 현재는 무엇입니다." 이러한 설계는 자원 조작을 더 구체적이고 명확하게 만듭니다.
Move는 또한 몇 가지 자원의 특성을 정의합니다:
계좌와의 바인딩. Resource 데이터는 반드시 계좌 아래에 바인딩되어야 하므로, 계좌가 할당된 후에만 해당 Resource 자산이 존재합니다. Resource는 한 번 꺼내면 반드시 목적지가 있어야 하며, 반환값으로 전달되어 계좌로 흐르거나 직접 폐기되어야 합니다. Move의 Token 이동은 한 계좌에서 다른 계좌로의 전송으로 이해할 수 있으며, Solidity는 더하기와 빼기로, 먼저 한 곳에서 빼고, 다른 곳에서 더하는 방식입니다.
자산의 접근 권한. Solidity에서는 데이터가 계약에 저장되며, 계약에 취약점이 발생할 경우 해커가 계약 권한을 얻으면 모든 사용자 데이터가 공격받게 됩니다.
그러나 Move에서는 데이터가 계약이 아닌 소유 계좌에 저장됩니다. Move에는 자산을 생성, 전송, 저장할 수 있는 프로그램인 여러 모듈이 있습니다. Move는 공용 모듈 기능만 다른 모듈에서 접근할 수 있도록 규정합니다.
각 resource(객체)는 소유자의 계좌가 제어하는 모듈에 저장됩니다. 모듈에 접근하거나 수정하려면 모듈 소유자의 서명이 필요하며, 서명자는 Move에서 가장 높은 권한을 가지며, resource를 계좌에 추가할 수 있는 유일한 존재입니다. 이 기능은 스마트 계약에서 디지털 자산의 소유권 정보와 특권을 유지할 수 있게 해줍니다. 자산이 스마트 계약으로 전송되면 소유권은 변경되지 않습니다. 이 경우, 스마트 계약이 공격자에게 뚫리더라도 자산은 손실되지 않습니다.
구조 안전성
Move는 Solidity의 보안 사건에서 경험과 교훈을 얻어, Solidity를 기반으로 많은 특성을 추가하여 기본적인 보안 설계에서 큰 혁신을 이루어 시스템을 더욱 안전하고 신뢰할 수 있게 만들었습니다.
Move 언어에는 몇 가지 특징이 있습니다:
정적 호출. 정적 호출이란 무엇일까요? 정적 호출은 동적 호출과 대조되는 개념입니다. 프로그램이 다른 프로그램을 호출할 때, 호출 대상이 실행 시간에 결정되어야 한다면 이를 동적 호출이라고 하며, 반대로 프로그램이 실행 전에 호출 대상을 결정할 수 있고 실행 중에 변경할 수 없다면 이를 정적 호출이라고 합니다.
Solidity의 호출은 모두 동적 호출을 통해 이루어지며, 호출 객체를 확정할 수 없기 때문에 순환 호출이 발생할 수 있어 큰 보안 위험을 초래합니다. 예를 들어 TheDAO 공격, PolyNetwork 크로스 체인 공격 등이 유사한 사건입니다.
Move 언어는 이러한 교훈을 바탕으로 정적 호출 설계를 선택하여 실행 중 프로그램 충돌 가능성을 줄였습니다.
형식 검증. 형식 검증은 수학적 방법을 통해 프로그램의 안전성을 증명하는 것입니다. Move 팀은 사용자에게 Move Prover 도구를 개발하여 수학적 방법을 사용해 계약의 신뢰성을 테스트하고 증명할 수 있도록 하였습니다. 개발자는 몇 분 내에 테스트를 실행할 수 있어 배포 전에 코드의 오류를 발견할 수 있습니다.
간단히 말해, Move는 블록체인 자산과 스마트 계약을 위해 특별히 설계된 언어로, 안전성과 검증 가능성에서 Solidity보다 크게 우수합니다.
이미지 출처: BuilderDao Move를 기반으로 개발된 여러 공용 블록체인, 예를 들어 가장 대표적인 Aptos와 Sui는 더 큰 상상력을 불러일으키고 있습니다.
Move 계열 새로운 공용 블록체인
Aptos는 개발 진행 상황, 생태계 풍부함, 자금 조달 진행 상황을 고려할 때, 현재 Move 계열 새로운 공용 블록체인 중에서 선두 프로젝트입니다.
올해 3월, Aptos는 2억 달러의 자금 조달을 완료했으며, a16z가 주도했습니다. 투자자는 Tiger Global, Multicoin Capital, FTX Ventures, Coinbase Ventures, Binance Labs 등 최상위 기관들이 포함되었습니다. 올해 7월 25일, Aptos는 다시 1억 5천만 달러의 자금 조달을 완료했으며, FTX Ventures와 Jump Crypto가 주도하고, a16z, Multicoin Capital, Circle Ventures 등이 참여하여, 반년 만에 Aptos는 3억 5천만 달러를 모금했습니다.
Aptos는 올해 2월 초에 설립되었지만, 지난 몇 년간의 Libra 팀의 개발 성과를 계승하여 블록체인 안전성, 고성능, 확장성 및 업그레이드 가능성을 추구하고 있습니다. 그 핵심 개발자는 모두 원래 Libra 프로젝트의 개발자들입니다.
현황
올해 3월 15일, Aptos는 개발자 테스트넷을 출시하였고, 5월에는 인센티브 테스트넷(AIT1)을 시작하여 개발자와 파트너에게 메인넷과 유사한 테스트 플랫폼을 제공하고, 네트워크 안전을 보장하는 모든 참여자에게 인센티브를 제공했습니다.
Aptos의 로드맵에 따르면, 인센티브 테스트넷은 4회로 나뉘며, 각각은:
-AIT1: 탈중앙화 시작
-AIT2: 스테이킹
-AIT3: 거버넌스 및 업그레이드
-AIT4: 동적 검증자 토폴로지
Aptos 인센티브 테스트넷 2(AIT2)는 7월 1일부터 시작되어 7월 22일에 종료되었으며, 주제는 스테이킹이었습니다. 총 225개 이상의 커뮤니티 노드가 AIT2에 참여하였으며, 이 노드는 전 세계 44개 국가와 110개 도시에서 분포되어 있습니다. 성공적인 참여자마다 500개의 Aptos 토큰을 받았습니다. 또한, 상위 10%의 투표 노드는 추가로 200개의 Aptos 토큰을 받았습니다.
Aptos 인센티브 테스트넷 3(AIT3)은 8월 30일부터 9월 9일까지 진행되며, 주제는 거버넌스 및 업그레이드입니다.
Aptos는 블로그 글에서 테스트 네트워크가 20,000개 이상의 노드에 도달했으며, 이 테스트 네트워크는 초당 10,000건 이상의 거래를 검증하고 동기화할 수 있으며, 지연 시간은 아시아 수준으로, 10만 TPS를 목표로 하고 있다고 밝혔습니다.
로드맵에 따르면, Aptos는 올해 9월까지 메인넷을 출시할 계획입니다.
안전성
더욱 안전한 Move 언어를 개발 언어로 채택한 것 외에도, 합의 측면에서 Aptos는 최적화된 비잔틴 합의 "Proof-Of-Stake Diem BFT"를 채택하여, 지난 3년 동안 4차례의 합의 측면에서의 반복을 통해 높은 거래 처리량, 낮은 지연 시간 및 더 에너지 효율성을 달성했습니다.
Aptos의 BFT 프로토콜은 네트워크가 안정적으로 운영되도록 하며, 세계적 속도를 유지합니다. Aptos는 신뢰 시스템을 사용하여 검증자 순환을 업데이트하고 "펄세이터"를 사용하여 투표를 동기화합니다. 이 시스템은 1초도 안 되는 시간 내에 거래를 완전히 검증합니다(일반적으로 "최종 확정 시간"으로 알려진 측정값), 이는 생산 중 가장 빠른 블록체인 중 하나로 만듭니다.
안전성을 보장하기 위해 Aptos는 테스트를 위해 많은 검증자를 활성화했습니다. 키 분실 또는 도난을 방지하기 위해 Aptos는 계좌 키 복구 및 순환 프로토콜을 설정하였으며, 이는 Aptos가 모든 계좌가 개인 키를 순환할 수 있도록 지원하고, 검증자는 정기적으로 합의 키를 순환할 수 있도록 합니다. 키 분실을 방지하기 위해 Aptos는 블록체인 계좌 모델에 직접 통합할 수 있는 키 복구 신기술을 개발하고 있습니다.
확장성
Aptos는 Layer1 블록체인이 더 많은 "확장성" 책임을 져야 한다고 주장하며, 이를 통해 주류 채택을 높일 수 있습니다. 처리량과 최종 확정 속도를 높이기 위한 계획에서 Aptos는 합의 프로토콜과 거래 실행을 완전히 분리하여 거래 방송을 가속화할 계획입니다.
Aptos는 성능 향상을 위해 인증 데이터 구조와 관련 상태 저장을 최적화했습니다. 장부 상태(예: 계좌 잔액, 스마트 계약 등)를 검증할 때, 메모리 내의 소규모 머클 트리는 효과적이지만 대규모 머클 트리는 영구 저장소에 기록할 수 없습니다. 이 문제를 해결하기 위해 Aptos는 접근 패턴 최적화를 통한 캐시 및 버전 관리를 탐색하여 인증된 데이터 구조를 설계하고 있으며, Aptos는 대규모 계좌 지원을 개발하고 있습니다.
업그레이드 가능성
블록체인 발전 속도가 매우 빠르기 때문에 새로운 요구에 적응하기 위해 프로토콜 출시 후 지속적인 업그레이드가 시스템의 필수 요구 사항이 되었습니다. 업그레이드 가능성은 Aptos가 강조하는 또 다른 핵심 사항으로, 시작 후 주요 프로토콜 개선이 어려운 문제를 해결하기 위해 Aptos는 블록 검증자의 관리 및 구성을 체인 상태를 통해 직접 수행하여 커뮤니티 투표 후 신속하게 업그레이드를 실행할 수 있도록 합니다. Aptos의 이러한 설계는 지난 몇 년간의 테스트에서 검증되었으며, 몇 차례의 주요 업그레이드에서도 중단이 발생하지 않았습니다.
생태계
Aptos는 Aptos 해커톤을 개최한 적이 있습니다. 올해 6월 말, Aptos는 2억 달러의 생태계 자금 지원 계획을 발표하였으며, 자금 지원 범주는 6가지로 나뉘며, 각각은 개발자 도구, SDK, 라이브러리, 문서, 가이드 및 튜토리얼; 개발, 거버넌스, DeFi 및 NFT를 위한 도구 및 프레임워크; 핵심 프로토콜 기여: 토큰 표준, 라이브러리, 프로토콜 업그레이드 등; 오픈 소스 및 공공 제품; 교육 이니셔티브; 애플리케이션입니다.
Aptos에 따르면, Aptos 생태계에는 100개 이상의 프로젝트가 네트워크에서 구축되고 있으며, 현재 생태계의 애플리케이션 중에서 비교적 자세한 소개와 발전 로드맵이 있는 것은 Pontem Network, Econia, Fewcha Wallet, Martian Wallet 4개로, 주로 지갑과 DEX 애플리케이션에 집중하고 있습니다.
Sui
2021년 12월, Move 공용 블록체인 중 가장 먼저 시작한 Sui는 3600만 달러의 A 라운드 자금 조달을 발표하였으며, 투자자는 a16z, NFX, Scribble Ventures, Redpoint, Lightspeed, Electric Capital, Samsung NEXT, Slow Ventures, Standard Crypto, Coinbase Ventures 등이 포함되었습니다. 올해 7월 12일, Sui는 2억 달러의 B 라운드 자금 조달을 모색하고 있으며, 평가액은 20억 달러에 달합니다.
Sui의 개발 팀은 Mysten Labs로, 그들은 자신의 고성능 Layer1 지분 증명(PoS) 블록체인 Sui를 설계하였으며, 올해 3월에 출시되었습니다.
Aptos와 마찬가지로 Sui도 Diem의 개발 언어인 Move를 사용하지만, Sui의 객체 모델은 Aptos와 약간 다릅니다. 현재 Sui는 그들의 경제학 백서를 발표하였으나, 개발 진행은 다소 느립니다.
Move 언어 사용에 있어 Sui는 업그레이드 조정을 통해 이 언어가 동질적 암호화 자산(FT)의 스마트 계약을 작성할 수 있을 뿐만 아니라 비동질적(NFT) 자산의 스마트 계약도 작성할 수 있도록 하였습니다.
네트워크 성능과 관련된 확장성 측면에서 Sui는 거래 병렬화(transaction parallelization)를 주도하고 있으며, 이는 네트워크가 동시에 여러 거래를 처리할 수 있음을 의미합니다. 대부분의 블록체인에서는 거래가 순차적으로 진행되어야 하며, 이러한 거래 간에는 종종 아무런 연관이나 의존성이 없습니다. 이는 거래량의 확장을 제한합니다. 그러나 Sui는 한 거래의 관련 데이터를 잠그고 독립적으로 검증하여 거래 병렬 처리를 완료할 수 있습니다.
합의 프로토콜 측면에서 Sui는 종속 관계가 있는 거래에 BFT 비잔틴 합의를 사용하고, 독립 거래에 대해서는 비잔틴 방송 알고리즘을 사용하여 병렬 검증을 수행하므로 높은 TPS를 보장하면서 노드 간 통신을 줄여 극히 낮은 지연 시간을 실현합니다.
현황
이번 달, Sui는 인센티브 테스트넷을 시작할 예정이며, 현재 테스트넷 등록이 열려 있습니다. Sui 재단은 검증자가 참여하는 각 테스트 네트워크 웨이브에 대해 2000개의 SUI 토큰을 보상할 것입니다. 로드맵에 따르면, 테스트넷은 4개의 웨이브로 나뉘며, 그 중 세 개의 웨이브는 각각 네트워크, 스테이킹 및 업그레이드로 주제가 확정되었습니다.
생태계
현재 Sui 생태계에서 공개된 프로젝트는 8개로, 주로 지갑, 체인 게임 및 NFT입니다.
결론
Move 언어는 Solidity의 경험과 교훈을 바탕으로 다방면에서 혁신과 개선을 이루어내어 안전성이 크게 향상되었으며, 스마트 계약 개발에 더욱 적합해졌습니다. Move 언어를 기반으로 한 새로운 공용 블록체인들은 Layer1 발전에 더 큰 상상력을 불러일으키고 있습니다. 최고의 투자 기관들이 잇따라 진입함에 따라, 최종적으로 공용 블록체인 트랙에서 누가 승리할지는 아직 알 수 없습니다.