Phân tích nghiên cứu ban đầu của Web3.com Ventures
0xNhà nghiên cứu cá

Giới thiệu
Với việc ra mắt mạng chính gần đây của Aptos và ra mắt mã thông báo của nó trên Binance và các sàn giao dịch tập trung lớn khác, không có thời điểm nào tốt hơn để viết một bài phân tích mang tính thăm dò về dự án đã được ca ngợi từ lâu này. Là đứa trẻ mồ côi trong nỗ lực của Meta trong việc tạo ra tiền điện tử Libra, Aptos tiếp tục lý tưởng của Libra là trở thành blockchain sẽ hỗ trợ hàng triệu người dùng tiếp theo trong lĩnh vực tiền điện tử.
Trọng tâm bao quát của Aptos là cung cấp một chuỗi khối có thể mở rộng, an toàn và đáng tin cậy [1]. Để làm như vậy, Aptos dựa vào ngôn ngữ hợp đồng thông minh mới, Move, được cho là ngôn ngữ “an toàn hơn” so với “tiêu chuẩn vàng” hiện tại của Solidity của Ethereum. Tất nhiên, Aptos không phải là blockchain L1 đầu tiên tự quảng cáo mình là “có thể mở rộng, an toàn và đáng tin cậy”. Các chuỗi khác, đáng chú ý nhất là Solana, cũng đã cố gắng sử dụng khẩu hiệu này trong quá khứ của họ và đạt được nhiều thành công khác nhau [2]. Trong bài luận này, tôi sẽ cố gắng bắt đầu từ các thuộc tính cơ bản của ngôn ngữ Move, phân tích các nguyên tắc cơ bản về kỹ thuật của Aptos trong bối cảnh các dự án tương tự khác và đưa ra đánh giá quan trọng về tiềm năng cũng như những hạn chế của chuỗi mới hấp dẫn này.
Di chuyển ngôn ngữ
Bạn không thể phân tích Aptos nếu không phân tích Ngôn ngữ di chuyển. Thật vậy, đây được cho là nơi phát huy phần lớn tiềm năng của Aptos. Move ban đầu được phát triển bởi Nhóm Libra của Meta (hiện có tên là Diem) để cung cấp mô hình lập trình hợp đồng thông minh khác biệt về mặt mô hình so với các ngôn ngữ hợp đồng thông minh khác; thay vì áp dụng cách tiếp cận dựa trên giao dịch, Move áp dụng cách tiếp cận dựa trên tài nguyên để xác định các mô hình hợp đồng thông minh [3].
Vậy tất cả những điều này có nghĩa là gì? Bắt đầu với Bitcoin, phần lớn các blockchain đáng chú ý đã áp dụng cách tiếp cận “giao dịch trước tiên”, trong đó mỗi mục trong khối của blockchain là một giao dịch (ví dụ giữa Alice và Bob). Giao dịch là một đối tượng tương đối; để có một giao dịch, cần phải tồn tại địa chỉ Alice và Bob. Để đảm bảo rằng Alice không “chi tiêu gấp đôi” một đồng xu theo cách tiếp cận giao dịch trước, chúng ta cần kiểm tra để đảm bảo không có xung đột với tất cả các giao dịch khác, một rắc rối chắc chắn sẽ làm chậm giao dịch.
Mặt khác, cách tiếp cận “dựa trên tài nguyên” của Move lại khác biệt đáng kể. Thay vì ghi lại các dòng giao dịch từ A đến B, Move ghi lại đối tượng (hoặc tài nguyên) được chuyển nhượng và chỉ cập nhật các thuộc tính tương ứng. Điều quan trọng là tài nguyên là các thực thể nguyên tử - tài nguyên X hiện có không phụ thuộc vào bất kỳ tài nguyên nào khác hiện có, không giống như trong trường hợp giao dịch, trong đó giao dịch T phụ thuộc vào hai tác nhân trước đó là sự tồn tại của A và B. Do đó, việc có cách tiếp cận dựa trên tài nguyên cho phép cấu trúc độc lập, nguyên tử hơn nhiều được tối ưu hóa để thực thi song song.

