Topics Tech Deep Dive

Máy Ảo Ethereum (EVM) Là Gì? Hướng Dẫn Dành Cho Người Mới

Nâng Cao
Tech Deep Dive
17 Th07 2022

Máy ảo Ethereum (EVM) thường được gọi là “trái tim của Ethereum” – chính xác là như vậy. Cũng giống như tim bơm máu phân phối oxy và chất dinh dưỡng khắp cơ thể, EVM mang đến cho các nhà phát triển khả năng tạo các hợp đồng thông minh và DApp bằng ngôn ngữ lập trình Solidity. Bybit chịu trách nhiệm về phần lớn DApp được tạo ngày nay, điều này giúp phân biệt DApp này với Bitcoin và các sổ cái phân tán khác. Trong bài viết này, chúng ta sẽ đi sâu vào các máy ảo Ethereum và phân tích xem chúng là gì, cách chúng hoạt động và vai trò của chúng trong quá trình phát triển DApp cũng như sự tiến bộ của Web 3.0.

EVM Là Gì?

Máy ảo Ethereum là một nền tảng phần mềm, hay còn gọi là “máy tính ảo”, được các nhà phát triển sử dụng để tạo các ứng dụng phi tập trung (DApp), cũng như để thực hiện và triển khai các hợp đồng thông minh trên hệ thống Ethereum.

Cho dù bạn là lập trình viên quan tâm đến DApp hay nhà đầu tư muốn tìm hiểu thêm về thế giới crypto EVM không ngừng phát triển, bạn có thể đã nghe nói về machines.To ảo Ethereum hiểu rõ nhất EVM là gì, trước tiên sẽ giúp bạn tìm hiểu một chút về lịch sử của nó.

Theo Vitalik Buterin, người tạo ra Ethereum, BitTorrent là DApp đầu tiên. Bram Cohen đã phát minh ra giao thức chia sẻ tệp vào năm 2001 và bất chấp một số nỗ lực nhằm phá hủy giao thức này, BitTorrent vẫn còn rất sống.

Để thực sự ngăn chặn BitTorrent, mọi máy tính trong mọi ngôi nhà trên khắp thế giới sẽ phải tắt. Đó là một cỗ máy ảo không bị ràng buộc bởi những hạn chế vật lý. Điều tương tự cũng đúng với máy ảo Ethereum. EVM loại bỏ nhu cầu về phần cứng siêu mạnh và là nền tảng lý tưởng cho các lập trình viên mới bắt đầu. Tuy nhiên, kiến thức về byte, stack và các khái niệm blockchain như hàm hash và proof of work rất hữu ích khi cố gắng hiểu sâu hơn về mã tương thích với EVM và máy ảo Ethereum nói chung.

Mục đích của máy ảo Ethereum là xác định trạng thái của mọi khối trong blockchain Ethereum. Mặc dù EVM tương tự như các mạng dựa trên blockchain khác ở chỗ chúng sử dụng sổ cái phân tán để duy trì cơ sở dữ liệu cho các giao dịch, nhưng chúng bổ sung một lớp chức năng khác do khả năng hợp đồng thông minh của chúng. Nhiều người gọi layer thứ hai này là “máy trạng thái phân phối”.

EVM Làm Gì?

Ở dạng sơ bộ nhất, máy ảo Ethereum là cơ sở dữ liệu lớn để nắm giữ tất cả các tài khoản và số dư của Ethereum. Đồng thời, đây cũng là trạng thái máy có khả năng thực hiện mã máy và thay đổi với mỗi khối mới được thêm vào sổ cái blockchain. Các quy tắc cụ thể xác định EVM sẽ thay đổi như thế nào với mỗi khối mới thực sự được xác định bởi chính EVM.

Nói một cách đơn giản hơn, máy ảo Ethereum là một công cụ xử lý và nền tảng phần mềm hoạt động giống như một máy tính phi tập trung. Từ các ứng dụng crypto DeFi và EVM đến các trò chơi và thị trường như OpenSea, các nhà phát triển sử dụng máy ảo Ethereum để tạo DApp dựa trên Ethereum và ngôn ngữ lập trình tương thích với EVM, Solidity.

