Lỗ hổng giao dịch lặp lại của Bitcoin: Sự kiện thú vị trong lịch sử và thách thức 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 ảnh hưởng hạn chế

Trong mạng Bitcoin tồn tại một lỗ hổng thú vị - giao dịch trùng lặp. Trong điều kiện bình thường, giao dịch Bitcoin sử dụng đầu ra chưa chi tiêu bằng cách tham chiếu đến ID của giao dịch trước đó. Các đầ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 đề thanh toán đôi. Tuy nhiên, trong lịch sử Bitcoin đã thực sự xuất hiện hai bộ giao dịch hoàn toàn giống nhau.

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

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 tạo 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 Bitcoin đến cùng một địa chỉ, từ đó xây dựng ra các giao dịch hoàn toàn giống nhau. Vì nội dung giao dịch giống nhau, ID giao dịch của chúng cũng giống nhau: (TXID).

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, kéo dài khoảng 16 giờ. Nhóm giao dịch lặp lại đầu tiên có ID là d5d2....8599, nhóm thứ hai là e3bf....b468. Thú vị là, d5d2....8599 mặc dù trở thành bản sao trước, nhưng lại xuất hiện trên blockchain muộn hơn e3bf....b468.

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

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. Từ một góc độ nào đó, 100 BTC trong số đó thực ra không tồn tại. Đến 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ể 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 đó thực tế chỉ có 100 BTC có thể được lấy lại.

Giao dịch lặp lại rõ ràng sẽ gây ra sự nhầm lẫn cho ví và trình duyệt blockchain, và cũng có thể bị lợi dụng để tấn công. Ví dụ, kẻ tấn công có thể gửi hai giao dịch lặp lại vào sàn giao dịch, sau đó ngay lập tức rút tiền, cố gắng làm cho sàn giao dịch phá sản.

Để giải quyết vấn đề này, cộng đồng Bitcoin đã thực hiện nhiều biện pháp:

  1. Tháng 3 năm 2012, BIP30 phân nhánh mềm cấm sử dụng TXID trùng lặp để giao dịch, trừ khi TXID trước đó đã được chi tiêu.

  2. Tháng 9 năm 2012, Greg Maxwell đã sửa đổi quy tắc, để kiểm tra BIP30 áp dụng cho tất cả các khối, nhưng vẫn giữ lại hai giao dịch trùng lặp đã đề cập ở trên.

  3. Tháng 3 năm 2013, BIP34 yêu cầu phân tách mềm để giao dịch coinbase 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.

  4. Tháng 11 năm 2015, Bitcoin Core đã ngừng kiểm tra BIP30, vì BIP34 đã sửa chữa vấn đề này.

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

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

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

Tuy nhiên, chi phí để khai thác lỗ hổng này rất cao. Lấy ví dụ về khối 1,983,702, kẻ tấn công cần đốt khoảng 170 BTC chi phí, tính 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ể không thể thu hồi. Ngoài ra, kể từ khi nâng cấp SegWit vào năm 2017, giao dịch coinbase còn bao gồm cam kết đối với tất cả các giao dịch trong khối, làm tăng thêm độ khó của cuộc tấn công.

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

Xem xét đến độ khó và chi phí của việc sao chép giao dịch, cũng như sự khan hiếm của các cơ hội, lỗ hổng này không cấu thành 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 giải pháp sửa chữa, có thể cần phải thực hiện thông qua phân nhánh mềm. Một phương pháp khả thi là thực thi cam kết SegWit.

Tổng thể mà nói, mặc dù lỗ hổng giao dịch lặp lại rất thú vị, nhưng tác động thực tế của nó rất hạn chế. Nó thể hiện nhiều hơn về sự phức tạp của mạng Bitcoin và nỗ lực không ngừng của các nhà phát triển để hoàn thiện hệ thống.

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

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
ArbitrageBotvip
· 11giờ trước
Có lỗi tức là có tiền kiếm mà.
Xem bản gốcTrả lời0
LiquidationSurvivorvip
· 11giờ trước
Bạn sửa lỗi, tôi tăng vị thế~
Xem bản gốcTrả lời0
PebbleHandervip
· 11giờ trước
Sửa đến giờ vẫn chưa xong?
Xem bản gốcTrả lời0
ShibaMillionairen'tvip
· 11giờ trước
Trường An không có gì đặc biệt vẫn là phiền phức.
Xem bản gốcTrả lời0
ImpermanentTherapistvip
· 11giờ trước
Nút gặp vấn đề, người ta đã sớm đoán ra rồi.
Xem bản gốcTrả lời0
BakedCatFanboyvip
· 11giờ trước
Ôi, bug này sao nhìn có vẻ quen quen...
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)