Tiêu đề gốc: "Khám phá FuelVM: Một máy ảo tùy chỉnh được xây dựng nhằm mục đích thực hiện các hợp đồng thông minh"
Tác giả gốc: Ryan Sproule, trung bình
Bản tổng hợp gốc: RR
Bài viết này đến từ tài khoản công khai WeChat: Yuppie cũ
p>
Fuel Labs đang xây dựng một lớp thực thi mới để mở rộng các ứng dụng blockchain thế hệ tiếp theo. FuelVM được thiết kế theo mô-đun - nó có thể đóng vai trò là công cụ thực thi cho bất kỳ chuỗi khối nào. Ban đầu, FuelVM sẽ được triển khai dưới dạng bản tổng hợp lớp 2 cho Ethereum, nhưng về lý thuyết, nó có thể được triển khai ở bất kỳ đâu dưới dạng L2 hoặc thậm chí là L1 khác. FuelVM nhằm mục đích mở rộng quy mô Ethereum mà không tăng yêu cầu về nút mà bằng cách tận dụng tối đa phần cứng hiện có.
Fuel Labs cũng đang xây dựng DSL mới cho FuelVM có tên là Sway để viết hợp đồng. Sway lấy cảm hứng từ Rust và Solidity để tạo ra ngôn ngữ lập trình hợp đồng thông minh lý tưởng.
FuelVM là một máy ảo tùy chỉnh được xây dựng hoàn toàn để thực hiện các hợp đồng thông minh. Fuel VM được thiết kế ngay từ đầu để chống gian lận và có thể được sử dụng làm lớp thực thi giao dịch để triển khai lạc quan.
FuelVM được tối ưu hóa để tận dụng phần cứng tốt hơn nhằm tăng thông lượng thực hiện giao dịch. Cụ thể, nó dựa trên UTXO và buộc mỗi giao dịch phải xác định rõ ràng các UTXO mà nó sẽ chạm vào. Bởi vì công cụ thực thi xác định chính xác trạng thái mà mỗi giao dịch chạm vào nên nó có thể dễ dàng tìm và song song hóa các giao dịch không gây tranh cãi.
Trong hệ thống chuỗi khối hợp đồng thông minh, VM có thể hiểu mã hợp đồng thông minh và thực thi nó theo Hệ thống chuyển đổi trạng thái được thực hiện theo các quy tắc được xác định trong mã. VM là hệ điều hành của chuỗi khối hợp đồng thông minh.
Cho đến nay, máy ảo hợp đồng thông minh chưa có bất kỳ phiên bản lặp lại nào ngoài phiên bản ban đầu do Ethereum cung cấp. Tất cả các chuỗi hợp đồng thông minh hiện đang được sử dụng rộng rãi (trừ Solana) đều sử dụng cùng một VM như Ethereum: EVM.
Hiện tại, EVM là "đủ tốt" vì nút thắt chính cho việc mở rộng quy mô không phải là tốc độ thực hiện giao dịch , mà là băng thông (không gian khối) mà công cụ đồng thuận có thể hỗ trợ. Với sự phát triển của các giải pháp mở rộng lớp 2 và giải pháp DA như Celestia, EIP-4844, Danksharding, EigenDA, v.v., chi phí xuất bản dữ liệu giao dịch tổng hợp lên L1 sẽ không còn là trở ngại lớn nữa.
Trong môi trường sắp tới, nơi băng thông rất rẻ, nút thắt tiếp theo sẽ là thông lượng tính toán Khối lượng: Hệ thống có thể thực hiện các giao dịch nhanh như thế nào trong khi vẫn giữ các yêu cầu phần cứng cơ bản đủ thấp để đạt được sự phân cấp đầy đủ. Ưu điểm của FuelVM là nó được thiết kế có tính đến các yếu tố tương lai này và có thể được tối ưu hóa cho phù hợp.
Bí mật đằng sau máy ảo có khả năng song song hóa của FuelVM là danh sách truy cập nghiêm ngặt - nó yêu cầu người dùng chỉ ra những hợp đồng mà giao dịch của họ sẽ liên quan. Việc kiểm tra thành phần chính xác của các giao dịch trong FuelVM sẽ rất hữu ích.
Đầu vào: Danh sách tất cả các UTXO hợp đồng mà giao dịch sẽ chạm vào + dữ liệu để mở khóa UTXO hoặc kịch bản vị ngữ.
Đầu ra: Xác định UTXO sẽ được tạo
Thông tin về gas: Giá gas + Giới hạn gas
Nhân chứng: siêu dữ liệu + ủy quyền chữ ký số
Nhân chứng: siêu dữ liệu + ủy quyền chữ ký số
p>
Điểm mấu chốt ở đây là danh sách "đầu vào" rõ ràng, liệt kê tất cả các UTXO sẽ được sử dụng. Điều này bao gồm các UTXO hợp đồng "đặc biệt". Nếu VM có thể cho biết giao dịch sẽ chạm vào hợp đồng nào trước khi thực thi bất kỳ mã nào, thì nó có thể thực thi song song tất cả các giao dịch truy cập trạng thái không gây tranh cãi khác một cách an toàn.

