Gas limit là gì? Cách tính phí Gas Ethereum chuẩn xác nhất

Gas limit là gì và làm cách nào để tính Gas Ethereum chuẩn xác.

28531Total views
Gas limit la gi? Cach tinh phi Gas Ethereum chuan xac nhat - anh 1
Ethereum GAS. Nguồn: Cointelegraph.

Khi tham gia giao dịch trên Ethereum, bạn sẽ thấy thuật ngữ “Gas limit” xuất hiện tương đối nhiều. Ví dụ một trường cơ bản là bạn dùng ví Metamask để mua 1 token nào đó trên Uniswap. Thông tin giao dịch sẽ hiện ra các thông số như Gas limit: 21.000 và Gas price: 200. Vậy Gas limit có nghĩa là gì? Và làm cách nào để tính Gas Ethereum chuẩn xác. Tất cả thắc mắc sẽ được giải đáp ngay dưới đây.

Các khái niệm về Ethereum Gas và Gas limit

Các khái niệm về Ethereum Gas và Gas limit sẽ cho bạn hiểu rõ ý nghĩa của các thuật ngữ này. Đồng thời thấy được mối liên hệ và vai trò của chúng đối với nhau.

Ethereum Gas là gì?

Ethereum Gas được ví như mạch máu của hệ sinh thái Ethereum. Trong đó, Ethereum là một mạng lưới khổng lồ bao gồm số lượng lớn các máy tính được kết nối với nhau. Bạn có thể gọi nó bằng các tên khác là máy ảo Ethereum (EVM). Vì hệ thống của EVM tập hợp thành “siêu máy tính” toàn cầu. 

Gas limit la gi? Cach tinh phi Gas Ethereum chuan xac nhat - anh 2
Ethereum phủ sóng khắp thế giới.

Tại nơi đây, tất cả các giao dịch xảy ra trong máy ảo Ethereum đều được cập nhật vào mỗi máy tính cá nhân. Loại tiền mã hóa lưu thông trong khối Ethereum là Ether (ETH). ETH vừa đóng vai trò như 1 loại tiền tệ giao dịch vừa được sử dụng làm “nhiên liệu” cho mạng lưới. Và Gas chính là đơn vị đo lường khối lượng tính toán các giao dịch trong EVM.

Mọi hoạt động từ nhỏ cho đến lớn trong Ethereum đều được quy đổi thành khối lượng Gas. Thông qua khối lượng Gas, người chơi sẽ biết được chi phí phải trả cho hệ thống để thực hiện 1 giao dịch nào đó.

Gas có ý nghĩa như thế nào?

Câu hỏi được đặt ra ở đây là tại sao không dùng ETH để giao dịch mà phải sử dụng Gas? Hệ thống Ethereum không dùng ETH bởi giá trị của nó so với giá thị trường luôn có 1 khoảng chênh lệch. Trong khi Gas thì giải quyết hoàn toàn hạn chế này. Gas sẽ tách chi phí tính toán trong EVM khỏi giá biến động của thị trường. 

Để hiểu rõ giá trị của Gas, bạn tìm hiểu thông qua ví dụ sau. Giả sử, EVM sử dụng Ether để tính toán chi phí thay cho Gas. Năm 1, giá thị trường của nó là 10 đô la. Để gửi 1 ETH, bạn phải trả một nửa giá trị ETH bằng 5 USD. Nhưng cho đến năm 2, giá thị trường của Ether lên đến 1000 USD. Chắc chắn bạn sẽ không muốn bỏ ra cả 500 đô la thay vì 5 đô la như năm 1. Và đây chính là lý do Ethereum sử dụng Gas

Gas limit là gì?

Gas limit nghĩa là giới hạn Gas. Đây là lượng Gas tối đa mà người gửi sẵn sàng trả cho giao dịch; các loại giao giao dịch khác nhau sẽ phải chi trả mức Gas khác nhau. Trong trường hợp giao dịch hết Gas, các thợ mỏ sẽ không thể thực hiện giao dịch nữa.

Gas limit la gi? Cach tinh phi Gas Ethereum chuan xac nhat - anh 3
Gas limit là gì?

Bạn xem xét giả định sau để hiểu rõ hơn về Gas limit. Giả sử, bạn cần thực hiện các hoạt động trong 1 hợp đồng với các Gas tương ứng là

  • Lưu trữ 10 biến tốn 45 Gas.
  • Thêm 2 biến nữa tốn 10 Gas.
  • Lưu trữ kết quả tốn 45 Gas.

Suy ra, tổng lượng Gas mà người thợ mỏ sử dụng để chạy tính toán là (45 + 10 + 45) = 100 Gas.

Ví dụ, người gửi chỉ định giới hạn Gas là 120 Gas và 1 Gas có giá 20 Gwei. Như vậy phí phải trả cho người đào là (100 * 20 Gwei) = 0,000002 ETH.

