1. EVM là gì?
1.1. EVM là gì?
EVM (Ethereum Virtual Machine) là một môi trường máy ảo được dùng để thực thi hợp đồng thông minh và tính toán trạng thái của mạng Ethereum sau khi khối mới được thêm vào chuỗi. Đây là thành phần quan trọng trong hệ thống blockchain của Ethereum.
Ethereum là đồng tiền điện tử lớn thứ hai tính theo vốn hoá thị trường. Đồng thời, ngôn ngữ lập trình Solidity gốc và Máy ảo Ethereum (EVM) cũng là công cụ giúp Ethereum nhận được sự tán dương từ cộng đồng nhà phát triển.
EVM tồn tại trong mọi trình xác thực Ethereum, đảm bảo tính bảo mật và phân cấp của mạng. EVM nằm trên lớp node (node network) và phần cứng (hardware) của Ethereum. Mục đích chính của nó là tính toán trạng thái của mạng, chạy và biên dịch nhiều loại mã hợp đồng thông minh khác nhau thành định dạng có thể đọc được gọi là 'Bytecode'.
Điều này giúp các hợp đồng thông minh được triển khai trên các chuỗi tương thích với EVM như Polygon hoặc Avalanche có thể được các node Ethereum nhận ra và cho phép các nhà phát triển chuyển các dapp hoặc token của họ từ Ethereum sang các chuỗi tương thích EVM khác một cách tương đối dễ dàng.
1.2. EVM blockchain là gì?
Ngoài Ethereum có các blockchain tương thích với EVM. Đây là những blockchain có thể chạy mã Solidity của các hợp đồng thông minh như EVM trên Ethereum.
Những nhà phát triển dApp chỉ cần sửa đổi một chút mã Solidity là có thể chạy ứng dụng trơn tru trên EVM blockchain. Có thể kể đến một vài blockchain EVM phổ biến như: Ethereum, BNB Smart Chain, Avalanche, Polygon, Fantom, Arbitrum,…
1.3. Non-EVM blockchain là gì?
Hiểu theo cách đơn giản, các blockchain có hợp đồng thông minh được viết bằng các ngôn ngữ khác ngoài Solidity là non-EVM blockchain.
Dưới đây là danh sách một số blockchain non-EVM đáng chú ý cùng ngôn ngữ lập trình của chúng:
- Solana: Sử dụng Rust và C/C++.
- Cardano: Sử dụng Haskell và Plutus.
- Terra: Sử dụng ngôn ngữ lập trình Rust.
- Algorand: Sử dụng TEAL (Algorand Transaction Execution Approval Language).
- Near: Sử dụng Rust.
- ...
Các nhà phát triển dApps không sử dụng EVM (Ethereum Virtual Machine) phải xây dựng lại mã để triển khai sản phẩm trên các blockchain không sử dụng EVM. Họ đã tạo ra các Layer 2 tương thích với EVM trên các blockchain cơ bản.
Ví dụ: Aurora và Milkomeda là ví dụ về Layer 2 tương thích với EVM trên các blockchain như Near Protocol và Cardano.
Cả các blockchain sử dụng EVM và không sử dụng EVM đều tiếp tục tồn tại và cạnh tranh trong thị trường tiền điện tử. Nhiều người cho rằng, cả hai loại blockchain sẽ tiếp tục tồn tại và phát triển mạnh trong không gian tiền điện tử.
Vậy EVM hoạt động như thế nào? Hãy cùng chuyển sang phần tiếp theo!
2. EVM hoạt động như thế nào?
EVM là một máy ảo có các hoạt động bất biến xác định trạng thái của từng khối trong blockchain Ethereum.
EVM không chỉ quản lý những gì các node có thể hoặc không thể thực hiện đối với sổ cái phân tán được duy trì bởi blockchain Ethereum mà còn xác định các quy tắc cụ thể về việc thay đổi trạng thái từ khối này sang khối khác.
Dưới đây là cách thức hoạt động của EVM:
- Nhận giao dịch: EVM bắt đầu bằng việc nhận các giao dịch từ người dùng. Giao dịch ở đây có thể là việc chuyển tiền, gửi dữ liệu.
- Biên dịch mã Bytecode: Nếu giao dịch liên quan đến việc thực hiện một hợp đồng thông minh, mã bytecode của hợp đồng này sẽ được biên dịch thành các lệnh máy ảo mà EVM có thể hiểu. Trong đó, mã bytecode là một dạng mã máy ảo đơn giản, thường được sử dụng để biểu diễn và thực hiện các chương trình hoặc hợp đồng thông minh trên các máy ảo như EVM. Nó là một dãy các lệnh và dữ liệu số học được thực hiện bởi máy ảo để thực hiện các tính toán và hoạt động trên blockchain. Mã bytecode thường không dễ đọc cho con người, nhưng nó được hiểu và thực thi bởi máy ảo.
- Thực hiện mã lệnh: EVM thực hiện lần lượt các lệnh trong mã bytecode của hợp đồng. Các lệnh này có thể bao gồm tính toán, kiểm tra điều kiện và giao tiền.
- Lưu trữ dữ liệu: EVM có thể lưu trữ dữ liệu tạm thời và cập nhật trạng thái của các tài khoản sau mỗi giao dịch.
- Kiểm tra điều kiện: EVM kiểm tra các điều kiện logic trong mã lệnh và tuỳ thuộc vào kết quả, nó sẽ tiếp tục thực hiện hoặc kết thúc giao dịch.
- Kết thúc giao dịch: sau khi tất cả các lệnh đã được thực hiện, giao dịch kế thúc và kết quả của nó được ghi vào blockchain Ethereum, cập nhật trạng thái của các tài khoản và tính toán phí giao dịch.
Trên thực tế, EVM chịu trách nhiệm duy trì mức độ trừu tượng giữa hàng nghìn node Ethereum và mã thực thi, mang lại kết quả nhất quán mà không tiết lộ nhiều chi tiết cho khách hàng hoặc node.
3. Lợi ích của EVM
EVM có quyền truy cập vào tất cả các node trong mạng, xử lý việc thực thi hợp đồng thông minh và xử lý hiệu quả tất cả các giao dịch trên blockchain Ethereum, khiến nó trở thành một trong những máy ảo mạnh nhất hiện nay.
3.1. Đối với các nhà phát triển
EVM đóng vai trò là chương trình tổng thể chạy các chương trình thực thi hợp đồng thông minh trong Ethereum, đồng thời cung cấp cho các nhà phát triển quyền tự do viết các hợp đồng thông minh này bằng nhiều ngôn ngữ lập trình bao gồm Solidity, Vyper, Python và Yul…
Dựa trên cách thức hoạt động của EVM, các nhà phát triển có thể thực thi mã mà không phải lo lắng về tác động của nó đối với phần còn lại của mạng.
Ngoài ra, những nhà phát triển có thể chạy các hợp đồng thông minh phức tạp trên các môi trường máy tính khác nhau với sự đồng thuận phân tán.
Điều này đảm bảo rằng sự cố của một node không có bất kỳ tác động tiêu cực nào đến hoạt động của DApp hay hợp đồng thông minh, vì mã EVM vẫn giống nhau trên tất cả các node. Hơn nữa, vì dữ liệu tài khoản được duy trì ở cấp độ toàn cầu trong EVM nên các nhà phát triển nhận thấy đây là nơi hoàn hảo để viết mã hợp đồng thông minh tùy chỉnh và tạo các DApp riêng biệt có thể truy cập vào tập dữ liệu toàn cầu này và tạo ra kết quả đầu ra đáng tin cậy.
Tính đến thời điểm viết bài, ngày càng có nhiều blockchain layer 2 tương thích EVM và một số lượng lớn các trường hợp sử dụng EVM tiềm năng có thể xảy ra. Và cũng thật dễ hiểu khi EVM là nền tảng được ưa thích để phát triển Web3.
Đó là lợi ích của EVM với nhà phát triển. Vậy còn với người dùng thì sao?
3.2. Đối với người dùng
- Trải nghiệm đa chuỗi tương tự: Tính đến hiện tại, không gian tiền điện tử có hàng trăm blockchain phục vụ nhiều mục đích khác nhau như nền tảng dApp, chuyên môn hóa dApp và bảo vệ quyền riêng tư, và nhiều mục khác. Khi tích hợp nhiều hơn hai blockchain vào một ứng dụng phi tập trung (dApp), người dùng có thể dễ dàng chuyển đổi giữa các EVM blockchain mà không cần thay đổi giao diện người dùng và trải nghiệm sử dụng.
- Tốc độ và hiệu quả về phí gas: Người dùng Ethereum phải trả một khoản phí cho mỗi giao dịch mà họ thực hiện. Đôi khi, các khoản phí này có thể lên đến trên $100 do sự khan hiếm về không gian giao dịch trong khối. Trong thời kỳ khan hiếm, việc hoàn thành giao dịch có thể mất rất nhiều thời gian, ảnh hưởng đến trải nghiệm người dùng. Tuy nhiên, chuyển đổi dApp sang các chuỗi EVM khác ngoài Ethereum có thể giải quyết một phần vấn đề về tốc độ và phí gas.
- Khả năng mở rộng nhiều hơn: Sử dụng đa chuỗi giúp các dự án mở rộng quy mô theo chiều ngang sang nhiều hệ sinh thái blockchain khác nhau. Liên kết với nhiều chuỗi EVM khác nhau tạo ra cơ hội để dự án tiền điện tử có cơ sở người dùng lớn hơn. Ngoài ra, sự tham gia của nhiều sản phẩm tiền điện tử khác nhau vào hệ sinh thái giúp tạo điều kiện cho sự cạnh tranh và phát triển.
4. Nhược điểm của EVM
Mặc dù EVM có thể mang lại nhiều lợi ích nhưng vẫn có một số nhược điểm nhất định.
- Phí gas: Một trong những điểm quan trọng nhất là phí giao dịch hay chi phí gas cao liên quan đến việc chạy hợp đồng thông minh trên mạng Ethereum. Bởi được thanh toán bằng ETH, các khoản phí này sẽ thay đổi tuỳ thuộc vào mức độ phức tạp của hợp đồng và tình trạng tắc nghẽn mạng tại thời điểm thực hiện.
- Kỹ thuật: Ngoài ra, vì Solidity là ngôn ngữ được ưa thích nhất để mã hoá trên EVM nên các nhà phát triển cần có đủ kinh nghiệm và cần có chuyên môn kỹ thuật để tạo ra các hợp đồng thông minh hiệu quả bằng cách sử dụng EVM.
- Bảo mật và hack/ khai thác: Các dự án có thể chạy trên nhiều nền tảng blockchain và EVM sẽ đẩy nhanh quá trình mở rộng đa chuỗi. Tuy nhiên, có rủi ro đa chuỗi trên các chuỗi khối trong một dApp. Ví dụ: Poly Network đã bị tấn công vào tháng 8 năm 2021, khiến hacker gửi hơn nửa tỷ đô la.
5. Tương lai của EVM
Bất chấp những thay đổi mang tính cách mạng do EVM mang lại cho hệ sinh thái blockchain, công nghệ đọc và thực thi mã này đang được một số dự án blockchain cải tiến.
Với khả năng tương tác chuỗi chéo là khía cạnh quan trọng nhất đối với các nhà phát triển, nhiều blockchain tương thích EVM đã được hỗ trợ, hầu hết đều cung cấp lượng gas thấp hơn và tốc độ giao dịch nhanh hơn giao thức Ethereum.
Do đó, các blockchain này hiện có thể tương tác liền mạch với người dùng Ethereum và đang tạo điều kiện chuyển tiền đến mạng riêng của họ bằng cách sử dụng cầu (bridge).
Tuy nhiên, với việc giao thức Ethereum hoàn thiện The Merge vào tháng 9 năm 2022, mục tiêu tiếp theo là chuyển từ EVM sang Ethereum WebAssembly (eWASM).
Được thiết kế để có tính mô-đun cao và độc lập với nền tảng, eWASM đang được cho là công cụ thay đổi cuộc chơi tiếp theo cho giao thức Ethereum và có thể thúc đẩy các blockchain khác sử dụng môi trường thời gian chạy này cho các hợp đồng thông minh. Tuy nhiên, liệu eWASM có thay thế EVM như một cơ chế đáng tin cậy nhất cho hợp đồng thông minh hay không thì đây vẫn là câu hỏi mà chỉ có thời gian mới trả lời được.
6. FAQs
Q1: Có mối tương quan gì giữa phí gas và EVM không?
Trong Ethereum, EVM được mô tả như là quasi Turing complete - tức là gần như hoàn toàn có khả năng Turing, nhưng với điều kiện rằng việc tính toán phụ thuộc vào việc định giá gas. Gas là đơn vị đo chi phí tính toán và EVM sử dụng nó để thực hiện các quy trình tính toán. Người dùng cũng quen thuộc với khái niệm "gas limit", là số lượng gas tối đa mà EVM sử dụng cho mỗi giao dịch của họ. Điều này ảnh hưởng đến tốc độ và chi phí của giao dịch trên mạng Ethereum.
Q2: Ưu và nhược điểm của Non-EVM Blockchain là gì?
Ưu điểm của các mạng lưới Non-EVM Blockchain là khả năng cải thiện tốc độ, hiệu suất và khả năng mở rộng so với các EVM Blockchain. Nhờ việc cải tiến ngôn ngữ lập trình EVM thành nhiều ngôn ngữ khác nhau, các mạng lưới này đạt được hiệu suất tốt hơn và chi phí giao dịch thấp hơn đáng kể.
Tuy nhiên, nhược điểm của các mạng lưới Non-EVM Blockchain là họ thiếu khả năng tương tác với hệ sinh thái lớn của Ethereum và các dự án sử dụng EVM. Điều này có thể làm giảm sự hấp dẫn của họ đối với các nhà phát triển và người dùng. Ngoài ra, các mạng lưới này có thể không đạt được sự hoàn hảo về bảo mật và tính phi tập trung như các mạng lưới EVM, dẫn đến một số vấn đề liên quan đến an ninh và độ tin cậy.
7. Kết luận
Tóm lại, EVM (Ethereum Virtual Machine) đóng một vai trò vô cùng quan trọng đối với cả nhà phát triển và người dùng cuối trong không gian blockchain. Với khả năng thực thi hợp đồng thông minh và tạo ra ứng dụng phi tập trung, EVM mở ra nhiều cơ hội sáng tạo và kinh doanh trong không gian tiền điện tử. Mặc dù gặp phải thách thức về tốc độ và phí gas, EVM vẫn tiếp tục phát triển và cải thiện để đáp ứng nhu cầu ngày càng tăng của thị trường blockchain. Với tích hợp đa chuỗi, EVM dự kiến sẽ tiếp tục đóng vai trò quan trọng trong cả quá khứ và tương lai của tiền điện tử.
Đọc thêm: