Phân tích 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, các nhà phát triển Bitcoin đã đưa ra một đề xuất phân tách mềm 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. Một trong những lỗ hổng nghiêm trọng hơn được gọi là "tấn công biến đổi thời gian", đây là chủ đề mà bài viết này sẽ đi sâu khám phá.
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 xuyên thời gian, chúng ta cần hiểu các quy tắc bảo vệ thao tác thời gian hiện tại trong mạng Bitcoin:
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 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 sớm hơn thời gian trung vị của các nút mạng quá 2 giờ. Sự 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 hạn chế dấu thời gian quá tiến về phía trước. Cần lưu ý rằng không thể thực hiện cơ chế tương tự như quy tắc khối tương lai để hoàn toàn 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 blockchain ban đầu. Cuộc tấn công bóp méo 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 nhỏ 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 toán theo thời gian mục tiêu xuất 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 sẽ tính toán sự chênh lệch thời gian giữa hai khối đầu và cuối trong cửa sổ 2016 khối. 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 được sử dụng lý thuyết nên 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 trong tính toán. 60 giây × 10 phút × 2016 = 1,209,600 giây. Điều này dẫn đến thời gian mục tiêu dài 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 giữa các 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.
Sự khác biệt nhỏ này không đáng kể trong thực tế. Thực tế, kể từ khi Bitcoin ra đời, khoảng thời gian trung bình giữa các khối luôn duy trì ở khoảng 9 phút 36 giây, rõ ràng thấp hơn 10 phút. Điều này chủ yếu là do sức mạnh mạng đã liên tục tăng trưởng kể từ năm 2009. Chính vì lý do này, sự kiện giảm phần thưởng gần đây đã được đẩy lên vào tháng 4 năm 2024, thay vì vào tháng 1 năm 2025 như dự kiến ban đầu.
Nguyên tắc của cuộc tấn công bóp méo thời gian
Cuộc tấn công xoắn 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 một lỗ hổng trong tính toán độ khó. Kẻ tấn công thông qua việc thao túng dấu thời gian của khối để ảnh hưởng đến sự điều chỉnh độ khó, từ đó đạt được mục đích giảm độ khó khai thác.
Các bước tấn công như sau:
Đối với hầu hết các khối, kẻ tấn công sẽ đặt dấu thời gian sớm hơn chỉ 1 giây so với khối trước.
Để tiến hành thời gian một cách chậm nhất có thể, kẻ tấn công có thể giữ cùng một dấu thời gian trong 6 khối liên tiếp, sau đó tăng 1 giây ở khối thứ 7, và lặp lại như vậy.
Ở 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 tế.
Dấu thời gian của khối đầu tiên trong chu kỳ độ khó tiếp theo được đặt lùi về quá khứ, sớm hơn 1 giây so với khối thứ hai từ cuối của chu kỳ trước.
Hành động này tuân theo quy tắc MPT, vì một giá trị bất thường đơn lẻ sẽ không ảnh hưởng đến giá trị trung bình của 11 khối. Bằng cách này, thời gian trên blockchain sẽ dần dần bị chậm lại so với thời gian thực, dẫn đến việc điều chỉnh độ khó. Kẻ tấn công có thể nhanh chóng tạo ra một lượng lớn khối sau khi độ khó giảm mạnh, thu được một lượng lớn Bitcoin.
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ó tính chất phá hoại, nhưng việc thực hiện nó gặp một số thách thức:
Có thể cần kiểm soát hầu hết 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ẽ tăng độ khó của cuộc tấn công.
Quy tắc MTP và dấu thời gian trung thực sẽ hạn chế mức độ hồi tố của dấu thời gian độc hại.
Nếu thợ mỏ trung thực tạo ra khối đầu tiên của bất kỳ chu kỳ điều chỉnh độ khó nào, cuộc tấn công của chu kỳ đó sẽ không còn hiệu lực.
Quá trình tấn công là công khai và có thể kích hoạt sửa chữa soft fork khẩn cấp.
Giải pháp tiềm năng
Có vài cách để sửa lỗi này:
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 và hoàn toàn khắc phục lỗi "thiếu một". Nhưng điều này có thể cần một hard fork.
Hủy bỏ quy tắc MTP, yêu cầu thời gian luôn tiến về phía trước trong mỗi khối. Nhưng điều này có thể dẫn đến thời gian bị kẹt ở tương lai quá xa.
Giới thiệu quy tắc 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 thời gian cụ thể trước khối cuối cùng của chu kỳ trước. Thời gian được thảo luận hiện tại dao động từ 10 phút đến 2 giờ.
Trong đề xuất mới nhất, các nhà phát triển có xu hướng áp dụng giới hạn 2 giờ. Khoảng thời gian này chỉ chiếm 0,6% thời gian mục tiêu của chu kỳ điều chỉnh độ khó, có thể hạn chế hiệu quả không gian thao túng độ khó.
Kết luận
Cuộc tấn công xoắn thời gian đã tiết lộ một lỗ hổng bảo mật tiềm ẩn trong giao thức Bitcoin. Mặc dù việc thực hiện cuộc tấn công này gặp nhiều thách thức trong thực tế, nhưng nó nhắc nhở chúng ta cần tiếp tục chú ý và cải thiện tính bảo mật của công nghệ blockchain. Bằng cách giới thiệu các quy tắc dấu thời gian mới, cộng đồng Bitcoin đang nỗ lực để loại bỏ lỗ hổng này, tăng cường thêm tính ổn định và bảo mật của mạng lưới.
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.
23 thích
Phần thưởng
23
5
Chia sẻ
Bình luận
0/400
NFTArchaeologis
· 07-11 18:01
Như những di vật điện tử cách biệt, ghi lại dấu chân của khối và dấu ấn của sự tiến hóa thông minh...
Xem bản gốcTrả lời0
LootboxPhobia
· 07-11 09:28
Vết lỗi được vá lại, giá sẽ tăng lên.
Xem bản gốcTrả lời0
TheShibaWhisperer
· 07-11 09:27
Chó cũng biết đây là một bản nâng cấp lớn, đã chán rồi.
Xem bản gốcTrả lời0
ChainWanderingPoet
· 07-11 09:23
Đây không phải là phải điều chỉnh thuật toán khó khăn sao? Có vẻ như lại sắp có một đợt rối rắm nữa rồi~
Xem bản gốcTrả lời0
SingleForYears
· 07-11 09:17
Lỗ hổng tồi tệ này đã mất bao nhiêu năm mới được sửa.
Bitcoin giao thức sửa chữa thời gian biến dạng tấn công lỗ hổng Điều chỉnh độ kh thuật toán có thể đón nhận cập nhật lớn.
Phân tích 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, các nhà phát triển Bitcoin đã đưa ra một đề xuất phân tách mềm 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. Một trong những lỗ hổng nghiêm trọng hơn được gọi là "tấn công biến đổi thời gian", đây là chủ đề mà bài viết này sẽ đi sâu khám phá.
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 xuyên thời gian, chúng ta cần hiểu các quy tắc bảo vệ thao tác thời gian hiện tại trong mạng Bitcoin:
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 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 sớm hơn thời gian trung vị của các nút mạng quá 2 giờ. Sự 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 hạn chế dấu thời gian quá tiến về phía trước. Cần lưu ý rằng không thể thực hiện cơ chế tương tự như quy tắc khối tương lai để hoàn toàn 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 blockchain ban đầu. Cuộc tấn công bóp méo 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 nhỏ 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 toán theo thời gian mục tiêu xuất 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 sẽ tính toán sự chênh lệch thời gian giữa hai khối đầu và cuối trong cửa sổ 2016 khối. 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 được sử dụng lý thuyết nên 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 trong tính toán. 60 giây × 10 phút × 2016 = 1,209,600 giây. Điều này dẫn đến thời gian mục tiêu dài 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 giữa các 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.
Sự khác biệt nhỏ này không đáng kể trong thực tế. Thực tế, kể từ khi Bitcoin ra đời, khoảng thời gian trung bình giữa các khối luôn duy trì ở khoảng 9 phút 36 giây, rõ ràng thấp hơn 10 phút. Điều này chủ yếu là do sức mạnh mạng đã liên tục tăng trưởng kể từ năm 2009. Chính vì lý do này, sự kiện giảm phần thưởng gần đây đã được đẩy lên vào tháng 4 năm 2024, thay vì vào tháng 1 năm 2025 như dự kiến ban đầu.
Nguyên tắc của cuộc tấn công bóp méo thời gian
Cuộc tấn công xoắn 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 một lỗ hổng trong tính toán độ khó. Kẻ tấn công thông qua việc thao túng dấu thời gian của khối để ảnh hưởng đến sự điều chỉnh độ khó, từ đó đạt được mục đích giảm độ khó khai thác.
Các bước tấn công như sau:
Hành động này tuân theo quy tắc MPT, vì một giá trị bất thường đơn lẻ sẽ không ảnh hưởng đến giá trị trung bình của 11 khối. Bằng cách này, thời gian trên blockchain sẽ dần dần bị chậm lại so với thời gian thực, dẫn đến việc điều chỉnh độ khó. Kẻ tấn công có thể nhanh chóng tạo ra một lượng lớn khối sau khi độ khó giảm mạnh, thu được một lượng lớn Bitcoin.
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ó tính chất phá hoại, nhưng việc thực hiện nó gặp một số thách thức:
Giải pháp tiềm năng
Có vài cách để sửa lỗi này:
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 và hoàn toàn khắc phục lỗi "thiếu một". Nhưng điều này có thể cần một hard fork.
Hủy bỏ quy tắc MTP, yêu cầu thời gian luôn tiến về phía trước trong mỗi khối. Nhưng điều này có thể dẫn đến thời gian bị kẹt ở tương lai quá xa.
Giới thiệu quy tắc 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 thời gian cụ thể trước khối cuối cùng của chu kỳ trước. Thời gian được thảo luận hiện tại dao động từ 10 phút đến 2 giờ.
Trong đề xuất mới nhất, các nhà phát triển có xu hướng áp dụng giới hạn 2 giờ. Khoảng thời gian này chỉ chiếm 0,6% thời gian mục tiêu của chu kỳ điều chỉnh độ khó, có thể hạn chế hiệu quả không gian thao túng độ khó.
Kết luận
Cuộc tấn công xoắn thời gian đã tiết lộ một lỗ hổng bảo mật tiềm ẩn trong giao thức Bitcoin. Mặc dù việc thực hiện cuộc tấn công này gặp nhiều thách thức trong thực tế, nhưng nó nhắc nhở chúng ta cần tiếp tục chú ý và cải thiện tính bảo mật của công nghệ blockchain. Bằng cách giới thiệu các quy tắc dấu thời gian mới, cộng đồng Bitcoin đang nỗ lực để loại bỏ lỗ hổng này, tăng cường thêm tính ổn định và bảo mật của mạng lưới.