Solidity의 가장 강력한 경쟁자: MOVE 언어 및 새로운 공용 블록체인의 부상

Buidler DAO
2022-08-06 13:28:37
수집
Move는 Solidity의 실제 보안 취약점에서 귀중한 교훈을 얻어, 기본적인 보안 설계에서 중대한 혁신을 이루었으며, 언어 표현 능력과 유연성을 보장하는 동시에 오픈 소스 시스템을 더욱 안전하고 신뢰할 수 있게 만들었습니다.

저자:BuidlerDAO

제이슨 |@Jason_chen998|연구원

프랭크 |@MonolithMatrix |BuidlerDAO 연구원

무브 작은 왕자 |知乎:손으로 쓰는 Move 스마트 계약

image 새로운 공공 블록체인 서사에서 두 가지 눈에 띄는 트렌드가 있습니다: 하나는 Move 프로그래밍 언어를 핵심으로 하는 고성능 새로운 공공 블록체인, 다른 하나는 Celestia를 대표로 하는 모듈화 블록체인입니다. 이 글을 통해 우리는 최근 부상하고 있는 Move 언어 계열의 공공 블록체인 3대 거두와 그들의 기술적 관점에서 Move 언어의 장점에 대해 간단히 이야기해 보겠습니다. 기사 개요:

01/ Move 언어 계열 공공 블록체인 3대 거두의 부상
02/ 현재 트랙의 지배자: Aptos
03/ 리소스 특성: Move는 진정한 디지털 자산화를 실현했다
04/ 기술 차이 요약: Solidity 대 Move
05/ Move의 미래 전망 및 학습 과정

1. Move 언어 계열 공공 블록체인 3대 거두의 부상

  • 2019년, 메타(구 페이스북)의 초주권 디지털 화폐 프로젝트 리브라가 세상에 나왔습니다. 예상치 못하게 출발하자마자 정점에 올랐으나, 이후 규제 제한으로 인해 디엠으로 전환되어 무산되었습니다. 올해 1월 말, 디엠은 약 1억 8200만 달러에 메타에 매각되었습니다. 리브라와 디엠 팀은 이 과정에서 솔리디티 및 EVM의 결함을 보완한 Move 언어와 파생된 공공 블록체인 팀, 즉 가장 대표적인 Aptos, Sui 및 Linera와 같은 귀중한 유산을 남겼습니다.

  • 2021년 12월, 가장 먼저 시작한 Sui가 3600만 달러의 A 라운드 자금을 공개했습니다. 투자자는 a16z, NFX, Scribble Ventures, Redpoint, Lightspeed, Electric Capital, Samsung NEXT, Slow Ventures, Standard Crypto, Coinbase Ventures 등이 포함되었습니다.

  • 2022년 3월, Aptos는 2억 달러의 자금을 조달했으며, 역시 a16z가 주도했습니다.

  • 2022년 6월, Linera는 600만 달러의 시드 라운드 자금을 완료했다고 발표했으며, 이번 라운드의 주도 기관은 여전히 a16z이며, Cygni Capital, Kima Ventures 및 Tribe Capital 등이 참여했습니다.

  • 2022년 7월, Aptos는 1억 5000만 달러의 자금을 조달했으며, FTX Ventures와 Jump Crypto가 주도하고, a16z, Multicoin Capital 및 Circle Ventures 등이 참여했습니다. 동시에 Sui는 2억 달러의 B 라운드 자금을 모색 중이며, 기업 가치는 이미 20억 달러에 달했습니다.

  • 2022년 8월, Aptos는 8월 30일에 AIT3(인센티브 테스트넷 3)를 시작할 것이라고 발표했습니다. 프로젝트 팀은 AIT2가 매우 성공적이었다고 밝혔으며, 225개 이상의 커뮤니티 노드가 테스트에 참여하였고, 이는 전 세계 44개국과 110개 도시에서 분포되어 있습니다. 프로젝트 로드맵에 따르면, 메인넷은 해당 테스트넷 종료 후에 출시될 예정입니다.