Quan trọng nhất, máy ảo Ethereum là một phần của mạng lưới Ethereum chịu trách nhiệm thực hiện và triển khai các hợp đồng thông minh. Đó là nơi các hợp đồng thông minh và hàng triệu DApp dựa trên blockchain Ethereum tồn tại và hít thở.

Hãy nghĩ về blockchain của Ethereum như một cấu trúc P2P của các nút riêng lẻ khác nhau. Một nút kết nối với nút tiếp theo, khiến mỗi nút chịu trách nhiệm về tính bảo mật và ổn định của toàn bộ hệ sinh thái. Để làm điều đó và duy trì sự đồng thuận trong toàn bộ blockchain Ethereum, mỗi nút mạng sử dụng EVM.

EVM và Sự Tương Đồng Với CPU

Để làm rõ hơn nữa khái niệm EVM, việc quay lại những điều cơ bản bằng cách suy nghĩ về cách các chương trình máy tính hoạt động. Tất cả phần mềm của họ được viết bằng ngôn ngữ lập trình, chẳng hạn như Java hoặc C++. Tuy nhiên, vì CPU không thể đọc Java hoặc C++ nên mã được biên dịch và dịch sang mã byte .

Ethereum không phải là CPU – đây là một mạng lưới toàn cầu được phân phối với 100 CPU đồng thời chạy EVM. Tuy nhiên, EVM hoạt động như một CPU ảo hoặc “máy” ảo chạy bên trong chương trình Go Ethereum hoặc “Geth”.

Tương tự như các chương trình phần mềm khác, các nhà phát triển tạo DApp và viết hợp đồng thông minh bằng ngôn ngữ lập trình. Thay vì Java hoặc C++, ngôn ngữ cho Ethereum được gọi là Solidity. Mã Solidity được biên soạn thành mã byte và được phân phối cho mọi máy tính (node) chạy Geth trong mạng.

Khi một hợp đồng thông minh được triển khai, mọi nút mạng đều nhận được một bản sao của hợp đồng, chạy mã byte và cung cấp mã cho bất kỳ ai được yêu cầu triển khai, dẫn đến “thay đổi trạng thái”. Điều này có nghĩa là trạng thái hiện tại của blockchain đã bị thay đổi, chỉ có thể được thực hiện với sự đồng thuận của mọi nút mạng.

Do đó, EVM thường được gọi là “máy trạng thái phân phối”. Nó theo dõi trạng thái của blockchain khi nó chuyển đổi với mỗi giao dịch.

EVM Hoạt Động Như Thế Nào?

Nếu bạn đã từng tải xuống một bài hát, bộ phim hoặc phần mềm từ BitTorrent, thì bạn biết mạng phi tập trung có thể làm gì. Ngay cả những nhà chức trách quyền lực nhất thế giới cũng không thể xóa nền tảng này vì làm như vậy sẽ yêu cầu tắt mọi máy tính gắn liền với mạng lưới.

Một trong những cách tốt nhất để mở rộng mạng lưới phi tập trung là thông qua việc sử dụng các máy ảo. Hoạt động như một lớp giữa các máy và mã mà chúng thực hiện, các máy ảo có thể được chạy trên các phần cứng và hệ điều hành khác nhau từ mọi nơi trên thế giới.

Các máy ảo như EVM hoạt động tương tự như các máy vật lý có CPU, bộ nhớ và bộ nhớ, nhưng chúng hoạt động như không gì khác ngoài mã. Về mặt lý thuyết, bất kỳ ai cũng có thể chạy một máy ảo, mang lại sự linh hoạt và khả năng di động mà các mạng phi tập trung cần.

Máy ảo Ethereum sử dụng mạng lưới nút mạng phi tập trung để thực hiện các hợp đồng thông minh. Đó là một ngăn xếp ảo động, được sandbox, được nhúng bên trong mỗi nút mạng Ethereum để thực hiện mã byte hợp đồng thông minh tương thích với EVM.

Hợp Đồng Thông Minh, Nút và P2P

Khi tìm hiểu EVM là gì và chúng làm gì cho crypto trong các trường hợp như cho vay DeFi, hãy nhớ rằng các hợp đồng thông minh được viết bằng Solidity và các ngôn ngữ cấp cao hơn khác, sau đó chúng được dịch sang bytecode và được biên dịch sang EVM. Điều này có nghĩa là mã máy được tách biệt với hệ thống tệp, quy trình và mạng của máy chủ.

