Cách một lỗi số ngẫu nhiên rút cạn các ví Coldcard
Một lỗi firmware năm năm tuổi khiến một số Coldcard tạo ra seed có thể đoán được, cho phép rút khoảng 1.367 BTC. Bitcoin không bị hack — chính sự ngẫu nhiên sau các khóa đã thất bại.
- Galaxy Research ước tính khoảng 1.367 BTC bị rút khỏi khoảng 4.585 địa chỉ; một lỗi firmware năm 2021 đã tạo seed từ dữ liệu có thể đoán được.
- Bản thân Bitcoin không bị phá vỡ. Vá lỗi là chưa đủ: seed yếu vẫn yếu, nên phải tạo seed mới và chuyển tiền đi.
Toàn bộ sự an toàn của một ví Bitcoin dựa vào một điều duy nhất: một con số bí mật được chọn ngẫu nhiên mà không ai khác đoán được. Mười hai hay hai mươi bốn từ mà ví yêu cầu bạn sao lưu chỉ là một cách ghi lại con số đó; mọi khóa và địa chỉ đều bắt nguồn từ nó. Nếu con số thực sự không thể đoán trước, ví an toàn. Nếu nó có thể được tái tạo, ví không an toàn — và đó là điều đã trục trặc với một số người dùng Coldcard, một ví cứng Bitcoin do Coinkite sản xuất.
Theo Galaxy Research, với các con số được CoinDesk và những nơi khác đưa tin, khoảng 1.367 BTC — gần 88,6 triệu đô la vào thời điểm đó — đã bị rút khỏi khoảng 4.585 địa chỉ qua các đợt phối hợp. Đợt lớn nhất, do The Hacker News đưa tin, đã quét sạch khoảng 1.082 BTC (gần 70 triệu đô la) trong khoảng 41 phút vào ngày 30 tháng 7 năm 2026, cùng ngày Coinkite công bố lỗ hổng nền tảng.
Nguyên nhân là một thay đổi duy nhất trong firmware, ngày 1 tháng 3 năm 2021. Một ví cứng lẽ ra phải lấy sự ngẫu nhiên từ một linh kiện vật lý chuyên dụng — trên Coldcard là bộ tạo số ngẫu nhiên phần cứng của chip. Thay đổi năm 2021 đã lặng lẽ chuyển việc tạo seed sang một giải pháp phần mềm dự phòng: một quy trình dành cho thiết bị không có bộ tạo phần cứng, chỉ tạo ra những con số trông ngẫu nhiên từ một giá trị khởi đầu có thể đoán trước. Thiết bị có đúng linh kiện; vào khoảnh khắc quan trọng, linh kiện sai lại làm việc. Lỗi tồn tại hơn năm năm vì một khâu kiểm tra mã chỉ xác nhận hàm tồn tại, chứ không xác nhận nó thực sự được dùng.
Kết quả là một đống rơm bị thu nhỏ. Cảnh báo của Coinkite giới hạn lỗ hổng đã xác nhận ở các Coldcard Mk2 và Mk3, nơi các nhà nghiên cứu ước tính sự ngẫu nhiên hiệu dụng gần 40 bit thay vì 128 bit như dự kiến — ít tổ hợp đến mức kẻ tấn công có thể tạo các seed hợp lý ngoại tuyến, suy ra địa chỉ của chúng, tìm trên blockchain công khai những địa chỉ có tiền rồi rút cạn. Coinkite và Block cho biết Mk4, Mk5 và Coldcard Q không bị ảnh hưởng bởi lỗ hổng đang bị khai thác, nhờ một nguồn entropy bổ sung, dù công ty lưu ý rằng seed tạo trên một số phiên bản cũ hơn của các mẫu này có biên độ thấp hơn dự kiến.
Hai điểm quan trọng với bất kỳ ai đã dùng thiết bị bị ảnh hưởng. Thứ nhất, chỉ vá lỗi thôi thì không sửa được: một seed sinh ra mà thiếu sự ngẫu nhiên sẽ yếu suốt đời, và rủi ro đi theo seed chứ không theo thiết bị — nhập nó vào một ví khác cũng không thay đổi gì. Cách khắc phục duy nhất là cài firmware đã sửa, tạo một seed hoàn toàn mới, rồi chuyển coin sang các địa chỉ mới. Thứ hai, bản thân Bitcoin không bị hack. Mật mã học của nó hoạt động đúng như thiết kế; mạng lưới giả định rằng một khóa riêng được tạo từ sự ngẫu nhiên thật và không có cách nào kiểm tra liệu con số đằng sau nó đến từ nhiễu vật lý hay từ phần mềm tạo ra quá ít.
Vụ việc là điều khó chịu cho self-custody, tức việc tự giữ khóa của mình thay vì tin vào bên thứ ba. Đó là một bước lùi về niềm tin, không phải một phán quyết: thất bại nằm ở phần triển khai của một nhà sản xuất, không phải ở ý tưởng rằng mỗi người có thể tự giữ Bitcoin của mình. Với những ai hiểu các đánh đổi, self-custody vẫn là một lựa chọn chính đáng — và là lời nhắc rằng toàn bộ lời hứa của nó phụ thuộc vào việc bộ phận thầm lặng và ít hào nhoáng nhất của cỗ máy hoạt động đúng.
Bài viết này là phân tích thị trường, không phải khuyến nghị mua hoặc bán.
Điều gì sẽ thay đổi quan điểm
- Liệu con số của Galaxy có tăng khi có thêm địa chỉ bị ảnh hưởng được xác định, hay ổn định gần mức ước tính hiện tại.
- Liệu vụ việc có làm giảm niềm tin vào self-custody nói chung, hay được xem là lỗi triển khai của một nhà sản xuất duy nhất.