Gần đây, một nhà phát triển Bitcoin đã đề xuất một kế hoạch 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 trong giao thức Bitcoin trong nhiều năm qua. Một trong những lỗ hổng nghiêm trọng hơn được gọi là "tấn công uốn cong thời gian", bài viết này sẽ đi sâu vào vấn đề này.
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 biến dạng thời gian, chúng ta hãy xem lại hai quy tắc chính hiện tại mà Bitcoin sử dụng để ngăn chặn việc thao túng thời gian:
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 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 vượt quá 2 giờ so với thời gian trung vị của các nút đồng đẳng.
Hai quy tắc này lần lượt ngăn chặn dấu thời gian của khối quá sớm hoặc quá muộn. Tuy nhiên, tấn công bóp méo thời gian chính là lợi dụng những lỗ hổng của các quy tắc này, bằng cách giả mạo dấu thời gian để đưa nó quay trở lại quá khứ xa xôi.
Sai sót trong 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 sẽ tính toán sự khác biệt về dấu thời gian giữa hai khối đầu và cuối trong cửa sổ 2016 khối đó. Tuy nhiên, Satoshi Nakamoto đã mắc một lỗi nhỏ trong thiết kế: ông đã sử dụng 2016 thay vì 2015 để tính toán thời gian mục tiêu. Điều này dẫn đến thời gian mục tiêu dài hơn 0.05% so với thực tế, 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 và 0.3 giây, thay vì 10 phút hoàn chỉnh.
Mặc dù độ trễ 0.3 giây này không ảnh hưởng lớn, nhưng nó đã gây ra một lỗ hổng nghiêm trọng hơn. Việc tính toán độ khó chỉ dựa trên hai khối đầu và cuối của mỗi cửa sổ 2016 khối, điều 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 biến dạng thời gian
Cốt lõi của cuộc tấn công biến dạng thời gian nằm ở việc thao túng thời gian của khối. Kẻ tấn công có thể đặt thời gian của phần lớn các khối chỉ muộn hơn 1 giây so với khối trước, trong khi mỗi 6 khối lại tiến thời gian lên 1 giây để đáp ứng quy tắc MPT. Ở khối cuối cùng của mỗi chu kỳ điều chỉnh độ khó, kẻ tấn công sẽ đặt thời gian thành thời gian thực trong thế giới, trong khi khối đầu tiên của chu kỳ tiếp theo lại được đặt trở lại quá khứ.
Hành động này sẽ khiến thời gian trên blockchain ngày càng lạc hậu so với thời gian thực, từ đó ảnh hưởng đến việc điều chỉnh độ khó. Bắt đầu từ chu kỳ điều chỉnh thứ hai, độ khó sẽ giảm mạnh, cho phép kẻ tấn công tạo ra các khối với tốc độ rất nhanh, nhận được nhiều Bitcoin.
Ảnh hưởng và tính khả thi của cuộc tấn công
Về lý thuyết, cuộc tấn công này có thể gây ra hậu quả thảm khốc. Trong những trường hợp cực đoan, độ khó có thể bị hạ xuống để tạo ra hơn 10 khối mỗi giây. Tuy nhiên, việc thực hiện cuộc tấn công này cũng đối mặt với nhiều thách thứ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 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.
Giải pháp
Để khắc phục 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: 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ể của khối cuối cùng trong chu kỳ trước. Hiện tại, khoảng thời gian được đề xuất là 2 giờ, chỉ chiếm 0,6% thời gian mục tiêu của chu kỳ điều chỉnh độ khó, có thể hiệu quả hạn chế mức độ bị thao túng của độ khó.
Giải pháp này vừa có thể hiệu quả chống lại các cuộc tấn công xoắn thời gian, vừa tối đa hóa việc giảm thiểu rủi ro tạo ra các khối không hợp lệ một cách ngẫu nhiên. Nó phù hợp với các quy tắc thời gian khối tương lai hiện có, cho phép thợ mỏ điều chỉnh sai số thời gian tối đa cho phép trong một khối.
Tổng thể mà nói, giải pháp sửa lỗi này giữ cho an ninh mạng Bitcoin trong khi giảm thiểu sự thay đổi của các quy tắc hiện có, là một giải pháp tương đối bảo thủ và hiệu quả.
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.
8 thích
Phần thưởng
8
4
Chia sẻ
Bình luận
0/400
DataPickledFish
· 23giờ trước
Đáng lẽ phải sửa từ lâu rồi, thế giới tiền điện tử nói an toàn chẳng qua chỉ để vui thôi.
Xem bản gốcTrả lời0
NftRegretMachine
· 23giờ trước
Thật là một điều kỳ diệu, bây giờ Bitcoin cũng có thể xuyên qua rồi.
Xem bản gốcTrả lời0
New_Ser_Ngmi
· 23giờ trước
À cái này, tranh thủ khi lão Nakamoto còn sống mà sửa chữa ngay đi.
Xem bản gốcTrả lời0
SerumDegen
· 23giờ trước
ngmi nếu bạn vẫn nghĩ btc không có lỗi... thật ra đã bị rekt bởi các vấn đề về dấu thời gian trước đây
Bitcoin sửa lỗi độ méo thời gian, thuật toán điều chỉnh độ khó được cải tiến
Bitcoin sửa lỗi độ cong thời gian
Gần đây, một nhà phát triển Bitcoin đã đề xuất một kế hoạch 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 trong giao thức Bitcoin trong nhiều năm qua. Một trong những lỗ hổng nghiêm trọng hơn được gọi là "tấn công uốn cong thời gian", bài viết này sẽ đi sâu vào vấn đề này.
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 biến dạng thời gian, chúng ta hãy xem lại hai quy tắc chính hiện tại mà Bitcoin sử dụng để ngăn chặn việc thao túng thời gian:
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 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 vượt quá 2 giờ so với thời gian trung vị của các nút đồng đẳng.
Hai quy tắc này lần lượt ngăn chặn dấu thời gian của khối quá sớm hoặc quá muộn. Tuy nhiên, tấn công bóp méo thời gian chính là lợi dụng những lỗ hổng của các quy tắc này, bằng cách giả mạo dấu thời gian để đưa nó quay trở lại quá khứ xa xôi.
Sai sót trong 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 sẽ tính toán sự khác biệt về dấu thời gian giữa hai khối đầu và cuối trong cửa sổ 2016 khối đó. Tuy nhiên, Satoshi Nakamoto đã mắc một lỗi nhỏ trong thiết kế: ông đã sử dụng 2016 thay vì 2015 để tính toán thời gian mục tiêu. Điều này dẫn đến thời gian mục tiêu dài hơn 0.05% so với thực tế, 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 và 0.3 giây, thay vì 10 phút hoàn chỉnh.
Mặc dù độ trễ 0.3 giây này không ảnh hưởng lớn, nhưng nó đã gây ra một lỗ hổng nghiêm trọng hơn. Việc tính toán độ khó chỉ dựa trên hai khối đầu và cuối của mỗi cửa sổ 2016 khối, điều 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 biến dạng thời gian
Cốt lõi của cuộc tấn công biến dạng thời gian nằm ở việc thao túng thời gian của khối. Kẻ tấn công có thể đặt thời gian của phần lớn các khối chỉ muộn hơn 1 giây so với khối trước, trong khi mỗi 6 khối lại tiến thời gian lên 1 giây để đáp ứng quy tắc MPT. Ở khối cuối cùng của mỗi chu kỳ điều chỉnh độ khó, kẻ tấn công sẽ đặt thời gian thành thời gian thực trong thế giới, trong khi khối đầu tiên của chu kỳ tiếp theo lại được đặt trở lại quá khứ.
Hành động này sẽ khiến thời gian trên blockchain ngày càng lạc hậu so với thời gian thực, từ đó ảnh hưởng đến việc điều chỉnh độ khó. Bắt đầu từ chu kỳ điều chỉnh thứ hai, độ khó sẽ giảm mạnh, cho phép kẻ tấn công tạo ra các khối với tốc độ rất nhanh, nhận được nhiều Bitcoin.
Ảnh hưởng và tính khả thi của cuộc tấn công
Về lý thuyết, cuộc tấn công này có thể gây ra hậu quả thảm khốc. Trong những trường hợp cực đoan, độ khó có thể bị hạ xuống để tạo ra hơn 10 khối mỗi giây. Tuy nhiên, việc thực hiện cuộc tấn công này cũng đối mặt với nhiều thách thức:
Giải pháp
Để khắc phục 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: 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ể của khối cuối cùng trong chu kỳ trước. Hiện tại, khoảng thời gian được đề xuất là 2 giờ, chỉ chiếm 0,6% thời gian mục tiêu của chu kỳ điều chỉnh độ khó, có thể hiệu quả hạn chế mức độ bị thao túng của độ khó.
Giải pháp này vừa có thể hiệu quả chống lại các cuộc tấn công xoắn thời gian, vừa tối đa hóa việc giảm thiểu rủi ro tạo ra các khối không hợp lệ một cách ngẫu nhiên. Nó phù hợp với các quy tắc thời gian khối tương lai hiện có, cho phép thợ mỏ điều chỉnh sai số thời gian tối đa cho phép trong một khối.
Tổng thể mà nói, giải pháp sửa lỗi này giữ cho an ninh mạng Bitcoin trong khi giảm thiểu sự thay đổi của các quy tắc hiện có, là một giải pháp tương đối bảo thủ và hiệu quả.