Bitcoin dự kiến khôi phục lỗ hổng tấn công thời gian uốn cong, kế hoạch Soft Fork đang sắp ra mắt

Lỗ hổng tấn công biến dạng thời gian trong giao thức Bitcoin

Nhà phát triển Bitcoin Antoine Poinsot đã đưa ra một đề xuất cải tiến mới vào ngày 26 tháng 3 năm 2025, nhằm khắc phục một số lỗ hổng và điểm yếu lâu dài trong giao thức Bitcoin thông qua một soft fork. Đề xuất được gọi là "Dọn dẹp đồng thuận lớn" không chỉ giải quyết vấn đề giao dịch trùng lặp đã được thảo luận trước đó, mà còn đưa ra giải pháp cho một lỗ hổng nghiêm trọng hơn - "tấn công biến đổi thời gian".

Bitcoin lỗi bảo mật: tấn công xoắn thời gian

Cơ chế bảo vệ thời gian của Bitcoin

Trước khi thảo luận về cuộc tấn công bóp méo thời gian, chúng ta hãy xem lại các quy tắc bảo vệ thao tác thời gian hiện có của Bitcoin:

  1. Thời gian trung vị đã qua (MPT) quy tắc: Dấu thời gian khối phải muộn hơn thời gian trung vị của 11 khối trước.

  2. Quy tắc thời gian khối trong tương lai: Dấu thời gian khối không được vượt quá 2 giờ so với thời gian trung vị của các nút đối tác. Ngoài ra, chênh lệch tối đa cho phép giữa thời gian của nút và đồng hồ hệ thống địa phương là 90 phút.

Những quy tắc này nhằm mục đích ngăn chặn việc dấu thời gian của khối bị lệch quá xa so với thời gian thực, cho dù là về phía quá khứ hay tương lai. Tuy nhiên, cuộc tấn công biến dạng thời gian chính là thực hiện bằng cách làm giả dấu thời gian sớm hơn rất nhiều so với thời gian thực.

Bitcoin lỗ hổng bảo mật: Tấn công uốn thời gian

Sai lầm "chỉ thiếu một" của Satoshi Nakamoto

Chu kỳ điều chỉnh độ khó của Bitcoin bao gồm 2016 khối, lý thuyết khoảng hai tuần. Khi tính toán điều chỉnh độ khó khai thác, giao thức sẽ tính toán sự chênh lệch thời gian giữa hai khối đầu và cuối trong 2016 khối này. Tuy nhiên, 2016 khối này thực tế chỉ chứa khoảng cách giữa 2015 khối. Thời gian mục tiêu chính xác nên là 60 giây × 10 phút × 2015 = 1,209,000 giây, nhưng giao thức Bitcoin lại sử dụng con số 2016, dẫn đến kết quả tính toán là 1,209,600 giây. Lỗi nhỏ này khiến thời gian mục tiêu dài hơn 0.05% so với thực tế.

Mặc dù lỗi này có vẻ không đáng kể, nhưng nó đã gây ra một vấn đề nghiêm trọng hơn. Việc tính toán độ khó dựa trên khối đầu tiên và khối cuối cùng trong mỗi cửa sổ 2016 khối, chứ không phải sự khác biệt giữa khối cuối cùng của cửa sổ trước và khối cuối cùng của cửa sổ hiện tại. Cách tính toán này tạo ra khả năng cho các cuộc tấn công biến dạng thời gian.

Nguyên lý tấn công biến dạng thời gian

Cuộc tấn công làm biến dạng thời gian được phát hiện lần đầu vào khoảng năm 2011. Trong cuộc tấn công này, giả định rằng việc khai thác hoàn toàn tập trung, thợ mỏ có thể tùy ý thiết lập dấu thời gian trong phạm vi cho phép của giao thức. Kẻ tấn công sẽ thiết lập dấu thời gian của phần lớn các khối sớm hơn một giây so với khối trước đó, hoặc chỉ tiến về phía trước một giây sau mỗi sáu khối, nhằm đẩy thời gian tiến lên một cách chậm nhất có thể.