Mỗi nút mạng trong mạng lưới của Ethereum phải đồng ý với nút mạng tiếp theo để thực hiện cùng một hướng dẫn. Điều này làm cho máy ảo Ethereum Turing Complete , có nghĩa là nó có thể thực hiện các bước hợp lý cho chức năng tính toán.

Đối với mỗi lệnh mà EVM thực hiện, một chi phí được gán cho nó, cho phép hệ thống theo dõi chi phí thực hiện. Chi phí thực hiện các giao dịch crypto EVM và thực hiện các hướng dẫn khác được đo bằng các đơn vị tương thích với EVM được gọi là gas.

Bằng cách tạo điều kiện cho một nền kinh tế dựa trên các khoản phí cho các lệnh đã thực hiện thay vì các giao dịch tài chính đã thực hiện, như Bitcoin, đạt được Độ hoàn chỉnh Turing. Điều này có nghĩa là máy ảo Ethereum là một máy tính ngang hàng, được kết nối toàn cầu, có thể tạo hợp đồng thông minh, sự kiện huy động vốn từ cộng đồng P2P, nền kinh tế chia sẻ tệp, v.v.

Không giống như internet vào đầu những năm 1990, tương lai đang chờ đón bạn.

Opcode

Hiện tại, có khoảng 150 opcode khác nhau mà một EVM có thể thực hiện. Vậy, opcode chính xác là gì - và tại sao chúng lại quan trọng trong việc hiểu EVM?

Lý do máy ảo Ethereum được gọi là Turing Complete phần lớn là do khả năng thực hiện các lệnh ở cấp độ máy được gọi là opcode.

Các opcode tương thích với EVM giúp EVM hoàn thành các nhiệm vụ cụ thể liên quan đến các giao dịch crypto hoặc hợp đồng thông minh EVM. Tuy nhiên, opcode được sử dụng cho nhiều hoạt động khác nhau, từ số học và ghi dữ liệu vào bộ nhớ và truy xuất thông tin khối.

Điều đó có nghĩa là opcode không được viết trực tiếp vào EVM. Nhờ khả năng giúp các nhà phát triển dễ dàng tạo và tương tác với các hợp đồng thông minh, EVM được viết bằng ngôn ngữ lập trình Solidity. Tuy nhiên, ngôn ngữ mẹ đẻ này phải được chuyển đổi thành opcode để EVM diễn giải.

Mỗi opcode được gán một byte. Điều này có nghĩa là có thể sử dụng tối đa 256 opcode.

Hợp Đồng Thông Minh

Khi cố gắng hiểu EVM là gì, cần có kiến thức cơ bản về hợp đồng thông minh và vai trò của chúng trong crypto EVM, DeFi và các chức năng blockchain khác.

Đôi khi được gọi là “Ứng dụng của EVM”, hợp đồng thông minh là các dòng mã tương thích với EVM được các bên sử dụng để giao dịch với nhau mà không cần bên thứ ba sử dụng hoặc có sự can thiệp của cơ quan trung ương.

Trong mỗi hợp đồng thông minh là một danh sách các hoạt động được xác định sẽ được thực hiện khi các điều kiện on- hoặc off-chain nhất định được đáp ứng. Các hoạt động này có thể bao gồm từ chuyển tiền đến một số địa chỉ nhất định, đến tạo hợp đồng thông minh mới và giao tiếp giữa các hợp đồng hiện có. Thay vì yêu cầu bên thứ ba, bất kỳ ai cũng có thể gửi tiền đến địa chỉ hợp đồng thông minh để nhắc các hoạt động này.

Ethereum đã áp dụng khái niệm Bitcoin và tăng cường bằng cách cho phép các nhà phát triển xây dựng các hợp đồng thông minh trên blockchain của họ. Bước tiếp theo là tạo ra một môi trường nơi các hợp đồng thông minh có thể tồn tại và tương tác với nhau. Đây là nơi máy ảo Ethereum hoạt động.

