Tác giả gốc: Vitalik Buterin
Người phiên dịch: Odaily Azuma
Vào ngày 9 tháng 3, người đồng sáng lập Ethereum Vitalik Buterin đã xuất bản một bài viết ngắn trên Diễn đàn nghiên cứu Ethereum (ethresear.ch) có tiêu đề “Cách giải cứu tiền của người dùng khỏi các cuộc tấn công lượng tử đột ngột thông qua Hard Fork”.
Trong bài viết, Vitalik phác thảo cách Ethereum có thể giảm thiểu tổn thất tiền của người dùng trong trường hợp khẩn cấp nếu một cuộc tấn công lượng tử xảy ra vào ngày mai và những quy trình nào nó nên sử dụng để chuyển sang dạng kháng lượng tử và sau đó tiếp tục hoạt động bình thường.
Sau đây là toàn văn bài viết của Vitalik do Odaily biên soạn.
Chúng ta sẽ làm gì nếu ngày mai một máy tính lượng tử xuất hiện và một kẻ xấu bằng cách nào đó đã truy cập được vào nó và muốn sử dụng nó để đánh cắp tiền của người dùng?
Các công nghệ kháng lượng tử như chữ ký Winternitz và STARK đã được phát triển để ngăn chặn điều này xảy ra. Sau khi việc trừu tượng hóa tài khoản đã sẵn sàng, bất kỳ người dùng nào cũng có thể ngẫu nhiên chuyển sang sơ đồ chữ ký kháng lượng tử.Nhưng chúng ta phải làm gì nếu không có nhiều thời gian và nếu một cuộc tấn công lượng tử đến bất ngờ hơn mọi người nghĩ?
Tôi nghĩ,Trên thực tế, chúng ta hiện có đủ điều kiện để giải quyết vấn đề này thông qua một recovery fork tương đối đơn giản.Với giải pháp này, mạng Ethereum sẽ phải trải qua một đợt hard fork và người dùng sẽ phải tải xuống phần mềm ví mới, nhưng chỉ một số ít người dùng có thể bị mất tiền.
Các mối đe dọa chính từ các cuộc tấn công lượng tử như sau. Địa chỉ Ethereum có được bằng cách vận hành hàm keccak(priv_to_pub(k))[12:], trong đó k tương ứng với khóa riêng và priv_to_pub tương ứng với phép nhân đường cong elip, được sử dụng để chuyển đổi khóa riêng thành khóa chung .
Khi điện toán lượng tử được thực hiện, phép nhân đường cong elip trên sẽ trở nên thuận nghịch (vì đây thực chất là lời giải cho bài toán logarit rời rạc), nhưng phép toán băm vẫn an toàn. Nếu người dùng chưa thực hiện bất kỳ giao dịch nào thì chỉ thông tin địa chỉ được tiết lộ, trong trường hợp đó họ vẫn an toàn; nhưng chỉ cần người dùng đã thực hiện dù chỉ một giao dịch, chữ ký giao dịch sẽ làm lộ khóa chung, điều này là không thể trong máy tính lượng tử, có khả năng bị lộ khóa riêng. Vì vậy trong trường hợp này, hầu hết người dùng sẽ gặp rủi ro.
Nhưng chúng tôi thực sự có cách để giảm thiểu mối đe dọa này. Điểm mấu chốt là trên thực tế, hầu hết khóa riêng của người dùng đều được tạo thông qua một loạt hoạt động băm. Ví dụ: nhiều khóa riêng được tạo bằng đặc tả BIP-32, được tạo thông qua một loạt các hoạt động băm dựa trên một tập hợp các từ dễ nhớ; nhiều phương pháp tạo khóa riêng không phải BIP-32 gần như tương tự, chẳng hạn, nếu người dùng sử dụng Đó là một chiếc ví não, thường được tạo ra bởi một loạt các thao tác băm (hoặc hàm dẫn xuất khóa có độ khó vừa phải) của mật khẩu.
Điều này có nghĩa là giải pháp cho một cuộc tấn công lượng tử bất ngờ thông qua một nhánh phục hồi sẽ thực hiện các bước sau:
Đầu tiên, khôi phục tất cả các khối sau cuộc tấn công quy mô lớn;
Thứ hai, vô hiệu hóa chế độ giao dịch truyền thống dựa trên địa chỉ EOA;
Thứ ba, (nếu lúc đó nó chưa được triển khai) thêm loại giao dịch mới để cho phép giao dịch thông qua ví hợp đồng thông minh (chẳng hạn như các bộ phận của RIP-7560);
Thứ tư, thêm loại giao dịch hoặc mã hoạt động mới, qua đó người dùng có thể cung cấp bằng chứng STARK. Nếu bằng chứng được thông qua, mã địa chỉ của người dùng sẽ được chuyển sang mã xác minh mới và sau đó người dùng có thể sử dụng địa chỉ mã mới như một ví hợp đồng thông minh. .
Thứ năm, với mục đích tiết kiệm Gas và do lượng dữ liệu cần thiết cho bằng chứng STARK lớn, chúng tôi sẽ hỗ trợ bằng chứng STARK hàng loạt để tiến hành nhiều loại bằng chứng STARK nêu trên cùng một lúc.
Về nguyên tắc, ngày mai chúng tôi có thể bắt đầu phát triển cơ sở hạ tầng cần thiết để triển khai đợt fork phục hồi này, cho phép hệ sinh thái Ethereum được chuẩn bị trong trường hợp xảy ra một cuộc tấn công lượng tử bất ngờ.
