Ethereum vẫn đang miệt mài xây dựng Ethereum 2.0, hiện tại họ đã tiến hành tới giai đoạn The Merge testnet. Nhưng có một câu hỏi lớn được đặt ra là “khi nào hoàn thành” thì vẫn chưa có đáp án. Điều này có nghĩa rằng Ethereum 2.0 là rất là phức tạp, muốn nhanh mà không thể nhanh được. Có nhiều cải tiến được đưa ra, và eWASM là một trong các cải tiến mà Ethereum đang tìm cách thực hiện để có bước nhảy vọt tiến lên Ethereum 2.0. Vậy eWASM là gì? Liệu rằng eWASM liệu có phải là đôi hài giúp Ethereum tiến nhanh lên Ethereum 2.0 hay không?
1. Ethereum 2.0 là gì
Bản nâng cấp lớn của Ethereum, được gọi là Ethereum 2.0, ETH 2 hoặc Serenity, sẽ mang theo Sharding, Proof of Stake, một máy ảo mới (eWASM) và hơn thế nữa. Điều quan trọng cần hiểu là nâng cấp này sẽ không diễn ra tại một thời điểm – thay vào đó, nó sẽ được triển khai theo từng giai đoạn.
Các giai đoạn của Ethereum 2.0
- The Merge: chuyển đổi 100% sang POS
- The Surge: gia tăng khả năng mở rộng cho Rollups qua Sharding
- The Verge: optimized lưu trữ dữ liệu, giảm kích thước node
- The Purge: giảm dung lượng ổ cứng cần thiết cho Validators.
- The Splurge: nâng cấp cho đến khi ETH hoạt động trơn tru
Khi các chức năng của toàn bộ hệ thống bắt đầu kết hợp với nhau, và sự chuyển đổi từ Máy ảo Ethereum (EVM) sang eWASM Ethereum 2.0. Quá trình chuyển đổi từ EVM sang eWASM là khá lớn, do vậy, chúng ta sẽ bắt đầu với EVM trước khi tiếp tục đi sâu hơn với eWASM.
2. EVM – Máy ảo Ethereum là gì?
Nếu bạn đã từng tải xuống một bộ phim, bài hát hoặc phần mềm (tất nhiên là hợp pháp) từ BitTorrent thì bạn có thể hiểu những lợi ích của một mạng phi tập trung. Ngay cả khi bạn là cơ quan quyền lực nhất trên thế giới, việc đánh sập một mạng phi tập trung là điều khó khăn vì nó sẽ yêu cầu tắt từng thành viên của mạng.
Một cách tốt để đưa một mạng phi tập trung mở rộng quy mô là sử dụng máy ảo (VM). Điều này là do máy ảo có thể chạy trên các hệ điều hành và phần cứng khác nhau và từ bất kỳ vị trí địa lý nào. Máy ảo hoạt động như một lớp trừu tượng giữa mã và máy thực thi mã.
Máy ảo hoạt động theo cách tương tự như một máy vật lý với bộ lưu trữ, bộ nhớ và CPU nhưng chúng hoạt động hoàn toàn dưới dạng mã. Về lý thuyết, bất kỳ ai cũng có thể chạy một máy ảo, điều này làm cho nó trở thành một nền tảng có tính di động cao cho một mạng phi tập trung. Với EVM, nó sử dụng một mạng lưới các nút phi tập trung để thực thi các hợp đồng thông minh.
Bản thân giao thức Ethereum chỉ tồn tại với mục đích giữ cho hoạt động liên tục, không bị gián đoạn và bất biến của cỗ máy trạng thái đặc biệt này. Đó là môi trường mà tất cả các tài khoản Ethereum và hợp đồng thông minh đang tồn tại. Tại bất kỳ khối nhất định nào trong chuỗi, Ethereum có một và chỉ một trạng thái ‘chuẩn’ và EVM là thứ xác định các quy tắc để tính toán trạng thái hợp lệ mới từ khối này sang khối khác.
3. eWASM
WASM là gì
WASM viết tắt của WebAssembly, được tạo ra bởi World Wide Web Consortium (W3C), nhóm các nhà phát triển chịu trách nhiệm duy trì và chuẩn hóa web, WebAssembly là một loại mã mới có thể thực thi hiệu quả trong các trình duyệt hiện đại.
Điều gì làm cho nó trở nên độc đáo
Vì WASM có định dạng nhị phân cấp thấp, dựa trên ngăn xếp, nhỏ theo mặc định, nên nó có thể tải và thực thi nhanh chóng. Thời điểm trình duyệt của bạn tải xuống mã WASM, nó có thể nhanh chóng biến nó thành cụm máy bất kỳ.
Ưu điểm của WebAssembly:
- Nó được hỗ trợ bởi nhiều công cụ JavaScript và môi trường thời gian chạy giúp nó có thể thực thi được trong hầu hết các trình duyệt hiện đại.
- Các ngôn ngữ như Go, Rust và C / C ++ đã có thể biên dịch trực tiếp thành WASM.
- Nhanh chóng thích ứng với bất kỳ kiến trúc cấp độ máy nào khiến nó có hiệu suất cực cao.
- Đi kèm với một bộ hướng dẫn tương thích với hầu hết các kiến trúc phần cứng hiện đại.
- Chạy gần với tốc độ gốc trên hầu hết các nền tảng.
eWASM trên Ethereum 2.0
eWASM hoặc Ethereum WebAssembly là phiên bản WebAssembly của Ethereum 2.0. eWASM sẽ cho phép các nhà phát triển viết mã bằng nhiều ngôn ngữ lập trình – không chỉ là ngôn ngữ dành riêng cho Ethereum là Solidity, và thêm vào đó là một loạt các cải tiến về hiệu suất. Có thể coi eWASM như là EVM 2.0, đơn giản hơn, có thể hình dung eWASM như sau
eWASM = WASM – không xác định (dấu phẩy động) + phương pháp đo sáng + EEI (được sử dụng để tương tác với Ethereum).
eWASM với mục tiêu thiết kế là:
- Tạo bộ chuyển đổi EVM và bộ phun đo sáng dưới dạng hợp đồng eWASM.
- Đặc điểm kỹ thuật rõ ràng và được ghi chép đầy đủ về giao diện Ethereum cũng như ngữ nghĩa của hợp đồng eWASM và các chi tiết tốt hơn.
- Tạo một chương trình phụ trợ eWASM cho trình biên dịch solc.
- Cung cấp hướng dẫn và thư viện để viết các hợp đồng thông minh trong C và Rust.
Giờ đây với eWASM các nhà phát triển có nhiều sự lựa chọn hơn, không chỉ là solidity mà có thể sử dụng nhiều ngôn ngữ lập trình khác với hàng loạt cải tiến về hiệu suất.
Hãy cùng sơ lược lại từ đầu, chúng ta đã nói về Ethereum 2.0, tìm hiểu về EVM và eWASM, vậy câu hỏi đặt ra bây giờ là tại sao eWASM giúp Ethereum tiến đến Ethererum 2.0 nhanh hơn không?
4. eWASM giúp ETH 2.0 tốt hơn EVM
Mục đích chính của EVM là đảm bảo tính đúng đắn, ngay cả khi nó phải trả giá bằng hiệu quả. Lane Rettig, một nhà phát triển Ethereum, tin rằng EVM được tạo ra về mặt lý thuyết, thay vì thực tế, vì nó có vẻ không lý tưởng cho ứng dụng trong thế giới thực. Mỗi node trong EVM phải chạy với độ chính xác hoàn toàn. Mặt khác, WASM nhấn mạnh đến hiệu quả và tốc độ vì nó đã được xây dựng để sử dụng
eWASM vs EVM # 1: Tốc độ
Mặc dù EVM là một công nghệ sáng tạo – lần đầu tiên cung cấp giải pháp cho phép tính toán phi tập trung chống tấn công, nhưng nó không đạt được hiệu suất như nó có thể.
Trong trường hợp điển hình, hầu hết các nhà phát triển dApps đều lập trình bằng Solidity của Ethereum, một ngôn ngữ lập trình cấp cao tự động biên dịch thành một dạng tương thích với EVM bytecode.
Bởi vì EVM dựa vào “các hướng dẫn rất lớn, rộng”, ngay cả những loại tính toán nhỏ nhất, chẳng hạn như số học cơ bản, sẽ cần được chuyển đổi thành chuỗi 256 bit – “một quá trình phức tạp cho phép toán đơn giản” – để EVM xử lý chúng.
Do thiết kế của EVM, Ethereum có tốc độ và khả năng mở rộng nghiêm trọng, cho phép nó xử lý chỉ 25 giao dịch mỗi giây. Do đó, nó rất không thực tế cho cả việc sử dụng trong thế giới thực và thời gian thực.
Mã WASM được xây dựng với mục đích sản xuất.
Đầu tiên, mã mà nó chạy gần với các hướng dẫn phần cứng thực tế, vì vậy sẽ tốn ít công sức hơn cho việc dịch các lôgic mã hóa khác nhau.
Tiếp đến các hướng dẫn bắt chước rất chặt chẽ các hướng dẫn phần cứng thực tế. Những hướng dẫn này có thể ánh xạ trực tiếp từ một đến một với hướng dẫn mà các thiết bị thực tế đang chạy, vì vậy, về lý thuyết, bạn có thể nhận được những cải tiến hiệu suất khá thú vị.
=> Tóm lại eWASM cho phép nó tải nhanh hơn và tăng đáng kể số lượng giao dịch được xử lý bởi mỗi khối. Điều này, cùng với các giải pháp sharding và layer-2, sẽ tăng tốc độ của Ethereum 2.0 lên một lượng đáng kể.
eWASM so với EVM # 2: Tiền biên dịch
Một ưu điểm chính khác mà các nhà phát triển coi là “động lực chính đằng sau eWASM” – là nó có khả năng loại bỏ thứ được gọi là “tiền biên dịch”.
eWASM hoàn toàn có thể loại bỏ sự phụ thuộc của Ethereum vào các hợp đồng được biên dịch trước hoặc “tiền biên dịch”. Các biên dịch trước này là các bit duy nhất của mã byte EVM, giúp thực hiện các tính toán mật mã hiệu quả mà không tiêu thụ một lượng lớn gas. Hầu hết thời gian, không thể tạo hợp đồng trong giới hạn gas có thể chấp nhận được mà không gọi trình biên dịch trước.
Tuy nhiên, họ không phải là không có vấn đề của họ. Việc giới thiệu tiền biên dịch mới thường yêu cầu mạng thực hiện hard-fork trên toàn hệ thống. Như lịch sử, hard fork có thể gây tranh cãi đến mức có thể chia rẽ toàn bộ cộng đồng.
Mặt khác, eWASM có thể tiết kiệm gas đến mức nó có thể hiển thị phần lớn các biên dịch trước hoàn toàn và hoàn toàn dư thừa.
Vì vậy, điều này có nghĩa là gì?
=> eWASM trao quyền cho các nhà phát triển tạo các hợp đồng thông minh nhanh chóng và hiệu quả mà không cần lo lắng về các hard-fork tiềm ẩn.
eWASM so với EVM # 3: Tính linh hoạt
Cuối cùng, chúng ta hãy xem xét một trong những lợi thế quan trọng nhất mà eWASM có so với EVM tiêu chuẩn – tính linh hoạt của mã. Trước đây, các nhà phát triển Ethereum phải học tính vững chắc để tạo ra các hợp đồng thông minh. Điều này đã tạo ra một nút thắt về kiến thức vì các nhà phát triển dự kiến sẽ trải qua một đường cong học tập cụ thể.
Tuy nhiên, như chúng ta đã thấy, eWASM có thể tương tác với một số ngôn ngữ khác nhau và có bộ công cụ dành cho nhà phát triển mở rộng hơn. Các ngôn ngữ được eWASM hỗ trợ bao gồm C, C ++ và Rust.
eWASM nhận được hỗ trợ gốc từ tất cả các công cụ JavaScript chính như:
- Công cụ Chakra của Microsoft (Microsoft Edge)
- Công cụ V8 của Google (trình duyệt dựa trên Node.js và Chromium)
- Công cụ Spidermonkey của Mozilla (Firefox và Thunderbird)
eWASM cũng hỗ trợ triển khai không có trình duyệt sau:
- ml-proto, trình thông dịch tham chiếu OCaml.
- wasm-jit-prototype, một VM độc lập sử dụng phụ trợ LLVM.
- wabt, một trình thông dịch dựa trên ngăn xếp.
eWASM cũng mở ra cho bạn những lợi ích sau đây mà trước đó không thể có với EVM:
- Sẽ đơn giản hơn để nhận được hỗ trợ trong trình duyệt cho các ứng dụng khách Ethereum nhẹ vì eWASM được xây dựng theo các tiêu chuẩn của World Wide Web.
- eWASM có nhiều trình biên dịch hơn và nhiều công cụ dành cho nhà phát triển.
- Vì nhiều dự án đã và đang sử dụng eWASM, nên nó đã thu hút được một cộng đồng nhà phát triển đa dạng và lành mạnh.
=> Chính những điều này giúp Ethereum mở đường cho khả năng tương tác chưa được khám phá giữa các blockchains khác nhau, tiến đến một tương lai Crosschain hoàn chỉnh.
5. Tổng kết
Các nhà phát triển Ethereum kỳ cựu nghĩ rằng cộng động đang phấn khích và kỳ vọng quá mức, họ nghi ngờ các hợp đồng thông minh trên eWASM đang có 2 vấn đề lớn:
- eWASM sẽ không thể loại bỏ tiền biên dịch.
- Sự phụ thuộc quá mức của eWASM vào các trình biên dịch có thể tạo ra gót chân ASin cho chính nó.
Dù vậy, đa phần các nhà phát triển Ethereum vẫn đặt niềm tin vào eWASM, những tác động của eWASM lên hiệu suất và thông lượng tổng thể khi chuyển đổi từ Ethereum lên Ethereum 2.0 sẽ như vụ nổ bigbag.
Cái mới được tạo ra từ sự chưa hoàn hảo của cái cũ, eWASM được tạo ra nhằm khắc phục yếu điểm cố hữu của EVM. Tuy nhiên, con đường để thay thế hoàn toàn EVM của eWASM vẫn còn rất dài, và nhiều thách thức, cần được kiểm chứng liên tục, cũng giống như quá trình chuyển lên Ethereum 2.0 từ Ethereum.