Lỗ hổng lớn Ethereum: Tin tặc khai thác nút chẵn lẻ

Vấn đề “Nút chẵn lẻ” là gì và tôi có thể tự bảo vệ mình như thế nào?
Các nhà phát triển của Máy ảo Ethereum (EVM) đã phải giải quyết một vấn đề mà họ đặt tên là vấn đề “Nút chẵn lẻ”. Một trong những ứng dụng quan trọng nhất của Ethereum là để xây dựng các ứng dụng và hầu hết các công ty đã quyết định sử dụng nó để xây dựng các hợp đồng thông minh vì một số lý do. Các nhà phát triển tuyên bố rằng đây không phải là một lỗ hổng mà là một lỗ hổng có thể được sử dụng để tấn công hệ thống.

Để hiểu lỗ hổng này hoạt động như thế nào, cần phải hiểu Máy ảo Ethereum (EVM) là gì. Đây là quá trình cho phép mạng Ethereum chạy các hợp đồng thông minh. Là một máy ảo, EVM thực thi mã dựa trên các thuật toán toán học cho phép các hợp đồng thông minh thực thi ngay khi các mã được gửi tới mạng.

Các nút chẵn lẻ được cho là để bảo vệ EVM khỏi các phương thức tấn công này đã được đưa vào EVM. Chúng đã được thêm vào để ngăn chặn những kẻ tấn công gửi mã sai, điều này sẽ cho phép chúng tạo ra các hợp đồng không hợp lệ. Tuy nhiên, để làm cho lỗ hổng đặc biệt này hoạt động chính xác, các nhà phát triển của EVM đã phải thêm một vài điều vào EVM. Họ đã phải thực hiện một loạt các điều chỉnh và kết quả là vấn đề “Nút chẵn lẻ”.

Máy ảo Ethereum (EVM) không bao giờ được thiết kế để có các môi trường thực thi riêng biệt, điều đó có nghĩa là một trong hai môi trường thực thi luôn dễ bị kiểm soát bởi những kẻ tấn công. Điều này có nghĩa là môi trường thứ hai được tạo trong EVM không phải lúc nào cũng là môi trường chính xác, khiến cho mã dễ bị giả mạo. Vấn đề này dẫn đến hai môi trường thực thi sai được tạo ra trong EVM, dẫn đến một vấn đề nghiêm trọng cho người dùng hệ thống.

Parity Nodes không có ý định ở đó ngay từ đầu, vì vậy điều này phải được giải quyết trước khi có thể có bất kỳ vấn đề nào với sự phát triển của mạng Ethereum. Các nhà phát triển đã phải đưa ra cách khắc phục Parity Nodes và cho phép mạng chạy chỉ với một môi trường thực thi. Giải pháp là một thay đổi được thực hiện cho Parity Nodes và bây giờ Máy ảo Ethereum chỉ có thể chạy từ một môi trường thực thi duy nhất.

Một trong những vấn đề lớn nhất đã gặp phải với Parity Nodes là vấn đề này vẫn còn tồn tại khi mạng Ethereum được phát hành. Phải mất vài tháng để các nhà phát triển tìm ra giải pháp cho vấn đề này và đó là khi họ quyết định loại bỏ hoàn toàn Nút chẵn lẻ khỏi EVM. Hiện tại không có thêm Parity Nodes trong EVM, do đó, bất kỳ mã nào được gửi tới mạng sẽ chạy trong môi trường chính xác.

Tuy nhiên, vẫn còn vấn đề với mạng Ethereum vẫn chưa được giải quyết, vì vậy chúng tôi khuyến nghị tất cả người dùng EVM tuân theo các khuyến nghị được đưa ra bởi các nhà phát triển và không bao giờ đặt mã của họ vào bất kỳ môi trường nào ngoài môi trường chính xác. Điều này đặc biệt quan trọng nếu bạn đang cân nhắc sử dụng nền tảng Ethereum để xây dựng các hợp đồng thông minh. Bạn không muốn kết thúc với mã sai cho hợp đồng thông minh của mình và trách nhiệm của các nhà phát triển là tránh mọi vấn đề này, bất kể chúng có vẻ nhỏ như thế nào.