Lỗ hổng tấn cô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 cải tiến mới, nhằm sửa chữa nhiều lỗ hổng và điểm yếu tồn tại lâu dài trong giao thức Bitcoin thông qua phân nhánh mềm. Một trong những lỗ hổng đáng chú ý được gọi là "tấn công biến dạng thời gian", đây là chủ đề mà bài viết này sẽ đi sâu thảo luận.
Cơ chế bảo vệ dấu thời gian của Bitcoin
Trước khi thảo luận về cuộc tấn công xoắn thời gian, chúng ta cần hiểu rõ các quy tắc bảo vệ thao tác thời gian hiện tại của Bitcoin:
Thời gian trung vị trước đó (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: 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 ngang hàng quá 2 giờ. Ngoài ra, khoảng cá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.
Các quy tắc này nhằm ngăn chặn việc thao túng quá mức thời gian dấu khối. Tuy nhiên, do cần đồng bộ hóa chuỗi khối ban đầu, không thể thực hiện các quy tắc khối tương lai tương tự để hoàn toàn ngăn chặn việc sử dụng thời gian dấu khối trong quá khứ. Cuộc tấn công biến dạng thời gian chính là tận dụng điều này, bằng cách giả mạo thời gian dấu khối quay trở lại rất xa trong quá khứ để thực hiện tấn công.
Lỗi tính toán trong giao thức
Chu kỳ điều chỉnh độ khó của Bitcoin bao gồm 2016 khối, lý thuyết là 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 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, trong quá trình tính toán này có một lỗi nhỏ nhưng quan trọng.
Tính toán chính xác nên là: 60 giây * 10 phút * 2015 khoảng thời gian = 1,209,000 giây. Nhưng thực tế được sử dụng là: 60 giây * 10 phút * 2016 = 1,209,600 giây. Lỗi sai này dẫn đến thời gian mục tiêu dài hơn 0.05% so với dự kiến, khiến khoảng thời gian mục tiêu thực tế của Bitcoin là 10 phút 0.3 giây.
Mặc dù sự sai lệch 0.3 giây này có vẻ không đáng kể, nhưng nó liên quan đến 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 này tạo ra khả năng cho các cuộc tấn công bóp méo thời gian.
Nguyên lý tấn công bóp méo thời gian
Cuộc tấn công thời gian xoắn được phát hiện lần đầu vào năm 2011. Trong cuộc tấn công này, giả sử việc khai thác hoàn toàn tập trung, kẻ tấn công có thể thao túng dấu thời gian của khối theo cách sau:
Đối với hầu hết các khối, đặt thời gian thành dấu thời gian chỉ tiến lên một giây so với khối trước.
Mỗi sáu khối giữ cùng một dấu thời gian, sau đó tăng một giây trong khối tiếp theo.
Trong khối cuối cùng của mỗi chu kỳ điều chỉnh độ khó, đặt thời gian ghi lại thành thời gian thực trong thế giới.
Thời gian đóng dấu của khối đầu tiên trong chu kỳ điều chỉnh độ khó mới đã được thiết lập trở lại trong 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.
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, dẫn đến độ khó liên tục giảm, cho phép kẻ tấn công 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.
Ảnh hưởng và khả năng thực hiện của cuộc tấn công
Về lý thuyết, cuộc tấn công này có thể dẫn đến hậu quả thảm khốc. Trong những trường hợp cực đoan, độ khó có thể liên tục bị giảm xuống, cho đến khi sản xuất hơn 6 khối mỗi giâ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:
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ẽ tăng độ khó của cuộc tấn công.
Quá trình tấn công hoàn toàn có thể nhìn thấy, có thể kích hoạt sửa chữa khẩn cấp.
Quy tắc MTP và dấu thời gian của thợ mỏ trung thực sẽ hạn chế hiệu ứng tấn công.
Giải pháp tiềm năng
Cách sửa lỗi này tương đối đơn giản, nhưng có thể cần thay đổi giao thức phân tách mềm. Một giải pháp được đề xuất hiện tại là:
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 (khuyên là 2 giờ). Quy tắc đơn giản này có thể hiệu quả ngăn chặn các cuộc tấn công biến dạng thời gian, đồng thời giảm thiểu rủi ro khối không hợp lệ ngoài ý muốn.
Giới hạn 2 giờ này khoảng 0,6% thời gian mục tiêu của chu kỳ điều chỉnh độ khó, hạn chế đáng kể khả năng thao túng độ khó theo chiều hướng xuống. Mặc dù điều này vẫn cho phép kẻ tấn công thao túng độ khó xuống khoảng 0,6% mỗi chu kỳ, nhưng đây chỉ là một thay đổi một lần và không thể tích lũy.
Tổng thể mà nói, mặc dù tấn công biến dạng thời gian về lý thuyết có mối đe dọa nghiêm trọng, nhưng việc thực hiện nó thực tế khá khó khăn. Thông qua việc cập nhật giao thức thích hợp, lỗ hổng tiềm ẩn này có thể được giảm thiểu hiệu quả, tăng cường thêm tính an toàn và ổn định cho mạng Bitcoin.
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.
11 thích
Phần thưởng
11
4
Chia sẻ
Bình luận
0/400
P2ENotWorking
· 12giờ trước
Làm cái quái gì vậy? Ai đến giải quyết thì liên hệ với tôi.
Xem bản gốcTrả lời0
FlashLoanLord
· 12giờ trước
Đã đến lúc sửa vấn đề này.
Xem bản gốcTrả lời0
HodlBeliever
· 12giờ trước
Blockchain Banker / Chuyên gia đánh giá rủi ro / Kiên trì phân tích kỹ thuật giá đóng hàng ngày trong 4 năm
Từ góc độ kiểm soát rủi ro cơ bản, việc sửa chữa là cần thiết.
Xem bản gốcTrả lời0
PerennialLeek
· 12giờ trước
Lỗ hổng nhiều quá, không chơi nữa! Tan tác tan tác.
Khám phá và giải pháp khắc phục lỗ hổng tấn công thời gian bóp méo giao thức Bitcoin
Lỗ hổng tấn cô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 cải tiến mới, nhằm sửa chữa nhiều lỗ hổng và điểm yếu tồn tại lâu dài trong giao thức Bitcoin thông qua phân nhánh mềm. Một trong những lỗ hổng đáng chú ý được gọi là "tấn công biến dạng thời gian", đây là chủ đề mà bài viết này sẽ đi sâu thảo luận.
Cơ chế bảo vệ dấu thời gian của Bitcoin
Trước khi thảo luận về cuộc tấn công xoắn thời gian, chúng ta cần hiểu rõ các quy tắc bảo vệ thao tác thời gian hiện tại của Bitcoin:
Thời gian trung vị trước đó (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: 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 ngang hàng quá 2 giờ. Ngoài ra, khoảng cá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.
Các quy tắc này nhằm ngăn chặn việc thao túng quá mức thời gian dấu khối. Tuy nhiên, do cần đồng bộ hóa chuỗi khối ban đầu, không thể thực hiện các quy tắc khối tương lai tương tự để hoàn toàn ngăn chặn việc sử dụng thời gian dấu khối trong quá khứ. Cuộc tấn công biến dạng thời gian chính là tận dụng điều này, bằng cách giả mạo thời gian dấu khối quay trở lại rất xa trong quá khứ để thực hiện tấn công.
Lỗi tính toán trong giao thức
Chu kỳ điều chỉnh độ khó của Bitcoin bao gồm 2016 khối, lý thuyết là 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 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, trong quá trình tính toán này có một lỗi nhỏ nhưng quan trọng.
Tính toán chính xác nên là: 60 giây * 10 phút * 2015 khoảng thời gian = 1,209,000 giây. Nhưng thực tế được sử dụng là: 60 giây * 10 phút * 2016 = 1,209,600 giây. Lỗi sai này dẫn đến thời gian mục tiêu dài hơn 0.05% so với dự kiến, khiến khoảng thời gian mục tiêu thực tế của Bitcoin là 10 phút 0.3 giây.
Mặc dù sự sai lệch 0.3 giây này có vẻ không đáng kể, nhưng nó liên quan đến 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 này tạo ra khả năng cho các cuộc tấn công bóp méo thời gian.
Nguyên lý tấn công bóp méo thời gian
Cuộc tấn công thời gian xoắn được phát hiện lần đầu vào năm 2011. Trong cuộc tấn công này, giả sử việc khai thác hoàn toàn tập trung, kẻ tấn công có thể thao túng dấu thời gian của khối theo cách sau:
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, dẫn đến độ khó liên tục giảm, cho phép kẻ tấn công 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.
Ảnh hưởng và khả năng thực hiện của cuộc tấn công
Về lý thuyết, cuộc tấn công này có thể dẫn đến hậu quả thảm khốc. Trong những trường hợp cực đoan, độ khó có thể liên tục bị giảm xuống, cho đến khi sản xuất hơn 6 khối mỗi giâ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:
Giải pháp tiềm năng
Cách sửa lỗi này tương đối đơn giản, nhưng có thể cần thay đổi giao thức phân tách mềm. Một giải pháp được đề xuất hiện tại là:
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 (khuyên là 2 giờ). Quy tắc đơn giản này có thể hiệu quả ngăn chặn các cuộc tấn công biến dạng thời gian, đồng thời giảm thiểu rủi ro khối không hợp lệ ngoài ý muốn.
Giới hạn 2 giờ này khoảng 0,6% thời gian mục tiêu của chu kỳ điều chỉnh độ khó, hạn chế đáng kể khả năng thao túng độ khó theo chiều hướng xuống. Mặc dù điều này vẫn cho phép kẻ tấn công thao túng độ khó xuống khoảng 0,6% mỗi chu kỳ, nhưng đây chỉ là một thay đổi một lần và không thể tích lũy.
Tổng thể mà nói, mặc dù tấn công biến dạng thời gian về lý thuyết có mối đe dọa nghiêm trọng, nhưng việc thực hiện nó thực tế khá khó khăn. Thông qua việc cập nhật giao thức thích hợp, lỗ hổng tiềm ẩn này có thể được giảm thiểu hiệu quả, tăng cường thêm tính an toàn và ổn định cho mạng Bitcoin.
Từ góc độ kiểm soát rủi ro cơ bản, việc sửa chữa là cần thiết.