Gas là chi phí nội bộ để thực hiện một giao dịch hoặc hợp đồng trong Ethereum. Vào thời điểm trước viết đó là lúc trước khi ra mắt Frontier, nó được cố định đến 10 Szabo, khoảng 1 / 100.000 của một Ether. Nó tách rời các đơn vị của Ether (ETH) và giá trị thị trường của nó từ đơn vị để đo mức độ sử dụng điện toán (gas). Do đó, một thợ “đào” có thể quyết định tăng hoặc giảm việc sử dụng gas theo nhu cầu của mình, trong khi nếu cần, giá khí có thể tăng hoặc giảm tương ứng theo, tránh tránh tình trạng tăng giá của ETH cần phải thay đổi tất cả giá gas. Đây cũng là một phản ứng đối với việc thảo luận về bitcoin về cấu trúc phí.
Hệ thống gas không khác gì việc sử dụng Kw để đo điện sử trong nhà. Một khác biệt từ thị trường năng lượng thực tế là người khởi tạo giao dịch quy định giá gas cho người thợ mỏ mà họ có thể quyết định chấp nhận hay không, điều này dẫn tới sự xuất hiện của một thị trường xung quanh gas. Bạn có thể thấy sự phát triển của giá khí ở đây: https://etherscan.io/404
Với Ethereum cũng có một giới hạn blockize – vì vậy bạn đang trả phí bảo hiểm cho khối tiếp theo giống như Bitcoin.
Với các thợ “đào” Bitcoin thì họ ưu tiên giao dịch với mức phí đào cao nhất. Điều này cũng đúng với Ethereum, nơi các thợ “đào” tự do bỏ qua các giao dịch có giới hạn về chi phí gas quá thấp.
Chi phí gas trên mỗi giao dịch hoặc hợp đồng được thiết lập để đối phó với bản chất mã lặp vòng (Turing Complete) của Ethereum và EVM (Ethereum Virtual Machine Code) – ý tưởng để hạn chế vòng lặp vô hạn. Ví dụ 10 Szabo, hoặc 0.00001 Ether hoặc 1 Gas có thể thực hiện một dòng mã hoặc một số mệnh lệnh. Nếu không có đủ Ether trong tài khoản để thực hiện giao dịch hoặc tin nhắn thì nó sẽ bị coi là không hợp lệ. Mục đích là ngừng các cuộc tấn công từ chối dịch vụ từ các vòng lặp vô hạn, khuyến khích tính hiệu quả trong mã và làm cho kẻ tấn công trả tiền cho các tài nguyên mà họ sử dụng, từ băng thông thông qua việc tính toán của CPU rồi tới việc lưu trữ.
Càng nhiều lệnh phức tạp mà bạn muốn thực hiện, càng nhiều chi phí gas (và Ether) bạn phải trả. Ví dụ nếu A muốn gửi đơn vị B 1 Ether – sẽ có tổng chi phí là 1.00001 Ether được trả bởi A. Tuy nhiên nếu A muốn hình thành một hợp đồng với B tùy thuộc vào mức giá tương lai của Ether, thì sẽ có nhiều dòng code có thể thực thi hơn và nhiều hơn một nhiệm vụ hoặc việc tiêu thụ năng lượng được đặt trên mạng Ether phân phối – và do đó A sẽ phải trả nhiều hơn so với 1 Gas thực hiện trong giao dịch.
Một số bước tính toán trị giá hơn nhiều so với những cái khác vì chúng mắc với sự ước tính hoặc bởi vì chúng tăng lượng dữ liệu phải được lưu trữ trong tiểu bang. Dưới đây là danh sách các hoạt động trong Ethereum Virtual Code và chi phí của chúng trong gas (được gọi là Ethers).
Operation name Gas Cost Function
Step 1 Số tiền mặc định của khí để trả cho một chu kỳ thực hiện.
Stop 0 Không Mất phí cho hoạt động SUICIDE.
Sha3 20 Mất phí cho hoạt động SHA3.
Sload 20 Mất phí cho một hoạt động SLOAD.
Sstore 100 Mất phí cho một hoạt động SSTORE bình thường (gấp đôi hoặc đôi khi được miễn).
Balance 20 Mất phí cho hoạt động BALANCE
Creat 100 Mất phí cho một hoạt động CREATE
Call 20 Mất phí cho một hoạt động CALL.
Memory 1 Mất phí mỗi từ bổ sung khi mở rộng bộ nhớ
Txdata 5 Mất phí mỗi byte dữ liệu hoặc mã cho một giao dịch
Transaction 500 Mất phí cho mỗi giao dịch
Giới mức giá gas được ấn định trong thời điểm hiện tại để cung cấp cho hệ thống ổn định Ethereum nhưng sẽ được thả tự do theo nhu cầu và tổng lượng khí trên mỗi khối ( block) sẽ tăng dần để khuyến khích sự ổn định của mạng Ethereum.