Cả việc thực hiện và xác minh giao dịch đều có thể tận dụng tính song song (mức độ xác minh có thể thậm chí còn cao hơn).
Lưu ý rằng vì đầu ra giao dịch được bao gồm rõ ràng trong quá trình xác thực nên nó không được xác nhận bởi người khác nút trước Trong quá trình xác định xem khối được đề xuất có chính xác hay không, các giao dịch chồng chéo không cần phải được thực hiện theo thứ tự. Điều này có nghĩa là việc xác nhận có thể diễn ra hoàn toàn song song bất kể sự tranh chấp giữa các bang. Trong thực tế, điều này có nghĩa là khi các nút đồng bộ hóa với mạng, chúng có thể đạt được khả năng song song cao hơn và bắt kịp nhanh hơn.
Trong EVM, có một tài sản gốc: ETH. Tất cả các tài sản khác được thực hiện thông qua hợp đồng thông minh xử lý kế toán số dư (ERC20). Trong Fuel, các nhà phát triển có thể tự do triển khai nội dung trong hợp đồng thông minh, tuy nhiên, có một tùy chọn cho phép VM xử lý việc này một cách tự nhiên.
Về mặt quản lý số dư, tài sản gốc có một số lợi thế so với hợp đồng thông minh kiểu ERC20. thuận lợi. Đầu tiên, hoạt động của tài sản gốc rẻ hơn so với trạng thái vận hành trong hợp đồng thông minh. Điều này có thể là do nó hoạt động ở mức nguyên thủy cấp thấp hơn (thay vào đó, hệ thống UTXO được sử dụng để thao tác lưu trữ). Thứ hai, tài sản gốc có trải nghiệm người dùng tốt hơn, tương tự như việc gửi ETH đơn giản hơn nhiều so với gửi ERC20 (không cần phê duyệt).
Việc trừu tượng hóa tài khoản luôn là chủ đề nghiên cứu nóng.Trong những năm qua, cộng đồng Ethereum đã có những đóng góp đáng kể cho EIP (EIP-86, EIP-2938, EIP-3074, EIP-4337, Một số lần thử đã được thực hiện trên EIP-5003). Việc triển khai và nâng cấp Ethereum để hỗ trợ việc trừu tượng hóa tài khoản là rất khó khăn, chủ yếu là do băng thông kỹ thuật/nợ kỹ thuật của nhóm cốt lõi cùng với sự phức tạp liên quan và một danh sách dài các dự án có mức độ ưu tiên cao hơn. Nhiều bản tổng hợp có cơ hội triển khai tính năng trừu tượng hóa tài khoản trên môi trường thực thi mới của chúng ngay từ đầu. FuelVM là một trong số đó, và ngoài tính năng trừu tượng hóa tài khoản gốc, nó sẽ bao gồm một tính năng nguyên thủy mới thú vị: các vị từ.

