General
Sự tiến hóa của các blockchain có thể lập trình

Sự tiến hóa của các blockchain có thể lập trình

Trạng thái, EVM và Gas

Hợp đồng thông minh cho phép bạn xây dựng các ứng dụng trên blockchain. Nhưng Ethereum thực sự thực thi chúng như thế nào? Nó phụ thuộc vào trạng thái liên tục mà các hợp đồng có thể đọc và sửa đổi, một máy ảo chạy trên mọi nút, và một hệ thống phí ngăn chặn lạm dụng.

Trạng thái là gì?

Trạng thái là ảnh chụp hiện tại của tất cả dữ liệu trên blockchain—mỗi số dư tài khoản, mỗi biến được lưu trữ của hợp đồng, mỗi bản ghi quyền sở hữu token. Khi bạn kiểm tra số dư ETH của mình, bạn đang đọc trạng thái. Khi bạn hoán đổi token trên sàn giao dịch phi tập trung, bạn đang thay đổi trạng thái.

Mỗi giao dịch đều thay đổi trạng thái. Alice gửi 1 ETH cho Bob: số dư của Alice giảm 1 ETH, số dư của Bob tăng 1 ETH. Đó là một chuyển đổi trạng thái. Blockchain là một chuỗi các chuyển đổi trạng thái, mỗi chuyển đổi được kích hoạt bởi một giao dịch.

Trạng thái của một giao thức cho vay bao gồm mọi khoản vay đang tồn tại, mọi khoản đặt cọc tài sản thế chấp, mọi tham số lãi suất. Trạng thái của một sàn giao dịch phi tập trung bao gồm mọi dự trữ token của các bể thanh khoản. Dữ liệu này tồn tại giữa các giao dịch—hợp đồng ghi nhớ các tương tác trước đó và xây dựng dựa trên chúng.

Trong cơ sở dữ liệu truyền thống, một công ty lưu trữ và kiểm soát trạng thái. Trên Ethereum, trạng thái được sao chép trên hàng nghìn nút. Không có thực thể nào kiểm soát nó, và bất kỳ ai cũng có thể đọc hoặc xác minh nó.

Mô hình tài khoản

Ethereum theo dõi trạng thái thông qua các tài khoản. Mỗi địa chỉ trên Ethereum là một tài khoản với số dư, và một số tài khoản cũng lưu trữ mã và dữ liệu.

Tài khoản do người dùng kiểm soát (EOAs) được kiểm soát bằng khóa riêng. Khi bạn sử dụng MetaMask hoặc ví khác, bạn kiểm soát một EOA. Những tài khoản này có số dư và có thể khởi tạo giao dịch, nhưng chúng không lưu trữ mã.

Các tài khoản hợp đồng được kiểm soát bằng mã. Chúng có số dư, lưu trữ mã thực thi và duy trì dữ liệu liên tục. Hợp đồng thông minh sống trong các tài khoản hợp đồng. Không ai giữ khóa riêng cho một tài khoản hợp đồng—mã tự định nghĩa tất cả hành vi.

Sự khác biệt này có ý nghĩa quan trọng với trạng thái. EOAs chỉ lưu trữ số dư. Các tài khoản hợp đồng lưu trữ các cấu trúc dữ liệu tùy ý—bản đồ số dư người dùng, danh sách đơn đặt hàng, tham số cấu hình, bất kỳ thứ gì mà hợp đồng cần. Khi Uniswap theo dõi dự trữ bể thanh khoản, hoặc Aave theo dõi các khoản vay tồn đọng, dữ liệu đó tồn tại trong bộ nhớ của tài khoản hợp đồng.

Bitcoin sử dụng một mô hình khác—UTXO theo dõi từng "đồng tiền" riêng lẻ thay vì số dư tài khoản. Hợp đồng thông minh cần trạng thái phức tạp và liên tục. Mô hình tài khoản của Ethereum mang tới điều đó.

Máy ảo Ethereum

