Một viên xúc xắc sáu mặt tiêu chuẩn tạo ra khoảng 2,6 bit thông tin không thể dự đoán được trong mỗi lần tung. Con số này có vẻ không nhiều, nhưng nếu lặp lại đủ nhiều lần, những lần tung đó có thể tạo ra độ ngẫu nhiên thô cần thiết để bảo mật ví Bitcoin mà không cần dựa vào phần mềm hay linh kiện điện tử.
Việc tung xúc xắc giúp giữ các khóa Bitcoin ở chế độ ngoại tuyến, nhưng không phải ai cũng sẽ làm điều đó

Điểm chính cần lưu ý
- Theo công thức của Claude Shannon, một lần tung xúc xắc sáu mặt công bằng sẽ cung cấp khoảng 2,585 bit entropy.
- Tài liệu của Coinkite cho biết 50 lần tung xúc xắc đáp ứng tiêu chuẩn 128 bit cho hạt giống ví Bitcoin.
- Phân tích Wizard Sardine của Kevin Loaec đã chỉ ra rủi ro trong các công cụ Coldcard ngoài hạt giống chính.
Tại sao việc dự đoán kết quả ném xúc xắc lại khó đến vậy
Claude Shannon, nhà toán học đã thiết lập lý thuyết thông tin, đã sử dụng entropy để đo lường mức độ không chắc chắn của một kết quả. Với một con xúc xắc sáu mặt công bằng, mỗi mặt đều có cùng xác suất xuất hiện là 1/6. Điều này mang lại cho mỗi lần tung xúc xắc khoảng 2,585 bit entropy. Việc tung đồng xu tạo ra 1 bit, trong khi một con xúc xắc tám mặt tạo ra 3 bit.
Vụ việc Coldcard gần đây đã thúc đẩy việc tạo hạt giống dựa trên xúc xắc lan rộng trên các mạng xã hội. Một số người dùng hiện coi đây là điều thiết yếu, một số khác cho rằng nó đã bảo vệ tiền của họ, trong khi những người vận hành có kinh nghiệm chỉ ra rằng phần lớn người mới sẽ không chịu đựng được quy trình thiết lập chậm chạp và dễ xảy ra lỗi.
Điều quan trọng không phải là việc lăn xúc xắc diễn ra ngẫu nhiên ở cấp độ nguyên tử. Thực tế không phải vậy. Kết quả bị chi phối bởi các quy luật vật lý, nhưng có quá nhiều biến số nhỏ thay đổi cùng lúc khiến không ai có thể tính toán kết quả một cách đáng tin cậy. Quả xúc xắc rời khỏi tay với một tốc độ, góc, độ cao và độ xoáy nhất định, sau đó va vào bàn và thay đổi hướng sau mỗi lần nảy.
Trong thực tế, ngay cả một thay đổi nhỏ trong cách thả xúc xắc cũng có thể tạo ra kết quả hoàn toàn khác. Vị trí ngón tay hơi khác một chút hoặc lực ném mạnh hơn một chút cũng đủ làm thay đổi quỹ đạo đến mức không thể dự đoán con số cuối cùng chỉ bằng cách quan sát chuyển động. Kết quả có thể là xác định theo lý thuyết, nhưng đối với việc tạo ví, điều quan trọng là kẻ tấn công không thể tái tạo hoặc tính toán được kết quả đó.
Chuyển đổi kết quả tung xúc xắc thành dữ liệu có thể sử dụng
Máy tính không thể sử dụng trực tiếp danh sách kết quả tung xúc xắc. Các lần tung phải được chuyển đổi thành dữ liệu nhị phân trước, và phương pháp chuyển đổi này rất quan trọng.
Phương pháp chẵn-lẻ cơ bản dễ hiểu, nhưng lại lãng phí phần lớn entropy có sẵn. Mỗi lần tung xúc xắc chỉ được giảm xuống còn một bit, mặc dù xúc xắc tạo ra khoảng 2,6 bit thông tin. Các phương pháp hiệu quả hơn thu thập một chuỗi dài các lần tung xúc xắc và xử lý toàn bộ chuỗi đó, thường thông qua hàm băm mật mã. Điều này giúp bảo toàn được nhiều ngẫu nhiên hơn.
Nguyên tắc tương tự cũng xuất hiện trong Diceware, một phương pháp lâu đời để tạo mật khẩu an toàn, và trong quá trình tạo ví Bitcoin thủ công. Một cụm từ khôi phục ví gồm 12 từ điển hình được xây dựng từ 128 bit entropy. Với khoảng 2,6 bit cho mỗi lần tung, khoảng 50 lần tung công bằng sẽ cung cấp đủ thông tin thô để vượt qua ngưỡng đó.
Coinkite, nhà sản xuất ví phần cứng Coldcard, khuyến nghị người dùng nên thực hiện 99 lần tung xúc xắc trở lên nếu muốn đạt được mức entropy gần 256 bit. Điều này không làm cho ví trở nên khó sử dụng gấp đôi, nhưng lại mang lại cho mật khẩu được tạo ra một biên độ bảo mật toán học lớn hơn nhiều.
Thử nghiệm thực tế về các hạt giống được tạo ra từ xúc xắc
Sự khác biệt này trở nên quan trọng sau khi Coinkite tiết lộ một vấn đề phần mềm cơ sở (firmware) từ năm 2021. Trên một số thiết bị Coldcard, phần mềm có thể bỏ qua bộ tạo số ngẫu nhiên phần cứng nội bộ và thay vào đó sử dụng một quy trình yếu hơn liên quan đến thông tin thiết bị không bí mật.
Do một phần của quy trình đó có thể được tái tạo, kẻ tấn công đã có thể thu hẹp phạm vi các khóa ví khả dĩ thay vì phải tìm kiếm toàn bộ không gian khóa. Lỗ hổng này được liên kết với vụ trộm ước tính 1.128,6633 BTC từ khoảng 1.100 địa chỉ, tính đến 1 giờ chiều theo giờ miền Đông.