Vị ngữ là tập lệnh hợp đồng thuần túy (không có quyền truy cập vào trạng thái) chỉ trả về giá trị boolean (đúng hoặc sai). UTXO có thể bị khóa phía sau một vị từ, vì vậy chúng chỉ có thể được sử dụng khi đáp ứng các điều kiện được xác định trong vị từ. Điều này dẫn đến một cơ hội trải nghiệm người dùng thú vị, nơi người dùng có thể thiết lập các giao dịch để chỉ thực hiện trong một số điều kiện nhất định và sau đó tự động thực hiện các giao dịch của họ sau khi đáp ứng được vị từ. Ngoài ra, các vị từ có thể được cắt bớt khi bị phá hủy, do đó chúng không gây ra tình trạng phình to.
Ví dụ minh họa đơn giản: người dùng thiết lập giao dịch để mua X miễn là giá đáp ứng ngưỡng được xác định trong Mã thông báo vị ngữ. Thật đáng ngạc nhiên, lệnh giới hạn hoàn toàn không cần sự tin cậy trên chuỗi, không làm tăng trạng thái!
Định giá tài nguyên là một trong những thành phần quan trọng nhất của chuỗi khối hợp đồng thông minh. Duy trì sự phân cấp bằng cách giữ các yêu cầu về tài nguyên trên chuỗi ở mức hợp lý, giá cả phải chăng. Định giá tài nguyên cho phép hệ thống tính phí người dùng cho "công việc" của các nút trong mạng.
Trong EVM, một trong những lý do phổ biến nhất để giới thiệu EIP là việc định giá lại opcode. Điều này là do các opcode có giá gas được mã hóa cứng và giá cơ bản của tài nguyên không tăng theo tỷ lệ (trong lịch sử, CPU cải thiện nhanh hơn SSD). Lý tưởng nhất là các hệ thống này có thể định giá từng tài nguyên hoàn toàn độc lập để toàn bộ hệ thống tính phí có thể điều chỉnh linh hoạt dựa trên những thay đổi trong hệ thống phần cứng cơ bản.
FuelVM sẽ có thể triển khai tính năng định giá đa tài nguyên linh hoạt, điều này có thể khuyến khích các nhà khai thác nút thực hiện tốt hơn Tối ưu hóa phần cứng cơ bản của nó trong khi vẫn tối đa hóa "tiện ích trên mỗi khối".

