Bitcoin trong giao dịch lặp lại: một lỗ hổng thú vị nhưng có rủi ro rất thấp
Giao dịch Bitcoin thường sử dụng đầu ra chưa chi tiêu bằng cách trích dẫn ID của giao dịch trước đó. Những đầu ra này chỉ có thể được sử dụng một lần, nếu không sẽ dẫn đến vấn đề chi tiêu gấp đôi. Tuy nhiên, trong lịch sử Bitcoin, đã xuất hiện hai nhóm giao dịch hoàn toàn giống nhau. Điều này là do giao dịch coinbase không có đầu vào, chỉ có những đồng coin mới được tạo ra. Do đó, hai giao dịch coinbase có thể gửi số lượng giống nhau đến cùng một địa chỉ, với cách thức xây dựng hoàn toàn giống nhau, dẫn đến việc tạo ra cùng một ID giao dịch.
Hai nhóm giao dịch lặp lại này xảy ra giữa ngày 14 và 15 tháng 11 năm 2010, với khoảng thời gian khoảng 16 giờ. Nhóm giao dịch lặp lại đầu tiên bị kẹp giữa nhóm thứ hai. Chúng tôi phân loại các ID giao dịch bắt đầu bằng d5d2 là giao dịch lặp lại đầu tiên, mặc dù nó xuất hiện lần đầu trên blockchain muộn hơn.
Các giao dịch lặp lại này mỗi giao dịch trị giá 50 BTC, tổng cộng liên quan đến 200 BTC, hoặc có thể hiểu là 100 BTC. Đến thời điểm hiện tại, 200 BTC này vẫn chưa được sử dụng. Về lý thuyết, người sở hữu khóa riêng liên quan có thể sử dụng những Bitcoin này, nhưng chỉ có 100 BTC có thể được khôi phục, 100 BTC còn lại sẽ không thể sử dụng. Về việc những coin này được sử dụng từ khối nào, có thể không thể xác định.
Giao dịch lặp lại có thể gây ra sự nhầm lẫn cho ví và trình duyệt khối, và cũng có thể được sử dụng để tấn công. Ví dụ, việc thanh toán cho ai đó hai lần bằng hai giao dịch lặp lại, nhưng người nhận cuối cùng chỉ có thể thu hồi một nửa số tiền. Điều này có thể được sử dụng để tấn công sàn giao dịch, cố gắng gây ra vấn đề với quỹ của nó.
Để giải quyết vấn đề này, vào tháng 3 năm 2012, đã thực hiện phân nhánh mềm BIP30, cấm việc sử dụng ID giao dịch trùng lặp, trừ khi giao dịch trước đó đã được sử dụng. Vào tháng 9 năm 2012, quy tắc này đã được sửa đổi thêm, áp dụng cho tất cả các khối, chỉ giữ lại hai nhóm giao dịch trùng lặp đã được đề cập ở trên.
BIP34 được kích hoạt vào tháng 3 năm 2013 yêu cầu giao dịch coinbase phải bao gồm chiều cao khối, điều này cơ bản giải quyết vấn đề giao dịch trùng lặp. Sau đó, các nút đã ngừng kiểm tra BIP30 tốn kém.
Tuy nhiên, trước khi BIP34 được kích hoạt, vẫn có một số giao dịch coinbase mà byte đầu tiên của scriptSig khớp chính xác với chiều cao khối hợp lệ trong tương lai. Khối tiếp theo có khả năng xảy ra giao dịch trùng lặp là 1,983,702, dự kiến sẽ được tạo ra vào tháng 1 năm 2046. Tuy nhiên, chi phí để khai thác lỗ hổng này là rất cao, cần phải đốt khoảng 170 BTC, tính theo giá hiện tại thì vượt quá 15 triệu USD.
Xét đến độ khó và chi phí của việc sao chép giao dịch, cũng như cơ hội để tận dụng là cực kỳ hiếm, lỗ hổng này không phải là vấn đề an ninh chính của Bitcoin. Tuy nhiên, về lâu dài, các nhà phát triển có thể sẽ hoàn toàn khắc phục vấn đề này trước năm 2046 thông qua các phương pháp như phân tách mềm.
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
9 thích
Phần thưởng
9
5
Đăng lại
Chia sẻ
Bình luận
0/400
GasFeeCrier
· 08-07 02:02
13 năm rồi, btc虾米 nên sửa lỗi này từ lâu rồi.
Xem bản gốcTrả lời0
StakeWhisperer
· 08-06 14:11
Bitcoin lão bát quái rồi
Xem bản gốcTrả lời0
GasWaster
· 08-04 05:30
lmao tưởng tượng lo lắng về tx dupes khi tôi đang phải trả 3x phí gas cho các giao dịch thất bại smh
Lỗ hổng giao dịch lặp lại của Bitcoin: hiếm nhưng có tác động sâu rộng tiềm tàng
Bitcoin trong giao dịch lặp lại: một lỗ hổng thú vị nhưng có rủi ro rất thấp
Giao dịch Bitcoin thường sử dụng đầu ra chưa chi tiêu bằng cách trích dẫn ID của giao dịch trước đó. Những đầu ra này chỉ có thể được sử dụng một lần, nếu không sẽ dẫn đến vấn đề chi tiêu gấp đôi. Tuy nhiên, trong lịch sử Bitcoin, đã xuất hiện hai nhóm giao dịch hoàn toàn giống nhau. Điều này là do giao dịch coinbase không có đầu vào, chỉ có những đồng coin mới được tạo ra. Do đó, hai giao dịch coinbase có thể gửi số lượng giống nhau đến cùng một địa chỉ, với cách thức xây dựng hoàn toàn giống nhau, dẫn đến việc tạo ra cùng một ID giao dịch.
Hai nhóm giao dịch lặp lại này xảy ra giữa ngày 14 và 15 tháng 11 năm 2010, với khoảng thời gian khoảng 16 giờ. Nhóm giao dịch lặp lại đầu tiên bị kẹp giữa nhóm thứ hai. Chúng tôi phân loại các ID giao dịch bắt đầu bằng d5d2 là giao dịch lặp lại đầu tiên, mặc dù nó xuất hiện lần đầu trên blockchain muộn hơn.
Các giao dịch lặp lại này mỗi giao dịch trị giá 50 BTC, tổng cộng liên quan đến 200 BTC, hoặc có thể hiểu là 100 BTC. Đến thời điểm hiện tại, 200 BTC này vẫn chưa được sử dụng. Về lý thuyết, người sở hữu khóa riêng liên quan có thể sử dụng những Bitcoin này, nhưng chỉ có 100 BTC có thể được khôi phục, 100 BTC còn lại sẽ không thể sử dụng. Về việc những coin này được sử dụng từ khối nào, có thể không thể xác định.
Giao dịch lặp lại có thể gây ra sự nhầm lẫn cho ví và trình duyệt khối, và cũng có thể được sử dụng để tấn công. Ví dụ, việc thanh toán cho ai đó hai lần bằng hai giao dịch lặp lại, nhưng người nhận cuối cùng chỉ có thể thu hồi một nửa số tiền. Điều này có thể được sử dụng để tấn công sàn giao dịch, cố gắng gây ra vấn đề với quỹ của nó.
Để giải quyết vấn đề này, vào tháng 3 năm 2012, đã thực hiện phân nhánh mềm BIP30, cấm việc sử dụng ID giao dịch trùng lặp, trừ khi giao dịch trước đó đã được sử dụng. Vào tháng 9 năm 2012, quy tắc này đã được sửa đổi thêm, áp dụng cho tất cả các khối, chỉ giữ lại hai nhóm giao dịch trùng lặp đã được đề cập ở trên.
BIP34 được kích hoạt vào tháng 3 năm 2013 yêu cầu giao dịch coinbase phải bao gồm chiều cao khối, điều này cơ bản giải quyết vấn đề giao dịch trùng lặp. Sau đó, các nút đã ngừng kiểm tra BIP30 tốn kém.
Tuy nhiên, trước khi BIP34 được kích hoạt, vẫn có một số giao dịch coinbase mà byte đầu tiên của scriptSig khớp chính xác với chiều cao khối hợp lệ trong tương lai. Khối tiếp theo có khả năng xảy ra giao dịch trùng lặp là 1,983,702, dự kiến sẽ được tạo ra vào tháng 1 năm 2046. Tuy nhiên, chi phí để khai thác lỗ hổng này là rất cao, cần phải đốt khoảng 170 BTC, tính theo giá hiện tại thì vượt quá 15 triệu USD.
Xét đến độ khó và chi phí của việc sao chép giao dịch, cũng như cơ hội để tận dụng là cực kỳ hiếm, lỗ hổng này không phải là vấn đề an ninh chính của Bitcoin. Tuy nhiên, về lâu dài, các nhà phát triển có thể sẽ hoàn toàn khắc phục vấn đề này trước năm 2046 thông qua các phương pháp như phân tách mềm.