
Máy tính lượng tử và tiền của bạn: điều gì thực sự đang bị đe dọa
Máy tính lượng tử là chủ đề tiền mã hóa được bàn luận tệ một cách đều đặn đáng nể. Một phe bảo mọi thứ sắp vỡ tan; phe kia bảo còn hàng chục năm nữa rồi thôi không nghĩ tiếp. Cả hai đều bỏ qua phần thực sự hữu ích: biết phần nào của hệ thống là dễ tổn thương và những đồng nào của bạn đang phơi bày.
Bởi câu trả lời không đồng nhất. Một số đầu ra rủi ro rõ rệt hơn các đầu ra khác, và khác biệt ấy là điều bạn có thể hành động ngay hôm nay.
Hai thuật toán, hai bài toán rất khác nhau
Gần như toàn bộ mối lo quy về hai kết quả từ thập niên 1990.
Thuật toán Shor giải hiệu quả những bài toán mà mật mã khóa công khai dựa vào: phân tích thừa số và bài toán lôgarit rời rạc mà chữ ký secp256k1 được xây trên đó. Một máy tính lượng tử đủ lớn chạy Shor có thể suy ra khóa riêng từ khóa công khai. Đó mới là mối đe dọa thật, và nó không nhỏ: nó phá vỡ chữ ký hoàn toàn chứ không chỉ làm yếu đi.
Thuật toán Grover tăng tốc tìm kiếm phi cấu trúc, nhưng chỉ theo bậc hai. Trước một hàm băm, nó giảm khoảng một nửa mức an toàn hữu hiệu. SHA-256 tụt từ 256 bit xuống chừng 128 bit sức kháng, vẫn còn xa ngoài tầm với. Việc đào nhận được một mức tăng tốc lý thuyết ít quan trọng hơn nhiều so với vẻ ngoài của nó, bởi bằng chứng công việc là cuộc đua với những thợ đào khác, chứ không phải với một cái đích cố định.
Vậy nên bản tóm tắt thực sự đáng nhớ: hàm băm thì ổn, chữ ký thì không. Mọi mối lo nghiêm túc đều bắt nguồn từ một câu ấy.
Vì sao một địa chỉ không phải là khóa công khai
Đây là phần mà hầu hết các cuộc bàn luận bỏ qua, và chính nó quyết định mức phơi bày của bạn.
Địa chỉ Bitcoin không phải khóa công khai. Chúng là băm của khóa công khai — hoặc, với địa chỉ dựa trên kịch bản, là băm của một kịch bản. Khóa công khai không xuất hiện trên chuỗi khi bạn nhận tiền. Nó xuất hiện khi bạn tiêu tiền, vì tiêu đòi hỏi công bố một chữ ký và khóa dùng để xác thực chữ ký đó.
Điều này tạo ra hai loại tiền:
Đã băm và chưa tiêu. Chuỗi chỉ hiện một giá trị băm. Muốn tấn công nó, đối thủ lượng tử phải phá được hàm băm trước, và Grover không đưa họ tới đó. Những đầu ra này được che chắn bởi một lớp phụ chẳng liên quan gì đến chữ ký.
Khóa công khai đã lộ. Một khi bạn tiêu từ một địa chỉ, khóa ấy công khai vĩnh viễn. Mọi thứ còn nằm lại đó sau đó chỉ được bảo vệ bởi chính lược đồ chữ ký.
Chính sự phân biệt này khiến lời khuyên «đừng dùng lại địa chỉ» hóa ra cũng có ý nghĩa trước lượng tử, sau nhiều năm được khuyến nghị chỉ vì lý do riêng tư. Dùng lại một địa chỉ nghĩa là khoản thanh toán thứ hai nằm sau một khóa công khai đã lộ thay vì sau một giá trị băm.
Điều gì thực sự đang phơi bày hôm nay
Các đầu ra Bitcoin thời đầu. Những giao dịch sớm nhất trả thẳng tới khóa công khai thay vì tới băm. Các khóa trần ấy đang hiện rõ trên chuỗi ngay lúc này. Một phần lớn số tiền rất cũ chưa từng dịch chuyển — kể cả phần nhiều được cho là của Satoshi — thuộc loại này.
Bất kỳ địa chỉ nào dùng lại. Tiêu một lần, và mọi thứ bạn nhận ở đó về sau đều nằm sau một khóa đã công bố.
Mọi địa chỉ Ethereum từng giao dịch. Điều này đáng nói thẳng vì nó khiến người ta bất ngờ: trên các chuỗi EVM, khóa công khai có thể khôi phục từ bất kỳ chữ ký nào. Nếu một địa chỉ đã gửi dù chỉ một giao dịch, khóa của nó coi như công khai. Ethereum không có thứ tương đương với loại «đã băm và chưa tiêu» của Bitcoin.
Các đầu ra Taproot. Taproot đặt thẳng một khóa công khai vào đầu ra thay vì băm của nó. Đó là một thiết kế thanh nhã với lợi ích thật về riêng tư và hiệu quả, và đúng là nó khiến các đầu ra theo đường khóa lộ khóa ngay từ lúc được nạp tiền. Đáng biết; hôm nay chưa phải lý do để hoảng.
Cửa sổ mempool. Khi bạn tiêu, khóa công khai của bạn hiện ra ngay khoảnh khắc phát sóng — trước khi xác nhận. Một kẻ tấn công lượng tử đủ nhanh để suy ra khóa và đưa được một giao dịch cạnh tranh vào khối trong cửa sổ ấy có thể cướp tiền đang bay. Đây là một đòn tấn công lý thuyết có thật, và nó đòi hỏi năng lực vượt xa mọi thứ từng được trình diễn.
SSP đứng ở đâu, nói thật
Địa chỉ Bitcoin của SSP là P2WSH — băm của một kịch bản nhân chứng. Điều đó xếp số tiền chưa tiêu của bạn vào loại đã băm: thứ nằm trên chuỗi trước khi bạn tiêu là một giá trị băm, không phải khóa. Khi bạn tiêu, kịch bản và cả hai khóa công khai được lộ ra, y hệt như mọi đầu ra dựa trên kịch bản khác.
Và giờ tới phần dễ hứa quá lời, nên ta sẽ không hứa. Đa chữ ký 2-trên-2 có giúp gì trước lượng tử không? Hầu như không.
Kẻ tấn công chạy Shor nhắm vào kịch bản đã tiêu của bạn cần suy ra hai khóa thay vì một. Đó là khoảng gấp đôi công sức. Gấp đôi là một hệ số hằng, mà hệ số hằng thì không phải là an toàn — ai có năng lực phá một khóa secp256k1 thì gần như chắc chắn có năng lực phá hai. Đa chữ ký hai-trên-hai là lớp bảo vệ tuyệt vời trước việc thiết bị bị chiếm, lừa đảo giả mạo, trộm cắp và ép buộc lên một khóa duy nhất. Trước một máy tính lượng tử đủ mạnh về mặt mật mã, nó gần như vô nghĩa, và ai bán cho bạn đa chữ ký như một lớp chắn lượng tử là đang đánh lừa bạn.
Điều thực sự quan trọng là việc chuyển sang chữ ký hậu lượng tử ở tầng chuỗi, và không một ví nào tự làm được điều đó.
Chuyện này gần đến đâu?
Chẳng gần chút nào, theo bất kỳ cách đọc trung thực nào.
Phá secp256k1 bằng Shor đòi hỏi một máy tính lượng tử lớn, có sửa lỗi. Vì qubit vật lý bị nhiễu, cần rất nhiều qubit vật lý để tạo ra một qubit lôgic đáng tin, và các ước lượng đã công bố cho việc tấn công những cỡ khóa thực tế lên tới hàng triệu qubit vật lý. Máy móc hiện nay còn kém xa nhiều bậc độ lớn — không phải chuyện thêm một thế hệ phần cứng.
Hai điều khiến ta không thể lấy đó làm cớ mà phớt lờ chủ đề này.
Thứ nhất, mốc thời gian thực sự bất định. «Cách xa nhiều bậc độ lớn» là mô tả trung thực về hôm nay và là nền tảng tồi cho những tiên đoán chắc nịch về năm 2040.
Thứ hai, và quan trọng hơn: khóa đã lộ thì không hết hạn. Với dữ liệu mã hóa có nỗi lo «thu hoạch bây giờ, giải mã sau». Với tiền, thứ tương đương giản dị hơn và tệ hơn — một khóa công khai hiện rõ hôm nay sẽ vẫn hiện rõ, và số tiền nằm sau nó có thể bị lấy ngay khi năng lực ấy xuất hiện. Không có cửa sổ nào khép lại cả. Đó là lý do để bận tâm ngay bây giờ xem tiền của bạn thuộc loại nào, ngay cả khi mối đe dọa vẫn còn xa.
Người ta đang thực sự làm gì
Nền móng mật mã đã có. NIST đã chuẩn hóa các lược đồ chữ ký hậu lượng tử — ML-DSA và SLH-DSA, phát triển từ các đề xuất Dilithium và SPHINCS+ — và chúng có thể triển khai ngay hôm nay trong phần mềm thông thường.
Chuỗi khối mới là ca khó. Đổi lược đồ chữ ký là một thay đổi đồng thuận: mỗi nút, mỗi ví, mỗi sàn, mỗi mảnh hạ tầng đều phải đồng ý và chuyển đổi. Chữ ký hậu lượng tử lại lớn hơn hẳn loại đang dùng, kéo theo hệ quả trực tiếp lên không gian khối và phí. Và ai đó sẽ phải quyết định điều gì xảy ra với số tiền mà chủ nhân không bao giờ chuyển đổi — kể cả những đầu ra cũ mà chủ nhân có thể không liên lạc được hoặc đã qua đời. Đó là bài toán quản trị ít nhất cũng khó ngang bài toán kỹ thuật.
Công việc đang diễn ra. Chưa cấp bách, và sẽ mất nhiều năm khi trở nên cấp bách.
Nên làm gì
Đừng dùng lại địa chỉ. Bạn đã nên làm vậy vì sự riêng tư rồi. Nó còn giữ tiền của bạn ở loại đã băm thay vì nằm sau những khóa đã lộ. Đây là điều có ý nghĩa duy nhất mà một cá nhân làm được hôm nay, và nó miễn phí.
Đừng vì chuyện này mà sắp xếp lại tài sản. Không một động thái hoảng loạn nào là chính đáng. Ai thúc bạn chuyển tiền gấp vì máy tính lượng tử thì hoặc đang lừa đảo, hoặc đang bán cho bạn thứ gì đó.
Giữ mối đe dọa đúng tỷ lệ. Thực tế, bạn dễ mất tiền mã hóa vì một cụm từ khôi phục thất lạc, một trang lừa đảo, hay một phê duyệt bạn không đọc hơn nhiều so với vì một máy tính lượng tử. Đó mới là rủi ro của hôm nay và chúng xứng đáng nhận sự chú ý của hôm nay.
Hãy trông đợi chuyện này được xử lý ở tầng giao thức. Khi việc chuyển đổi tới, nó sẽ tới như một bản nâng cấp chuỗi với giai đoạn quá độ dài, chứ không phải như thứ ví của bạn lặng lẽ sửa giúp.
Lập trường trung thực thì chẳng hào nhoáng: một vấn đề có thật, được nhận diện đúng, vẫn còn xa, đang được xử lý — và hiện thời không phải thứ chắn giữa bạn và việc mất tiền.


