Skip to content
Blockchain

Khai thác Coldcard: PRNG Tất Định Rút Cạn 88 Triệu Đô La BTC

By Anurag Verma•August 5, 2026
Khai thác Coldcard: PRNG Tất Định Rút Cạn 88 Triệu Đô La BTC

Vào ngày 1 tháng 8 năm 2026, khoảng 1.196 địa chỉ bitcoin đã bị rút cạn trong một đợt tấn công phối hợp. Không có lừa đảo. Không có PSBT độc hại được ký. Không có lỗi người dùng theo nghĩa thông thường. Vụ khai thác Coldcard làm bốc hơi khoảng 88 triệu đô la BTC không hề chạm vào một thiết bị nào tại thời điểm xảy ra vụ trộm, theo báo cáo của CoinDesk về sự cố này.

Nguyên nhân gốc rễ tệ hơn bất kỳ phân tích nào tôi thấy trong 24 giờ đầu tiên. Đây là lỗ hổng firmware ví cứng được phát hành năm 2021, âm thầm thay thế bộ tạo số ngẫu nhiên phần cứng thực sự bằng quy trình giả ngẫu nhiên phần mềm. Mỗi seed được tạo ra dưới bản build đó đều có tính xác định. Mỗi địa chỉ được dẫn xuất từ những seed đó, về nguyên tắc, có thể được tính toán trước bởi bất kỳ ai đã dịch ngược lỗi.

Đó không phải là một vụ hack. Đó là khoảng cách năm năm giữa lần commit và hậu quả.

Lỗi firmware Coinkite thực sự đã làm gì

Bản build lỗi, như được The Hacker News mô tả chi tiết, đã định tuyến các lệnh gọi entropy qua một PRNG phần mềm được khởi tạo từ trạng thái nhỏ, dễ đoán thay vì RNG phần cứng của chip SE. Người dùng không có cách nào phát hiện ra sự đánh tráo này. Thiết bị khởi động, hiển thị các màn hình thiết lập như mong đợi, tạo ra seed 24 từ, và trông giống hệt một ví được tạo đúng cách.

Các seed nó tạo ra nằm trong không gian có thể tìm kiếm với khoảng vài tỷ khả năng. Đó không phải là ví. Đó là vé số.

Khi kẻ tấn công (hoặc, có khả năng hơn, nhà nghiên cứu đã phát hiện ra điều này mà không tiết lộ một cách có trách nhiệm) bắt đầu dò toàn bộ không gian đó đối chiếu với tập UTXO vào ngày 1 tháng 8, việc rút tiền chỉ mất vài giờ, không phải vài tháng.

Tại sao con số 1.196 địa chỉ bitcoin bị rút cạn lại quan trọng

1.196 là con số nhỏ về giá trị tuyệt đối nhưng lại cực kỳ có ý nghĩa về mặt tín hiệu. Nó xác định đúng tập người dùng đã tạo seed trong khoảng thời gian firmware đó và chưa bao giờ xoay vòng. Đây là một tuyên bố có thể kiểm chứng và bác bỏ được về phạm vi ảnh hưởng, và bài viết của TechSpot xác nhận các thiết bị bị ảnh hưởng đều truy ngược về một đợt xuất xưởng hẹp.

Nếu bạn đã tạo seed trên một firmware khác, hoặc đã xoay vòng sau khi cập nhật firmware, bạn gần như chắc chắn không bị ảnh hưởng. Nếu bạn tạo trên bản build đó và chưa bao giờ chuyển, ví của bạn thực ra đã bị chi tiêu rồi, chỉ là bạn chưa biết mà thôi.

Một chi tiết đáng chú ý: một số UTXO bị rút có từ năm 2021. Năm năm với phương châm "chìa khóa của tôi, coin của tôi," và những chiếc chìa khóa đó chưa bao giờ thực sự là của bạn.

Vấn đề PRNG tất định trong Bitcoin đã cũ và cứ lặp đi lặp lại

Lớp lỗi này có một lịch sử dài và đáng xấu hổ. SecureRandom của Android năm 2013 đã làm mất BTC của mọi người theo cách tương tự. Lỗi PRNG Debian OpenSSL năm 2008 đã làm tê liệt các khóa SSH trong hai năm trước khi ai đó phát hiện ra. Mỗi thế hệ, chúng ta lại học lại rằng entropy là thứ duy nhất bạn không thể kiểm tra bằng cách nhìn vào kết quả đầu ra.

