Bitcoin Core vá lỗi có thể khiến tiền bị chuyển hướng dù kẻ xấu không cần đánh cắp khóa

Tóm tắt thị trường bằng AI
Bitcoin Core đã hợp nhất một biện pháp bảo vệ để ngăn việc ký một số PSBT nhất định bằng SIGHASH_SINGLE, trong đó các đầu ra có thể bị thay đổi mà không làm chữ ký mất hiệu lực, cho phép chuyển hướng người nhận trong các điều kiện biên (không phải đánh cắp khóa). Thay đổi này làm giảm rủi ro ủy quyền đối với ví và phần cứng ký, nhưng hiện chỉ có trong nhánh phát triển và chưa có phiên bản phát hành/được backport nào được xác nhận, khiến trọng tâm ngắn hạn vẫn là xác thực phía ví và chính sách của bên ký.
Mức ảnh hưởng
● Trung bình
Tài sản bị ảnh hưởng
BTC/USDT+2.04%
Quan điểm AI · BTC/USDTQuan điểm AI
● Trung lập
Khám phá ngay
⚠️ Nhận định từ AI được tổng hợp từ tin tức và chỉ có giá trị tham khảo. Đây không phải là lời khuyên đầu tư và không thể hiện quan điểm của BingX. Đầu tư luôn đi kèm rủi ro. Vui lòng giao dịch có trách nhiệm.
Bitcoin Core vừa bổ sung cơ chế bảo vệ nhằm ngăn việc ký những giao dịch có thể không ràng buộc số tiền với đúng địa chỉ nhận mà người dùng đã phê duyệt. Thay đổi này được hợp nhất vào nhánh phát triển chính (master) của Bitcoin Core ngày 25/9 và nhắm vào một lỗ hổng hẹp trong PSBT (Partially Signed Bitcoin Transactions). Bitcoin Optech đã nêu bật bản cập nhật vào ngày 2/10. Vấn đề không làm lộ khóa riêng. Rủi ro nằm ở chỗ chữ ký vẫn có thể hợp lệ ngay cả khi người nhận của giao dịch bị thay đổi, trong một số điều kiện nhất định. Điểm yếu liên quan đến SIGHASH_SINGLE, chế độ ký vốn được thiết kế để ràng buộc một input với output ở cùng vị trí. Nếu giao dịch không có output tại vị trí đó, cơ chế bảo vệ sẽ suy yếu, và mức độ suy yếu khác nhau tùy loại input đang được chi tiêu. Với input kiểu legacy, trường hợp thiếu output có thể tạo ra chữ ký trên một giá trị hash cố định. Các nhà phát triển Bitcoin Core cho biết chữ ký như vậy có thể bị tái sử dụng để chi tiêu các UTXO khác do cùng một khóa kiểm soát, nếu các điều kiện cấu trúc tương tự lặp lại. Với SegWit v0, lớp bảo vệ mạnh hơn vì chữ ký vẫn gắn với đồng coin cụ thể được chi tiêu và giá trị của nó, nhưng output đích có thể vẫn không bị ràng buộc. Điều này tạo ra vấn đề ủy quyền đối với ví và thiết bị ký: phần mềm có thể hiển thị một khoản thanh toán cho người dùng, trong khi chữ ký tạo ra không đảm bảo về mặt mật mã rằng người nhận đã duyệt sẽ không bị thay đổi. Bitcoin Core chặn yêu cầu ký rủi ro Trước đây, Bitcoin Core đã từ chối trường hợp biên này qua giao diện ký rawtransaction. Tuy nhiên, luồng PSBT (bao gồm walletprocesspsbt) vẫn có thể ký. Mã mới chuyển phần kiểm tra sang logic tạo chữ ký dùng chung của Bitcoin Core, ngăn ký các input legacy và SegWit v0 bị ảnh hưởng, đồng thời vẫn cho phép các input hợp lệ khác trong cùng một PSBT tiếp tục. PSBT thường được dùng để phối hợp giao dịch giữa ví phần mềm, thiết bị phần cứng và hệ thống ký offline. Cơ chế này cho phép hệ thống dựng giao dịch chuyển dữ liệu sang một bên ký riêng biệt mà không cần trao quyền kiểm soát khóa riêng. Vì vậy, bản vá củng cố một ranh giới mà nhà phát triển ví phải tự đảm bảo, tách biệt với an toàn khóa: chữ ký hợp lệ phải "cam kết" vào đúng các chi tiết giao dịch mà người dùng thực sự đã chấp thuận. BIP 174, tiêu chuẩn định nghĩa PSBT, đã yêu cầu bên ký từ chối các chế độ ký không thể chấp nhận và khuyến nghị dùng SIGHASH_ALL nếu không có lựa chọn khác. Thay đổi trong Bitcoin Core nay chặn cấu hình thiếu output này ngay từ trước khi bước ký diễn ra. Hiện vẫn chưa có bản phát hành sản xuất (production release) được xác nhận đã tích hợp cơ chế bảo vệ. Thay đổi ngày 25/9 mới chỉ được hợp nhất vào nhánh phát triển; đến ngày 4/10, danh sách phát hành công bố của dự án chưa nêu phiên bản đã sửa hoặc xác nhận backport. Điều này khiến các nhà cung cấp ví và các tích hợp ký phần cứng phải sớm tự đánh giá cách xử lý yêu cầu SIGHASH_SINGLE của họ, thay vì chờ một bản phát hành Bitcoin Core để áp dụng bảo vệ tương tự ở tầng dưới. Bài viết "Bitcoin Core's new fix closes gap that could redirect funds without stealing keys" xuất hiện đầu tiên trên CryptoSlate.