Sự kiện hợp nhất mạng Ethereum là quá trình chuyển đổi từ mô hình Proof-of-Work (PoW) hiện tại sang mô hình đồng thuận Proof-of-Stake (PoS). Sau khi quá trình hoàn tất, mainnet Ethereum hiện tại và Beacon chain mới, thường được gọi là Ethereum 2.0, sẽ hợp thành một blockchain.
Để thử nghiệm hợp nhất, testnet Kintsugi đã được triển khai vào tháng 12. Mục đích của testnet là vận hành hệ thống trong các trường hợp khác nhau và quan sát cách mà nó hoạt động. Một trong những nhà phát triển tham gia testnet Kintsugi là Marius van der Wijden, nhà phát triển cốt lõi của Ethereum, làm việc với nhóm máy khách Geth (Go-Ethereum), cho biết:
“Testnet hoạt động tốt trong thời gian qua. Tuần trước, tôi đã tạo ra công cụ fuzzer, gửi đi các khối không hợp lệ. Một khối chứa rất nhiều thông tin, như các giao dịch, hash của khối trước đó, giới hạn gas…”.
Một số triển khai không hoạt động tốt
Fuzzer là công cụ kiểm tra phổ biến được sử dụng giữa các nhà phát triển để tạo đầu vào ngẫu nhiên cho các hàm hoặc các đoạn code khác. Công cụ này tạo ra đầu vào không đúng định dạng và xem điều gì sẽ xảy ra với hệ thống.
Fuzzer do Wijden thiết lập sẽ tạo ra một khối hợp lệ và thay đổi một phần tử của nó để làm cho nó trở nên không hợp lệ. Trong trường hợp này, fuzzer đã thay đổi blockhash thành parent hash.
“Các node nên từ chối một khối đã thay đổi như vậy. Tuy nhiên, vì parent hash chỉ đến một khối hợp lệ, nên một số triển khai đã không thực sự hoạt động tốt. Hệ thống đã xác minh khối thay vì tìm kiếm nó trong bộ nhớ cache. Vì khối trước đó hợp lệ và nằm trong bộ nhớ cache, nên hệ thống giả định rằng khối mới cũng hợp lệ”.
Phân tách mạng lưới
Kết quả là một nửa mạng lưới, các máy khách của Geth, đã từ chối khối, trong khi nửa còn lại, các máy khách Nethermind- và Besu, chấp nhận khối, khiến chuỗi bị phân tách.
Theo Wijden, lần lượt các node của chuỗi Geth, bao gồm Lighthouse-Geth, Prysm-Geth, Lodestar-Geth, Nimbus-Geth và Teku-Geth, cũng bị phân tách.
“Sự phân tách này vẫn đang được điều tra, nhưng có vẻ như một số cơ chế bộ nhớ đệm của Teku bị lỗi”.
Vì một số fork khác nhau của testnet Kintsugi tồn tại tại thời điểm hiện tại và mọi node đều nghĩ rằng chúng nằm trên fork chính xác, khiến mạng lưới sẽ không thể hoàn thiện. Wijden cho biết:
“Chúng tôi sẽ tìm ra phương pháp để kết nối mạng lưới lại với nhau. Chúng tôi đã cập nhật ứng dụng Nethermind và các node đó hiện đang ở trên chuỗi chính xác. Vẫn cần bản sửa lỗi cho Teku, vì nó chiếm hơn 33% số node trên mạng lưới, nếu không, chuỗi sẽ không thể hoàn thiện”.
Sự cố mang lại một số tín hiệu tốt
Theo Wijden, sự cố này không làm trì hoãn việc triển khai thêm các đợt kiểm tra cho sự kiện hợp nhất Ethereum, cũng không làm trì hoãn quá trình hợp nhất. Trên thực tế, ông nói rằng, sự cố này thực sự giúp kiểm tra xem mạng lưới có hoạt động đúng cách hay không.
“Không thể hoàn thiện lệnh trong thời gian dài là thách thức đối với các node và điều rất quan trọng đối với đội ngũ phát triển là phải xem chúng hoạt động như thế nào. Chúng tôi cho rằng testnet cuối cùng sẽ hoạt động trơn tru, nhưng không nghĩ rằng sẽ phải sửa lỗi hệ thống theo cách thủ công. Sự cố này mang lại cho chúng tôi cơ hội để kiểm tra các khía cạnh thú vị của mạng lưới”.
“Tôi không nghĩ điều này sẽ làm trì hoãn quá trình hợp nhất, vì quá trình hợp nhất chưa được lên lịch. Nhưng nó cho thấy tầm quan trọng của việc kiểm tra. Tôi nghĩ rằng quá trình hợp nhất đang tiến triển tốt. Chúng tôi cần thêm vài tuần để phần mềm đạt được trạng thái tốt nhất và sau đó cần thêm vài tháng để kiểm tra nó”.
Điều gì sẽ xảy ra nếu phát sinh lỗi trên mainnet?
Một câu hỏi thú vị là điều gì sẽ xảy ra nếu một lỗi như thế này xảy ra trên mainnet.
“Chúng tôi đã bắt đầu thử nghiệm từ khá sớm, vì vậy chúng tôi đã dự đoán trước là sẽ có một vài lỗi như thế này xảy ra. Tuy nhiên, một lỗi như vậy trên mainnet sẽ khiến chúng tôi cảm thấy khá khó chịu, vì vậy, chúng tôi cần phải tìm, sửa lỗi, phát hành code và sau đó cho tất cả các nhà sản xuất biết rằng họ nên cập nhật các node của mình. Theo ý kiến của tôi, bước cuối cùng là giai đoạn khó khăn nhất, vì một số người dùng không theo sát quá trình phát triển”.
Tham gia Telegram của Tạp Chí Bitcoin để theo dõi tin tức và bình luận về bài viết này: https://t.me/tapchibitcoinvn
- 3 altcoin top 50 giảm mạnh nhất trong tuần qua
- Chủ tịch SEC Gary Gensler vẫn “úp mở” về Ethereum
- Bitfarms mua thêm 1.000 Bitcoin, nâng tổng giá trị nắm giữ lên $177 triệu
Việt Cường
Theo Cryptoslate