Bitcoin lỗ hổng bảo mật: Thảo luận về cuộc tấn công thời gian uốn cong
Gần đây, một nhà phát triển Bitcoin đã đề xuất một đề xuất phân nhánh mềm mang tên "Làm sạch Đại đồng thuận", 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. Một trong những lỗ hổng nghiêm trọng hơn được gọi là "Cuộc tấn công biến dạng 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 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 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 ngang bằng. 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.
Các quy tắc này nhằm ngăn chặn dấu thời gian khối lệch quá xa so với thời gian thực. Tuy nhiên, cuộc tấn công bóp méo thời gian liên quan đến việc giả mạo dấu thời gian, khiến nó lùi lại đáng kể trong quá khứ.
Lỗi "thiếu một" 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 so sánh sự chênh lệch 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. Tuy nhiên, cửa sổ này thực tế bao gồm 2015 khoảng cách khối. Do đó, thời gian mục tiêu chính xác nên là 1,209,000 giây, nhưng giao thức Bitcoin đã sử dụng 1,209,600 giây. Sai số 0.05% này dẫn đến thời gian khoảng cách mục tiêu thực tế là 10 phút và 0.3 giây.
Mặc dù sai số này không ảnh hưởng nhiều, nhưng nó đã gây ra 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 khoảng 2016 khối, thay vì sự khác biệt giữa khối cuối cùng của khoảng trước và khối cuối cùng của khoảng hiện tại. Phương pháp tính toán này 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 độ méo thời gian lần đầu tiên được phát hiện vào khoảng 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, thợ mỏ có thể thiết lập các dấu thời gian bất kỳ trong phạm vi cho phép của giao thức. Kẻ tấn công sẽ đặt dấu thời gian của hầu hết các khối là chỉ tiến lên một giây so với khối trước, trong khi vẫn tuân theo quy tắc MTP. Để tiến thời gian càng chậm càng tốt, 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 tiếp theo.
Hành động này sẽ dẫn đến thời gian blockchain ngày càng chậm so với thời gian thực. Tuy nhiên, để tăng cường hiệu ứng tấn công, thợ mỏ sẽ sử dụng dấu thời gian thực tế cho khối cuối cùng trong mỗi chu kỳ điều chỉnh độ khó. Khối đầu tiên của chu kỳ tiếp theo sẽ được đặt trở lại quá khứ, chỉ sớm hơn khối áp chót của chu kỳ trước một giây.
Phương thức tấn công này sẽ dẫn đến việc độ khó bắt đầu giảm sau chu kỳ điều chỉnh thứ hai. Các thợ mỏ sau đó có thể tạo ra các khối với tốc độ cực nhanh, tạo ra một lượng lớn Bitcoin và có thể kiếm lời bằng cách bán.
Phân tích khả năng tấn công
Mặc dù lý thuyết thì cuộc tấn công này có tính hủy diệt, nhưng việc thực hiện nó gặp phải một số thách thức:
Có thể 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 thợ mỏ trung thực sẽ làm tăng độ khó của 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 độ hồi tố 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, cuộc tấn công của chu kỳ đó sẽ thất bại.
Quá trình tấn công có thể nhìn thấy đối với tất cả mọi người, có thể cho cộng đồng thời gian đủ để đưa ra sửa chữa khẩn cấp.
Giải pháp
Có một số cách có thể để sửa lỗi này:
Thay đổi thuật toán điều chỉnh độ khó, tính toán khoảng thời gian giữa các khối trong cửa sổ 2016 khác nhau và sửa lỗi thiếu một.
Hủy bỏ quy tắc MTP, thay đổi yêu cầu thời gian trong mỗi khối phải tiến lên.
Quy định thời gian của khối đầu tiên trong chu kỳ độ khó mới không được sớm hơn một số phút cụ thể của khối cuối cùng trong chu kỳ trước.
Hiện tại, đề xuất làm sạch đồng thuận lớn đã áp dụng phương pháp thứ ba, đặt giới hạn thời gian là 2 giờ. Giải pháp này không chỉ có thể hiệu quả giảm thiểu tấn công biến dạng thời gian mà còn có thể giảm thiểu rủi ro về các khối không hợp lệ một cách tối đa.
Tổng thể mà nói, mặc dù tấn công biến dạng thời gian có mối đe dọa nghiêm trọng về lý thuyết, nhưng khó khăn trong việc thực hiện trên thực tế. Thông qua việc cập nhật giao thức phù hợp, chúng ta có hy vọng loại bỏ hoàn toàn rủi ro tiềm ẩn này, đồng thời tăng cường thêm tính bảo mật và ổn định của 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.
23 thích
Phần thưởng
23
8
Đăng lại
Chia sẻ
Bình luận
0/400
ShamedApeSeller
· 07-11 15:09
Điều chỉnh độ kh là động tôi bánh kem ah
Xem bản gốcTrả lời0
Web3ProductManager
· 07-11 10:40
nhìn vào các chỉ số giữ chân, việc sửa lỗi thời gian này rất quan trọng cho hiệu ứng mạng của btc, thật lòng mà nói
Xem bản gốcTrả lời0
SandwichTrader
· 07-08 19:46
Nhanh chóng sửa xong, đừng lại kéo dài nữa.
Xem bản gốcTrả lời0
bridge_anxiety
· 07-08 19:45
An toàn vẫn rất quan trọng.
Xem bản gốcTrả lời0
HodlVeteran
· 07-08 19:41
Cây đồ ngốc đã trải qua vô số cạm bẫy, chỉ để làm bệ cho thế hệ sau.
Tấn công biến dạng thời gian Bitcoin: Phân tích rủi ro tiềm ẩn và phương án sửa chữa
Bitcoin lỗ hổng bảo mật: Thảo luận về cuộc tấn công thời gian uốn cong
Gần đây, một nhà phát triển Bitcoin đã đề xuất một đề xuất phân nhánh mềm mang tên "Làm sạch Đại đồng thuận", 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. Một trong những lỗ hổng nghiêm trọng hơn được gọi là "Cuộc tấn công biến dạng 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 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 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 ngang bằng. 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.
Các quy tắc này nhằm ngăn chặn dấu thời gian khối lệch quá xa so với thời gian thực. Tuy nhiên, cuộc tấn công bóp méo thời gian liên quan đến việc giả mạo dấu thời gian, khiến nó lùi lại đáng kể trong quá khứ.
Lỗi "thiếu một" 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 so sánh sự chênh lệch 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. Tuy nhiên, cửa sổ này thực tế bao gồm 2015 khoảng cách khối. Do đó, thời gian mục tiêu chính xác nên là 1,209,000 giây, nhưng giao thức Bitcoin đã sử dụng 1,209,600 giây. Sai số 0.05% này dẫn đến thời gian khoảng cách mục tiêu thực tế là 10 phút và 0.3 giây.
Mặc dù sai số này không ảnh hưởng nhiều, nhưng nó đã gây ra 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 khoảng 2016 khối, thay vì sự khác biệt giữa khối cuối cùng của khoảng trước và khối cuối cùng của khoảng hiện tại. Phương pháp tính toán này 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 độ méo thời gian lần đầu tiên được phát hiện vào khoảng 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, thợ mỏ có thể thiết lập các dấu thời gian bất kỳ trong phạm vi cho phép của giao thức. Kẻ tấn công sẽ đặt dấu thời gian của hầu hết các khối là chỉ tiến lên một giây so với khối trước, trong khi vẫn tuân theo quy tắc MTP. Để tiến thời gian càng chậm càng tốt, 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 tiếp theo.
Hành động này sẽ dẫn đến thời gian blockchain ngày càng chậm so với thời gian thực. Tuy nhiên, để tăng cường hiệu ứng tấn công, thợ mỏ sẽ sử dụng dấu thời gian thực tế cho khối cuối cùng trong mỗi chu kỳ điều chỉnh độ khó. Khối đầu tiên của chu kỳ tiếp theo sẽ được đặt trở lại quá khứ, chỉ sớm hơn khối áp chót của chu kỳ trước một giây.
Phương thức tấn công này sẽ dẫn đến việc độ khó bắt đầu giảm sau chu kỳ điều chỉnh thứ hai. Các thợ mỏ sau đó có thể tạo ra các khối với tốc độ cực nhanh, tạo ra một lượng lớn Bitcoin và có thể kiếm lời bằng cách bán.
Phân tích khả năng tấn công
Mặc dù lý thuyết thì cuộc tấn công này có tính hủy diệt, nhưng việc thực hiện nó gặp phải một số thách thức:
Giải pháp
Có một số cách có thể để sửa lỗi này:
Hiện tại, đề xuất làm sạch đồng thuận lớn đã áp dụng phương pháp thứ ba, đặt giới hạn thời gian là 2 giờ. Giải pháp này không chỉ có thể hiệu quả giảm thiểu tấn công biến dạng thời gian mà còn có thể giảm thiểu rủi ro về các khối không hợp lệ một cách tối đa.
Tổng thể mà nói, mặc dù tấn công biến dạng thời gian có mối đe dọa nghiêm trọng về lý thuyết, nhưng khó khăn trong việc thực hiện trên thực tế. Thông qua việc cập nhật giao thức phù hợp, chúng ta có hy vọng loại bỏ hoàn toàn rủi ro tiềm ẩn này, đồng thời tăng cường thêm tính bảo mật và ổn định của mạng Bitcoin.