Việc thay đổi chi phí gas dự kiến sắp có hiệu lực với hard fork Ethereum có thể khiến một số hợp đồng bị phá vỡ. Điều đó có ổn không?
Tại cuộc họp Ethereum Core Dev ngày 23 tháng 8, Martin Holst Swende đã không đánh giá cao về sự phân nhánh của Ethereum Improvement Proposal (EIP) năm 1884, một trong sáu thay đổi được thực hiện và trở thành hard fork thứ tám của Ethereum.
Ông tóm tắt vấn đề:
“Vì vậy, chúng ta biết rằng nó sẽ phá vỡ mọi thứ, về mặt lý thuyết.”
Sau khi thảo luận về EIP 1884 hai tuần trước, ngày 06/09 vừa qua, các nhà phát triển đã xác định rằng hard fork testnet sẽ diễn ra trước vào khoảng ngày 2 tháng 10, nhưng họ đã từ chối đặt số khối cho mainnet, trong trường hợp sẽ có nhiều thứ bị hỏng hơn dự kiến.
Cụ thể, EIP 1884 sẽ tăng phí gas của các opcode được định giá thấp, tức là, các hướng dẫn trong hợp đồng thông minh. Có thể hiểu đơn giản thay đổi này như sau: Khi quy mô của mạng lưới Ethereum được mở rộng, một số hợp đồng thông minh chạy các dapp đang sử dụng rất nhiều sức mạnh tính toán nhưng chỉ phải trả tương đối ít phí gas.
Theo EIP, sự khác biệt đó tạo ra các lỗ hổng: “Nó có thể được sử dụng cho các cuộc tấn công, bằng cách lấp đầy các khối với các hoạt động được định giá thấp, khiến mạng lưới tốn rất nhiều thời gian để xử lý khối.”
Họ tiếp tục lưu ý tính thực tế của sự thay đổi:
“Các opcode được định giá thấp khiến khối bị nghẽn, đôi khi các khối được hoàn thành một cách nhanh chóng nhưng các khối khác chi cùng phí gas sẽ được hoàn thành chậm hơn. Nếu các hoạt động được cân bằng tốt, chúng ta có thể tối đa hóa khối [giới hạn gas (gas limit)] và có thời gian xử lý ổn định hơn.”
Việc tăng gas limit rất có lý. Tuy nhiên, vấn đề là có một số hợp đồng được mã hóa phụ thuộc vào phí gas không đổi. Swende chỉ ra rằng đây không phải là cách làm tốt nhất. Cuối cùng, hard fork Tangerine Whistle đã thay thế DAO vào cuối năm 2016, đồng thời thay đổi một trong những chi phí gas từ 50 thành 200. Các nhà phát triển hợp đồng thông minh cho rằng chi phí có thể tăng trở lại.
Swende cũng lưu ý rằng, sau khi EIP 1884 được triển khai, các chức năng mặc định mà một phương thức hợp đồng thông minh cần có để chuyển Ether cũng có thể sẽ thất bại, gây ra tình trạng ví bị vô hiệu hóa hoặc chỉ cho phép thanh toán trong một giới hạn nhất định.
Một nhà phát triển có mặt tại cuộc họp ngày 23 tháng 8 là Wei Tang của Parity Technologies đã rất lo lắng. Anh lập luận trong cuộc họp và trong các tweet tiếp theo rằng: các nhà phát triển nên thực hiện các bước để tránh vô tình làm đóng băng hợp đồng trước khi hard fork Istanbul. Anh nhấn mạnh về khả năng tương thích ngược.
Có nghĩa là, áp dụng khả năng tương thích ngược ít nhiều sẽ tạo ra các hợp đồng với chi phí gas hiện tại, đồng thời đặt các hợp đồng mới ở mức giá sau hard fork. Và điều này hoàn toàn có thể được thực hiện, Tang nói:
“Khả năng tương thích ngược là một tính năng có thể triển khai trên Ethereum / EVM. Lý do tại sao chúng tôi không làm điều đó ở hard fork Istanbul chủ yếu là do chưa có thời gian.”
Tang nói rằng các vấn đề về quản trị đã mất nhiều thời gian, vì vậy những thay đổi lớn hơn như EIP 1702, là tương thích ngược, sẽ được dành cho một hard fork trong tương lai.
Hudson Jameson, người đã gọi cho các nhà phát triển cốt lõi, sau đó đã viết trên Twitter:
“Có thể lập luận rằng, bằng cách thực hiện thay đổi đột phá này, ‘chúng ta sẽ loại bỏ chiếc băng cá nhân’ theo cách mà mọi người có thể chuẩn bị tốt cho những thay đổi mạnh mẽ mà cần thiết hơn nữa cho quản lý quy mô nhà nước, như tiền thuê nhà chẳng hạn.”
Nhưng Tang lo lắng rằng gỡ “băng cá nhân” ra có thể làm rách da. Trong khi hầu hết các EIP ở Istanbul “khá đơn giản”, anh ấy lo lắng về hậu quả PR của các hợp đồng bị phá vỡ. Trong cuộc họp, anh đã nêu ra nỗi ám ảnh về vụ hack Parity Multisig từ năm 2017, khiến Parity nảy ra ý tưởng về một hard fork để giải phóng 500.000 ETH bị mắc kẹt trong ví được liên kết với các hợp đồng bị đóng băng.
Và đằng sau những lo ngại về an ninh là nỗ lực thúc đẩy Istanbul hoạt động, Tang cho biết rằng việc không dành thời gian theo đuổi khả năng tương thích ngược có thể sẽ gây ra những rủi ro riêng, thậm chí sẽ dẫn đến một cuộc tấn công mạng. Điều này có thể được thực hiện bằng cách phát triển các hợp đồng thông minh và sau đó đề xuất thay đổi chi phí gas khiến chúng bị rối loạn chức năng.
Nếu hiệu ứng bị ẩn, hoặc các nhà phát triển cốt lõi bị thuyết phục rằng sự thay đổi không tương thích ngược là có thể chấp nhận được, thì thực thể độc hại có thể phá vỡ mạng lưới hoặc đánh cắp tiền của người dùng.”
Vấn đề EIP 1884 đã xuất hiện trở lại trong cuộc họp hôm nay, chỉ có một số ít người đồng tình với phương pháp này. Sau khi Tang nhắc lại quan điểm của mình, Swende đã đồng ý rằng các nhà phát triển nên tính trước bất kỳ hậu quả khôn lường nào có thể xảy ra.
“Tôi nghĩ rằng chắc chắn chúng tôi sắp phá vỡ gì đó, chúng tôi nên sửa nó sau đó. Nhưng tôi đã nghĩ đến tất cả các trường hợp và… nó thật sự rất khó. Chúng ta cần phải nâng cấp hợp đồng mới và đó là một nỗi đau. Tôi nghĩ họ cần phải chịu đựng nỗi đau đó và vượt qua nó bởi vì họ cần phải thay đổi hành vi của hợp đồng”, Swende chia sẻ.
- Vitalik Buterin khuyến nghị tăng Gas Limit cùng thời điểm với fork Istanbul
- Các nhà đầu tư Ethereum mất niềm tin vào ETH khi các vấn đề mở rộng vẫn tồn tại
Kim Tuyến
Tạp Chí Bitcoin | Decrypt