Hành động này sẽ dẫn đến việc thời gian blockchain dần dần chậm lại so với thời gian thực, trong khi độ khó ngày càng tăng. Để tăng cường hiệu ứng tấn công, trong khối cuối cùng của mỗi chu kỳ điều chỉnh độ khó, kẻ tấn công sẽ đặt dấu thời gian thành thời gian thực trên thế giới. Khối đầu tiên của chu kỳ tiếp theo sẽ được đặt về quá khứ, sớm hơn một giây so với khối thứ hai từ cuối của chu kỳ trước.

Bằng cách này, kẻ tấn công có thể giảm đáng kể độ khó khai thác sau chu kỳ điều chỉnh thứ hai, từ đó tạo ra khối với tốc độ rất nhanh và thu được nhiều Bitcoin.

Bitcoin bảo mật lỗ hổng: Tấn công thời gian xoắn

Tính khả thi và thách thức của cuộc tấn công

Mặc dù lý thuyết cho rằng cuộc tấn công này có thể gây ra hậu quả nghiêm trọng, nhưng việc thực hiện thực tế đối mặt với nhiều thách thức.

  1. Cần kiểm soát phần lớn sức mạnh tính toán.
  2. Sự tồn tại của thợ mỏ trung thực sẽ làm tăng độ khó của cuộc tấn công.
  3. Quy tắc MTP và dấu thời gian trung thực sẽ giới hạn mức độ hồi tố của dấu thời gian độc hại.
  4. Nếu thợ mỏ trung thực tạo ra khối đầu tiên của bất kỳ cửa sổ điều chỉnh độ khó nào, cuộc tấn công trong chu kỳ đó sẽ không còn hiệu lực.
  5. Quá trình tấn công có thể nhìn thấy bởi mọi người, có thể kích hoạt sửa chữa phân nhánh mềm khẩn cấp.

Bitcoin bảo mật lỗ hổng: Tấn công biến dạng thời gian

Giải pháp

Có vài cách khả thi để sửa lỗi này:

  1. Thay đổi thuật toán điều chỉnh độ khó, tính toán khoảng thời gian khác nhau giữa các khối trong cửa sổ 2016 và sửa lỗi "thiếu một".
  2. Hủy bỏ quy tắc MTP, yêu cầu thời gian của mỗi khối phải di chuyển về phía trước.
  3. Thiết lập quy tắc giới hạn mới, yêu cầu thời gian của khối đầu tiên trong chu kỳ độ khó mới không sớm hơn một số phút nhất định của khối cuối cùng trong chu kỳ trước.

Đề xuất "Làm sạch đồng thuận lớn" của Poinsot đã áp dụng phương pháp thứ ba, đề nghị đặt giới hạn thời gian là 2 giờ. Kế hoạch này không chỉ có thể giảm thiểu hiệu quả các cuộc tấn công biến dạng thời gian mà còn giảm thiểu tối đa nguy cơ phát sinh các khối không hợp lệ.

Tổng thể, cộng đồng Bitcoin đang tích cực đối phó với mối đe dọa tiềm tàng này, liên tục hoàn thiện giao thức thông qua các phương pháp như phân tách mềm, để đảm bảo an ninh lâu dài và hoạt động ổn định của mạng.

Bitcoin lỗ hổng bảo mật: cuộc tấn công biến dạng thời gian

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
  • Chia sẻ
Bình luận
0/400
SatoshiSherpavip
· 07-14 18:42
Sửa lỗi thực sự giống như sửa lỗi.
Xem bản gốcTrả lời0
FUD_Whisperervip
· 07-14 18:38
Đã sửa lỗi rồi? Đáng nhẽ ra phải sửa từ lâu.
Xem bản gốcTrả lời0
OldLeekConfessionvip
· 07-14 18:38
Bug này đã được sửa 4 năm rồi sao?
Xem bản gốcTrả lời0
GweiWatchervip
· 07-14 18:35
Con bug này phải sửa từ lâu rồi, thật sự không thể nhìn nổi.
Xem bản gốcTrả lời0
PumpingCroissantvip
· 07-14 18:34
2025 mới sửa lỗi này, phải chờ lâu quá.
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)