So sánh phí trên nền tảng Cardano và Ethereum
Ngày 07 tháng 09 năm 2023 - Chia sẻ bài viết này trên Twitter | Facebook | Telegram
Trong bài viết trước, chúng tôi đã giải thích cách chạy tập lệnh hoặc hợp đồng thông minh trên Bitcoin, Ethereum và Cardano. Trong bài viết này, chúng tôi sẽ so sánh Cardano và Ethereum. Chúng tôi sẽ tập trung chủ yếu vào phí giao dịch. Chúng tôi sẽ giải thích các khoản phí phụ thuộc vào điều gì và chúng bị ảnh hưởng như thế nào bởi các lựa chọn thiết kế mà các nhóm đã thực hiện khi xây dựng nền tảng.
Chi phí thực hiện hợp đồng thông minh
Việc thực hiện các hợp đồng thông minh trong mạng phân tán sẽ tiêu tốn tài nguyên máy tính. Người dùng phải trả phí để thực hiện hợp đồng thông minh. Việc thực hiện hợp đồng đòi hỏi nhiều nguồn lực hơn việc xác thực một giao dịch thông thường, do đó phí thường cao hơn. Để đo lường lượng nỗ lực tính toán cần thiết để thực hiện hợp đồng thông minh trên Ethereum, khái niệm GAS được sử dụng.
GAS là đơn vị đại diện cho lượng công việc nhỏ nhất có thể được thực hiện bởi Máy ảo Ethereum (EVM).
Mỗi hoạt động có thể được EVM thực hiện đều có chi phí GAS cố định. Ví dụ: thêm hai số tốn 3 GAS, trong khi lưu một giá trị vào bộ nhớ tốn 20 GAS. Việc thực hiện các bước tương tự trong cùng một hợp đồng thông minh sẽ luôn tiêu tốn cùng một lượng GAS.
Phí người dùng phụ thuộc vào chi phí GAS, là số ETH được trả cho mỗi đơn vị GAS. Chi phí GAS không được cố định bởi giao thức mà do người dùng đặt ra khi gửi giao dịch hoặc triển khai hợp đồng thông minh. Người xác thực càng nhận được nhiều ETH thì giao dịch hoặc hợp đồng thông minh càng có nhiều khả năng được đưa vào khối tiếp theo.
Người dùng phải trả một lượng ETH khác nhau để thực hiện các hoạt động tương tự trong cùng một hợp đồng thông minh, tùy thuộc vào giá gas mà họ chọn. Giá gas là một cơ chế dựa trên thị trường cho phép người dùng đặt giá thầu cho các nguồn tài nguyên mạng hạn chế.
Mô hình GAS có một số ưu điểm và nhược điểm đối với người dùng. Một mặt, nó cho phép họ có một số quyền kiểm soát đối với phí của mình và ưu tiên các giao dịch hoặc hợp đồng thông minh theo mức độ khẩn cấp và tầm quan trọng của chúng. Mặt khác, nó cũng gây ra một số sự phức tạp và không chắc chắn trong việc ước tính và quản lý phí cũng như đảm bảo các giao dịch hoặc hợp đồng thông minh của họ được thực hiện thành công và kịp thời.
Cardano sử dụng hệ thống phí khác với Ethereum, không phụ thuộc vào GAS hoặc chi phí GAS.
Hệ thống phí của Cardano dựa trên hai tham số giao thức: A và B. Công thức tính phí tối thiểu cho một giao dịch (tx) là: charge = A + B * size(tx), trong đó:
- A và B là các tham số giao thức có thể được điều chỉnh
- size(tx) là kích thước giao dịch tính bằng byte
Tham số A phản ánh chi phí cố định để xử lý bất kỳ giao dịch nào, bất kể quy mô hoặc độ phức tạp của nó. Tham số B phản ánh chi phí biến đổi khi xử lý một giao dịch, tùy thuộc vào quy mô của nó. Giao dịch càng lớn thì càng cần nhiều tài nguyên để lưu trữ và xử lý nó.
Các tham số giao thức A và B hiện được đặt tương ứng là 0,155381 ADA và 0,000043946 ADA/byte. Ví dụ: nếu một giao dịch có kích thước 200 byte thì phí để thực hiện giao dịch sẽ là (0,155381 + 0,000043946 * 200) = 0,164271 ADA.
Phí cho một giao dịch trên Cardano không phụ thuộc vào độ phức tạp tính toán hoặc tình trạng tắc nghẽn mạng. Nó chỉ phụ thuộc vào quy mô giao dịch, được xác định bởi số lượng và loại đầu vào, đầu ra, chứng chỉ và siêu dữ liệu trong giao dịch. Do đó, hệ thống tính phí trên Cardano đơn giản hơn và dễ dự đoán hơn so với mô hình gas trên Ethereum.
Để thực hiện cùng một hợp đồng trên Ethereum, người dùng có thể trả một lượng ETH khác nhau mỗi lần, trong khi đối với Cardano, phí trong ADA sẽ giống nhau mỗi lần. Phí trên Ethereum không thể dự đoán trước được trong khi trên Cardano thì có thể dự đoán được. Mọi thứ trở nên phức tạp bởi thực tế là giá cả thị trường của ETH và ADA cũng không thể dự đoán trước được.
Hệ thống tính phí trên Cardano cũng có một số hạn chế và thách thức. Một hạn chế là nó không cho phép người dùng ưu tiên các giao dịch của họ bằng cách trả phí cao hơn, như họ có thể làm trên Ethereum. Tất cả các giao dịch trên Cardano đều được các SPOs đối xử bình đẳng. Quá trình xử lý giao dịch dễ dự đoán hơn vì nó hoạt động trên cơ sở ai đến trước được phục vụ trước. Đây là hành vi được người dùng mong đợi trong một số trường hợp nhưng không phải lúc nào cũng là một lợi thế.
Một thách thức khác là các tham số giao thức A và B phải được hiệu chỉnh cẩn thận để cân bằng lợi ích của người dùng, nhà phát triển và vận hành pool cũng như thích ứng với những thay đổi về khối lượng giao dịch, giá phần cứng và giá cả thị trường của ADA.
Giao dịch thất bại
Một điểm khác biệt khác giữa Cardano và Ethereum liên quan đến việc thanh toán cho các giao dịch không thành công và ảnh hưởng của các giao dịch không thành công lên sổ cái.
Trên Ethereum, người dùng cũng phải trả ETH cho các giao dịch thất bại. Điều này là do Người xác thực vẫn cần xác nhận các giao dịch và thực hiện hợp đồng thông minh, ngay cả khi chúng không thành công hoặc hoàn nguyên. Phí được trả cho các tài nguyên tính toán được sử dụng bởi giao dịch, bất kể kết quả của nó như thế nào. Điều này có thể dẫn đến chi phí và tổn thất không mong muốn cho người dùng.
Người dùng Cardano có thể xác minh trước được xem giao dịch có thể được xác thực hay không. Điều này là do Cardano sử dụng sơ đồ xác thực giao dịch xác định, có nghĩa là kết quả và tác động của giao dịch có thể được dự đoán trước khi nó được thực thi trên sổ cái. Cardano cũng sử dụng phương pháp xác thực hai giai đoạn, trong đó giai đoạn đầu tiên kiểm tra xem giao dịch có được xây dựng chính xác và có thể thanh toán phí hay không, còn giai đoạn thứ hai chạy các tập lệnh có trong giao dịch. Nếu giao dịch vượt qua cả hai giai đoạn tại máy cục bộ thì nó cũng sẽ chuyển chúng trên mạng, trừ khi có những thay đổi về trạng thái sổ cái do các giao dịch khác được xử lý ở giữa gây ra.
Nếu giao dịch không thành công trong giai đoạn đầu, nó sẽ bị hủy ngay lập tức và không phải trả phí. Nếu giao dịch vượt qua giai đoạn đầu tiên nhưng không thành công ở giai đoạn thứ hai, nó vẫn được đưa vào một khối và phải trả một khoản phí, nhưng giao dịch không có ảnh hưởng (không thể dự đoán trước) đối với trạng thái sổ cái. Điều này là do Cardano sử dụng mô hình UTXO mở rộng, đảm bảo rằng các giao dịch mang tính xác định và có thể dự đoán được.
Các giao dịch trên Ethereum có thể có những tác động khó lường đối với sổ cái, tùy thuộc vào kết quả của các hợp đồng thông minh mà chúng thực hiện. Một số thao tác có thể không thành công hoặc hoàn nguyên do nhiều lý do khác nhau, chẳng hạn như:
- Hết gas: Nếu một giao dịch hoặc hợp đồng thông minh vượt quá giới hạn gas của nó, tức là lượng gas tối đa mà người dùng sẵn sàng trả, thì giao dịch hoặc hợp đồng thông minh đó sẽ thất bại và hoàn nguyên mọi tác động nhưng vẫn tiêu thụ hết GAS và phải trả tiền. Mức phí tối đa.
- Opcode không hợp lệ: Nếu một giao dịch hoặc hợp đồng thông minh gặp phải một opcode không hợp lệ, đó là một lệnh không được EVM nhận ra, thì nó sẽ đưa ra một ngoại lệ và hoàn nguyên tất cả các tác động của nó. Điều này có thể xảy ra do lỗi trong mã hợp đồng thông minh hoặc do các nỗ lực độc hại nhằm khai thác lỗ hổng.
- Hoàn nguyên opcode: Nếu một giao dịch hoặc hợp đồng thông minh gọi rõ ràng opcode hoàn nguyên, đây là một hướng dẫn cho phép hợp đồng thông minh hủy bỏ việc thực thi và hoàn nguyên tất cả các tác động của nó thì nó sẽ làm như vậy. Điều này có thể xảy ra do nhiều lý do khác nhau, chẳng hạn như không đáp ứng được một số điều kiện nhất định, kích hoạt một số sự kiện nhất định hoặc thực thi một số quy tắc nhất định.
Những tác động không thể dự đoán trước này trên sổ cái có thể dẫn đến chi phí và tổn thất không mong muốn cho người dùng bắt đầu giao dịch hoặc triển khai hợp đồng thông minh. Ví dụ: nếu người dùng gửi ETH đến hợp đồng thông minh không thành công hoặc hoàn nguyên vì bất kỳ lý do gì thì người dùng sẽ mất ETH mà họ đã gửi và cũng phải trả phí cho giao dịch không thành công.
Cách tiếp cận mô-đun và nguyên khối
Nền tảng Cardano và Ethereum có những cách tiếp cận khác nhau về cách chúng xử lý việc thực hiện và xác thực hợp đồng thông minh. Cardano sử dụng cách tiếp cận mô-đun, trong đó hợp đồng thông minh bao gồm hai thành phần: mã on-chain và mã off-chain. Ethereum sử dụng cách tiếp cận nguyên khối, trong đó các hợp đồng thông minh được thực thi và xác thực hoàn toàn trên Blockchain.
Một cách tiếp cận khác có tác động đến phí, hiệu suất, bảo mật và khả năng mở rộng. Số tiền phí cho các dịch vụ on-chain phụ thuộc vào khả năng mở rộng.
Trước tiên hãy nhìn vào khả năng mở rộng.
Mô hình GAS của Ethereum có một số vấn đề về khả năng mở rộng, vì nó tạo ra nút cổ chai về dung lượng mạng và là nguồn gây biến động về phí. Dung lượng mạng bị giới hạn bởi giới hạn GAS của khối, đây là lượng GAS tối đa mà Người xác thực có thể đưa vào một khối. Giới hạn GAS của khối không được cố định bởi giao thức mà được Người xác thực bình chọn dựa trên sở thích và lợi ích của họ. Giới hạn GAS của khối càng cao thì càng có nhiều giao dịch hoặc hợp đồng thông minh có thể được xử lý trong một khối, nhưng người xác thực cũng cần nhiều tài nguyên hơn để xác thực và lưu trữ khối.
Những vấn đề về khả năng mở rộng này trên Ethereum ảnh hưởng tiêu cực đến cả người dùng và nhà phát triển. Người dùng phải trả phí cao và không thể dự đoán trước cho các giao dịch hoặc hợp đồng thông minh của họ, điều này làm giảm khả năng sử dụng và khả năng chi trả của họ. Các nhà phát triển phải đối mặt với việc quản lý và ước tính phí phức tạp và không chắc chắn cho các ứng dụng của họ, điều này làm tăng chi phí và rủi ro phát triển dự án.
Hệ thống tính phí của Cardano có một số lợi thế về khả năng mở rộng so với mô hình GAS của Ethereum vì nó không phụ thuộc vào GAS. Dung lượng mạng không bị giới hạn bởi giới hạn GAS khối mà thay vào đó là giới hạn kích thước khối. Giới hạn kích thước khối đảm bảo rằng tất cả các khối có thể được xác thực và lưu trữ hiệu quả bởi tất cả các trình xác thực, bất kể tài nguyên tính toán của chúng.
Phí trên Cardano ổn định vì chúng chỉ phụ thuộc vào quy mô giao dịch, được xác định bởi nội dung và cấu trúc của nó. Quy mô giao dịch không thay đổi nhiều tùy theo hoạt động hoặc sự kiện của mạng vì nó không phản ánh mức độ phức tạp hoặc tính cấp bách của tính toán.
Những lợi thế về khả năng mở rộng này trên Cardano mang lại lợi ích tích cực cho cả người dùng và nhà phát triển. Người dùng có thể trả mức phí thấp và có thể dự đoán được cho các giao dịch hoặc hợp đồng thông minh của họ, điều này làm tăng khả năng sử dụng và khả năng chi trả của họ. Các nhà phát triển có thể xử lý các tính toán và quản lý phí đơn giản và nhất định cho ứng dụng của họ, giúp giảm chi phí và rủi ro phát triển.
Sự phụ thuộc của phí vào quy mô giao dịch còn có một lợi thế khác mà chúng ta sẽ nói đến bên dưới.
Hệ thống phí của Cardano cũng có một số thách thức về khả năng mở rộng cần được giải quyết trong tương lai. Một thách thức là nó không tính đến chi phí bộ nhớ để theo dõi trạng thái chuỗi tích lũy, đặc biệt là các UTXO. Tất cả các Trình xác thực đều phải lưu trữ UTXO trong bộ nhớ để xác thực các giao dịch mới hoặc hợp đồng thông minh. Khi nhiều giao dịch hoặc hợp đồng thông minh được xử lý trên Cardano, nhiều UTXO được tạo và lưu trữ trong bộ nhớ hơn, điều này làm tăng mức tiêu thụ bộ nhớ và chi phí cho người xác thực.
Như chúng tôi đã nói, một thách thức khác là người dùng không thể ưu tiên các giao dịch hoặc hợp đồng thông minh của họ bằng cách trả mức phí cao hơn.
Bây giờ chúng ta hãy xem xét các khái niệm khác nhau để hiểu hợp đồng thông minh là gì.
Cardano sử dụng cách tiếp cận mô-đun, trong đó hợp đồng thông minh bao gồm hai thành phần: mã on-chain và mã off-chain. Chúng tôi đã mô tả nó một cách chi tiết trong bài viết được đề cập ở phần giới thiệu. Bạn có thể thấy một phiên bản đơn giản hóa trong hình ảnh sau đây.
Mã on-chain là một tập lệnh (tập lệnh xác thực) chạy trên Blockchain để xác thực các giao dịch liên quan đến hợp đồng thông minh. Mã off-chain là một ứng dụng chạy trên máy của người dùng để tạo ra các giao dịch tuân theo logic hợp đồng thông minh. Mã on-chain được viết bằng Plutus và được biên dịch thành Plutus Core, một ngôn ngữ cấp thấp chạy trên Máy ảo Cardano (CVM). Mã off-chain có thể được viết bằng bất kỳ ngôn ngữ nào có thể tương tác với API node Cardano.
Điều quan trọng cần lưu ý là các tập lệnh xác thực thường nhỏ và có ít thao tác nhất. Nó chủ yếu chỉ mở khóa bằng cách thực hiện các thao tác đơn giản như kiểm tra chữ ký, xác minh hàm băm hoặc so sánh các giá trị.
Logic on-chain cũng có thể thực hiện một số thao tác phức tạp, chẳng hạn như tạo số ngẫu nhiên, tạo token không thể thay thế hoặc triển khai máy trạng thái.
Tuy nhiên, các hoạt động này thường tốn kém hơn và kém hiệu quả hơn so với khi chúng được triển khai theo logic off-chain. Việc thực thi chúng đòi hỏi nhiều tài nguyên hơn cho mỗi lần thực thi trên Blockchain, điều này có thể tốn kém. Và, chúng thường được sử dụng một cách tiết kiệm và chỉ khi cần thiết. Liên quan đến phí, logic phức tạp hơn được triển khai ở phần phụ trợ. Phần phụ trợ có thể là ví máy tính để bàn của người dùng hoặc dịch vụ trực tuyến chạy trên máy chủ.
Logic off-chain cũng có thể tương tác với các hợp đồng thông minh khác hoặc chi tiêu token off-chain. Những tương tác này vẫn phải được xác thực bằng logic on-chain trước khi chúng được thực thi trên Blockchain. Do đó, chúng thường phải tuân theo các quy tắc và ràng buộc giống như logic on-chain, chẳng hạn như yêu cầu chữ ký, hàm băm hoặc giá trị.
Ethereum sử dụng cách tiếp cận nguyên khối, trong đó các hợp đồng thông minh được thực thi và xác thực hoàn toàn trên Blockchain. Hợp đồng thông minh được viết bằng các ngôn ngữ cấp cao, chẳng hạn như Solidity hoặc Vyper và được biên dịch thành mã byte chạy trên Máy ảo Ethereum (EVM). Mọi node trên mạng phải chạy cùng một mã hợp đồng thông minh cho mọi giao dịch liên quan đến hợp đồng thông minh.
Nói một cách đơn giản, chỉ có logic on-chain được EVM xử lý. Tất cả các hoạt động (logic) của hợp đồng thông minh Ethereum phải được xác định trong hợp đồng và một giao dịch chỉ cần gọi các hoạt động đó. Một giao dịch có thể kích hoạt một hoặc nhiều chức năng hoặc hoạt động trong hợp đồng thông minh, tùy thuộc vào dữ liệu và giá trị mà nó cung cấp. Hợp đồng thông minh sau đó thực thi các chức năng hoặc hoạt động theo logic và quy tắc của nó, đồng thời cập nhật trạng thái tương ứng. Bạn có thể nhìn thấy nó trong hình ảnh sau đây.
Cách tiếp cận mô-đun của Cardano có một số lợi thế so với cách tiếp cận nguyên khối của Ethereum về mặt phí và khả năng mở rộng.
Một dịch vụ phức tạp có thể được tạo trên Cardano với mức phí rất thấp. Hầu hết các chức năng có thể được thực hiện off-chain và chỉ những phần cần thiết on-chain. Giao dịch Cardano càng nhỏ thì phí càng nhỏ. Phí off-chain đương nhiên có thể thấp hơn đáng kể (hoặc gần như không có nếu người dùng chạy chương trình phụ trợ cục bộ).
Trong trường hợp của Ethereum, tất cả logic hợp đồng thông minh đều được thực thi on-chain. Nếu mã hợp đồng thông minh phức tạp và lớn thì nó sẽ tự động tăng phí ETH. Các nhà phát triển buộc phải viết những hợp đồng nhỏ và đơn giản nhất có thể. Họ có thể có xu hướng bỏ qua một số xác nhận để thực hiện các hoạt động riêng lẻ rẻ hơn. Sự phức tạp của hợp đồng làm tăng phí.
Cách tiếp cận mô-đun của Cardano cải thiện khả năng mở rộng của nó bằng cách giảm tải trên Blockchain và cho phép thực hiện song song các hợp đồng thông minh. Vì hầu hết logic hợp đồng thông minh được thực thi off-chain nên blockchain chỉ phải xác thực các giao dịch gọi mã on-chain, giúp giảm yêu cầu tính toán và lưu trữ.
Khả năng mở rộng của Ethereum bị hạn chế bởi cách tiếp cận nguyên khối của nó, điều này làm tăng tải cho blockchain và ngăn cản việc thực hiện song song các hợp đồng thông minh. Vì tất cả logic hợp đồng thông minh được thực thi on-chain nên mọi node trên mạng phải chạy mọi mã hợp đồng thông minh cho mọi giao dịch liên quan đến nó, điều này làm tăng yêu cầu tính toán và lưu trữ. Hơn nữa, vì tất cả các giao dịch phải được xử lý tuần tự (trạng thái toàn cầu được chia sẻ), chúng có thể can thiệp lẫn nhau và tạo ra tắc nghẽn hoặc chậm trễ xử lý trên nền tảng.
Lời kết
Một số người nghĩ rằng thị trường phí là giải pháp tốt nhất để có được một phần tài nguyên on-chain, trong khi những người khác tin rằng một ngày nào đó mạng Blockchain sẽ chỉ dành cho người giàu. Tôi dám nói rằng làm thế nào để thiết lập chính sách phí hợp lý là một chủ đề chưa được giải quyết, bao gồm cả các giao dịch Bitcoin. Nếu phí cho các dịch vụ on-chain muốn thấp và ổn định thì điều cần thiết là phải giải quyết được khả năng mở rộng.
Không thể nói rõ ràng rằng Cardano hay Ethereum tốt hơn. Cả hai nền tảng đều có ưu điểm và nhược điểm. Việc họ muốn triển khai chức năng nào và nền tảng cụ thể nào cung cấp cho họ luôn phụ thuộc vào nhóm.
Phần lớn người dùng sẽ luôn thích mức phí thấp nhất có thể cho các dịch vụ tốt nhất có thể. Các nhà phát triển bên thứ ba phải thích ứng với điều này và xây dựng các ứng dụng mà người dùng muốn sử dụng và sẵn sàng trả tiền. Trả 1 USD cho một giao dịch thông thường và 5 USD để thực hiện hợp đồng thông minh là mức giá đắt đỏ không thể chấp nhận được đối với hầu hết mọi người. Sự phát triển công nghệ sẽ cần phải được tiếp tục.
Nguồn bài viết tại đây
Đọc thêm các bài viết liên quan tại thẻ Tags bên dưới