a16z가 "Move 언어 계열 공공 블록체인 트랙"에 의도적으로 투자하고 있으며, 세 개의 공공 블록체인이 다음 주기의 선두주자로 성장하기를 희망하고 있습니다. Move 언어의 삼각형 균형도 형성되고 있습니다.

세 개의 공공 블록체인 중에서 개발 및 생태계 발전이 가장 빠른 것은 분명히 Aptos입니다. 현재까지 Aptos는 상대적으로 더 강력한 커뮤니티, 더 활발한 개발자 및 더 완전한 dApp 생태계를 보유하고 있으며, 우리는 이 글의 세 번째 부분에서 자세히 분석할 것입니다.

두 번째로 Sui는 자신의 Tokenomics($SUI) 백서를 발표했습니다. 그 경제 모델의 독특한 특징은 계산 비용(computation fees)과 저장 비용(storage fees)을 분리하여 지불하는 것입니다. 사용자가 체인에 데이터를 제출할 때, 그들은 저장 비용과 계산 비용(일명 GAS)을 동시에 지불합니다.

계산 비용은 스테이크 보상에 배분되며, 일부는 저장 기금으로 이전됩니다. 저장 비용은 직접 저장 기금으로 들어가며, 네트워크의 성장과 성숙에 따라 이 기금은 미래 저장 비용 증가를 보조하는 데 사용됩니다. 이러한 설계는 체인 상 데이터의 저장 권한을 사용자에게 되돌려주며, 사용자는 저장 비용을 취소하기 위해 체인 상의 데이터를 삭제할 수 있습니다. 또한 Sui의 개발 도구 키트(SDK)는 Gaming APIs, SuiEcho, Handshake 등과 같은 독특한 SDK를 포함하여 다른 생태계 및 비암호화 애플리케이션과 연결하려고 시도하고 있습니다. 그러나 Aptos와 비교할 때 그 생태계 애플리케이션 배치는 매우 초라하며, 공개된 보고서에서는 몇 개의 지갑 관련 생태 프로젝트만이 있습니다.

image Aptos와 Sui에 비해 Linera는 시작이 늦고 더욱 저조한 모습을 보이고 있습니다. 올해 6월 18일 공식 트위터에서 공식 웹사이트 링크와 사명만을 보여주었습니다. Hive Tech의 "신세대 공공 블록체인이 다시 불가능한 삼각형을 공격하다" 연구를 참고하면, Linera는 이 두 결제 시스템의 속도를 응용형 블록체인 네트워크에 도입하는 것을 목표로 하고 있으며, 체인 상 사용자의 작업이 몇 분의 일 초 내에 확인될 수 있도록 하고 있습니다.

네트워크 성능 측면에서 Linera는 "선형 확장" 개념을 제안했습니다. 즉, 기계 수를 늘려 시스템 용량을 두 배로 늘리는 것입니다. 현재 블록체인은 "순서" 실행 모델을 우선시하여 계정과 스마트 계약이 일련의 거래에서 상호작용할 수 있도록 허용하지만(예: 플래시 대출), 선형 확장을 방해합니다. Linera의 선형 확장 모델에서는 서로 다른 사용자 계정의 작업이 서로 다른 실행 스레드에서 동시에 실행될 수 있습니다.

2. 현재 트랙의 지배자: Aptos

Hive Tech의 보도에 따르면, 올해 3월 Aptos는 개발자 테스트넷을 시작했으며, 5월에는 인센티브 테스트넷 등록을 시작하고 인센티브 테스트넷을 "탈중앙화 시작", "스테이킹", "거버넌스 및 업그레이드", "동적 검증자 토폴로지"의 4단계로 나누었습니다. 현재 그 테스트 네트워크는 2만 개 이상의 노드에 도달하여 오늘날 가장 큰 알려진 지분 증명 노드 커뮤니티가 되었습니다. Aptos는 커뮤니티의 발전이 그들이 이전에 가장 미친 듯이 예상했던 것보다 훨씬 초과했다고 말했습니다. 계획에 따르면, Aptos 인센티브 테스트넷의 나머지 두 단계는 다음 두 달 내에 완료될 것으로 예상되며, 9월 말에는 Aptos가 메인넷을 시작할 것입니다.