Bức tranh này chứng tỏ nhu cầu về hợp đồng thông minh cao hơn đáng kể so với các hợp đồng thông minh khác. Với việc định giá tài nguyên cục bộ, các hợp đồng khác sẽ không bị ảnh hưởng ở mức độ tương tự. Airdrop NFT là một ví dụ tuyệt vời về điều này. Điều này không hoàn toàn giống với định giá tài nguyên so với định giá hợp đồng (kiểu Solana), nhưng hiệu quả rất giống nhau. Hợp đồng thông minh với hồ sơ tài nguyên cụ thể có giá khác với các hợp đồng khác. Đối với ví dụ về airdrop NFT, một hợp đồng nóng có thể có hồ sơ tài nguyên cần nhiều dung lượng lưu trữ nhưng rất tốn kém về mặt tính toán. Các hợp đồng thông minh có yêu cầu tính toán liên quan đến việc lưu trữ sẽ không bị ảnh hưởng bởi các airdrop NFT ồn ào.
Chiến lược đột phá ra khỏi thị trường phí tài khoản hoặc hợp đồng của Solana tạo thêm một lớp giữa các nguồn lực cơ bản thực tế và nhu cầu đối với họ sự trừu tượng hóa lớp. Điều này có nghĩa là vẫn có thể xảy ra trường hợp phí rất thấp nhưng áp lực lên nút lại rất cao. Ví dụ: tải lưu trữ trên hệ thống có thể rất cao do một sự kiện (ví dụ: nhiều NFT khác nhau được tạo ra cùng lúc), nhưng phí rất thấp vì không phải tất cả lưu lượng truy cập đều xảy ra trên một tài khoản. Mô hình tính phí cho mỗi tài khoản giải quyết được vấn đề phân vùng nóng các tài khoản, nhưng để lại tình trạng hệ thống không thể định giá chính xác các tài nguyên cơ bản nên vẫn có thể dẫn đến lỗi.
Việc định giá hệ thống dựa trên tài nguyên phần cứng cơ bản sẽ đơn giản và chính xác hơn thay vì cố gắng thêm vào nhiều Lớp trừu tượng dành riêng cho mạng này tính đến việc định giá tài nguyên trên thị trường.
Như nhóm geth đã đề cập nhiều lần, điểm nghẽn hiện tại của geth là I/O của việc đọc và viết trạng thái. Ý tưởng ban đầu là 100% trạng thái Merkle Patricia trie(MPT) sẽ phù hợp với RAM của thiết bị tiêu chuẩn. Mọi thứ không còn như vậy nữa vì trạng thái đã tăng lên hơn 900 GB và dự kiến sẽ tăng khoảng 50-100 GB mỗi năm, điều này không hợp lý đối với bất kỳ người nào nên hầu hết các nút đã chuyển sang SSD để lưu trữ trạng thái. Trong lịch sử, SSD không được cải thiện nhanh chóng khi quy mô trạng thái tăng lên, vì vậy chi phí này sẽ tiếp tục tác động đến quá trình phân cấp của mạng. Đây là câu hỏi quan trọng mà các nhà nghiên cứu Ethereum đã thảo luận một thời gian.
Ngược lại, FuelVM được xây dựng nhằm giải quyết vấn đề này. John Adler, đồng sáng lập của Fuel Labs, đã nói nhiều lần về vai trò của việc định giá tài nguyên trong cách các hợp đồng thông minh tiêu thụ tài nguyên nhà nước hoặc các tài nguyên khác. Bằng cách kết hợp việc định giá tài nguyên phù hợp và mô hình dữ liệu rõ ràng hơn với hệ thống UTXO, FuelVM sẽ có thể kiểm soát trạng thái và giảm chi phí chạy các nút, tương đương với việc tăng cường phân cấp mạng.
Mặc dù Lớp 2 cho phép chúng ta giảm tải công việc tính toán khỏi chuỗi chính nhưng chúng vẫn cần cung cấp cơ chế để đặt hàng các giao dịch. Nhiều giải pháp lớp 2 được đưa ra bằng cách sử dụng cái gọi là "trình sắp xếp". Trình sắp xếp thứ tự là một nút đặc quyền chịu trách nhiệm sắp xếp thứ tự các giao dịch, thực hiện chuyển đổi trạng thái và sau đó gửi các bản cập nhật gốc trạng thái cùng với thông tin giao dịch được nén tới lớp Ethereum đầu tiên. Đáng chú ý, một siêu máy tính duy nhất chịu trách nhiệm sắp xếp có thể thực hiện nhiều giao dịch hơn trong mỗi kỷ nguyên so với nhiều máy tính mini thực hiện cùng một chuỗi giao dịch một cách dư thừa.
Có một số vấn đề chính trong vai trò sắp xếp tập trung này cần được quan tâm nhiều hơn!
Kiểm soát thứ tự giao dịch có thể mang lại lợi nhuận rất cao. Chúng tôi đã quan sát thấy ở Ethereum và các blockchain khác rằng MEV là một trong những nguồn thu nhập chính cho những người đặt hàng khối. Như chúng ta thấy trong tài chính truyền thống ngày nay, việc ra lệnh kiểm soát đơn phương và nắm bắt MEV cuối cùng sẽ dẫn đến giảm khả năng thực hiện của người dùng.
Trình sắp xếp tập trung có thể là một điểm thất bại duy nhất xét từ góc độ khả năng sử dụng và quản trị. Nếu một hoặc một vài tổ chức đang chạy trình sắp xếp chuỗi, chúng có thể bị vô hiệu hóa hoặc ngừng hoạt động. Đây là một rủi ro trực tiếp đối với mạng.
Trình sắp xếp tập trung có thể xem xét các giao dịch cấp hai. Trình sắp xếp thứ tự có thể chọn bất kỳ giao dịch nào và đặt chúng theo bất kỳ thứ tự nào trong quá trình xây dựng khối, điều này tạo ra khả năng kiểm duyệt. Nhiều L2 xử lý tình huống này bằng cách cung cấp cơ chế "giao dịch bắt buộc", cho phép người dùng bỏ qua trình sắp xếp thứ tự và bao gồm các giao dịch trực tiếp bằng cách tận dụng L1.
Trình sắp xếp chuỗi có thể đưa ra những lời hứa về trạng thái chuỗi không nhất quán đối với người dùng tổng hợp. Điều này thường được gọi là lập lờ, về cơ bản có nghĩa là trình sắp xếp chuỗi có thể đưa ra những lời hứa sai lệch về một trạng thái nào đó của L2. Điều này là do việc kết thúc nhanh quá trình tổng hợp là một bước đáng tin cậy và trình sắp xếp thứ tự có thể lạm dụng sự tin cậy đó, khiến người dùng thực hiện những việc họ không có ý định làm.
Trước hết, Fuel không chỉ là một blockchain cuộn lên hoặc L1, mà ngược lại, nó là một ứng dụng Một hệ thống chuyển đổi trạng thái, nếu được định cấu hình dưới dạng tổng hợp hoặc chạy trong mạng dưới dạng L1 để đạt được sự đồng thuận, nó có thể xuất bản các chuyển đổi trạng thái sang L1. Điểm khác biệt chính là công cụ thực thi của Fuel không quan tâm đến sự đồng thuận hoặc thứ tự giao dịch. Nhiên liệu chỉ có trách nhiệm áp dụng các giao dịch nhanh nhất có thể. Tuy nhiên, vì Fuel có thể chạy trên phần cứng nhẹ như vậy và quá trình xác minh quá rẻ nên Fuel có thể khởi động một mạng đồng thuận đa dạng và phi tập trung, tốt hơn so với việc chạy một công cụ thực thi kém hiệu suất hơn như EVM. Hệ thống này rẻ hơn nhiều.
Ngoài ra, nhóm Fuel đang xem xét sự kết hợp giữa phân quyền, MEV và các cân nhắc khác Thứ hai- kinh tế mã thông báo lớp. Người đồng sáng lập Fuel, John Adler, đã viết về mô hình mã thông báo cho chuỗi khối lớp thứ hai vào tháng 1, phác thảo cách mã hóa các khối bằng cách cho phép các nhà sản xuất có quyền thu phí với tư cách là nhà sản xuất khối. . Phí chỉ là một phần doanh thu của nhà sản xuất khối, như chúng ta đã thấy ở các chuỗi khác, MEV là phần doanh thu lớn còn lại. Tương tự như sự khan hiếm không gian khối, doanh thu MEV cũng sẽ được token hóa thông qua quyền sản xuất khối.
Cách tốt nhất để khái niệm hóa sự khác biệt giữa mô hình dữ liệu UTXO và mô hình tài khoản như sau: UTXO có thể được ví như một hóa đơn tiền mặt, trong khi mô hình tài khoản là giống với sổ cái ngân hàng hơn. Hệ thống tài khoản đương nhiên dẫn đến tình trạng phình to trạng thái vì mọi giao dịch đều cố gắng truy cập vào cùng một tài khoản, trong khi UTXO ít gây tranh cãi hơn nếu được thiết kế chính xác. Tính năng này cho phép song song hóa tốt hơn và ngăn ngừa sự phình to trạng thái bằng cách đơn giản hóa quá trình cắt bớt trạng thái.

