Một ví Bitcoin đã trả phí giao dịch lên tới 1.60 BTC, tương đương khoảng 102,778 USD, nhưng hoàn toàn không gửi đồng coin nào cho ai cả. Giao dịch này được xác nhận vào ngày 12/08/2024, trong block số 962,142.
Dữ liệu trên blockchain cho thấy chỉ có một đầu vào với tổng cộng 160,343,885 satoshi. Các thợ đào đã nhận toàn bộ số satoshi này, trong khi đầu ra duy nhất của giao dịch lại không chứa bất kỳ giá trị nào.
Giao dịch này được gửi qua một script tự động sử dụng tính năng Replace-by-Fee (RBF). Tính năng này cho phép người dùng gửi lại giao dịch Bitcoin chưa xác nhận với mức phí cao hơn để được ưu tiên xác nhận trong mempool.
RBF ra đời là có lý do. Ước tính phí giao dịch có thể nhanh chóng lỗi thời chỉ sau vài phút, khiến giao dịch có thể bị tắc nghẽn hàng giờ liền.
Tuy nhiên, quá trình này đã xảy ra lỗi. Thay vì dừng lại ở mức phí hợp lý, bot tự động đã liên tục tăng mức phí lên mỗi giây. Mỗi phiên bản mới tiêu tốn dần số dư còn lại trong ví.
Cuối cùng, toàn bộ số dư input đều bị phí giao dịch “nuốt chửng”. Phiên bản cuối cùng của giao dịch không để lại gì cho người nhận, khiến khoản chuyển tiền có giá trị bằng 0. Dù vậy, các node Bitcoin vẫn chấp nhận giao dịch này, vì giao thức không giới hạn mức phí tối đa mà người gửi có thể trả cho thợ đào.
SpiderPool là đơn vị đào ra block này và nhận trọn khoản phí “từ trên trời rơi xuống”. Tổng phí của toàn bộ block này là khoảng 1.82 BTC, đồng nghĩa rằng chỉ một lỗi như vậy đã chiếm tới 88% số phí block đó. Đây thực sự là may mắn với các pool, nhất là khi một pool lớn vừa nộp đơn phá sản vào tháng 07/2024.
Thứ nhất, hãy tắt chế độ tự động tăng phí qua RBF. Khi chuyển sang xác nhận thủ công, mỗi lần tăng phí sẽ cần sự đồng ý của người dùng trước khi lên mạng lưới.
Thứ hai, nên đặt mức trần phí tuyệt đối. Hầu hết các ví hiện đại đều có thể cài đặt giá trị satoshi/byte tối đa. Chỉ với giới hạn này, kịch bản “cháy ví” sẽ không thể xảy ra.
Thứ ba, nên luôn bắt đầu bằng một giao dịch kiểm tra. Chuyển thử vài ngàn satoshi sẽ giúp kiểm tra bot có hoạt động đúng trước khi giao dịch số tiền lớn. Những người thường xuyên batch giao dịch cũng nên kiểm tra lại sau mỗi lần cập nhật phần mềm.
Trường hợp này cũng cho thấy một thực tế quen thuộc với việc tự quản lý ví. Nạn nhân của vụ hack ví Coldcard gần đây cũng từng làm đúng các quy tắc an toàn, nhưng cuối cùng vẫn bị mất trắng. Ngay cả Changpeng Zhao, nhà sáng lập Binance, cũng khẳng định rằng không có ví nào hoàn toàn an toàn.
Vì vậy, những gì tự động hóa cũng cần được kiểm soát kỹ lưỡng như bảo quản seed phrase. Việc để các script tự động hoạt động không giám sát có thể “thổi bay” số dư nhanh không kém gì hacker.
Tại thời điểm viết bài, giá BTC dao động quanh mức 63,770 USD, giảm 0.2% trong 24 giờ qua. Ở mức giá hiện tại, lỗi vừa rồi vẫn khiến chủ ví mất hơn 102,200 USD — một mất mát nặng nề, mà hoàn toàn không có đồng vốn nào tới được người nhận.
Các thợ đào Bitcoin chắc chắn không phàn nàn gì về điều đó. Doanh thu của họ đã giảm mạnh suốt thời gian qua, và ngày càng nhiều thợ đào rời mạng lưới, nên một khoản phí sáu con số bất ngờ giống như “tiền trời”. Dù vậy, câu hỏi lớn hơn lại thuộc về các nhà phát triển ví: Liệu một ứng dụng ví dành cho người dùng phổ thông có nên cho phép chỉ một giao dịch được sử dụng toàn bộ số dư chỉ để trả phí, mà không có bất kỳ cảnh báo nào?