장기적으로 새로운 공공 블록체인의 최종 승자는 아직 불확실하지만, 단기적으로 Aptos는 분명히 "Move 언어 계열 공공 블록체인 트랙"의 왕좌를 차지하고 있으며, 이는 개발 속도와 생태계 구축에 의해 확립되었습니다.

Aptos의 스타 팀은 설립 초기부터 많은 스타 자본의 지원을 받았습니다. ForesightNews의 보도에 따르면, 공동 창립자이자 최고 기술 책임자 Avery Ching은 Facebook에서 10년 이상 수석 소프트웨어 엔지니어로 근무했으며, 원래 메타 산하 암호화 플랫폼 Novi 팀의 기술 책임자였습니다. Alden Hu, David Wolinsky 등 대부분의 개발 팀은 Diem, Novi 개발에 참여했습니다.

그들의 설계 초점은 절대적인 안전성, 확장성 및 신뢰할 수 있는 중립성이며, 궁극적인 목표는 1초 이내에 10만 또는 16만 건의 거래를 처리할 수 있는 것입니다. 이러한 강력한 기술 팀 아래에서 Aptos는 자신들의 연구 개발 전투력을 충분히 보여주며 다음과 같은 두드러진 한계를 구축했습니다:

  1. Aptos 팀은 그들의 합의 메커니즘인 비잔틴 내결함성(BFT, 이 개념을 이해하려면 CSDN의 이 기사를 참조하십시오: https://blog.csdn.net/qq_40713201/article/details/124618644)을 4번 반복하여 높은 거래 처리량, 낮은 지연 및 높은 안정성을 달성했습니다. 3분의 1의 검증 노드가 실패할 때에도 안정적인 운영을 보장합니다.

  2. 기존의 공공 블록체인보다 더 빠른 거래 처리 속도를 기대할 수 있습니다. Aptos 테스트넷 데이터에 따르면, 현재 이 네트워크는 초당 1만 건 이상의 거래를 처리할 수 있으며, 이상적인 상태에서 Aptos 메인넷은 초당 16만 건의 거래를 처리할 수 있습니다. 공개된 자료에 따르면, 최근 기관들이 주요 공공 블록체인의 속도를 테스트한 결과, Aptos의 최대 TPS는 솔라나를 포함한 기존의 공공 블록체인보다 훨씬 뛰어납니다.

    image

  3. Aptos는 7월에 30개 이상의 생태 프로젝트를 공식 발표했습니다. 비록 많은 프로젝트가 테스트넷 및 개발 단계에 있지만, 상호작용 가능한 것은 지갑과 DEX뿐이며, 다른 Move 언어 생태 공공 블록체인에 비해 월등히 앞서 있습니다. 현재 발표된 생태 프로젝트 유형에는 지갑(Hive), DEX(Pontem Network), 유동성 프로토콜(NjordFinance), NFT(Topaz.so), 브라우저(Aptosscan) 및 데이터 분석 도구(Dapptos View)와 같은 주요 dApp 트랙이 포함됩니다.

    image

  4. Move 개발 언어와 현재 주류 공공 블록체인인 Solidity 언어의 차별화된 경쟁을 충분히 활용합니다. 우리는 다음에서 기술적 관점에서 Move 언어의 주요 장점을 자세히 해석할 것입니다.

3. 리소스 특성: Move는 진정한 디지털 자산화를 실현했다

Move 언어는 블록체인 스마트 계약을 작성하는 데 가장 적합한 언어 중 하나로 평가받으며, 여러 번 현재 주류인 Solidity와 비교되어 그 우위를 점하고 있습니다. 그 주된 이유는 Move가 블록체인에서 가장 핵심적인 토큰 자산을 보다 적합하게 처리하여 솔리디티의 직관성과 안전성의 결함을 보완했기 때문입니다. 여기서는 Move의 가장 특징적인 리소스 유형에 대해 중점적으로 설명하겠습니다.

자산이 체인에 올라가면서 안전 문제는 블록체인이 해결해야 할 핵심 문제가 되었습니다. Web2에서는 제품 버그나 데이터 유출이 사용자 자산 손실로 이어지기 어렵고, 최대한 제품 붕괴나 개인 정보 유출, 암시장에서의 판매를 초래할 수 있습니다. 그러나 자산이 체인에 올라가면 스마트 계약에서 버그가 발생하면 수많은 사용자 자산이 유출되거나 잠길 수 있습니다.

우리는 뉴스에서 해커가 특정 거래 플랫폼이나 크로스 체인 브릿지를 공격하여 수억 달러의 자산 손실을 초래한 사례를 자주 볼 수 있습니다. BuidlerDAO는 이전에 이러한 사건에 대한 많은 연구 보고서를 작성했으며, 대부분은 계약에서 발생한 비교적 저급한 문제로 인해 해커의 표적이 되었기 때문입니다. 이는 독자가 주목해야 할 중요한 속성을 불러일으킵니다: Solidity는 블록체인 스마트 계약을 위한 프로그래밍 언어이지만, 블록체인 상 자산을 위한 프로그래밍 언어는 아닙니다.

왜 이렇게 말할까요? 예를 들어, Solidity는 대부분의 프로그래밍 언어와 마찬가지로 토큰을 수치 변수로 처리합니다. 즉, 토큰의 전송 과정은 덧셈과 뺄셈 연산을 수행하는 것입니다. 예를 들어, 장삼이 리사에게 10달러를 전송하려면 장삼의 잔액에서 -10을 하고 리사의 잔액에서 +10을 해야 합니다.

따라서 Solidity에서 자산은 더하고 빼는 수치일 뿐입니다. 이 과정에서 계약 코드가 매우 엄격해야 합니다. 예를 들어, 덧셈과 뺄셈 연산 중에 문제가 발생하여 장삼이 -10, 리사가 +20이 되거나 장삼이 -0, 리사가 +10이 되는 경우가 발생할 수 있습니다. 이 과정은 여러 코드 논리를 통해 여러 지갑에서 반복적으로 더하고 빼는 작업을 수행하기 때문에 문제가 발생하지 않도록 보장하기 어렵습니다.

그 이유는 Solidity에서 자산이 특별히 정의되지 않고 단순히 나이, 전화번호와 같은 변수로 간주되기 때문입니다. 자산의 정의는 본래 독특해야 하며, 물리적 세계에서 내가 금괴를 가지고 있고 그것을 어떤 사람에게 주고자 할 때, 중간 과정이 어떻게 되든 그 금괴는 두 개로 변하지 않습니다. 따라서 우리가 일반적으로 말하는 디지털 자산은 Solidity에서 단순히 더하고 빼는 수치로 간주될 뿐, 자산이라고 할 수 없습니다.

Move의 프로그래머블 리소스는 안전하고 강력한 핵심으로, 진정한 의미의 디지털 자산화를 실현합니다. 리소스는 데이터 유형의 일종입니다. 데이터 유형은 데이터 구조를 정의하는 방법입니다:

  • 문자: 예를 들어 이름, 주소는 String 유형입니다;

  • 숫자: 예를 들어 나이, 전화번호는 Int 유형일 수 있습니다;

  • 참/거짓: 대립되는 경우 Boolean의 True와 False로 표현할 수 있습니다.

Move는 토큰 자산이 매우 특별하고 중요한 데이터라고 생각하며, 일반적인 수치 유형으로 정의하고 표현해서는 안 된다고 보아 리소스를 별도로 생성하여 체인 상 자산을 정의합니다. 이러한 방식은 세 가지 특성을 나타냅니다:

  1. 리소스는 Move에서 여전히 수치 형태로 존재하며, 데이터 구조로 저장될 수 있고, 매개변수로 전달되고 반환될 수 있습니다.

  2. 리소스는 안전하게 디지털 자산을 표현할 수 있으며, 그 특성은 복사, 폐기 또는 재사용이 불가능하다는 것입니다. 그러나 안전하게 저장되고 이전될 수 있으며, 리소스 유형의 값은 해당 유형을 정의한 모듈에 의해서만 생성되고 파괴될 수 있으므로 자산의 의미를 구현합니다.

  3. 리소스는 블록체인 애플리케이션의 특성에 적합하게 설계되어 있으며, 계정과의 바인딩이 필요합니다. 리소스 데이터는 반드시 계정 아래에 저장되어야 하므로, 계정이 할당된 후에만 해당 리소스 자산이 존재하며, 리소스는 한 번 꺼내면 반드시 "사용"되어야 합니다. 내장된 Move_form 메서드를 사용하여 자산을 계정에서 꺼낼 때, 반환 값으로 전달되거나 반드시 어딘가로 흐르거나 직접 파괴되어야 하며, 이는 자산을 얼마나 사용하든지에 따라 결정됩니다. Solidity가 어떻게 작동하는지 기억하십니까? 그것은 한 주소의 잔액을 줄이고 다른 주소를 증가시키며, 코드로 인해 줄어든 숫자와 증가한 숫자가 일치하도록 합니다. 따라서 Solidity는 완전히 코드 논리에 의존하여 자산 사용을 강제로 구현하지만, 리소스는 자산 개념을 하부에서 캡슐화하여 더하기와 빼기를 피하고, 자산이 무작위로 생성되거나 접근되지 않도록 하여 보안을 크게 향상시킵니다. Move의 토큰 이동은 한 곳에서 다른 곳으로 옮기는 것으로 볼 수 있으며, Solidity는 더하기와 빼기로, 한 곳에서 줄어들고 다른 곳에서 증가하는 것입니다.

결론적으로, Move는 디지털 자산 발행을 위해 보다 원초적이고 적합한 프로그래밍 언어로, 프로그램과 디지털 자산의 직접적인 통합을 실현합니다.

4. 기술 차이 요약: Solidity 대 Move

비트코인의 스크립트에서 이더리움의 솔리디티로 전환되면서, DeFi의 세례를 거쳐 솔리디티는 분명히 성공적이었습니다. 그러나 최근 6개월 동안의 여러 보안 취약점을 분석하면, PolyNetwork, Horizon, Nomad, Solana 등에서 발생한 사건들은 소름 끼치는 일입니다. 불가능한 삼각형을 비교할 때, 체인 상 자산의 안전성을 보장하는 것이 전체 산업이 시급히 직면해야 할 주요 문제로 부각되었습니다. a16z는 이러한 잠재적 필수 수요를 주목하고 Move의 세 대 공공 블록체인에 대한 투자를 단행했습니다.

미래의 Web3 시대를 맞이하여, 이러한 취약점의 이면에서 VM은 지속적으로 결점을 보완하고 있습니다. 예를 들어, 원래의 오버플로우 문제를 수정하는 등의 작업이 이루어지고 있지만, 하부 설계의 결함은 질적으로 개선하기 어렵습니다. 이전의 개발 경험과는 달리, DeFi 애플리케이션은 본질적으로 오픈 소스이며 투명한 금융 시스템으로, 보안성에 대한 요구가 매우 높습니다. 따라서 금융 시나리오에 맞춰 더 안전하고 신뢰할 수 있으며 낮은 진입 장벽을 가진 스마트 계약 언어를 설계하는 것이 더 나은 선택이 될 수 있습니다. 여기서 우리는 솔리디티와 Move를 심층적으로 비교해 보겠습니다:

image

위에서 볼 수 있듯이, Move는 솔리디티의 기반 위에 많은 특성을 추가하여 뛰어난 안전성과 공학 능력을 갖추고 있습니다. Move는 솔리디티의 실제 보안 취약점에서 귀중한 경험을 얻어 하부 보안 설계에서 중대한 혁신을 이루었으며, 언어 표현 능력과 유연성을 보장하면서도 오픈 소스 시스템을 더욱 안전하고 신뢰할 수 있게 만들었습니다.

예를 들어, 100개의 토큰이 있다고 가정해 보겠습니다. 솔리디티에서는 해커가 100개의 토큰을 쉽게 복사하여 더 많은 토큰을 생성할 수 있습니다(무한 발행 취약점 참조). 그러나 Move에서는 토큰을 리소스 유형으로 정의하기만 하면, 가상 머신 수준에서 토큰이 복사되거나 수정될 수 없도록 보장합니다. 해커는 절대 복사를 통해 토큰을 훔칠 수 없습니다.

Move에 대해 유사한 장점은 많습니다:

  • 리소스 지향 프로그래밍

    Move는 금융 시나리오에 맞춰 강화되어 리소스 지향 프로그래밍을 도입했습니다. FT 및 NFT와 같은 일반적인 시나리오에 대해 Move는 데이터를 리소스로 정의하여 가상 머신 수준에서 데이터의 안전성을 보장합니다.

  • 순수 정적 언어

    동적 호출은 솔리디티의 기초이며, 모든 크로스 계약 호출은 동적 호출을 통해 이루어져야 합니다. 예를 들어 DelegateCall이 있지만, 이는 대부분의 보안 취약점의 진입점이기도 합니다. 솔리디티의 실제 경험을 고려하여 Move는 완전히 순수 정적 구현을 채택하여 체인 상 자산의 안전성을 더욱 보장합니다.

  • 형식적 검증

    형식적 검증(FV)은 수학적 도구를 사용하여 설계 가능한 행동 공간을 분석하는 것을 의미하며, 특정 값의 결과를 계산하는 것이 아닙니다. 즉, 수학적 방법을 통해 프로그램의 안전성을 증명하는 것입니다. Move는 형식적 검증 도구를 내장하고 있어, 우리는 수학적 방법을 사용하여 계약의 신뢰성을 테스트하고 증명할 수 있습니다. 이는 솔리디티와 비교할 수 없는 장점입니다.

  • 분산 저장

    Web3 시대에 사용자가 데이터를 소유하는 것은 소유권을 의미합니다. 솔리디티는 맵 형태로 계약 데이터를 집중 저장하며, 계약에 취약점이 발생할 경우(예: 계약 소유자 권한을 획득한 경우) 모든 사용자 데이터가 공격을 받을 수 있습니다. Move는 리소스를巧妙하게 사용하여 데이터를 각 사용자의 계정 아래에 분산 저장할 수 있으며, 이는 데이터의 안전성을 보장하고 진정한 데이터 소유권을 사용자에게 부여합니다. 계약의 소유자는 데이터를 수정할 권한이 없습니다.

  • 제너릭 프로그래밍 지향

    안전성을 고려하여 Move는 순수 정적 언어로 설계되었지만, 유연성은 감소하지 않았습니다. Move는 제너릭 프로그래밍을 통해 계약의 확장성을 보장하고 코드의 재사용 능력을 증가시킵니다.

5. Move의 미래 전망 및 학습 과정

스크립트에서 솔리디티로의 전환은 계약 표현 능력의 혁신이며, 솔리디티에서 Move로의 전환은 계약 안전 능력의 혁신입니다.

Move는 개발자 친화적입니다. Move 언어의 목적은 개발자의 안전 장벽을 낮추는 것입니다. 계약 개발자는 비즈니스 논리에 집중할 수 있으며, 코드 안전성에 많은 신경을 쓸 필요가 없습니다. 계약 개발자가 무의식적으로 높은 안전성의 코드를 작성하고, 저급 버그로 인한 보안 취약점에서 멀어질 수 있도록 해야 DeFi를 더욱 안전하게 만들고 사용자에게 더 많은 신뢰를 줄 수 있습니다. Move에는 이 글에서 설명하지 않은 많은 우수한 특성(예: 공학 능력)이 있으며, 이는 탐색할 가치가 있는 방향입니다.

새로운 공공 블록체인이라는 뜨거운 주제를 연구하면서, 우리 연구원들은 이번 새로운 공공 블록체인 서사를 이해하기 위해 Move 기술 세부 사항과 공공 블록체인 기술 혁신을 이해해야 한다는 점에 동의했습니다.

체인캐처(ChainCatcher)는 독자들에게 블록체인을 이성적으로 바라보고, 리스크 인식을 실제로 향상시키며, 다양한 가상 토큰 발행 및 조작에 경계해야 함을 상기시킵니다. 사이트 내 모든 콘텐츠는 시장 정보나 관련 당사자의 의견일 뿐이며 어떠한 형태의 투자 조언도 제공하지 않습니다. 만약 사이트 내에서 민감한 정보를 발견하면 “신고하기”를 클릭하여 신속하게 처리할 것입니다.
체인캐처 혁신가들과 함께하는 Web3 세상 구축