p>
Tiếp tục với sự tương tự giữa tiền mặt và sổ cái ngân hàng, sẽ rõ tại sao Song song hóa lại nhiều dễ dàng hơn với UTXO. Hai giao dịch tiền mặt có thể xảy ra cùng lúc mà không cần biết gì về nhau, trong khi đó nếu có 2 tài khoản được cập nhật trên một sổ cái thì cả hai giao dịch đều phải cập nhật cùng một sổ cái chung.
Ngoài Fuel, các nhóm khác cũng đang phát triển máy ảo thế hệ tiếp theo cho chuỗi khối hợp đồng thông minh, chẳng hạn như Mysten Labs và Aptos, nhóm sau này đang sử dụng máy ảo ban đầu được thiết kế bởi các kỹ sư của Facebook MoveVM là một phần của dự án Libra. Điều này càng ủng hộ lập luận rằng cần có môi trường thực thi mới để hỗ trợ thế hệ ứng dụng blockchain tiếp theo. Tất cả các dự án này đều có những cách tiếp cận thú vị và có những sự đánh đổi khác nhau.
Trong những năm MoveVM trì trệ, khi Libra bận rộn đấu tranh với các vụ kiện, tiền điện tử trên thế giới đã thay đổi rất nhiều. Fuel đã có thể thích ứng với những thay đổi này và vẫn linh hoạt trong một ngành có tốc độ phát triển cực kỳ nhanh, trong khi Move thì hơi tụt lại phía sau. Tuy nhiên, hiện tại Move đã tách khỏi Facebook và một vòng cấp vốn lớn mới đã hoàn thành, họ chắc chắn đã sẵn sàng tham chiến!
Không giống như các L2 khác, Fuel có kế hoạch phân cấp vai trò trình sắp xếp chuỗi ngay từ đầu bằng cách thiết kế VM sao cho không cần phần cứng đắt tiền để tăng quy mô.
Nhiên liệu rất linh hoạt. Nó có thể được triển khai trong nhiều môi trường, nhưng ưu tiên của nó là một Bản tổng hợp lạc quan phù hợp với Ethereum.
Trải nghiệm người dùng của Fuel sẽ tốt hơn nhiều so với EVM vì nó sử dụng các cách nguyên bản và mới lạ để tương tác với chuỗi, chẳng hạn như trừu tượng hóa tài khoản, tập lệnh và vị từ.
Tranh cãi về dữ liệu UTXO mô hình nhỏ hơn một cách tự nhiên so với mô hình dữ liệu tài khoản và dẫn đến tính song song hơn và ít phình to trạng thái hơn.
Liên kết gốc
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia
