Lỗ hổng giao dịch lặp lại Bitcoin: Các trường hợp hiếm gặp trong lịch sử và rủi ro tiềm ẩn trong tương lai

robot
Đang tạo bản tóm tắt

Bitcoin giao dịch lặp lại: một lỗ hổng thú vị nhưng rủi ro cực thấp

Giao dịch Bitcoin thường sử dụng đầu ra chưa chi tiêu bằng cách tham chiếu 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 thanh toán kép, khiến Bitcoin mất giá trị. 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. Tình huống này có thể xảy ra vì giao dịch coinbase không có đầu vào giao dịch, mà tạo ra đồng coin mới. Do đó, hai giao dịch coinbase khác nhau có khả năng gửi cùng một số lượng coin đến cùng một địa chỉ, với cách xây dựng hoàn toàn giống nhau, từ đó tạo ra cùng một ID giao dịch.

Bitcoin của giao dịch lặp lại: một lỗi thú vị với rủi ro cực thấp

Hai nhóm giao dịch lặp lại này xảy ra từ ngày 14 đến 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ó lần đầu tiên xuất hiện trên blockchain sau một giao dịch lặp lại khác.

Bitcoin的重复交易:一个风险极小的有趣Bug

Sự xuất hiện của các giao dịch lặp lại đã gây ra sự hỗn loạn cho ví và trình duyệt blockchain, đồng thời khiến người ta khó xác định nguồn gốc của Bitcoin. Nó cũng có thể mang lại rủi ro tấn công và lỗ hổng. Ví dụ, có thể thanh toán cho ai đó hai lần bằng hai giao dịch lặp lại, nhưng thực tế chỉ có một nửa số tiền có thể sử dụng.

Bitcoin giao dịch lặp lại: Một lỗi thú vị với rủi ro cực thấp

Để giải quyết vấn đề này, vào tháng 3 năm 2012, BIP30 đã được triển khai như một soft fork, cấm việc sử dụng ID giao dịch trùng lặp, trừ khi giao dịch trước đó đã được chi tiêu. Vào tháng 9 cùng năm, quy tắc này đã được sửa đổi để áp dụng cho tất cả các khối, ngoại trừ hai nhóm giao dịch trùng lặp ban đầu. Vào tháng 3 năm 2013, soft fork BIP34 yêu cầu giao dịch coinbase phải bao gồm chiều cao khối, điều này dường như đã giải quyết triệt để vấn đề giao dịch trùng lặp.

Bitcoin的重复交易:一个风险极小的有趣Bug

Tuy nhiên, trong một số khối trước khi BIP34 được kích hoạt, byte đầu tiên của scriptSig trong giao dịch coinbase trùng khớp với chiều cao khối hợp lệ trong tương lai. Điều này có nghĩa là trong một số trường hợp hiếm hoi, giao dịch lặp lại vẫn có khả năng xảy ra. Khối tiếp theo có khả năng xảy ra giao dịch lặp lại là 1,983,702, dự kiến sẽ được tạo ra vào khoảng tháng 1 năm 2046. Tuy nhiên, chi phí để khai thác lỗ hổng này rất cao, cần đốt một lượng lớn Bitcoin, gần như vô ích đối với kẻ tấn công.

Bitcoin của giao dịch lặp lại: Một lỗi thú vị với rủi ro cực kỳ thấp

Xem xét độ khó và chi phí của việc sao chép giao dịch, cũng như việc tận dụng cơ hội cực kỳ hiếm, lỗ hổng này không cấu thành mối đe dọa an ninh chính đối với Bitcoin. Tuy nhiên, trong dài hạn, các nhà phát triển có thể sẽ tìm cách khắc phục triệt để vấn đề này trước năm 2046, có thể cần thực hiện thông qua phân nhánh mềm. Một phương pháp sửa lỗi khả thi là thực thi cam kết SegWit.

Bitcoin giao dịch lặp lại: Một lỗi thú vị với rủi ro rất thấp

BTC2.65%
Xem bản gốc
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.
  • Phần thưởng
  • 5
  • Đăng lại
  • Chia sẻ
Bình luận
0/400
MercilessHalalvip
· 08-03 13:23
Lỗ hổng này rất mới mẻ
Xem bản gốcTrả lời0
RektButAlivevip
· 08-01 06:06
Chứng kiến khoảnh khắc lịch sử
Xem bản gốcTrả lời0
RunWhenCutvip
· 08-01 06:06
Rủi ro không thể bị bỏ qua
Xem bản gốcTrả lời0
LiquidityWizardvip
· 08-01 05:47
Đã chú ý đến lỗ hổng này từ lâu.
Xem bản gốcTrả lời0
ImpermanentLossFanvip
· 08-01 05:45
Những lỗi sớm thật sự rất thú vị
Xem bản gốcTrả lời0
  • Ghim
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)