EVM kết hợp các tài nguyên của không chỉ một mà hàng nghìn CPU được kết nối với mạng lưới của Ethereum. Ngoài việc xác minh giao dịch, mã này còn dịch mã opcode hợp đồng thông minh được viết bằng Solidity thành mã byte, vì vậy có thể đọc hướng dẫn và thực hiện các thao tác. Trong phần cuối cùng này, bạn cần gas.

Khí

Gas là nhiên liệu thúc đẩy máy ảo Ethereum. Cho dù bạn đang chuyển crypto EVM hay đầu tư vào NFT, gas là cần thiết để thanh toán cho việc thực hiện hoạt động. Khí đóng vai trò như một khoản phí tính toán cần thiết để thực hiện các hợp đồng thông minh.

Mỗi opcode được gán một chi phí gas. opcode càng phức tạp, phí gas càng cao. Hiện tại, chi phí bắt đầu của mỗi giao dịch là 21.000 gas.

Phí gas được tính để bù đắp cho những người xác thực chịu trách nhiệm kiểm tra để đảm bảo thông tin giao dịch là hợp lệ và không có ngoại lệ hoặc lỗi nào từ EVM.

Quan trọng hơn nữa, phí gas giúp ngăn chặn các cuộc tấn công DDoS và giữ an toàn cho mạng lưới. Vì việc triển khai các hợp đồng phức tạp ở quy mô lớn sẽ đòi hỏi tính toán dài hạn và tốn kém, những kẻ tấn công không được khuyến khích thực hiện bất kỳ nỗ lực độc hại nào. Cuộc tấn công sẽ quá đắt để thực hiện.

Blockchain Tương Thích EVM Là Gì?

Khả năng tương tác giữa các blockchain đã được chứng minh là một vấn đề đáng kể. Khi các vấn đề với Ethereum – chẳng hạn như phí gas cao và giao dịch chậm – vẫn tồn tại, các nhà phát triển bắt đầu tạo DApp và hợp đồng thông minh dựa trên các blockchain không được cấp quyền khác để cung cấp các giao dịch nhanh hơn và phí gas thấp hơn. Thật không may, nhiều blockchain này bị hạn chế nghiêm trọng và thiếu khả năng tương tác với các blockchain khác.

Các blockchain tương thích với EVM đã được chứng minh là một cách dễ dàng để giải quyết vấn đề này. Thay vì bắt đầu từ đầu và tạo ra một môi trường tương tự như EVM thông qua việc sử dụng các cầu xuyên chuỗi, các nhà phát triển có thể sao chép một số phần nhất định của mạng Ethereum và tạo DApp cho phép người dùng chuyển tài sản giữa các mạng EVM bất kỳ một cách nhanh chóng và dễ dàng.

Với khả năng tương tác này, nhiều blockchain được sử dụng nhiều nhất hiện nay tuân theo mô hình tương thích với EVM này. Ví dụ bao gồm một số tên tuổi lớn nhất trong không gian crypto EVM, chẳng hạn như:

Chuỗi Thông Minh Binance

Avalanche

Fantom

Cardano

Polygon

Tron

Bất kể lý do bạn muốn hiểu EVM là gì, điều quan trọng cần biết là tất cả các sidechain này đều tương thích với EVM.  Chúng cung cấp tất cả các lợi ích và khả năng tiếp cận của blockchain Ethereum, nhưng với tốc độ nhanh hơn, dung lượng cao hơn và chi phí giao dịch thấp hơn.

Cuối cùng, khi thảo luận về các blockchain tương thích với EVM, tất cả đều liên quan đến việc tối ưu hóa và tạo ra trải nghiệm người dùng phi tập trung tốt nhất có thể. Tuy nhiên, cũng có những lợi ích khác.

Khả Năng Tương Tác Của Hệ Sinh Thái Ethereum

Một trong những lợi ích lớn nhất của EVM là khả năng tương tác trong hệ sinh thái Ethereum. Ethereum là blockchain được sử dụng rộng rãi nhất trên thế giới. Nhờ máy ảo Ethereum, các DApp dựa trên blockchain Ethereum có thể giao tiếp và tương tác với nhau, cho phép người dùng trải nghiệm nhanh hơn và liền mạch hơn.

Bằng cách sử dụng các cầu blockchain, có thể đạt được khả năng tương tác giữa các blockchain. Người dùng có thể tự do gửi tài sản trên các mạng EVM từ DApp này sang DApp tiếp theo.