“Tài nguyên” trong Move thực chất là những đối tượng có những thuộc tính nhất định. Theo thuật ngữ kỹ thuật, chúng được triển khai cấu trúc (tức là cấu trúc dữ liệu vùng chứa) [4]. Tại thời điểm này, những người có nền tảng lập trình Ethereum có thể đặt ra câu hỏi: Solidity cũng có cấu trúc cũng như các cấu trúc dữ liệu khác. Điều gì khiến các cấu trúc trong Move trở nên đặc biệt? Tôi tin rằng sự khác biệt quan trọng nhất là trong khi các cấu trúc trong Solidity có một phần tương đối ngoại vi trong ngôn ngữ (chủ yếu được sử dụng để làm rõ ràng), thì các cấu trúc là nền tảng của mọi thứ trong Move. Hơn nữa, cấu trúc của Move có các “khả năng” khác nhau, bao gồm “sao chép”, “thả”, “lưu trữ” và “khóa”, xác định xem một đối tượng có thể sao chép, có thể lưu trữ, có thể xóa, v.v. [5] hay không. Loại ký hiệu cấu trúc này hoàn toàn khác với Solidity hoặc thực tế là phần lớn các ngôn ngữ lập trình phổ biến (ví dụ: C/C++). Tuy nhiên, những “khả năng” khác nhau này lại mang tính trực quan sâu sắc. Một số thứ bạn có thể “sao chép” như đồng xu hoặc mã thông báo. Một số thứ bạn có thể “đánh rơi” hoặc vứt đi. Những thứ khác, chẳng hạn như một tài sản kỹ thuật số độc đáo, có thể không thể sao chép được. Bây giờ hãy xem xét định nghĩa chính thức sau đây về “tài nguyên” trên Move:
“Chúng tôi thường coi các giá trị cấu trúc là tài nguyên nếu chúng không thể sao chép và không thể bỏ đi.” — Cấu trúc và tài nguyên, Tài liệu ngôn ngữ di chuyển [4]
Vì vậy, “tài nguyên” về cơ bản là những “cấu trúc” duy nhất sẽ luôn ở đó cho bạn. Thật lãng mạn.
Việc xác định lại hoàn toàn “cấu trúc” của Move cho phép nó sử dụng một cấu trúc dữ liệu để xác định ngắn gọn mã thông báo, NFT, hợp đồng thông minh và các tài sản kỹ thuật số khác theo cách tiếp cận mô-đun rõ ràng [6]. Đây là điều mà EVM của Ethereum không thể so sánh được; bất kỳ ai có kinh nghiệm phát triển bằng EVM đều biết việc xử lý các cấu trúc (và cấu trúc lồng nhau) trong Solidity khó chịu đến mức nào.
Điều quan trọng là cách tiếp cận dựa trên tài nguyên của Move đảm bảo sự đảm bảo an ninh của nó. Như sách trắng của Move đã đề cập, trong nhiều chương trình có sự thể hiện gián tiếp của tài sản, điều đó có nghĩa là sự khan hiếm và kiểm soát quyền truy cập không thể mở rộng được. Ví dụ: trong khi sự khan hiếm của Ether được EVM mã hóa cứng và bảo vệ, thì các token ERC-20 khác “không kế thừa các biện pháp bảo vệ này, chúng phải cẩn thận để không tạo ra các lỗi cho phép sao chép, tái sử dụng hoặc mất tài sản,” [4]. Hãy xem xét cuộc tấn công reentrancy cổ điển. Đây là điều đã gây khó khăn cho các dự án EVM từ lâu, thường khiến chúng thua lỗ hàng triệu triệu đô la [7]. Do cách tiếp cận dựa trên tài nguyên của Move, cuộc tấn công vào lại là không thể thực hiện được trên Move. Do đó, rào cản đối với việc mã hóa đầu vào Move được cho là dễ tiếp cận hơn nhiều so với EVM - một yếu tố quan trọng để áp dụng đại trà.
Aptos — Nguyên tắc kỹ thuật
Có thể cho rằng thành tựu lớn nhất của Aptos chỉ đơn giản là đưa Move làm ngôn ngữ ra thị trường. ****Thật vậy, phần lớn thiết kế của Aptos được lấy trực tiếp từ chuỗi khối Diem (Libra) do Meta phát triển. Hãy nhớ lại rằng Aptos là một chuỗi tập trung vào khả năng mở rộng và bảo mật. Có hai triển khai kỹ thuật chính được sử dụng để đạt được điều này. Đầu tiên là ở lớp đồng thuận, cụ thể là cơ chế đồng thuận AptosBFT. Thứ hai là lớp thực thi của nó hoặc công cụ thực thi Block-STM. Hãy xem xét những điều này theo thứ tự.
Đầu tiên, AptosBFT là một cơ chế đồng thuận chịu lỗi Byzantine, về cơ bản có nghĩa là nó có thể tiếp tục đảm bảo an ninh miễn là không quá 1/3 số nút trên mạng là tác nhân độc hại [8]. Đây là một thông lệ tiêu chuẩn: Bằng chứng công việc của Bitcoin, Bằng chứng cổ phần của Ethereum, v.v. đều có khả năng chịu lỗi Byzantine. Vậy AptosBFT thực sự triển khai cơ chế đồng thuận của mình như thế nào? Giống như tất cả các chuỗi Proof-of-Stake khác, Aptos dựa vào các nút xác thực “đặt cược”. Nó triển khai một biến thể của thuật toán đồng thuận HotStuff, một thuật toán PoS hiện đại cung cấp giao thức liên lạc rõ ràng hơn nhiều giữa các nút so với các mô hình trước đó (ví dụ: pBFT) bằng cách để các nút giao tiếp với một “người lãnh đạo luân phiên” thay vì với mọi nút khác [9 ]. Mặc dù AptosBFT giới thiệu một số tính năng tối ưu hóa ngoài HotStuff, đáng chú ý nhất là “cơ chế xoay vòng khóa” (để tăng cường bảo mật) và giảm chi phí hoạt động (để nâng cao khả năng mở rộng), nhưng không có thay đổi lớn về cấu trúc nào đối với thiết kế PoS của HotStuff [10].

