Lỗ hổng tấn công biến dạng thời gian trong giao thức Bitcoin
Vào ngày 26 tháng 3 năm 2025, một nhà phát triển Bitcoin đã đề xuất một đề xuất cải tiến mới nhằm sửa chữa một số lỗ hổng và điểm yếu tồn tại lâu dài trong giao thức Bitcoin. Đề xuất phân nhánh mềm được gọi là "Làm sạch đồng thuận lớn" có một vấn đề an toàn đáng chú ý là "tấn công biến dạng thời gian".
Cơ chế bảo vệ thời gian của Bitcoin
Trong giao thức Bitcoin có hai quy tắc bảo vệ dấu thời gian chính:
Thời gian trung vị đã qua (MPT) quy tắc: Dấu thời gian của 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: Dấu thời gian khối không được sớm hơn thời gian trung vị của các nút mạng quá 2 giờ.
Các quy tắc này nhằm ngăn chặn việc thao túng quá mức thời gian ghi dấu khối. Tuy nhiên, cuộc tấn công bóp méo thời gian tận dụng lỗ hổng của những quy tắc này bằng cách giả mạo thời gian ghi dấu để đưa nó quay trở lại quá khứ.
Lỗi tính toán của Satoshi Nakamoto
Chu kỳ điều chỉnh độ khó của Bitcoin bao gồm 2016 khối, khoảng hai tuần. Khi tính toán điều chỉnh độ khó khai thác, giao thức so sánh sự chênh lệch timestamp của khối đầu tiên và khối cuối cùng trong cửa sổ 2016 khối. 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ố, dẫn đến thời gian mục tiêu dài hơn 0,05% so với thực tế.
Lỗi này khiến khoảng cách giữa các khối mục tiêu thực tế của Bitcoin là 10 phút 0,3 giây, thay vì 10 phút chính xác. Mặc dù sai số 0,3 giây này không ảnh hưởng nhiều, nhưng nó đã đặt nền móng cho một lỗ hổng nghiêm trọng hơn.
Nguyên lý của cuộc tấn công biến dạng thời gian
Tấn công biến dạng thời gian lợi dụng lỗi trong tính toán độ khó của Satoshi Nakamoto. Kẻ tấn công thông qua việc thao tác dấu thời gian của khối, khiến cho blockchain tiến triển chậm lại về mặt thời gian, trong khi vẫn tuân thủ quy tắc MPT. Cụ thể là:
Hầu hết các dấu thời gian của khối chỉ sớm hơn khối trước đó 1 giây.
Mỗi 6 khối sẽ tăng thêm 1 giây vào dấu thời gian để phù hợp với quy tắc MPT.
Ở khối cuối cùng của mỗi chu kỳ điều chỉnh độ khó, đặt dấu thời gian là thời gian thực trong thế giới.
Dấu thời gian của khối đầu tiên trong chu kỳ mới lại trở về quá khứ.
Hành động này dẫn đến việc thời gian trên blockchain ngày càng chậm hơn so với thời gian thực, và độ khó sẽ liên tục tăng lên. Tuy nhiên, do dấu thời gian vào cuối chu kỳ đột ngột nhảy vọt, việc tính toán độ khó sẽ bị bóp méo, dẫn đến việc giảm đáng kể độ khó của chu kỳ tiếp theo.
Tác động tiềm tàng của cuộc tấn công
Nếu được thực hiện thành công, cuộc tấn công xoắn thời gian có thể dẫn đến những hậu quả sau:
Độ khó giảm mạnh, khiến tốc độ tạo khối trở nên bất thường nhanh.
Một lượng lớn Bitcoin đã được tạo ra trong thời gian ngắn.
Kẻ tấn công có thể thu lợi từ việc bán những đồng coin này.
Tuy nhiên, việc thực hiện cuộc tấn công này gặp nhiều thách thức, bao gồm việ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 các thợ đào trung thực sẽ làm tăng độ khó, và quá trình tấn công dễ bị phát hiện.
Giải pháp
Để khắc phục lỗ hổng tấn công xoắn thời gian, các nhà phát triển đã đề xuất một giải pháp tương đối đơn giản: yêu cầu dấu thời gian của khối đầu tiên trong chu kỳ độ khó mới không sớm hơn thời gian giới hạn cụ thể của khối cuối cùng trong chu kỳ trước. Đề xuất hiện tại gợi ý đặt giới hạn thời gian này là 2 giờ, chỉ chiếm khoảng 0.6% thời gian mục tiêu của chu kỳ điều chỉnh độ khó, có thể hiệu quả giới hạn mức độ bị thao túng độ khó.
Giải pháp này không chỉ có thể ngăn chặn 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 rủi ro phát sinh các khối không hợp lệ. Nó phù hợp với các quy tắc thời gian khối tương lai hiện tại, trong điều kiện bình thường có thể linh hoạt hơn so với các quy tắc MPT hiện tại.
Với việc sửa lỗi bảo mật này, mạng Bitcoin sẽ trở nên mạnh mẽ và an toàn hơn, đặt nền tảng vững chắc hơn cho sự phát triển lâu dài của nó.
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.
16 thích
Phần thưởng
16
3
Chia sẻ
Bình luận
0/400
ForkItAllDay
· 23giờ trước
Mày đang đùa tao à? Lâu như vậy mà không ai phát hiện ra.
Lỗ hổng nghiêm trọng bị phanh phui: cuộc tấn công làm biến dạng thời gian giao thức Bitcoin và giải pháp sửa chữa của nó
Lỗ hổng tấn công biến dạng thời gian trong giao thức Bitcoin
Vào ngày 26 tháng 3 năm 2025, một nhà phát triển Bitcoin đã đề xuất một đề xuất cải tiến mới nhằm sửa chữa một số lỗ hổng và điểm yếu tồn tại lâu dài trong giao thức Bitcoin. Đề xuất phân nhánh mềm được gọi là "Làm sạch đồng thuận lớn" có một vấn đề an toàn đáng chú ý là "tấn công biến dạng thời gian".
Cơ chế bảo vệ thời gian của Bitcoin
Trong giao thức Bitcoin có hai quy tắc bảo vệ dấu thời gian chính:
Thời gian trung vị đã qua (MPT) quy tắc: Dấu thời gian của 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: Dấu thời gian khối không được sớm hơn thời gian trung vị của các nút mạng quá 2 giờ.
Các quy tắc này nhằm ngăn chặn việc thao túng quá mức thời gian ghi dấu khối. Tuy nhiên, cuộc tấn công bóp méo thời gian tận dụng lỗ hổng của những quy tắc này bằng cách giả mạo thời gian ghi dấu để đưa nó quay trở lại quá khứ.
Lỗi tính toán của Satoshi Nakamoto
Chu kỳ điều chỉnh độ khó của Bitcoin bao gồm 2016 khối, khoảng hai tuần. Khi tính toán điều chỉnh độ khó khai thác, giao thức so sánh sự chênh lệch timestamp của khối đầu tiên và khối cuối cùng trong cửa sổ 2016 khối. 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ố, dẫn đến thời gian mục tiêu dài hơn 0,05% so với thực tế.
Lỗi này khiến khoảng cách giữa các khối mục tiêu thực tế của Bitcoin là 10 phút 0,3 giây, thay vì 10 phút chính xác. Mặc dù sai số 0,3 giây này không ảnh hưởng nhiều, nhưng nó đã đặt nền móng cho một lỗ hổng nghiêm trọng hơn.
Nguyên lý của cuộc tấn công biến dạng thời gian
Tấn công biến dạng thời gian lợi dụng lỗi trong tính toán độ khó của Satoshi Nakamoto. Kẻ tấn công thông qua việc thao tác dấu thời gian của khối, khiến cho blockchain tiến triển chậm lại về mặt thời gian, trong khi vẫn tuân thủ quy tắc MPT. Cụ thể là:
Hành động này dẫn đến việc thời gian trên blockchain ngày càng chậm hơn so với thời gian thực, và độ khó sẽ liên tục tăng lên. Tuy nhiên, do dấu thời gian vào cuối chu kỳ đột ngột nhảy vọt, việc tính toán độ khó sẽ bị bóp méo, dẫn đến việc giảm đáng kể độ khó của chu kỳ tiếp theo.
Tác động tiềm tàng của cuộc tấn công
Nếu được thực hiện thành công, cuộc tấn công xoắn thời gian có thể dẫn đến những hậu quả sau:
Tuy nhiên, việc thực hiện cuộc tấn công này gặp nhiều thách thức, bao gồm việ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 các thợ đào trung thực sẽ làm tăng độ khó, và quá trình tấn công dễ bị phát hiện.
Giải pháp
Để khắc phục lỗ hổng tấn công xoắn thời gian, các nhà phát triển đã đề xuất một giải pháp tương đối đơn giản: yêu cầu dấu thời gian của khối đầu tiên trong chu kỳ độ khó mới không sớm hơn thời gian giới hạn cụ thể của khối cuối cùng trong chu kỳ trước. Đề xuất hiện tại gợi ý đặt giới hạn thời gian này là 2 giờ, chỉ chiếm khoảng 0.6% thời gian mục tiêu của chu kỳ điều chỉnh độ khó, có thể hiệu quả giới hạn mức độ bị thao túng độ khó.
Giải pháp này không chỉ có thể ngăn chặn 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 rủi ro phát sinh các khối không hợp lệ. Nó phù hợp với các quy tắc thời gian khối tương lai hiện tại, trong điều kiện bình thường có thể linh hoạt hơn so với các quy tắc MPT hiện tại.
Với việc sửa lỗi bảo mật này, mạng Bitcoin sẽ trở nên mạnh mẽ và an toàn hơn, đặt nền tảng vững chắc hơn cho sự phát triển lâu dài của nó.