Các hạt giống ví được tạo hoàn toàn từ một số lần tung xúc xắc độc lập đủ lớn không bị lộ qua con đường tương tự. Những người dùng này đã cung cấp entropy của riêng họ, do đó bộ tạo số ngẫu nhiên phần cứng bị lỗi không chịu trách nhiệm tạo ra bí mật chính của ví.
Tuy nhiên, biện pháp bảo vệ đó chỉ áp dụng cho mã gốc được tạo ra từ xúc xắc. Nó không tự động bảo vệ mọi mật khẩu khác được tạo ra bởi thiết bị.
Wizard Sardine phân tích chi tiết
Nhà nghiên cứu bảo mật Kevin Loaec đã công bố một đánh giá về lỗ hổng Coldcard trên trang web của Wizard Sardine vào ngày 1 tháng 8. Quan sát quan trọng nhất của ông liên quan đến các tính năng của Coldcard tạo ra các khóa bí mật riêng biệt với khóa gốc của ví.
“Tôi tin rằng điều cực kỳ quan trọng là phải nhấn mạnh rằng ngay cả những người dùng đã nhập hoặc tạo hạt giống bằng xúc xắc cũng dễ bị tấn công, nếu họ sử dụng các tính năng sau đây,” Loaec viết trên X, trước khi trình bày sơ đồ hệ thống bị ảnh hưởng.
Sơ đồ cho thấy bộ tạo số ngẫu nhiên có lỗi đang cung cấp dữ liệu cho một số chức năng phụ của Coldcard. Các chức năng đó bao gồm tạo ví giấy, sao chép thiết bị, mã hóa phiên USB, tính năng chuyển tiền Secret Teleport, tạo khóa đồng ký, bộ tạo mật khẩu tích hợp và mã xác thực mô-đun bảo mật phần cứng.

Một ví chính được tạo bằng 99 lần tung xúc xắc vẫn nằm trong một phần riêng biệt của hệ thống. Vấn đề là các công cụ khác vẫn có thể yêu cầu số ngẫu nhiên mới từ bộ tạo số ngẫu nhiên bị lỗi. Do đó, một hạt giống an toàn không đảm bảo rằng mọi mật khẩu, bản sao lưu, mã xác thực hoặc khóa phụ được tạo trên cùng một thiết bị đều an toàn như nhau.
Tại sao hầu hết người dùng mới sẽ không tung xúc xắc
Entropy được tạo ra từ xúc xắc về mặt kỹ thuật là hợp lý khi được thực hiện đúng cách, nhưng đây không phải là tùy chọn mặc định thực tế đối với hầu hết người dùng mới. Việc tung xúc xắc 50 hoặc 99 lần, nhập chính xác mọi kết quả và xác nhận rằng không có lần tung nào bị bỏ qua hoặc trùng lặp đòi hỏi sự kiên nhẫn và tập trung cao độ. Chỉ cần một con số nhập sai cũng có thể thay đổi hoàn toàn ví cuối cùng, và hầu hết các thiết bị không thể phân biệt được liệu sai sót đó xuất phát từ một lần tung xúc xắc không chính xác, lỗi nhập liệu hay do hiểu nhầm hướng dẫn.

