Các nhà phát triển Ethereum gần đây đã cảnh báo rằng hai điều chỉnh định giá Gas được lên kế hoạch đưa vào nâng cấp Glamsterdam có thể gây ra vấn đề tương thích với một số hợp đồng trên mạng chính Ethereum. Nhóm phát triển cho biết phần lớn các giao dịch lịch sử không bị ảnh hưởng trong các bài kiểm tra phát lại, và một số bất thường có thể được khắc phục bằng cách tăng giới hạn Gas cho giao dịch.
Hai đề xuất điều chỉnh chi phí trạng thái
Cảnh báo lần này chủ yếu liên quan đến EIP-8037 và EIP-8038. EIP-8037 tăng chi phí tạo trạng thái trên chuỗi, bao gồm tài khoản mới, khe lưu trữ và mã byte hợp đồng; EIP-8038 tăng chi phí truy cập trạng thái hiện có, bao gồm các thao tác lớp thực thi như SLOAD, SSTORE và truy cập tài khoản lạnh.
Quỹ Ethereum cho biết đợt điều chỉnh giá này nhằm chuẩn bị cho việc tăng dung lượng mạng trong tương lai. Khi trạng thái trên chuỗi Ethereum tiếp tục mở rộng và người xác thực hỗ trợ giới hạn Gas khối cao hơn, các thao tác tiêu tốn nhiều tài nguyên cần được định giá lại.
Giả định gas cố định dễ gặp vấn đề nhất
Các nhà phát triển đã phát lại các giao dịch lịch sử trên mạng chính Ethereum theo các quy định định giá đề xuất của Glamsterdam và phân loại kết quả thành bốn nhóm: hoàn toàn không thay đổi, thay đổi việc sử dụng Gas nhưng vẫn thành công, có thể khắc phục sau khi tăng giới hạn Gas, và có thể vẫn thất bại ngay cả khi tăng đáng kể Gas.
- Sử dụng chuyển hoặc gửi với khoản trợ cấp Gas 2.300
- Giới hạn gas của hợp đồng được cố định sẵn
- Dựa vào gasleft() để thực hiện các phép kiểm tra logic
Quỹ Ethereum đặc biệt lưu ý rằng các hợp đồng sử dụng cơ chế trợ cấp 2.300 Gas của Solidity cần được kiểm tra kỹ lưỡng. Vì dưới định giá truy cập trạng thái mới, những thao tác trước đây có thể hoàn thành trong giới hạn này có thể tiêu tốn nhiều Gas hơn trong tương lai.
Cũng cần cập nhật ví và công cụ Gas
Lần điều chỉnh này không chỉ ảnh hưởng đến hợp đồng thông minh. Các ví, nhà cung cấp RPC, bộ chỉ mục và công cụ nút cũng cần cập nhật hệ thống ước tính Gas. Nếu phần mềm vẫn sử dụng hằng số hoặc tham số đã được lưu trong bộ nhớ đệm cũ, có thể ước tính thấp Gas cần thiết cho giao dịch, dẫn đến thất bại khi thực thi.
Một trong những thay đổi điển hình là một số công cụ mặc định cho rằng chuyển tiền thông thường luôn chỉ cần 21.000 Gas. Các nhà phát triển chỉ ra rằng giả định này không phải lúc nào cũng đúng: chuyển tiền đến các tài khoản đã tồn tại vẫn duy trì mức này, nhưng nếu giao dịch tạo ra tài khoản mới, thì sẽ phát sinh thêm chi phí trạng thái bổ sung.
Testnet đã mở để kiểm tra
Để hỗ trợ kiểm thử nâng cấp, các nhà phát triển Ethereum đã triển khai mạng thử nghiệm Platåberget, còn được gọi là glam-devnet-8, hiện đã áp dụng các quy định định giá mới. Những người duy trì hợp đồng có thể nhập địa chỉ vào công cụ kiểm tra chính thức để xem liệu các giao dịch trong quá khứ có bị lệch so với quy định mới hay không.
Tiếp theo, Ethereum sẽ tiếp tục thực hiện các bài kiểm tra devnet và đẩy nhanh các bài kiểm tra phân nhánh trên Sepolia và Hoodi. Theo lộ trình hiện tại, mục tiêu ra mắt Glamsterdam là quý tư năm 2026, nhưng ngày kích hoạt mainnet vẫn chưa được công bố chính thức.

