Trong một tài liệu đăng trên arXiv, các nhà nghiên cứu đã công bố hai cách tấn công Bitcoin thông qua BGP. Tuy buộc phải có “tay trong” tại ISP để thực hiện, cả hai kiểu tấn công này đều dẫn đến những hậu quả nghiêm trọng. Trong kiểu tấn công phân tách (partition), nếu một ISP là đường kết nối duy nhất giữa những phần đáng kể của một mạng Bitcoin, nó có thể ngăn hai phía trao đổi với nhau. Và do cả hai “hòn đảo” đều tiếp tục xử lý giao dịch và “đào” Bitcoin mới, khi ISP nối hai bên lại với nhau, họ không có cách nào khác ngoài việc huỷ bỏ số Bitcoin tạo được (hay giao dịch).
Kiểu tấn công làm trễ (delay) còn nguy hiểm hơn, vì nó không thể bị phát hiện. Cách thực hiện như sau:
Bước 0: Các máy A và B gửi cùng một khối tới nạn nhân là máy C.
Bước 1: Máy C yêu cầu nhận khối từ máy A bằng lệnh GETDATA. Kẻ xấu thay đổi nội dung của GETDATA để khiến máy A chuyển một khối cũ.
Bước 2: Khối cũ được chuyển đến khối C.
Bước 3: Ngay trước khi hết 20 phút kể từ khi máy C gửi yêu cầu, kẻ xấu lại thay đổi một thông điệp GETDATA khác của máy C để khiến máy A gửi khối đúng.
Bước 4: Khối yêu cầu được chuyển tới ngay trước khi hết thời gian (timeout). Trong suốt thời gian, nạn nhân không mất kết nối với máy A.
Kiểu tấn công làm trễ này khiến những người bán hàng có thể bị lừa nhận món tiền đã tiêu (double-spending), người “đào tiền” lãng phí năng lực của máy tính và những máy khác không truyền được phiên bản mới nhất của blockchain.
Một trong những nguyên nhân khiến những kiểu tấn công mới này có thể phát huy tác dụng là các máy xử lý Bitcoin tập trung tại một số ít ISP: 13 máy chủ chứa khoảng 30% của toàn bộ mạng Bitcoin; 60% trao đổi Bitcoin chỉ liên quan tới 3 ISP.
Các nhà nghiên cứu nói rằng, việc lợi dụng BGP để tấn công đã ảnh hưởng tới khoảng 100 Bitcoin node một tháng. Đỉnh điểm là tháng 11/2015: khoảng 8% toàn bộ mạng lưới Bitcoin (447 máy) đã bị ảnh hưởng bởi kiểu tấn công lợi dụng BGP.
Công trình nghiên cứu này sẽ được trình bày ở IEEE Symposium on Security and Privacy 2017 vào tháng 5/2017, tại San Jose. Ba nhà nghiên cứu nói, họ sẽ công bố mã nguồn của bản thử nghiệm tấn công làm trễ trên GitHub.