“Gas” của Ethereum là gì?

963

Gas là giá nội bộ dùng để chạy một giao dịch hoặc hợp đồng trong Ethereum. Trước khi có Frontier,giá này là 10 Szabi, tương đương với 1/100.000 Ether. Nó tách rời khỏi đơn vị Ether và thị trường mang giá trị từ đơn vị tính việc sử dụng sức mạnh tính toán (gas). Do đó, một thợ đào có thể quyết định tăng hay giảm lượng gas mình dùng tùy theo nhu cầu, theo đó giá gas cũng có thể tăng hay giảm tùy tình hình, tránh trường hợp giá ETH tăng làm thay đổi giá gas. Đây cũng là câu trả lời cho ván đề cấu trúc chi phí của Bitcoin.

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/ 

Đươ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.

Giá gas 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.

Nguồn tổng hợp

LEAVE A REPLY

Please enter your comment!
Please enter your name here