Một số ngẫu nhiên 256-bit hợp lệ và một số tất định 256-bit trông giống hệt nhau khi kiểm tra. Bạn cần kiểm tra nguồn, không phải mẫu. Đó là toàn bộ vấn đề.

Ví cứng bán cho người dùng tiền đề rằng secure element sẽ xử lý điều này cho bạn. Khi firmware bỏ qua SE, bạn chịu toàn bộ sự phức tạp của cold storage mà không có bất kỳ đảm bảo nào. Tệ nhất cả hai phía.

Tự lưu ký so với ETF không phải là cuộc tranh luận mà mọi người nghĩ

Đây là quan điểm của tôi, và tôi sẵn sàng chịu trách nhiệm: cuộc trò chuyện về tự lưu ký so với ETF đã bị đóng khung như một vấn đề ý thức hệ trong khi thực ra đó là một câu hỏi về chuỗi cung ứng.

ETF BTC giao ngay có một bề mặt tấn công mà tôi quan tâm: bảo mật vận hành của bên lưu ký. Bề mặt đó có thể được cơ quan quản lý kiểm toán, có thể bảo hiểm, và được vận hành bởi những người mà công việc toàn thời gian của họ là không để mất tài sản. Khi xảy ra sự cố, sẽ có người bồi thường.

Tự lưu ký có một chuỗi dài hơn: nhà cung cấp chip, quy trình build firmware, ký phát hành, chuỗi cung ứng, bảo mật vận hành phía người dùng, và quy trình sao lưu. Bất kỳ mắt xích nào gãy đều không có ai bồi thường. Vụ rút cạn Coldcard là khoảnh khắc Terra của luận điểm đó, không phải vì tự lưu ký đã chết, mà vì cách nhìn tối giản "chỉ cần tự giữ khóa của mình" cần phải trưởng thành hơn.

Cả hai mô hình đều có rủi ro thực sự. Giả vờ rằng một trong số chúng không có rủi ro chính là nguyên nhân khiến 1.196 địa chỉ bị rút cạn.

Điều gì thực sự thay đổi sau vụ khai thác Coldcard

Một vài điều tôi cho rằng sẽ (và nên) thay đổi:

  • Bản build firmware có thể tái tạo trở thành yêu cầu tối thiểu. Nếu bạn không thể tái build binary từ mã nguồn và so khớp từng byte, bạn đang tin vào một chữ ký, không phải vào codebase.
  • Chứng thực entropy sau khi tạo khóa. Thiết bị nên ký một bằng chứng xác nhận rằng seed được tạo ra từ SE, không phải từ phần mềm. Điều này không khó. Coinkite có thể triển khai trong một quý.
  • Kiểm tra tính hợp lệ của seed độc lập. Các công cụ của bên thứ ba có thể, mà không cần xem seed của bạn, xác minh rằng đường dẫn dẫn xuất của nó nằm trong phân phối nhất quán với tính ngẫu nhiên thực sự.
  • Sản phẩm bảo hiểm cho tự lưu ký. Không phải loại bảo hiểm hình thức. Bảo lãnh thực sự đòi hỏi firmware được chứng thực và cập nhật phạm vi bảo hiểm theo độ tuổi của các bản build.

Không có điều nào trong số này làm cho ví phần cứng trở nên lỗi thời. Nó đưa chúng lên tiêu chuẩn doanh nghiệp, vốn là điều chúng luôn tuyên bố đạt được.

Hệ quả khó chịu đối với phần còn lại của chúng ta

Tại LCX, chúng tôi dành một lượng thời gian kỹ thuật không cân xứng cho những thứ trông có vẻ vô hình với người dùng: các buổi lễ khóa HSM, quy trình build xác định, kiểm toán entropy trên mọi đường dẫn mã chạm đến khóa riêng tư. Đó là công việc nhàm chán. Nhưng cũng chính là ranh giới giữa một tiêu đề tin tức và một ngày thứ Ba bình thường.

Sự cố Coldcard gây ra cảm giác tương tự như những bình luận của CEO OpenZeppelin về kiểm toán DeFi hồi đầu năm nay. Bộ công cụ kiểm toán mà chúng ta thừa hưởng được thiết kế cho một thế giới mà code bạn triển khai chính là code bạn chạy. Thế giới đó không còn nữa, nếu nó từng tồn tại.

Lưu trữ lạnh (cold storage) đáng lẽ phải là câu trả lời nhàm chán nhưng đúng đắn. Hóa ra, thứ "nhàm chán" ấy lại cần nhiều lớp bảo vệ hơn những gì chúng ta từng thừa nhận.

Nguồn tham khảo