Dapps Dễ Dàng Được Chuyển

Máy ảo Ethereum giúp dễ dàng di chuyển và mở rộng DApp sang các chuỗi mới mà không cần phải viết lại bất kỳ mã nào. Việc sử dụng một loại máy ảo khác, như Move-VM hoặc Wasm , yêu cầu nhiều tài nguyên hơn và khiến việc chuyển DApp trở nên khó khăn hơn nhiều.

Rào cản gia nhập thấp cho các nhà phát triển Ethereum

EVM cũng có mức rào cản thấp cho các nhà phát triển Ethereum. Không cần phải lo lắng về bản chất của EVM hoặc liệu mã của chúng có tương thích với EVM hay không. Không cần học các ngôn ngữ lập trình khác, vì các nhà phát triển có thể sử dụng các công cụ Ethereum quen thuộc như Waffle và MetaMask.

Các Trường Hợp Sử Dụng EVM

Bây giờ, chúng ta đã tìm hiểu EVM là gì và cách thức hoạt động của nó, hãy xem xét cách mọi thứ kết hợp với nhau để cung cấp năng lượng cho crypto EVM và các dự án dựa trên Ethereum khác.

Token ERC-20

Một số dự án DApp và Ethereum khuyến khích người dùng bằng token ERC-20, được thiết kế đặc biệt để dễ dàng chuyển giữa các địa chỉ và duy trì cùng một giá trị trên toàn mạng lưới.

Token ERC-20 được tạo bởi các hợp đồng thông minh theo cấu trúc dữ liệu xác định. Cấu trúc dữ liệu này chịu trách nhiệm đặt tên, phân phối và giám sát token.

Các token này được sử dụng cho nhiều mục đích khác ngoài crypto EVM. Nexus Mutual, chuyên cung cấp bảo hiểm cho các hợp đồng thông minh, sử dụng token NXM ERC-20 để cung cấp cho người dùng khả năng đưa ra yêu cầu thanh toán và phạm vi bảo hiểm mua hàng. Một ví dụ khác là Livepeer . Mặc dù đây không chính xác là ví dụ phổ biến nhất khi thảo luận về EVM, nhưng mạng lưới phát trực tuyến video phi tập trung này sử dụng token Livepeer ERC-20 để khuyến khích người dùng cung cấp tài nguyên cho mạng lưới. Đây chỉ là hai trong số nhiều DApp xử lý token ERC-20.

AMM và DEX

Sàn giao dịch phi tập trung (DEX) cho phép trao đổi token ERC-20 thông qua việc triển khai các hợp đồng thông minh. Các hợp đồng thông minh này cho phép người dùng khai thác các nhóm thanh khoản của token mà không cần sự can thiệp của bên thứ ba, mang đến cho họ danh hiệu nhà tạo lập thị trường tự động (AMM). SushiSwap , Uniswap và một số sàn giao dịch phổ biến khác thực sự là ứng dụng của mô hình AMM phi tập trung này.

Khai Thác NFT

Một token phổ biến khác là ERC-721 không thể thay thế. Các hợp đồng thông minh với token này thường được sử dụng để đúc các token không thể thay thế (NFT), là các token sở hữu giá trị duy nhất trên blockchain Ethereum.

Cách đây vài năm, một đoạn mã hiện có khả năng dân chủ hóa quyền truy cập ảo vào thị trường nghệ thuật. Các dự án trò chơi như Gods UnchainedAxie Infinity cũng sử dụng các token này cho các vật phẩm và bộ sưu tập trong trò chơi.

Cho Vay DeFi

AdaSwap là một sàn giao dịch phi tập trung dựa trên Cardano với AMM. Gần đây, công ty đã công bố sự hợp tác với Milkomeda . Sử dụng các giải pháp Layer 2 cho sidechain, Milkomeda cung cấp các blockchain không phải EVM như khả năng tương thích Cardano EVM. Với sidechain này, người dùng có thể chuyển tài sản và chạy DApp Cardano trên Ethereum và ngược lại.

AdaSwap và Milkomeda đang sử dụng sự hợp tác này để tích hợp các máy ảo Ethereum vào hệ sinh thái Cardano. Có một số nền tảng DeFi khác theo sau sự dẫn dắt của Cardano.