Mặt khác, công cụ thực thi song song Block-STM là một thiết kế nguyên bản hơn nhiều và được cho là bước đột phá kỹ thuật chính của dự án [11]. Hãy nhớ lại rằng tài nguyên là nguyên tử - việc trao tay của một tài nguyên X nhất định không phụ thuộc vào bất kỳ tài nguyên nào khác. Bằng cách nhóm các giao dịch thành các khối (như các mảnh ghép Lego), chúng ta có thể tận dụng tính song song lớn trong việc thực hiện các giao dịch tài nguyên, đạt được tốc độ tính toán tăng gấp 20 lần so với Ethereum [11].
Nhưng điều này làm thế nào để so sánh với Solana và các công cụ thực thi song song khác? Đổi mới chính của Solana là mã hóa cứng tất cả các phần phụ thuộc của hợp đồng thông minh để cho phép nó tiến hành thực thi song song. Với tất cả các phần phụ thuộc đã biết trước, công cụ thực thi Solana sau đó có thể khóa các phần phụ thuộc cần thiết trước khi chạy. Mặt khác, Aptos quản lý các phần phụ thuộc một cách nhanh chóng, trước tiên chạy tất cả các giao dịch một cách “lạc quan” và trong trường hợp thất bại, hãy chạy lại những giao dịch cụ thể đã thất bại [12].