Quy trình này cũng tiềm ẩn những rủi ro không tồn tại khi sử dụng bộ tạo ngẫu nhiên phần cứng hoạt động đúng cách. Người dùng có thể ghi lại các lần tung xúc xắc lên giấy, chụp ảnh chúng, nhập vào công cụ trực tuyến hoặc để danh sách ở nơi mà người khác có thể tìm thấy. Một số người tung xúc xắc theo cách lặp đi lặp lại hoặc có kiểm soát, sử dụng xúc xắc bị gian lận hoặc hư hỏng, hoặc dừng lại sớm vì cảm thấy quy trình này quá phức tạp. Toán học có thể rất vững chắc, nhưng mức độ an toàn của kết quả chỉ phụ thuộc vào quy trình thực hiện của người dùng.

Đó là lý do tại sao việc tung xúc xắc không phải lúc nào cũng được coi là phương pháp tốt nhất đối với nhiều người, ngay cả trong số những người dùng Bitcoin có kinh nghiệm. Phương pháp này thay thế sự tin tưởng vào một thiết bị bằng sự tin tưởng vào một quy trình thủ công. Đối với người dùng cẩn trọng về mặt kỹ thuật, hiểu rõ về entropy, xác minh phương pháp và giữ bí mật chuỗi kết quả tung xúc xắc, sự đánh đổi đó có thể hợp lý. Đối với một người mua bình thường đang thiết lập ví lần đầu tiên, phương pháp này tạo ra nhiều cơ hội để mắc phải sai lầm không thể khắc phục, đồng thời cũng là một quy trình gây phiền toái.

Cũng khó có thể hình dung việc Bitcoin được áp dụng rộng rãi nếu phụ thuộc vào việc mọi người phải ngồi quanh bàn và ghi chép kết quả của 99 lần tung xúc xắc trước khi có thể nhận tiền một cách an toàn. Các biện pháp bảo mật phải thích ứng được với môi trường gia đình thực tế, lịch trình bận rộn, những yếu tố gây xao nhãng và những người dùng không muốn tìm hiểu về mật mã học. Entropy thủ công nên vẫn được giữ lại như một tùy chọn nâng cao, nhưng mục tiêu dài hạn là phần cứng và phần mềm có thể tạo ra tính ngẫu nhiên mạnh mẽ một cách chính xác, giải thích rõ ràng những gì đang diễn ra và yêu cầu càng ít kiến thức chuyên môn càng tốt.
Những điều chủ sở hữu Coldcard nên kiểm tra
Chủ sở hữu các thiết bị Coldcard bị ảnh hưởng nên trước tiên xác minh phiên bản firmware được cài đặt trên thiết bị. Sau đó, họ nên xem xét các tính năng đã sử dụng khi chạy firmware cũ, thay vì chỉ tập trung vào cách hạt giống ví chính được tạo ra.
Bất kỳ ai đã sử dụng thiết bị bị ảnh hưởng để tạo ví giấy, khóa bí mật sao chép, mật khẩu, khóa đồng ký hoặc mã xác thực đều có thể cần thay thế ngay lập tức các tài liệu đó. Việc cài đặt bản cập nhật sẽ ngăn vấn đề tương tự ảnh hưởng đến các khóa bí mật mới, nhưng không khắc phục được những gì đã được tạo ra trước đó.
Sự cố này cũng củng cố thêm lý do thực tiễn cho việc thiết lập ví đa nhà cung cấp. Trong cơ chế đa chữ ký, có thể yêu cầu các thiết bị phần cứng riêng biệt từ các nhà sản xuất khác nhau để phê duyệt một giao dịch. Cấu trúc này không loại trừ hoàn toàn khả năng xảy ra lỗi phần mềm, nhưng có thể ngăn chặn việc một bộ tạo số ngẫu nhiên bị lỗi làm lộ toàn bộ ví.
Bài viết này được dịch từ tiếng Anh bằng AI. Phiên bản gốc bằng tiếng Anh là nguồn có thẩm quyền; các bản dịch tự động có thể chứa thông tin không chính xác, đặc biệt là trong thuật ngữ pháp lý và quy định.
















