article image

"Gas" của Ethereum là gì?

Ethereum

02/05/2017

6739

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/ 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.

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

tag: ethereum, gas của ethereum

admin avatar

admin Tác giả

Yêu thích công nghệ tiền ảo và các lĩnh vực công nghệ liên quan tới blockchain. Muốn mang lại kiến thức và tin tức mới nhất tới người Việt.

Bài viên liên quan

Để lại bình luận

Địa chỉ mail của bạn sẽ không công khai. Các ô có dấu * yêu cầu bắt buộc phải điền.