Tác giả: Matt Corallo
Nguồn: https://groups.google.com/g/bitcoindev/c/8O857bRSVV8/m/4cM-7pf4AgAJ
Bài đăng gốc được xuất bản vào ngày 16 tháng 12 năm 2024.
Trong vài năm qua đã có một số ý tưởng sơ bộ về khả năng chống lại điện toán lượng tử trong các lược đồ chữ ký giao dịch Bitcoin, nhưng nhiều ý tưởng trong đó có một số nhược điểm lớn.
Trước tiên, chúng ta thiết lập một số giả định cơ bản:
(a) Máy tính lượng tử có khả năng phá vỡ đường cong elip vẫn còn rất xa vời (có thể mười hoặc thậm chí hai mươi năm, chứ không chỉ vài năm). Điều này phù hợp với các khuyến nghị của NSA (Cơ quan An ninh Quốc gia) và các cơ quan khác. Chúng ta có thời gian để nâng cấp, nhưng chúng ta có thể xem xét một lựa chọn: thiết kế một lớp bảo mật cho điện toán lượng tử trong phần mềm ví điện tử ngay hôm nay.
(b) Hoàn toàn có thể xảy ra trường hợp xuất hiện một ràng buộc mở rộng cơ bản, khiến cho việc chế tạo một máy tính lượng tử có khả năng phá vỡ các đường cong elip là điều không thể. Chúng ta có thể không muốn mạo hiểm với khả năng này, nhưng nó vẫn có thể xảy ra.
(c) Trước khi điện toán lượng tử, công nghệ vượt qua các đường cong elip, sẵn sàng, chúng ta sẽ thấy một số cảnh báo quan trọng — việc phát triển máy tính lượng tử đòi hỏi nguồn lực lượng lớn, đến mức chỉ một số ít tổ chức trên thế giới có đủ khả năng chi trả chi phí nhân sự và phòng thí nghiệm. Loại công việc phát triển này đã và có thể sẽ được công bố khi có tiến bộ, vì vậy ngay cả khi máy tính lượng tử ngày càng trở nên hiện thực, chúng ta vẫn sẽ nhận được cảnh báo trước nhiều năm.
(d) Các giả định bảo mật hiện tại của mật mã hậu lượng tử (như mật mã mạng lưới và “Định lý đẳng cấu đường cong elip siêu kỳ dị”) không đủ để bảo vệ tiền hiện nay và là những ứng cử viên kém hiệu quả cho cơ chế đồng thuận của Bitcoin(xét đến tiềm năng của nghiên cứu mật mã trong tương lai). Điều này có nghĩa là, hiện tại, ứng cử viên duy nhất cho bảo mật chữ ký hậu lượng tử Bitcoin là chữ ký dựa trên hàm băm (về cơ bản là SPHINCS/SPHINCS+).
(e) Việc chờ đợi OP_CAT hoặc các mã lệnh script chung hơn khác là không đáng, vì các dự án này dường như đang gặp nhiều vấn đề, chưa kể đến vô số câu hỏi xung quanh MEVil (giá trị mà thợ đào độc hại có thể trích xuất) và tương lai của Bitcoin. Hơn nữa, việc sử dụng các mã lệnh chuyên dụng giúp đơn giản hóa quá trình áp dụng phần mềm ví – các nhà phát triển ví đã trả giá thêm công sức cho một tính năng mà người dùng sẽ không thể sử dụng ngay lập tức, điều này vốn đã khá rắc rối rồi.
Với những giả định này, việc phần mềm ví điện tử khóa tiền trong các địa chỉ đặc biệt, trả thêm phí và để lại dấu vết blockchain cho bảo mật hậu lượng tử bắt đầu từ hôm nay dường như không hợp lý. Tuy nhiên, đồng thời, xét đến tính chất tốn thời gian của các chu kỳ nâng cấp Bitcoin , việc không cung cấp cho phần mềm ví điện tử một số tùy chọn "truy cập khẩn cấp" cũng có vẻ không khôn ngoan.
May mắn thay, taproot cung cấp một cách tốt để phát triển một kế hoạch như vậy! Bởi vì việc sử dụng đường dẫn kịch bản của taproot bị hạn chế nghiêm ngặt (khóa công khai nội bộ của địa chỉ taproot được đảm bảo trong giá trị băm t của đường dẫn kịch bản taproot), các máy tính lượng tử trong tương lai có thể tính toán private key(của khóa công khai nội bộ) và biết giá trị gốc Merkle của đường dẫn kịch bản, nhưng không thể ngụy tạo một gốc Merkle khác của đường dẫn kịch bản đó.
Điều này cung cấp một điểm khởi đầu cho bảo mật chống lượng tử: bằng cách thêm trực tiếp mã lệnh OP_SPHINCS để xác minh SPHINCS (hoặc một chữ ký không dùng một lần tương đương chống lượng tử, không giống như chữ ký Lamport/Winternitz) (như OP_CHECKSIG hiện nay), ví chỉ cần luôn bao gồm điều kiện chi phí đường dẫn tập lệnh thay thế để xây dựng đầu ra taproot nhằm có được quyền truy cập khẩn cấp. Khi máy tính lượng tử trở nên khả dụng, chi phí đường dẫn khóa taproot có thể bị vô hiệu hóa thông qua soft fork, buộc các đồng tiền phải sử dụng các đường dẫn tập lệnh an toàn lượng tử để chi tiêu.
Phương án này rõ ràng có một nhược điểm lớn: tiền trong các địa chỉ nâng cấp sẽ bị "tịch thu" khi máy tính lượng tử trở nên khả dụng, nhưng:
(a) Chúng ta có thể yêu cầu lựa chọn rõ ràng phương án này. Nhược điểm của việc này là nó sẽ để lại thêm một dấu vết Chuỗi và yêu cầu định dạng khóa công khai mới (định dạng mã hóa địa chỉ bech32m hiện có có thể được giữ lại, vốn được cho là đã được hầu hết các ví hỗ trợ, không cần thay đổi mã). Tất nhiên, nếu chúng ta đưa ra yêu cầu như vậy, nhiều Bitcoin mà lẽ ra khó có khả năng được chi tiêu sẽ được chuyển đi, có khả năng gây ra cú sốc lượng lưu thông và làm tổn hại đến tiện ích của Bitcoin theo một cách khác.
(b) Ngoài ra, chúng ta cũng có thể cho phép chi tiêu đường dẫn khóa, với điều kiện ví chứng minh được đường dẫn tập lệnh của nó là một điểm NUMS (khóa công khai mà private key không ai biết) (thông qua một số biến thể chi tiêu đường dẫn khóa + bằng chứng mới). Tôi nghi ngờ rằng nhiều ví hiện nay sẽ không bận tâm đến việc cam kết một điểm NUMS cho khóa công khai đầu ra taproot của chúng, vì vậy điều này có thể làm hỏng phần mềm ví hiện có, nhưng nó có thể đóng vai trò như một giải pháp tùy chọn.
Cách tiếp cận này có một đặc tính rất tốt: nó hầu như không ảnh hưởng đến cách sử dụng hiện tại (nó chỉ yêu cầu thêm một nhánh chi phí tập lệnh taproot bổ sung, nhưng nhìn chung đây không phải là việc khó).
Có một vài vấn đề cần thảo luận: Thứ nhất, người dùng có nên được yêu cầu lựa chọn tham gia hay nên được cung cấp tùy chọn thoát? Thứ hai, tất cả các đường dẫn kịch bản kích hoạt xác minh chữ ký ECDSA có nên đều thất bại không? (Điều này hoàn toàn có thể xảy ra.)
Tôi nghi ngờ ý tưởng này đã được chia sẻ ở nơi khác rồi, nhưng tôi chưa tìm thấy. Hầu trong đó các ý tưởng này đều đến từ not_nothingmuch; tôi chỉ ghi lại để nhận công lao thôi.
Ý tưởng này không giải quyết được câu hỏi về cách thức PoW sẽ tồn tại trong một thế giới có máy tính lượng tử, nhưng có lẽ câu hỏi này sẽ không thể trả lời được cho đến khi chúng ta thấy rõ hơn những hạn chế thực tế của máy tính lượng tử (ví dụ: độ trễ tối thiểu của mạch cổng logic của máy tính lượng tử là bao nhiêu). Nếu độ trễ này rất thấp, liệu chúng ta có thể tăng độ phức tạp của hàm băm PoW của Bitcoin, từ đó trì hoãn thời gian máy tính lượng tử tính toán kết quả, cho phép phần cứng truyền thống vẫn có thể khai thác các khối?
Luke Dashjr trả lời:
Thêm một điểm nữa: đường dẫn kịch bản chống lượng tử này không yêu cầu soft fork để thêm vào, miễn là nó được định nghĩa đầy đủ. Nói cách khác, một khi đặc tả của nó được hoàn thiện, phần mềm ví có thể ngay lập tức bắt đầu triển khai đường dẫn dự phòng này mà không cần chờ bất kỳ kích hoạt soft fork. Điều này sẽ yêu cầu bảo vệ kịch bản hậu lượng tử này như thể nó là một private key, vì vậy nó có thể là một vấn đề đối với các thiết bị ký phần cứng, nhưng tôi nghi ngờ có những cách để giải quyết nó…



