Lỗi tấn công thời gian của giao thức Bitcoin và cách khắc phục
Vào ngày 26 tháng 3 năm 2025, các nhà phát triển Bitcoin đã đề xuất một đề xuất hard fork có tên gọi "Dọn dẹp đồng thuận lớn", 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. Một trong những lỗ hổng nghiêm trọng nhất được gọi là "Cuộc tấn công bóp méo thời gian", bài viết này sẽ đi sâu vào vấn đề này.
Cơ chế bảo vệ dấu thời gian khối Bitcoin
Trước khi thảo luận về cuộc tấn công thời gian xoắn, chúng ta cần hiểu các quy tắc bảo vệ thao túng thời gian hiện tại:
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 đó.
Quy tắc thời gian khối trong tương lai: Thời gian dấu khối không được sớm hơn thời gian trung vị của các nút đồng đẳng quá 2 giờ. Dung sai tối đa cho sự khác biệt giữa thời gian do nút cung cấp và đồng hồ hệ thống địa phương là 90 phút.
Những quy tắc này nhằm đảm bảo rằng dấu thời gian khối không quá muộn cũng không quá sớm. Tuy nhiên, cuộc tấn công biến dạng thời gian chính là thông qua việc giả mạo dấu thời gian, khiến nó quay trở lại quá khứ rất xa.
Lỗi "thiếu một" của Nakamoto
Chu kỳ điều chỉnh độ khó của Bitcoin bao gồm 2016 khối, tính toán với mục tiêu khối 10 phút, khoảng hai tuần. Khi tính toán điều chỉnh độ khó khai thác, giao thức tính toán sự chênh lệch giữa dấu thời gian của khối đầu tiên và khối cuối cùng trong cửa sổ 2016 khối liên quan. Tuy nhiên, Satoshi Nakamoto đã mắc một lỗi nhỏ khi tính toán thời gian mục tiêu: ông đã sử dụng 2016 thay vì 2015 làm hệ số.
Lỗi này làm cho thời gian mục tiêu dài hơn 0,05% so với thời gian thực tế cần có, khiến cho khoảng thời gian mục tiêu thực tế của Bitcoin là 10 phút và 0,3 giây. Mặc dù lỗi này có vẻ không đáng kể, nhưng nó đã đặt nền tảng cho những lỗ hổng nghiêm trọng hơn.
Nguyên lý tấn công biến dạng thời gian
Cuộc tấn công xoắn thời gian tận dụng lỗi trong việc tính toán độ khó của Satoshi Nakamoto. Kẻ tấn công bằng cách thao tác dấu thời gian của khối, làm cho chuỗi khối tiến triển chậm lại về mặt thời gian, đồng thời tuân thủ các quy tắc MTP. Cụ thể, kẻ tấn công có thể:
Đối với hầu hết các khối, đặt dấu thời gian chỉ sớm hơn một giây so với khối trước đó.
Mỗi sáu khối mới làm tiến lên một giây cho dấu thời gian.
Trong khối cuối cùng của mỗi chu kỳ điều chỉnh độ khó, đặt dấu thời gian thành thời gian thực tế.
Dấu thời gian của khối đầu tiên trong chu kỳ điều chỉnh độ khó tiếp theo lại trở về quá khứ.
Hành động này khiến thời gian blockchain ngày càng lạc hậu so với thời gian thực, trong khi độ khó không ngừng tăng lên. Tuy nhiên, sau chu kỳ điều chỉnh thứ hai, độ khó sẽ bắt đầu giảm xuống, kẻ tấn công có thể tạo ra các khối với tốc độ rất nhanh, tiềm năng tạo ra một lượng lớn Bitcoin.
Tính khả thi và giới hạn của cuộc tấn công
Mặc dù về lý thuyết, loại tấn công này có tính hủy diệt, nhưng việc thực hiện gặp nhiều thách thức.
Cần kiểm soát phần lớn sức mạnh tính toán.
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.
Quy tắc MTP và dấu thời gian của thợ mỏ trung thực đã hạn chế mức độ hồi tố của dấu thời gian ác ý.
Quá trình tấn công có thể được quan sát công khai, cho cộng đồng thời gian thực hiện sửa chữa khẩn cấp.
Giải pháp
Để ngăn chặn cuộc tấn công biến dạng thời gian, đề xuất khuyên nên thêm một quy tắc đơn giản khi bắt đầu chu kỳ độ khó mới: yêu cầu thời gian của khối đầu tiên trong chu kỳ mới không được sớm hơn một khoảng thời gian cụ thể trước khối cuối cùng của chu kỳ trước. Thời gian đang được thảo luận hiện tại từ 10 phút đến 2 giờ.
Trong đề xuất làm sạch đồng thuận lớn nhất gần đây, khoảng thời gian này được thiết lập là 2 giờ. Giới hạn này chỉ chiếm 0,6% thời gian mục tiêu của chu kỳ điều chỉnh độ khó, hiệu quả hạn chế khả năng thao túng độ khó xuống.
Phương pháp này đơn giản hơn so với việc sửa đổi trực tiếp thuật toán điều chỉnh độ khó, và không cần phân tách cứng. Nó có thể hiệu quả ngăn chặn các cuộc tấn công bóp méo thời gian, đồng thời giảm thiểu rủi ro của các khối không hợp lệ không mong muốn, và vẫn phù hợp với các quy tắc dấu thời gian của các khối tương lai hiện có.
Bằng cách thực hiện bản sửa lỗi này, mạng Bitcoin sẽ có khả năng chống lại các cuộc tấn công thao túng thời gian tiềm ẩn tốt hơn, từ đó tăng cường thêm tính bảo mật và ổn định của nó.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
17 thích
Phần thưởng
17
5
Chia sẻ
Bình luận
0/400
JustHodlIt
· 07-11 01:42
Cảm giác an toàn hơn rồi, ổn định rồi~
Xem bản gốcTrả lời0
SchrodingerWallet
· 07-10 02:19
Lỗ hổng lại được sửa, thật đơn giản và thô bạo.
Xem bản gốcTrả lời0
DefiEngineerJack
· 07-10 02:19
*trên thực tế* là một bản vá bảo mật không tầm thường khác chứng minh sự vượt trội của pow... đã thấy những lỗ hổng tồi tệ hơn trong pos thật lòng mà nói
Xem bản gốcTrả lời0
ProbablyNothing
· 07-10 01:57
btc sửa lỗi, giờ thì ổn rồi nhỉ
Xem bản gốcTrả lời0
MemecoinResearcher
· 07-10 01:53
sửa giao thức dựa trên nhưng chúng ta có thể đạt được ý nghĩa thống kê không
Bitcoin giao thức sửa chữa lỗ hổng tấn công biến dạng thời gian: Phân tích đề xuất dọn dẹp Nhận thức chung
Lỗi tấn công thời gian của giao thức Bitcoin và cách khắc phục
Vào ngày 26 tháng 3 năm 2025, các nhà phát triển Bitcoin đã đề xuất một đề xuất hard fork có tên gọi "Dọn dẹp đồng thuận lớn", 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. Một trong những lỗ hổng nghiêm trọng nhất được gọi là "Cuộc tấn công bóp méo thời gian", bài viết này sẽ đi sâu vào vấn đề này.
Cơ chế bảo vệ dấu thời gian khối Bitcoin
Trước khi thảo luận về cuộc tấn công thời gian xoắn, chúng ta cần hiểu các quy tắc bảo vệ thao túng thời gian hiện tại:
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 đó.
Quy tắc thời gian khối trong tương lai: Thời gian dấu khối không được sớm hơn thời gian trung vị của các nút đồng đẳng quá 2 giờ. Dung sai tối đa cho sự khác biệt giữa thời gian do nút cung cấp và đồng hồ hệ thống địa phương là 90 phút.
Những quy tắc này nhằm đảm bảo rằng dấu thời gian khối không quá muộn cũng không quá sớm. Tuy nhiên, cuộc tấn công biến dạng thời gian chính là thông qua việc giả mạo dấu thời gian, khiến nó quay trở lại quá khứ rất xa.
Lỗi "thiếu một" của Nakamoto
Chu kỳ điều chỉnh độ khó của Bitcoin bao gồm 2016 khối, tính toán với mục tiêu khối 10 phút, khoảng hai tuần. Khi tính toán điều chỉnh độ khó khai thác, giao thức tính toán sự chênh lệch giữa dấu thời gian của khối đầu tiên và khối cuối cùng trong cửa sổ 2016 khối liên quan. Tuy nhiên, Satoshi Nakamoto đã mắc một lỗi nhỏ khi tính toán thời gian mục tiêu: ông đã sử dụng 2016 thay vì 2015 làm hệ số.
Lỗi này làm cho thời gian mục tiêu dài hơn 0,05% so với thời gian thực tế cần có, khiến cho khoảng thời gian mục tiêu thực tế của Bitcoin là 10 phút và 0,3 giây. Mặc dù lỗi này có vẻ không đáng kể, nhưng nó đã đặt nền tảng cho những lỗ hổng nghiêm trọng hơn.
Nguyên lý tấn công biến dạng thời gian
Cuộc tấn công xoắn thời gian tận dụng lỗi trong việc tính toán độ khó của Satoshi Nakamoto. Kẻ tấn công bằng cách thao tác dấu thời gian của khối, làm cho chuỗi khối tiến triển chậm lại về mặt thời gian, đồng thời tuân thủ các quy tắc MTP. Cụ thể, kẻ tấn công có thể:
Hành động này khiến thời gian blockchain ngày càng lạc hậu so với thời gian thực, trong khi độ khó không ngừng tăng lên. Tuy nhiên, sau chu kỳ điều chỉnh thứ hai, độ khó sẽ bắt đầu giảm xuống, kẻ tấn công có thể tạo ra các khối với tốc độ rất nhanh, tiềm năng tạo ra một lượng lớn Bitcoin.
Tính khả thi và giới hạn của cuộc tấn công
Mặc dù về lý thuyết, loại tấn công này có tính hủy diệt, nhưng việc thực hiện gặp nhiều thách thức.
Giải pháp
Để ngăn chặn cuộc tấn công biến dạng thời gian, đề xuất khuyên nên thêm một quy tắc đơn giản khi bắt đầu chu kỳ độ khó mới: yêu cầu thời gian của khối đầu tiên trong chu kỳ mới không được sớm hơn một khoảng thời gian cụ thể trước khối cuối cùng của chu kỳ trước. Thời gian đang được thảo luận hiện tại từ 10 phút đến 2 giờ.
Trong đề xuất làm sạch đồng thuận lớn nhất gần đây, khoảng thời gian này được thiết lập là 2 giờ. Giới hạn này chỉ chiếm 0,6% thời gian mục tiêu của chu kỳ điều chỉnh độ khó, hiệu quả hạn chế khả năng thao túng độ khó xuống.
Phương pháp này đơn giản hơn so với việc sửa đổi trực tiếp thuật toán điều chỉnh độ khó, và không cần phân tách cứng. Nó có thể hiệu quả ngăn chặn các cuộc tấn công bóp méo thời gian, đồng thời giảm thiểu rủi ro của các khối không hợp lệ không mong muốn, và vẫn phù hợp với các quy tắc dấu thời gian của các khối tương lai hiện có.
Bằng cách thực hiện bản sửa lỗi này, mạng Bitcoin sẽ có khả năng chống lại các cuộc tấn công thao túng thời gian tiềm ẩn tốt hơn, từ đó tăng cường thêm tính bảo mật và ổn định của nó.