Số Gas còn lại là: 120 – 100 = 20 Gas. 20 Gas không sử dụng nên phải trả lại cho người gửi. Suy ra, phải trả (20 * 20 Gwei) = 0,0000004 ETH.

Các trạng thái của Gas limit

Có 3 trạng thái của Gas limit, bao gồm: Gas limit quá thấp, Gas limit quá cao, Gas limit trung bình. Tuy nhiên các thông tin sau chỉ bàn về Gas limit quá thấp và Gas limit quá cao. Vì Gas limit trung bình rất hiếm khi xảy ra.

Gas limit la gi? Cach tinh phi Gas Ethereum chuan xac nhat - anh 4
Các trạng thái của Gas limit.

Gas limit quá thấp

Nếu Gas limit quá thấp khiến giao dịch hết Gas, các thợ mỏ sẽ không thể tiếp tục giao dịch. Khi đó, giao dịch sẽ trở về trạng thái ban đầu. Tuy nhiên người gửi vẫn phải trả ETH cho các thợ mỏ. 

Để dễ hiểu hơn, bạn cứ tưởng tượng bạn đi xe từ điểm A đến điểm B. Nhưng khi đang đi trên đường thì xe bạn hết xăng. Như vậy bạn không thể hoàn thành quãng đường đi của mình.

Giả sử, các hoạt động trong hợp đồng bao gồm

  • Lưu trữ 10 biến tốn 45 Gas.
  • Thêm hai biến tốn 10 Gas.
  • Lưu trữ kết quả lại tốn 45 Gas.

Tuy nhiên, người gửi đặt Limit Gas là 90 Gas, trong khi giao dịch cần 100 Gas để thực hiện. Trong trường hợp này, thợ mỏ sẽ tính toán giá trị 90 Gas và tính phí người gửi cho 90 Gas là (90 * 20 Gwei) = 0,0000018 ETH. Sau đó, hợp đồng trở lại trạng thái ban đầu và giao dịch được đưa vào Blockchain.

Gas limit quá cao

Dù là Gas limit quá thấp hay Gas limit quá cao thì cũng đều không tốt. Một giao dịch cơ bản (chuyển ETH đơn giản) có yêu cầu ít nhất là 21.000 Gas. Thợ mỏ chỉ được phép tiêu tốn nhỏ hơn hoặc số Gas tối đa quy định.

Ví dụ, giao dịch A (chuyển ETH đơn giản) có Gas limit được chỉ định là 42.000. Trong khi giao dịch B và C (cũng chuyển ETH đơn giản) có Gas limit được chỉ định là 21.000. Vậy thợ mỏ sẽ lựa chọn giao dịch nào: 

  • Nếu họ lựa chọn giao A, họ sẽ phải hoàn trả 1 lượng Gas khổng lồ chưa sử dụng đến.
  • Nếu họ lựa chọn giao dịch B và C, họ phải hoàn trả rất ít tiền.

Hầu hết thợ mỏ sẽ lựa chọn giao dịch B và C vì nó có lợi cho họ về mặt kinh tế hơn. Như vậy Gas limit quá cao không phải là một điều tốt. Bạn chỉ nên đặt Gas limit cao hơn lượng Gas cần thiết cho giao dịch 1 chút.

Giá Gas là gì? Công thức tính phí Gas Ethereum chuẩn xác nhất

Trong quá trình giao dịch, điều mà các nhà giao dịch quan tâm nhất chính là chi phí Gas. Hiểu rõ về giá Gas qua các thông tin sau

Giá Gas là gì?

Gas limit la gi? Cach tinh phi Gas Ethereum chuan xac nhat - anh 5
Giá trị Wei tương ứng với các đơn vị tiền tệ khác.

Giá Gas tức là số lượng Ether bạn sẵn sàng trả cho mỗi đơn vị Gas. Số lượng Ether thường được đo bằng đơn vị “Gwei”. “Wei” là đơn vị nhỏ nhất của Ether và một tỷ wei bằng một Gwei. Bạn có thể hiểu giá Gas tương tự như chi phí của mỗi lít nhiên liệu bạn phải trả để đổ xăng cho ô tô của mình.

Cách tính phí Gas Ethereum chuẩn xác nhất

