Phân tích lỗ hổng tấn công biến dạng thời gian 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 khắc phục nhiều 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 tách mềm được gọi là "Làm sạch đồ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 - "Cuộc tấn công biến dạng thời gian".
Cơ chế bảo vệ thời gian khối Bitcoin
Trước khi thảo luận về tấn công xuyên thời gian, chúng ta cần hiểu quy tắc bảo vệ thao tác thời gian trong mạng Bitcoin hiện tại:
Thời gian trung vị trước đây (MPT) quy tắc: Dấu thời gian khối phải muộn hơn thời gian trung vị của mười một 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 vượt quá 2 giờ so với thời gian trung vị của các nút ngang hàng. 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.
Quy tắc MPT ngăn chặn dấu thời gian khối quá lùi về phía trước, trong khi quy tắc khối tương lai thì hạn chế dấu thời gian vượt quá quá sớm. Cần lưu ý rằng không thể thiết lập cơ chế tương tự như quy tắc khối tương lai để ngăn chặn dấu thời gian trong quá khứ, vì điều này có thể ảnh hưởng đến quá trình đồng bộ hóa chuỗi khối ban đầu. Cuộc tấn công biến dạng thời gian chính là lợi dụng khả năng giả mạo dấu thời gian cổ xưa.
Lỗi trong thuật toán điều chỉnh độ khó
Chu kỳ điều chỉnh độ khó của Bitcoin bao gồm 2016 khối, tính theo thời gian mục tiêu tạo khối 10 phút, khoảng bằ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 chênh lệch thời gian giữa hai 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. Cửa sổ này thực tế bao gồm 2015 khoảng cách khối (2016 trừ 1). Do đó, thời gian mục tiêu lý tưởng nên sử dụng là 60 giây × 10 phút × 2015 khoảng cách = 1,209,000 giây.
Tuy nhiên, giao thức Bitcoin đã sử dụng con số 2016 để tính toán: 60 giây × 10 phút × 2016 = 1,209,600 giây. Đây là một lỗi "thiếu một" cổ điển, rất có thể là do nhầm lẫn giữa số lượng khối và khoảng cách giữa các khối.
Sai số này dẫn đến thời gian mục tiêu lâu hơn 0,05% so với thời gian thực tế cần thiết. Nói cách khác, khoảng thời gian tạo khối mục tiêu thực tế của Bitcoin không phải là 10 phút, mà là 10 phút và 0,3 giây. Mặc dù sai số này có vẻ không đáng kể, nhưng nó 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 biến dạng thời gian lần đầu tiên được phát hiện vào khoảng năm 2011, nó tận dụng sai số trong việc tính toán độ khó. Trong trường hợp lý tưởng, giả sử việc đào coin hoàn toàn tập trung, thợ đào 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ẽ thực hiện các chiến lược sau:
Đối với hầu hết các khối, đặt dấu thời gian tiến lên chỉ một giây so với khối trước đó, đồng thời tuân thủ các quy tắc MPT.
Để tiến hành thời gian một cách chậm nhất có thể, thợ mỏ có thể giữ cùng một dấu thời gian trong sáu khối liên tiếp, sau đó tăng một giây trong khối thứ bảy, và cứ như vậy.
Ở 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 trong thế giới.
Dấu thời gian của khối đầu tiên trong cửa sổ điều chỉnh độ khó tiếp theo được đặt trở lại 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.
Mô hình tấn công này sẽ dẫn đến việc thời gian của blockchain dần dần bị lùi so với thời gian thực, trong khi độ khó liên tục tăng lên. Tuy nhiên, do mỗi chu kỳ điều chỉnh độ khó, khối cuối cùng sử dụng dấu thời gian thực, nên việc tính toán độ khó sẽ bị ảnh hưởng đáng kể. Vào cuối chu kỳ điều chỉnh thứ hai sau khi cuộc tấn công bắt đầu, độ khó sẽ được điều chỉnh giảm mạnh. Điều này cho phép kẻ tấn công tạo ra các khối với tốc độ cực nhanh, tiềm năng đúc ra một lượng lớn Bitcoin và thu lợi từ đó.
Tính khả thi và thách thức của cuộc tấn công
Mặc dù lý thuyết, cuộc tấn công này có thể gây ra sự tàn phá, nhưng việc thực hiện gặp phải nhiều thách thức:
Có thể cần kiểm soát phần lớn sức mạnh tính toán của mạng.
Sự tồn tại của những thợ mỏ trung thực sẽ làm tăng độ khó của các cuộc tấn công.
Quy tắc MTP và dấu thời gian trung thực có thể hạn chế mức độ truy ngược của dấu thời gian ác ý.
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, thì cuộc tấn công trong chu kỳ đó sẽ không còn hiệu lực.
Quá trình tấn công có thể thấy được bởi tất cả mọi người, có thể kích hoạt sửa chữa nhánh mềm khẩn cấp.
Giải pháp tiềm năng
Việc sửa lỗi này tương đối đơn giản, nhưng có thể cần thay đổi giao thức soft fork. Một số giải pháp khả thi bao gồm:
Sửa đổi thuật toán điều chỉnh độ khó, tính toán khoảng thời gian giữa các cửa sổ khối 2016 khác nhau, đồng thời sửa lỗi "thiếu một".
Hủy bỏ quy tắc MTP, thay đổi yêu cầu thời gian của mỗi khối phải tiến về phía trước.
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 khoảng thời gian cụ thể của khối cuối cùng trong chu kỳ trước (ví dụ 10 phút hoặc 2 giờ).
Trong đề xuất cải tiến mới nhất, các nhà phát triển có xu hướng áp dụng giới hạn thời gian 2 giờ. Giới hạn này khoảng 0,6% thời gian mục tiêu của chu kỳ điều chỉnh độ khó, có thể giảm hiệu quả khả năng thao túng độ khó.
Dù giải pháp cuối cùng được áp dụng là gì, việc khắc phục lỗ hổng này sẽ进一步增强 Bitcoin mạng lưới sự an toàn và ổn định, đặ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.
10 thích
Phần thưởng
10
8
Đăng lại
Chia sẻ
Bình luận
0/400
GasFeeNightmare
· 07-21 22:12
All in cũng phải chờ sửa lỗi xong
Xem bản gốcTrả lời0
SignatureCollector
· 07-20 01:25
À cái này, phải chờ hai năm nữa mới sửa được bug?
Xem bản gốcTrả lời0
rekt_but_vibing
· 07-18 22:42
nhập một vị thế sau đó mua vé
Xem bản gốcTrả lời0
DegenApeSurfer
· 07-18 22:39
Chỉ cái lỗ hổng này mà lại kéo dài đến 25 năm
Xem bản gốcTrả lời0
SlowLearnerWang
· 07-18 22:39
Hóa ra Bitcoin cũng có thể xuyên không gian và thời gian à
Xem bản gốcTrả lời0
AirdropSweaterFan
· 07-18 22:32
Lại là những câu chuyện cũ, bao giờ thì xong đây?
Xem bản gốcTrả lời0
SnapshotStriker
· 07-18 22:29
Lại phát hiện ra lỗi mới à? Chờ nó nổ ra thì thú vị rồi.
Xem bản gốcTrả lời0
RugResistant
· 07-18 22:18
cuối cùng ai đó đã phát hiện ra lỗ hổng nghiêm trọng này. đã phân tích điều này trong nhiều tháng... các nhà phát triển đang ngủ quên trên điều đó thật sự.
Phân tích lỗ hổng tấn công xuyên thời gian Bitcoin: điểm yếu của giao thức và các giải pháp khắc phục tiềm năng
Phân tích lỗ hổng tấn công biến dạng thời gian 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 khắc phục nhiều 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 tách mềm được gọi là "Làm sạch đồ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 - "Cuộc tấn công biến dạng thời gian".
Cơ chế bảo vệ thời gian khối Bitcoin
Trước khi thảo luận về tấn công xuyên thời gian, chúng ta cần hiểu quy tắc bảo vệ thao tác thời gian trong mạng Bitcoin hiện tại:
Thời gian trung vị trước đây (MPT) quy tắc: Dấu thời gian khối phải muộn hơn thời gian trung vị của mười một 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 vượt quá 2 giờ so với thời gian trung vị của các nút ngang hàng. 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.
Quy tắc MPT ngăn chặn dấu thời gian khối quá lùi về phía trước, trong khi quy tắc khối tương lai thì hạn chế dấu thời gian vượt quá quá sớm. Cần lưu ý rằng không thể thiết lập cơ chế tương tự như quy tắc khối tương lai để ngăn chặn dấu thời gian trong quá khứ, vì điều này có thể ảnh hưởng đến quá trình đồng bộ hóa chuỗi khối ban đầu. Cuộc tấn công biến dạng thời gian chính là lợi dụng khả năng giả mạo dấu thời gian cổ xưa.
Lỗi trong thuật toán điều chỉnh độ khó
Chu kỳ điều chỉnh độ khó của Bitcoin bao gồm 2016 khối, tính theo thời gian mục tiêu tạo khối 10 phút, khoảng bằ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 chênh lệch thời gian giữa hai 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. Cửa sổ này thực tế bao gồm 2015 khoảng cách khối (2016 trừ 1). Do đó, thời gian mục tiêu lý tưởng nên sử dụng là 60 giây × 10 phút × 2015 khoảng cách = 1,209,000 giây.
Tuy nhiên, giao thức Bitcoin đã sử dụng con số 2016 để tính toán: 60 giây × 10 phút × 2016 = 1,209,600 giây. Đây là một lỗi "thiếu một" cổ điển, rất có thể là do nhầm lẫn giữa số lượng khối và khoảng cách giữa các khối.
Sai số này dẫn đến thời gian mục tiêu lâu hơn 0,05% so với thời gian thực tế cần thiết. Nói cách khác, khoảng thời gian tạo khối mục tiêu thực tế của Bitcoin không phải là 10 phút, mà là 10 phút và 0,3 giây. Mặc dù sai số này có vẻ không đáng kể, nhưng nó 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 biến dạng thời gian lần đầu tiên được phát hiện vào khoảng năm 2011, nó tận dụng sai số trong việc tính toán độ khó. Trong trường hợp lý tưởng, giả sử việc đào coin hoàn toàn tập trung, thợ đào 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ẽ thực hiện các chiến lược sau:
Đối với hầu hết các khối, đặt dấu thời gian tiến lên chỉ một giây so với khối trước đó, đồng thời tuân thủ các quy tắc MPT.
Để tiến hành thời gian một cách chậm nhất có thể, thợ mỏ có thể giữ cùng một dấu thời gian trong sáu khối liên tiếp, sau đó tăng một giây trong khối thứ bảy, và cứ như vậy.
Ở 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 trong thế giới.
Dấu thời gian của khối đầu tiên trong cửa sổ điều chỉnh độ khó tiếp theo được đặt trở lại 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.
Mô hình tấn công này sẽ dẫn đến việc thời gian của blockchain dần dần bị lùi so với thời gian thực, trong khi độ khó liên tục tăng lên. Tuy nhiên, do mỗi chu kỳ điều chỉnh độ khó, khối cuối cùng sử dụng dấu thời gian thực, nên việc tính toán độ khó sẽ bị ảnh hưởng đáng kể. Vào cuối chu kỳ điều chỉnh thứ hai sau khi cuộc tấn công bắt đầu, độ khó sẽ được điều chỉnh giảm mạnh. Điều này cho phép kẻ tấn công tạo ra các khối với tốc độ cực nhanh, tiềm năng đúc ra một lượng lớn Bitcoin và thu lợi từ đó.
Tính khả thi và thách thức của cuộc tấn công
Mặc dù lý thuyết, cuộc tấn công này có thể gây ra sự tàn phá, nhưng việc thực hiện gặp phải nhiều thách thức:
Giải pháp tiềm năng
Việc sửa lỗi này tương đối đơn giản, nhưng có thể cần thay đổi giao thức soft fork. Một số giải pháp khả thi bao gồm:
Trong đề xuất cải tiến mới nhất, các nhà phát triển có xu hướng áp dụng giới hạn thời gian 2 giờ. Giới hạn này khoảng 0,6% thời gian mục tiêu của chu kỳ điều chỉnh độ khó, có thể giảm hiệu quả khả năng thao túng độ khó.
Dù giải pháp cuối cùng được áp dụng là gì, việc khắc phục lỗ hổng này sẽ进一步增强 Bitcoin mạng lưới sự an toàn và ổn định, đặt nền tảng vững chắc hơn cho sự phát triển lâu dài của nó.