Máy ảo Ethereum (EVM) là môi trường thực thi hợp đồng thông minh. Nó chạy giống hệt nhau trên mọi nút trong mạng.

Các nhà phát triển viết hợp đồng bằng Solidity, một ngôn ngữ cấp cao. Trình biên dịch chuyển đổi Solidity thành mã byte EVM—các lệnh cấp thấp mà máy ảo có thể thực thi. Mỗi nút Ethereum chạy cùng một mã byte thông qua cùng một máy ảo, đảm bảo mọi nút đạt được cùng một kết quả.

EVM là xác định: với cùng một trạng thái và cùng một giao dịch, nó luôn tạo ra cùng một kết quả. Nếu các nút khác nhau có thể nhận được kết quả khác nhau từ cùng một đầu vào, mạng lưới sẽ không thể đạt được sự đồng thuận về trạng thái chính xác.

Các hợp đồng chạy trong một môi trường cách ly. Một hợp đồng không thể truy cập tệp trên máy chủ, thực hiện yêu cầu mạng, hoặc ảnh hưởng đến bất kỳ thứ gì bên ngoài blockchain. Sự cách ly này bảo vệ các nút thực thi mã hợp đồng.

EVM xử lý các giao dịch theo thứ tự tuần tự—một lần một. Mỗi giao dịch đọc trạng thái, thực thi logic, và ghi trạng thái đã cập nhật trước khi giao dịch tiếp theo bắt đầu. Việc thực thi tuần tự này đảm bảo tính nhất quán nhưng giới hạn thông lượng. Đây là lý do tại sao Ethereum gặp vấn đề về khả năng mở rộng.

Gas: trả tiền cho việc tính toán

Mỗi hoạt động của EVM đều tốn gas—một đơn vị đo lường công việc tính toán. Gas ngăn chặn lạm dụng và bồi thường cho các trình xác thực.

Nếu không có gas, bất kỳ ai cũng có thể triển khai một hợp đồng chứa vòng lặp vô hạn. Các trình xác thực sẽ thực thi nó mãi mãi, không thể xử lý các giao dịch khác. Gas đảm bảo mỗi phép tính có chi phí giới hạn. Khi gas hết, việc thực thi dừng lại.

Khi bạn gửi một giao dịch, bạn chỉ định:

  • Giới hạn gas: Số gas tối đa bạn sẽ chi tiêu

  • Giá gas: Số ETH bạn trả cho mỗi đơn vị gas (tính bằng gwei, trong đó 1 gwei = 0.000000001 ETH)

Chi phí tối đa của bạn là giới hạn gas × giá gas. Nếu giao dịch sử dụng ít gas hơn giới hạn, phần chênh lệch sẽ được hoàn lại. Nếu cần nhiều gas hơn giới hạn, giao dịch sẽ bị hoàn lại—nhưng bạn vẫn phải trả cho gas đã sử dụng.

Một giao dịch chuyển ETH đơn giản tốn 21,000 gas. Một tương tác DeFi phức tạp có thể tốn 200,000 gas hoặc hơn. Với giá gas 50 gwei, đó là 0.00105 ETH cho một giao dịch chuyển tiền ($2 tại $2,000/ETH) và 0.01 ETH cho một hoạt động DeFi ($20).

Khi nhu cầu vượt quá khả năng của khối, người dùng cạnh tranh để có không gian bằng cách đặt giá gas cao hơn. Các trình xác thực ưu tiên các giao dịch trả nhiều hơn. Trong cơn sốt NFT năm 2021, phí gas vượt quá $50 cho một giao dịch chuyển tiền đơn giản và hơn $200 cho các tương tác phức tạp. Một người dùng cố gắng hoán đổi $50 token sẽ không trả $80 phí gas để thực hiện.

Gas tạo ra một thị trường cho không gian khối. Nhưng thị trường này bộc lộ một giới hạn cứng: việc thực thi tuần tự giới hạn không gian khối tồn tại, bất kể người dùng sẵn sàng trả bao nhiêu.

Nội dung
Xem mã nguồn
Blueshift © 2026Commit: 0b5b255