Lỗ hổng giao dịch lặp lại của Bitcoin: Phân tích trường hợp lịch sử và rủi ro 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 nhỏ

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 chi tiêu 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 đã xảy ra 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, mà trực tiếp sinh ra đồng coin mới. Do đó, hai giao dịch coinbase khác nhau có thể gửi cùng một số lượng coin đến cùng một địa chỉ và được xây dựng theo cách hoàn toàn giống nhau, khiến chúng hoàn toàn nhất quán. Do nội dung giao dịch giống nhau, ID giao dịch của chúng cũng giống nhau.

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

Hai nhóm giao dịch lặp lại này đều xảy ra trong khoảng thời gian 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 d5d2....8599 mặc dù đã trở thành bản sao trước, nhưng lần xuất hiện đầu tiên trên blockchain lại muộn hơn giao dịch lặp lại khác e3bf....b468.

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

Thú vị là, các trình duyệt blockchain khác nhau sẽ có những cách hiển thị khác nhau khi hiển thị các giao dịch trùng lặp này. Một số trình duyệt mặc định hiển thị các khối cũ hơn, trong khi một số khác thì hiển thị các khối mới hơn.

Trong bốn khối liên quan, chỉ có một khối chứa các giao dịch khác, kết hợp đầu ra 1 BTC và 19 BTC thành một đầu ra 20 BTC.

Các giao dịch lặp lại này liên quan đến 200 BTC vẫn chưa được chi tiêu. Về lý thuyết, người sở hữu khóa riêng liên quan có thể chi tiêu những Bitcoin này, nhưng một khi được chi tiêu, 50 BTC lặp lại sẽ bị mất, do đó chỉ còn 100 BTC có thể sử dụng. Còn về việc những đồng coin này sẽ được chi tiêu từ khối nào, hiện tại vẫn chưa thể xác định.

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

Giao dịch lặp lại rõ ràng sẽ gây ra nhiều vấn đề. Chúng sẽ gây nhầm lẫn cho ví và trình duyệt khối, cũng như khiến người ta không rõ nguồn gốc của Bitcoin. Nghiêm trọng hơn, nó còn có thể được sử dụng để tấn công các sàn giao dịch và các tổ chức khác.

Để 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 sử dụng ID giao dịch trùng lặp để thực hiện giao dịch. Vào tháng 9 năm 2012, quy tắc này đã được mở rộng để áp dụng cho tất cả các khối.

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

BIP34 soft fork được kích hoạt vào tháng 3 năm 2013 yêu cầu các giao dịch coinbase phải bao gồm chiều cao khối, điều này đã giải quyết thêm vấn đề giao dịch trùng lặp. Do đó, vào tháng 11 năm 2015, phần mềm lõi Bitcoin đã ngừng kiểm tra BIP30.

Tuy nhiên, BIP34 không phải là một giải pháp hoàn hảo. 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 hợp với chiều cao khối hợp lệ trong tương lai. Điều này có nghĩa là vẫn có khả năng xảy ra giao dịch trùng lặp, khối tiếp theo có thể là 1,983,702, dự kiến sẽ được tạo ra vào khoảng tháng 1 năm 2046.

Bitcoin của giao dịch lặp lại: Một lỗi thú vị có rủi ro cực nhỏ

Tuy nhiên, chi phí để tận dụng lỗ hổng này là rất cao. Lấy ví dụ về khối 1,983,702, thợ mỏ cần phải đốt khoảng 170 BTC phí, theo giá hiện tại khoảng 15 triệu USD. Hơn nữa, những khoản tiền này rất có thể sẽ không thể thu hồi.

Xét về độ khó và chi phí của việc sao chép giao dịch, cũng như sự hiếm hoi của các cơ hội, lỗ hổng này không phải là mối đe dọa an ninh chính cho Bitcoin. Tuy nhiên, các nhà phát triển vẫn đang nỗ lực tìm kiếm cách khắc phục triệt để vấn đề này, có thể cần thực hiện thông qua việc phân tách mềm.

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

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
  • 6
  • Chia sẻ
Bình luận
0/400
CafeMinorvip
· 10giờ trước
Giao thức nhiều hơn cũng không hẳn an toàn hơn đâu~
Xem bản gốcTrả lời0
MEVHunterBearishvip
· 07-18 00:45
Lỗi này sửa thật chán...
Xem bản gốcTrả lời0
CompoundPersonalityvip
· 07-18 00:42
Thời gian đầu, lỗ hổng có một câu nói rất đáng sợ.
Xem bản gốcTrả lời0
screenshot_gainsvip
· 07-18 00:42
Mã luôn là một cái hố.
Xem bản gốcTrả lời0
fren_with_benefitsvip
· 07-18 00:34
Các chàng phát triển lại gây rắc rối gì thế này~
Xem bản gốcTrả lời0
RugPullSurvivorvip
· 07-18 00:27
Lạ thật, còn có lỗi như thế này.
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)