Bitcoin sửa lỗi: Vấn đề tấn công méo thời gian sẽ được giải quyết
Vào ngày 26 tháng 3 năm 2025, một nhà phát triển Bitcoin đã đưa ra một đề xuất cải tiến mới, nhằm khắc phục 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 tách mềm có tên gọi "Dọn dẹp đồng thuận lớn", ngoài việc giải quyết vấn đề giao dịch trùng lặp, còn sẽ khắc phục một lỗ hổng nghiêm trọng hơn - "tấn công biến đổi thời gian".
Cơ chế bảo vệ thời gian khối Bitcoin
Trước khi thảo luận về cuộc tấn công biến dạng thời gian, chúng ta hãy xem xét lại 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 mười một khối gần nhất.
Quy tắc thời gian khối 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 đối ứng. Sự khác biệt tối đa cho phép giữa thời gian 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á mức hồi tố, trong khi quy tắc khối tương lai ngăn chặn dấu thời gian quá mức tiên đoán. Đáng lưu ý là không thể thực hiện các quy tắc khối tương lai tương tự để ngăn chặn dấu thời gian trong quá khứ, vì điều này có thể ảnh hưởng đến việc đồng bộ hóa chuỗi khối ban đầu. Cuộc tấn công biến dạng thời gian được thực hiện thông qua việc giả mạo dấu thời gian hồi tố xa.
Sai số tính toán của Satoshi Nakamoto
Chu kỳ điều chỉnh độ khó của Bitcoin bao gồm 2016 khối, tính toán theo mục tiêu khối 10 phút, khoảng 2 tuần thời gian. Để tính toán điều chỉnh độ khó khai thác, giao thức tính toán chênh lệch dấu thời gian của hai khối đầu và cuối trong cửa sổ 2016 khối. Cửa sổ này thực sự bao gồm 2015 khoảng cách khối ( 2016 trừ 1). Do đó, thời gian mục tiêu chính xác 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 để tính toán mục tiêu. 60 giây × 10 phút × 2016 = 1,209,600 giây. Đây là một lỗi "thiếu một" và rất có thể Satoshi Nakamoto đã nhầm lẫn giữa khái niệm khối và khoảng cách giữa các khối.
Lỗi này dẫn đến thời gian mục tiêu dài hơn 0,05% so với dự kiến. Trên thực tế, khoảng thời gian mục tiêu của Bitcoin không phải là 10 phút, mà là 10 phút 0,3 giây. Sai số nhỏ này không quan trọng, 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 là 9 phút 36 giây, rõ ràng ít hơn 10 phút. Điều này là do kể từ năm 2009, sức mạnh tính toán trung bình đã tăng lên.
Tấn công biến dạng 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, tận dụng sai sót của Satoshi Nakamoto trong việc tính toán độ khó. Trong cuộc tấn công này, giả sử việc khai thác hoàn toàn tập trung, các thợ mỏ có thể thiết lập bất kỳ dấu thời gian nào mà giao thức cho phép. Kẻ tấn công sẽ đặt dấu thời gian của phần lớn các khối sớm hơn khối trước đó chỉ một giây, khiến chuỗi khối tiến triển chậm theo thời gian, đồng thời tuân thủ quy tắc MTP.
Để tiến độ thời gian diễn ra 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 đó trong khối tiếp theo, tăng thời gian lên một giây, và lặp lại như vậy. Điều này có nghĩa là dấu thời gian của khối chỉ tiến lên một giây sau mỗi sáu khối.
Cuộc tấn công này sẽ khiến chuỗi khối ngày càng chậm hơn so với thời gian thực, độ khó sẽ tăng lên, khiến việc khai thác trở nên khó khăn hơn. Tuy nhiên, để tăng cường hiệu ứng của cuộc tấn công, ở khối cuối cùng của mỗi chu kỳ điều chỉnh độ khó, thợ mỏ sẽ đặt thời gian ghi nhãn là thời gian thế giới thực. Khối tiếp theo (, tức là khối đầu tiên của cửa sổ điều chỉnh độ khó mới ), sau đó được đặt lại về quá khứ, sớm hơn một giây so với khối thứ hai cuối cùng của cửa sổ điều chỉnh độ khó trước đó. Điều này vẫn tuân thủ quy tắc MTP, vì một bất thường đơn lẻ sẽ không ảnh hưởng đến trung vị của 11 khối.
Khi tiến hành cuộc tấn công này, độ khó sau chu kỳ đầu tiên sẽ không bị ảnh hưởng. Tuy nhiên, sau chu kỳ điều chỉnh thứ hai kể từ khi cuộc tấn công bắt đầu, độ khó sẽ bắt đầu giảm xuống. Sau đó, các thợ mỏ có thể tạo ra các khối với tốc độ rất nhanh, có thể tạo ra một lượng lớn Bitcoin, sau đó bán để thu lợi.
Tính khả thi của cuộc tấn công và giải pháp
Mặc dù về lý thuyết, cuộc tấn công này có thể gây ra hậu quả tàn khốc, nhưng việc thực hiện gặp một số thách thức. Việc thực hiện cuộc tấn công có thể cần kiểm soát phần lớn sức mạnh tính toán. Nếu có những thợ mỏ trung thực nhập vào dấu thời gian thực, độ khó của cuộc tấn công sẽ tăng lên đáng kể. Quy tắc MTP và dấu thời gian của những thợ mỏ trung thực có thể hạn chế mức độ mà những thợ mỏ ác ý có thể thao túng dấu thời gian. Ngoài ra, nếu những 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, cuộc tấn công trong chu kỳ đó sẽ không thể hiệu quả.
Một yếu tố khác có thể khiến việc tấn công trở nên khó thực hiện hơn là nó là công khai với mọi người. Bất kỳ ai cũng có thể thấy sự bất thường của dấu thời gian, trước khi việc điều chỉnh độ khó giảm xuống, phải thao tác các dấu thời gian xung quanh, điều này có thể cho chúng ta thời gian để phát hành bản sửa lỗi phân nhánh mềm khẩn cấp.
Để giải quyết lỗ hổng này, các nhà phát triển đã đưa ra một giải pháp tương đối đơn giản. Đề xuất 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 một số phút nhất định trước khối cuối cùng của chu kỳ trước. Thời gian hiện tại được thảo luận dao động từ 10 phút đến 2 giờ. Trong đề xuất làm sạch đồng thuận lớn nhất gần đây, thời gian này được đặt là 2 giờ.
Giới hạn 2 giờ này chỉ chiếm khoảng 0,6% thời gian mục tiêu của chu kỳ điều chỉnh độ khó, do đó hạn chế đáng kể khả năng thao túng độ khó xuống. Sự sửa đổi này không chỉ có thể hiệu quả ngăn chặn 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 tạo ra các khối không hợp lệ một cách tình cờ, đồng thời vẫn giữ được sự nhất quán với quy tắc thời gian dấu khối tương lai hiện có.
Bằng cách thực hiện cải tiến này, mạng Bitcoin sẽ có khả năng chống lại các cuộc tấn công biến dạng thời gian tiềm ẩn tốt hơn, từ đó nâng cao hơn nữa tính bảo mật và ổn định 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.
18 thích
Phần thưởng
18
4
Chia sẻ
Bình luận
0/400
TokenGuru
· 9giờ trước
bull à btc dự án cũ vẫn đang nghiêm túc sửa bug không giống như một số altcoin
Xem bản gốcTrả lời0
LootboxPhobia
· 07-30 16:54
Lại sửa lỗi rồi, làm tôi hoảng sợ quá.
Xem bản gốcTrả lời0
DaoResearcher
· 07-30 16:38
Tóm lại, theo lý thuyết suy diễn cơ chế quản trị 3.0, phương án này tồn tại khuyết điểm hệ thống.
Xem bản gốcTrả lời0
defi_detective
· 07-30 16:37
Chờ chút, cái này nguyên lý gì vậy? Không hiểu, anh hiểu thì giải thích cho em với.
Bitcoin sẽ khắc phục lỗ hổng tấn công thời gian uốn cong, nâng cao tính bảo mật của mạng lưới.
Bitcoin sửa lỗi: Vấn đề tấn công méo thời gian sẽ được giải quyết
Vào ngày 26 tháng 3 năm 2025, một nhà phát triển Bitcoin đã đưa ra một đề xuất cải tiến mới, nhằm khắc phục 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 tách mềm có tên gọi "Dọn dẹp đồng thuận lớn", ngoài việc giải quyết vấn đề giao dịch trùng lặp, còn sẽ khắc phục một lỗ hổng nghiêm trọng hơn - "tấn công biến đổi thời gian".
Cơ chế bảo vệ thời gian khối Bitcoin
Trước khi thảo luận về cuộc tấn công biến dạng thời gian, chúng ta hãy xem xét lại 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 mười một khối gần nhất.
Quy tắc thời gian khối 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 đối ứng. Sự khác biệt tối đa cho phép giữa thời gian 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á mức hồi tố, trong khi quy tắc khối tương lai ngăn chặn dấu thời gian quá mức tiên đoán. Đáng lưu ý là không thể thực hiện các quy tắc khối tương lai tương tự để ngăn chặn dấu thời gian trong quá khứ, vì điều này có thể ảnh hưởng đến việc đồng bộ hóa chuỗi khối ban đầu. Cuộc tấn công biến dạng thời gian được thực hiện thông qua việc giả mạo dấu thời gian hồi tố xa.
Sai số tính toán của Satoshi Nakamoto
Chu kỳ điều chỉnh độ khó của Bitcoin bao gồm 2016 khối, tính toán theo mục tiêu khối 10 phút, khoảng 2 tuần thời gian. Để tính toán điều chỉnh độ khó khai thác, giao thức tính toán chênh lệch dấu thời gian của hai khối đầu và cuối trong cửa sổ 2016 khối. Cửa sổ này thực sự bao gồm 2015 khoảng cách khối ( 2016 trừ 1). Do đó, thời gian mục tiêu chính xác 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 để tính toán mục tiêu. 60 giây × 10 phút × 2016 = 1,209,600 giây. Đây là một lỗi "thiếu một" và rất có thể Satoshi Nakamoto đã nhầm lẫn giữa khái niệm khối và khoảng cách giữa các khối.
Lỗi này dẫn đến thời gian mục tiêu dài hơn 0,05% so với dự kiến. Trên thực tế, khoảng thời gian mục tiêu của Bitcoin không phải là 10 phút, mà là 10 phút 0,3 giây. Sai số nhỏ này không quan trọng, 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 là 9 phút 36 giây, rõ ràng ít hơn 10 phút. Điều này là do kể từ năm 2009, sức mạnh tính toán trung bình đã tăng lên.
Tấn công biến dạng 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, tận dụng sai sót của Satoshi Nakamoto trong việc tính toán độ khó. Trong cuộc tấn công này, giả sử việc khai thác hoàn toàn tập trung, các thợ mỏ có thể thiết lập bất kỳ dấu thời gian nào mà giao thức cho phép. Kẻ tấn công sẽ đặt dấu thời gian của phần lớn các khối sớm hơn khối trước đó chỉ một giây, khiến chuỗi khối tiến triển chậm theo thời gian, đồng thời tuân thủ quy tắc MTP.
Để tiến độ thời gian diễn ra 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 đó trong khối tiếp theo, tăng thời gian lên một giây, và lặp lại như vậy. Điều này có nghĩa là dấu thời gian của khối chỉ tiến lên một giây sau mỗi sáu khối.
Cuộc tấn công này sẽ khiến chuỗi khối ngày càng chậm hơn so với thời gian thực, độ khó sẽ tăng lên, khiến việc khai thác trở nên khó khăn hơn. Tuy nhiên, để tăng cường hiệu ứng của cuộc tấn công, ở khối cuối cùng của mỗi chu kỳ điều chỉnh độ khó, thợ mỏ sẽ đặt thời gian ghi nhãn là thời gian thế giới thực. Khối tiếp theo (, tức là khối đầu tiên của cửa sổ điều chỉnh độ khó mới ), sau đó được đặt lại về quá khứ, sớm hơn một giây so với khối thứ hai cuối cùng của cửa sổ điều chỉnh độ khó trước đó. Điều này vẫn tuân thủ quy tắc MTP, vì một bất thường đơn lẻ sẽ không ảnh hưởng đến trung vị của 11 khối.
Khi tiến hành cuộc tấn công này, độ khó sau chu kỳ đầu tiên sẽ không bị ảnh hưởng. Tuy nhiên, sau chu kỳ điều chỉnh thứ hai kể từ khi cuộc tấn công bắt đầu, độ khó sẽ bắt đầu giảm xuống. Sau đó, các thợ mỏ có thể tạo ra các khối với tốc độ rất nhanh, có thể tạo ra một lượng lớn Bitcoin, sau đó bán để thu lợi.
Tính khả thi của cuộc tấn công và giải pháp
Mặc dù về lý thuyết, cuộc tấn công này có thể gây ra hậu quả tàn khốc, nhưng việc thực hiện gặp một số thách thức. Việc thực hiện cuộc tấn công có thể cần kiểm soát phần lớn sức mạnh tính toán. Nếu có những thợ mỏ trung thực nhập vào dấu thời gian thực, độ khó của cuộc tấn công sẽ tăng lên đáng kể. Quy tắc MTP và dấu thời gian của những thợ mỏ trung thực có thể hạn chế mức độ mà những thợ mỏ ác ý có thể thao túng dấu thời gian. Ngoài ra, nếu những 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, cuộc tấn công trong chu kỳ đó sẽ không thể hiệu quả.
Một yếu tố khác có thể khiến việc tấn công trở nên khó thực hiện hơn là nó là công khai với mọi người. Bất kỳ ai cũng có thể thấy sự bất thường của dấu thời gian, trước khi việc điều chỉnh độ khó giảm xuống, phải thao tác các dấu thời gian xung quanh, điều này có thể cho chúng ta thời gian để phát hành bản sửa lỗi phân nhánh mềm khẩn cấp.
Để giải quyết lỗ hổng này, các nhà phát triển đã đưa ra một giải pháp tương đối đơn giản. Đề xuất 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 một số phút nhất định trước khối cuối cùng của chu kỳ trước. Thời gian hiện tại được thảo luận dao động từ 10 phút đến 2 giờ. Trong đề xuất làm sạch đồng thuận lớn nhất gần đây, thời gian này được đặt là 2 giờ.
Giới hạn 2 giờ này chỉ chiếm khoảng 0,6% thời gian mục tiêu của chu kỳ điều chỉnh độ khó, do đó hạn chế đáng kể khả năng thao túng độ khó xuống. Sự sửa đổi này không chỉ có thể hiệu quả ngăn chặn 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 tạo ra các khối không hợp lệ một cách tình cờ, đồng thời vẫn giữ được sự nhất quán với quy tắc thời gian dấu khối tương lai hiện có.
Bằng cách thực hiện cải tiến này, mạng Bitcoin sẽ có khả năng chống lại các cuộc tấn công biến dạng thời gian tiềm ẩn tốt hơn, từ đó nâng cao hơn nữa tính bảo mật và ổn định của nó.