Khái niệm “Gas” trong Ethereum là gì?

RESEARCH CREW
21:07 24/07/2018

Gas — "nhiên liệu" của Ethereum DApps (ứng dụng phi tập trung trên nền tảng Ethereum)

Ethereum là tên của một loại Blockchain, còn Ether (ETH) là nhiên liệu cho mạng đó. Khi bạn gửi ETH, tạo hợp đồng thông minh, biên dịch lệnh… hay tất cả điều gì mà tương tác với Blockchain, bạn đều phải trả phí. Khoản phí đó được tính bằng Gas/Gas Price và Gwei.

Tại sao lại cần "nhiên liệu" gas?

Gas limit - gas used và gas price là gì?

Hệ thống gas cũng không khác lắm so với việc đo lượng điện dân dụng. Điểm khác biệt với thị trường năng lượng thực chính là người tạo giao dịch sẽ quyết định giá gas (thợ mỏ có thể chấp nhận giá này hoặc không). Bạn có thể theo dõi giá gas biến động tại đây: https://etherscan.io/charts/gasprice, hoặc bạn có thể xem ở link này: http://ethgasstation.info/ hoặc tham khảo ở đây

Đương nhiên, các khối của Ethereum cũng có kích cỡ nhất định - vì vậy người dùng cũng phải trả một khoản tiền cho khối tiếp theo cũng giống như Bitcoin.

Các thợ đào Bitcoin ưu tiên các giao dịch với phí đào được trả cao nhất. Các thợ đào của Ethereum cũng có quyền bỏ những giao dịch có giới hạn giá gas quá thấp.

Gas Limit?

Ga Limit được gọi là giới hạn năng lượng vì đó là số tiền tối đa của đơn vị Gas mà bạn sẵn sàng chi cho giao dịch. Điều này tránh được tình huống có một lỗi ở nơi nào đó trong hợp đồng, và bạn gửi 1 ETH mà không có nơi nhận. Nếu bạn không đủ Gas Limit thì khi gửi giao dịch sẽ gặp lỗi “Out of Gas” và giao dịch không được thực hiện.

Gas Price là gì ?

Nếu bạn muốn tiết kiệm hơn cho một giao dịch, hãy giảm số tiền bạn trả thông qua Gas Price. Con số Gas Price này quyết định tốc độ giao dịch của bạn diễn ra nhanh hay chậm.

Với tình trạng mạng ổn định:

  • Gas Price – 40 GWEI luôn luôn giúp bạn có độ ưu tiên cao nhất
  • Gas Price – 20 GWEI giúp giao dịch của bạn có thể vào được khối tiếp theo
  • Gas Price – 2 GWEI chỉ có thể đưa giao dịch của bạn mất đến vài phút

Giá gas (gas price) cho mỗi giao dịch hay hợp đồng được thiết lập để xử lý bản chất Turing Complete của Ethereum và EVM của nó (tức là mã Ethereum Virtual Machine)- đây là một trong những ý tưởng được đưa ra để hạn chế vòng lặp vô hạn. Ví dụ như 10 Szabo, tương đương với 0.00001 Ether hay 1 Gas có thể thực hiện một dòng mã hay vài câu lệnh. Nếu không có đủ Ether trong tài khoản để hiển thị một cuộc giao dịch hay một tin nhắn thì nó được coi là không hợp lệ. Ý tưởng này sẽ phần nào ngăn chặn được những cuộc tấn công từ vòng lặp vô hạn, khuyến khích tính hiệu quả trong chuỗi mã - và bắt những kẻ tấn công phải trả cho tài nguyên mà mình sử dụng.

Câu lệnh càng phức tạp  thì bạn càng phải trả nhiều gas (và Ether) hơn. Ví dụ người A muốn gửi người B 1 đơn vị Ether, thì tổng cộng số tiền người A phải trả sẽ là 1.00001 Ether. Tuy nhiên nếu A muốn tạo một hợp đồng với B dựa vào giá tương lai của Ether, sẽ phải thực hiện nhiều dòng mã hơn và tiêu tốn nhiều năng lượng trên mạng Ether hơn- chính vì vậy A sẽ phải trả nhiều hơn 1 Gas khi làm giao dịch.

Một số bước tính toán có mức phí cao hơn vì chúng có phí tính toán đắt đỏ hơn và nó sẽ làm tăng lượng dữ liệu phải lưu trữ trong hệ thống. Dưới đây là danh sách các hoạt động trong Ethereum Virtual Code và giá của nó (tính theo Gas hay Ether)

Hoạt động

Giá gas

Mô tả

step

1

Số tiền mặc định để trả cho một chu kỳ

stop

0

Không phải trả cho hoạt động SUICIDE

sha3

20

Trả cho hoạt động SHA3

sload

20

Trả cho hoạt động SLOAD

sstore

100

Trả cho hoạt động SSTORE (có khi gấp đôi hoặn được miễn)

balance

20

Trả cho hoạt động CALL

create

100

Trả cho hoạt động CREATE

call

20

Trả cho hoạt động CALL

memory

1

Trả cho mỗi từ thêm vào khi mở rộng bộ nhớ

txdata

5

Trả cho mỗi byte dữ liệu hoặc mã cho một giao dịch

transaction

500

Trả cho mỗi giao dịch


Giá gas giới hạn được ấn định trong thời điểm hiện tại để phục vụ cho Ethereum chạy ổn định nhưng sẽ được thả nổi theo mức cầu, và tổng lượng gas ở mỗi khối sẽ tăng dần để khuyến khích sự ổn định của mạng Ethereum.

Tổng quan phí giao dịch

Bạn sẽ phải thanh toán cho thợ mỏ bất kể giao dịch của bạn thành công hay thất bại.

Hãy xem phí TX (Gas Limit * Gas Price) trong ETH và USD khi bạn tìm kiếm thông tin giao dịch trên etherscan.io. Đây không phải là mức phí TX mà MyEtherWallet thu của bạn, chính thợ mỏ sẽ là người chúng vào các khối, và đảm bảo blockchain hoạt động.

Để tính phí Gas của một giao dịch thường có 2 thông số:

Phí Gas = Gas Limit * Gas Price

Thông thường, nếu ai đó chỉ nói “Gas”, họ đang nói về “Gas Limit”.

 

Tóm tắt

  1. Phí Gas dùng để chỉ mức phí bạn phải thanh toán cho thợ mỏ sau mỗi lần tương tác với Blockchain
  2. Gwei là tốc độ chuyển, Gwei cao giúp giao dịch được thợ mỏ ưu tiên xử lý trước
  3. Phí Gas = Gas Limit * Gas Price
TIN LIÊN QUAN
Trong bối cảnh công nghệ Blockchain được nhiều chuyên gia trong lĩnh vực nghiên cứu học thuật và lập trình viên đầu tư thời gian và công sức để áp dụng  vào trong các ngữ cảnh ứng dụng thực tế khác nhau, Ethereum cùng với ngôn ngữ Solidity là một...
Lỗ hổng bảo mật trong Hợp đồng thông minh  Hợp đồng thông minh (Smart Contract) là một thiết kế đột phá, cho phép triển khai mọi giao dịch mà không cần bên thứ ba xác nhận. Thiết kế này là một ứng dụng rất hữu ích trên nền tảng Blockchain....
EOS là một nền tảng Blockchain để phát triển các ứng dụng phi tập trung (DApp), tương tự Ethereum. Nó giúp cho việc phát triển DApp dễ dàng hơn bằng cách cung cấp nhóm các dịch vụ, tính năng giống như hệ điều hành và phù hợp cho DApp. Ý...