Ethereum đã tạm dừng các thay đổi Glamsterdam dự kiến trên testnet Hoodi sau khi một cuộc rà soát bảo mật phát hiện tám giả định trong hợp đồng thông minh có thể bị phá vỡ theo các quy tắc hạch toán gas mới. Chuyện gì đã xảy ra - Công ty kiểm toán ChainSecurity đã công bố một phân tích cho thấy hai EIP được đề xuất (EIP-8037 và EIP-8038), vốn điều chỉnh lại mức phí gas cho việc tạo và truy cập trạng thái, có thể làm thay đổi lượng gas còn lại sau một số thao tác nhất định—có khả năng làm mất hiệu lực các giả định mà những hợp đồng hiện hữu đang dựa vào. - Do những phát hiện này, nhóm Ethereum All Core Developers (ACD) đã hoãn kích hoạt hard fork Hoodi, vốn ban đầu được lên lịch vào ngày 26 tháng 10. Hiện chưa có ngày kích hoạt mới. Vì sao điều này quan trọng - Một số hợp đồng dựa vào mức phí gas cố định hoặc giả định rằng một lệnh gọi bên ngoài thất bại sẽ luôn để lại quá ít gas để đoạn mã tiếp theo có thể chạy. Cách hạch toán gas sửa đổi của Glamsterdam có thể khiến gas khả dụng trong những trường hợp mà nhà phát triển nghĩ rằng việc thực thi về cơ bản sẽ dừng lại, qua đó cho phép chạy những nhánh mã trước đây bị chặn hoặc ghi nhận vĩnh viễn các lỗi vốn chỉ được dự định là tạm thời. - Báo cáo của ChainSecurity nêu bật các ví dụ như những hợp đồng đánh dấu thao tác là thất bại khi một lệnh gọi bên ngoài hết gas. Theo các quy tắc mới, lượng gas đó có thể khả dụng trở lại, khiến hợp đồng ghi nhận một lỗi vĩnh viễn hoặc thay đổi cách xử lý việc thử lại. Ethereum Foundation đang làm gì - Foundation đã công bố một kho lưu trữ GitHub ghi lại tám bất biến bị ảnh hưởng, kèm ví dụ, giải thích và hướng dẫn để nhà phát triển kiểm thử mã của mình. - Các nhà phát triển được đề nghị kiểm toán cả hợp đồng on-chain lẫn cơ sở hạ tầng off-chain (ví, relayer, công cụ giám sát, v.v.) có thể dựa vào giới hạn gas được mã hóa cứng hoặc các hành vi gas cụ thể. Có thể gửi báo cáo riêng tư đến glamsterdam@ethereum.org. - Ethereum đang phối hợp với ChainSecurity và Dedaub, đồng thời tiến hành các cuộc kiểm toán nội bộ để đánh giá phạm vi ảnh hưởng. Tùy vào phản hồi của cộng đồng, nhóm có thể yêu cầu các dự án vá hợp đồng hoặc sửa đổi EIP-8037/EIP-8038 trước khi tiếp tục. Các thành phần kỹ thuật chính của Glamsterdam - EIP-8037: điều chỉnh lại phí gas cho việc tạo trạng thái mới - EIP-8038: điều chỉnh lại phí gas cho việc truy cập trạng thái hiện có - EIP-7732: tách biệt proposer-builder được tích hợp vào giao thức (bổ sung trách nhiệm xây dựng khối vào cơ chế đồng thuận) - EIP-7928: danh sách truy cập cấp khối nhằm cải thiện việc xử lý giao dịch và hỗ trợ thực thi song song Bối cảnh và các bước tiếp theo - Glamsterdam đã được kích hoạt trên Sepolia (ngày 6 tháng 10), nơi bản nâng cấp được kiểm thử với giới hạn gas tăng lên 200M. Việc hoãn trên Hoodi đã loại bỏ cả các đợt kích hoạt Amsterdam ở lớp thực thi và Gloas ở lớp đồng thuận khỏi lịch trình testnet. - Công việc về bản nâng cấp Hegotá tiếp theo sẽ tiếp tục song song và không bị ảnh hưởng bởi việc trì hoãn Glamsterdam. - Riêng biệt, các nhà phát triển đã hợp nhất bản sửa lỗi tiền gửi của validator (ngày 26 tháng 10), khắc phục một lỗi có thể khiến tiền gửi staking được ghi có cho các đơn vị xây dựng khối dùng chung khóa công khai; các bài kiểm thử hồi quy đã được bổ sung trước khi cập nhật các bản triển khai của client. Tóm lại Việc trì hoãn cho thấy hệ sinh thái đang thận trọng với một thay đổi tác động đến giả định kinh tế cốt lõi của nhiều hợp đồng. Các nhà phát triển nên xem lại kho lưu trữ của Foundation, kiểm thử hợp đồng (và các hệ thống off-chain liên quan) theo mô hình gas mới, đồng thời báo cáo mọi tác động để ACD quyết định tiếp tục theo kế hoạch hay điều chỉnh thông số kỹ thuật của bản nâng cấp. Đọc thêm tin tức do AI tạo tại: https://app.chaingpt.org/news