Để tính được chi phí Gas Ethereum, bạn cần nắm chắc các thông số liên quan, bao gồm:

  • Std (Chuẩn): Phí trung bình mà người dùng phải trả để chuyển ETH. Phí chuyển sẽ tính theo giá trị USD. Khoảng thời gian chuyển khá nhanh, khoảng dưới 5 phút.
  • Gas Price Std (Gwei): Phí trung bình mà người dùng phải trả để chuyển ETH, tính theo giá trị Gwei. Khoảng thời gian chuyển khá nhanh, khoảng dưới 5 phút.
  • SafeLow Cost for Transfer: Phí trung bình mà người dùng phải trả để chuyển ETH, tính theo giá trị USD. Thời gian chờ cho 1 giao dịch khoảng dưới 30 phút.
  • Gas Price SafeLow (Gwei): Phí trung bình mà người dùng phải trả để chuyển ETH, tính theo giá trị Gwei. Thời gian chờ cho 1 giao dịch khoảng dưới 30 phút.
  • Gas Price Fastest (Gwei): Phí trung bình mà người dùng phải trả để chuyển ETH, tính theo giá trị Gwei. Thời gian chờ cho 1 giao dịch khoảng dưới 30 giây.

Bảng giá Gas thích hợp sẽ được thay đổi liên tục tùy vào cung cầu của thị trường, các nhà đầu tư có thể theo dõi trực tiếp tại đây.

Gas limit la gi? Cach tinh phi Gas Ethereum chuan xac nhat - anh 6
Bảng giá Gas ngày 17/05/2021.

Dựa vào nhu cầu cá nhân bạn có thể lựa chọn giá Gas phù hợp. Các thợ mỏ sẽ tính toán và thực hiện các giao dịch cung cấp giá Gas cao nên bạn hãy cân nhắc sử dụng giá Gas hợp lý. Tốt nhất bạn hãy đưa ra mức Gas cao hơn trung bình 1 chút.

Trong trường hợp bạn muốn giao dịch của mình thực hiện nhanh hơn thì bạn nên sử dụng mức 126 Gwei. Mức giá này giúp bạn đánh bại tất cả những người trả giá Gas thấp hơn. Nói chung bạn tính toán giá Gas phù hợp với mức độ khẩn cấp của giao dịch.

Cách chuyển đổi Gas thành Ether

Mức giá chuyển đổi Gas thành Ether sẽ không được cố định mà liên tục thay đổi. Như chúng ta đã biết, ngoại trừ giá Gas limit là cố định, các chi phí Gas khác được thiết lập bằng cơ chế đấu giá giữa người dùng (user) và thợ đào. Giao dịch diễn ra nhanh hay chậm phụ thuộc vào mức giá Gas đặt ra. Do giá Gas có thể tùy ý đặt, nên người dùng sẽ ưu tiên chọn những mức giá Gas thấp. Ngược lại, thợ đào sẽ hướng đến xác minh những giao dịch có giá Gas cao. 

Vì vậy, giá Gas cần phải đặt ở mức cả hai bên đều thấy phù hợp. Vì nếu mức gas quá thấp, thợ đào không mặn mà, giao dịch sẽ diễn ra lâu hơn. Nhưng nếu đặt mức gas quá cao thì người dùng sẽ bị thiệt. Thậm chí, nếu bất cẩn khi đặt giá Gas, người dùng có thể mất một lượng lớn ETH (vì blockchain sẽ không thể chỉnh sửa).

Giá Gas trung bình thường nằm trong khoảng 20 Gwei (hoặc khoảng chừng 0,00000002 ETH). Tuy nhiên, khi nhiều giao dịch cần được xác minh thì mức phí gas sẽ đẩy lên để cạnh tranh theo luật cung – cầu. (giá Gas cao sẽ được ưu tiên xác minh trước, giá Gas thấp sẽ xác minh sau).

Điều gì xảy ra khi Gas được hoàn trả?

Chúng ta thường nghĩ chi phí Gas thường không thể hoàn trả. Tuy nhiên, sự thật là cũng có trường hợp Gas được hoàn trả lại. Khi xuất hiện hai lệnh SUICIDE và SSTORE thì người dùng sẽ được hoàn trả lại Gas. Cụ thể, SUICIDE là lệnh xuất hiện khi hợp đồng thông minh bị giết và người dùng sẽ lấy lại được 24.000 Gas. Trường hợp tiếp theo là lệnh SSTORE xóa bộ nhớ cũng giúp người dùng lấy lại được 15.000 Gas.

Như chúng ta đã biết Gas chính là thù lao của thợ đào. Đây là phần thưởng xứng đáng cho các hoạt động tính toán để xác minh giao dịch cho người dùng. Do đó, rõ ràng là thợ đào sẽ không tùy tiện mà trả lại phí Gas cho người dùng. Vì vậy, có thêm một điều kiện ràng buộc đó là Gas được hoàn trả lại không được vượt quá ½ lượng Gas đã được sử dụng trong quá trình xác minh giao dịch.

Tổng kết

Như vậy với những thông tin trên bạn đã hiểu rõ hơn về Gas limit và các vấn đề khác xung quanh nó. Bạn hãy vận dụng các kiến thức này vào quá trình giao dịch Ethereum để đạt hiệu quả cao nhất. Ngoài ra, bạn cũng có thể truy cập vào Coinvn để đọc thêm các bài viết khác về lĩnh vực tiền mã hóa.