DAO

Máy ảo Ethereum được quản lý bởi một tổ chức tự trị phi tập trung, hay DAO. DAO là một thực thể cộng đồng thiếu cơ quan trung ương. Điều này cho phép cộng đồng kiểm soát mạng lưới.

DAO không chỉ tự trị hoàn toàn mà còn minh bạch. Hợp đồng thông minh phác thảo các quy tắc và thực hiện các quyết định dựa trên hướng dẫn viết mã, nhưng tại bất kỳ thời điểm nào, việc bình chọn và đề xuất đều có thể được thực hiện thông qua sự đồng thuận. Ngay cả bản thân mã cũng có thể được mở để kiểm toán công khai.

Cuối cùng, DAO hoàn toàn được quản lý bởi các thành viên cá nhân, những người đưa ra các quyết định quan trọng liên quan đến dự án. Các quy tắc của DAO được thiết lập bởi các thành viên cộng đồng cốt lõi và được thực hiện thông qua các hợp đồng thông minh. Vì các giao thức này có thể nhìn thấy, có thể xác minh và mở để kiểm toán công khai, mọi thành viên của DAO đều có thể hiểu cách giao thức hoạt động ở mỗi bước trên con đường này.

Giới Hạn EVM

Khi cố gắng hiểu EVM là gì, điều quan trọng là phải xem xét cả ưu và nhược điểm của chúng. Bất chấp nhiều lợi thế, công nghệ EVM cũng đi kèm với những hạn chế nhất định. Một điều thú vị là, việc sử dụng máy ảo Ethereum đòi hỏi một số kinh nghiệm kỹ thuật. Kiến thức về Solidity, Java và các ngôn ngữ lập trình khác là điều bắt buộc.

Thứ hai, EVM nổi tiếng với mức phí gas cao. Bất kể EVM thông minh đến mức nào, nó cũng không thể tránh được sự phổ biến của chính mình và tắc nghẽn dữ liệu đi kèm, dẫn đến phí giao dịch cao hơn so với các chuỗi khác.

Cuối cùng, máy ảo Ethereum không hoàn toàn phi tập trung. Trên thực tế, khoảng 25% nút mạng Ethereum thực sự đang chạy trên Amazon Web Services. Nếu AWS gặp phải sự cố mất điện nghiêm trọng hoặc ngừng dịch vụ, EVM và DApp mà họ cung cấp sẽ bị ảnh hưởng đáng kể.

Tương Lai Của EVM

Khi nói đến blockchain và EVM Ethereum, chúng tôi chỉ mới bắt đầu. Trong tương lai gần, tốc độ, độ phức tạp và khả năng của máy ảo Ethereum sẽ chỉ tăng lên, giống như cách các PC của những năm 1990 phát triển thành các cường quốc xử lý đang được sử dụng ngày nay.

Điều đó nói lên rằng, EVM không hoàn hảo. Những thách thức liên quan đến thông lượng mạng và tốc độ giao dịch tiếp tục là một vấn đề gây khó khăn cho hệ thống. Hiện tại, những vấn đề này là tâm điểm của cộng đồng phát triển Ethereum và việc giải quyết chúng là lộ trình giúp Ethereum tiếp tục được sử dụng và thành công.

Nếu Ethereum thực hiện đúng lời hứa cách mạng hóa cách chúng ta tương tác và giao dịch với nhau, đó sẽ là kết quả của những cải tiến được thực hiện cho EVM.

Điểm Mấu Chốt

Trong bài viết này, chúng tôi đã đi qua máy ảo Ethereum, khám phá việc thực hiện các hợp đồng thông minh và xem xét cách EVM thực hiện bytecode. Chúng ta cũng đã thảo luận về gGas, cơ chế kế toán cho EVM và nói về cách thức chúng tạo điều kiện thuận lợi cho các giao dịch và bảo vệ Ethereum khỏi các cuộc tấn công DDoS. Cuối cùng, EVM là trái tim và linh hồn của việc triển khai và thực hiện hợp đồng thông minh. Hiểu sâu hơn về máy ảo Ethereum là điều cần thiết cho bất kỳ ai muốn phát triển DApp và đi sâu vào thế giới phi tập trung trong tương lai của chúng ta.