Hãy sử dụng một sự tương tự đơn giản để giải thích điều trên. Ethereum là đường một làn, trong đó tất cả ô tô phải đi thành một hàng phía sau nhau, trong khi cả Solana và Aptos đều là đường cao tốc bốn làn. Điều này rõ ràng tăng tốc mọi thứ. Nhưng câu hỏi đặt ra là ô tô di chuyển trên đường cao tốc như thế nào? Trong trường hợp của Solana, về cơ bản mỗi ô tô được chỉ định một làn đường cụ thể và sẽ luôn chạy dọc theo làn đường đó. Điều này rất nhanh và hiệu quả trong trường hợp tốt nhất, nhưng nếu quá trình chuyển nhượng gặp trục trặc thì bạn sẽ gặp phải trường hợp xấu nhất rất tồi tệ. Mặt khác, trong trường hợp của Aptos, trước tiên ô tô được chỉ định một số làn đường, nhưng nếu điều này không hiệu quả thì ô tô sẽ được phép chuyển sang làn đường khác để ngăn ngừa tai nạn. Do đó, mặc dù Aptos có thể không chạy nhanh bằng Solana trong trường hợp tốt nhất nhưng nó đáng tin cậy hơn Solana và có trường hợp xấu hơn tốt hơn [13].
Đánh giá - Tiềm năng và Hạn chế
Aptos’ hiện là chuỗi L1 dựa trên Move lớn đầu tiên và duy nhất đã ra mắt mạng chính. Do đó, việc phát hành mainnet của Aptos là một sự kiện vô cùng mang tính biểu tượng; số tiền và sự chú ý của giới truyền thông mà Aptos thu hút được không nhất thiết tương xứng với sự đổi mới kỹ thuật vốn có của nó.
Như đã đề cập ở trên, cải tiến kỹ thuật chính mà Aptos đã thực hiện nằm ở công cụ thực thi song song Block-STM. Hầu hết các khía cạnh kỹ thuật khác, bao gồm cơ chế đồng thuận và việc sử dụng ngôn ngữ Move, là những sản phẩm kế thừa được cải tiến đôi chút kế thừa từ Meta [14]. Về công cụ thực thi song song Block-STM, không rõ liệu điều này có gây ra sự khác biệt về chất giữa trải nghiệm người dùng trên Aptos so với trải nghiệm người dùng trên Solana hay không; nếu trải nghiệm người dùng giống nhau, người dùng sẽ không quan tâm đến cách nó được triển khai ở cấp độ kỹ thuật.
Giống như bất kỳ dự án cơ sở hạ tầng nào, thành công lâu dài của Aptos phụ thuộc vào những dự án chọn xây dựng trên đó. Hiện tại, các dự án trong hệ sinh thái của nó, chẳng hạn như Liquidswap DEX, thị trường Topaz NFT và dịch vụ miền Aptos Names, trong khi các sản phẩm cần thiết trong bất kỳ hệ sinh thái blockchain nào, lại không đủ độc đáo theo thiết kế của Aptos [15]. Những dự án này giống như cửa hàng tạp hóa, trường học và bệnh viện ở một ngôi làng nhỏ. Mặc dù cần thiết cho hoạt động của ngôi làng nhưng chúng không mang lại cho ngôi làng bất kỳ đặc điểm độc đáo nào không có ở bất kỳ ngôi làng nào khác.
Nhìn lại quá khứ, một phần thành công của Solana có thể là nhờ các dự án như StepN thực sự có thể tận dụng lợi thế về tính song song của Solana. Các dự án GameFi và SocialFi này thường liên quan đến một lượng lớn dữ liệu song song tương đối biệt lập. Do đó, các ứng dụng này đặc biệt phù hợp với các công cụ thực thi song song, chẳng hạn như Aptos và Solana, đồng thời có thể mang lại lượng người tiêu dùng lớn và khối lượng giao dịch cao. Thật vậy, tại một thời điểm, chỉ riêng StepN đã chiếm khoảng ~20% số người dùng trả phí của Solana [16].
Do đó, để Aptos thành công với tư cách là một dự án cơ sở hạ tầng, cần phải có một loạt dự án duy nhất tận dụng tối đa công cụ thực thi song song của Aptos, những dự án không thể thực hiện được trên Ethereum hoặc thậm chí Solana. Với thiết kế Block-STM mới lạ của Aptos, những dự án này có khả năng có thể hình thành dưới dạng một lớp dự án SocialFi mới nơi người dùng tương tác trong các nhóm nhỏ (như trò chuyện nhóm). Bởi vì các nhóm này có thể linh hoạt và năng động, đồng thời cũng có phần độc lập với nhau nên chúng phù hợp với công cụ thực thi song song của Aptos hơn nhiều so với Solana hoặc Ethereum. Nhưng tất nhiên, đây chỉ là một suy đoán trừu tượng.
Tuy nhiên, việc ra mắt mainnet của Aptos vẫn là một sự kiện cực kỳ quan trọng và mang tính biểu tượng trong thế giới tiền điện tử. Nó thể hiện đỉnh cao nỗ lực trong nhiều năm của các kỹ sư Meta trong việc đưa ra một mô hình khác biệt về chất lượng để giải quyết nút thắt về khả năng mở rộng của Ethereum. Các tính năng ngôn ngữ độc đáo của Move có nghĩa là chắc chắn sẽ có các DApp được triển khai trên Move tốt hơn nhiều so với trên Solidity hoặc các ngôn ngữ hợp đồng thông minh khác. Nhưng liệu những dự án đó có nhất thiết phải được triển khai trong hệ sinh thái Aptos không? Không ai biết. Aptos có thể tận hưởng một số lợi thế của người đi đầu khi có thể đưa Move vào sản xuất và gắn tên của nó bằng ngôn ngữ Move. Nhưng đồng thời, nó có thể phải chịu số phận giống như MySpace khi trở thành người đi đầu.
Ít nhất có một điều chắc chắn: Aptos có thể là thử nghiệm đầu tiên trên thị trường với Move, nhưng chắc chắn nó sẽ không phải là thử nghiệm cuối cùng [17].
🐦 @0xfishylosopher
📅 Ngày 22 tháng 10 năm 2022
Tuyên bố miễn trừ trách nhiệm: Nghiên cứu này chỉ nhằm mục đích cung cấp thông tin. Nó không cấu thành lời khuyên đầu tư hoặc khuyến nghị mua hoặc bán bất kỳ khoản đầu tư nào và không nên được sử dụng để đánh giá giá trị của việc đưa ra bất kỳ quyết định đầu tư nào.
Người giới thiệu
[1] Xem trang chính của Aptos Labs: https://aptoslabs.com/
[2] Giới thiệu về Solana: https://www.forbes.com/advisor/investing/cryptocurrency/what-is-solana/
[3] Sách trắng về ngôn ngữ Move: https://diem-developers-comComponents.netlify.app/papers/diem-move-a-lingu-with-programmable-resources/2020-05-26.pdf
[4] Di chuyển Tài liệu dành cho nhà phát triển về cấu trúc và tài nguyên: https://github.com/move-lingu/move/blob/main/lingu/documentation/book/src/structs-and-resources.md
[5] Chi tiết về Khả năng cấu trúc: https://move-lingu.github.io/move/abilities.html
[6] Xem Hướng dẫn di chuyển ngôn ngữ: https://101blockchains.com/move-programming-lingu-tutorial/
[7] https://blog.chain.link/reentrancy-Attack-and-the-dao-hack/
[8] Thông tin chi tiết về Dung sai lỗi của Byzantine: https://decrypt.co/resources/byzantine-fault-tolerance-what-is-it-explained
[9] Mô hình đồng thuận HotStuff: https://hackernoon.com/hotstuff-the-consensus-protocol-behind-safestake-and-facebooks-librabft
[10] Sự đồng thuận của AptosBFT: https://blog.pontem.network/aptosbft-all-you-need-to-know-about-the-bft-consensus-in-aptos-ff4cf22c7a80
[11] Xem tài liệu kỹ thuật Block-STM: https://arxiv.org/abs/2203.06871
[12] So sánh công cụ thực thi Aptos và Solana: https://www.gofyeo.com/post/aptos-vs-solana-a-Technical-comparison-part-1
[13] Phân tích trường hợp xấu nhất của Aptos là O(n2), Solana là O(n⁴). Chi tiết: https://antiape.substack.com/p/cf40447d-d674-4454-9e09-f003517de6de?s=r
[14] Xem Sách trắng Aptos: https://aptos.dev/assets/files/Aptos-Whitepaper-47099b4b907b432f81fc0effd34f3b6a.pdf
[15] Hệ sinh thái Aptos: https://coinmarketcap.com/alexandria/article/what-is-aptos-the-ultimate-guide-to-the-aptos-ecosystem
[16] Từ Twitter của Messari Crypto: https://twitter.com/MessariCrypto/status/1567880625218019333
[17] Xem Sui, một ngôn ngữ dựa trên chuyển động khác: https://sui.io/