Halving thứ tư của Bitcoin đã hoàn tất. Hệ thống phi tập trung này đã hoạt động thành công trong 15 năm, nhưng lỗ hổng khách hàng cốt lõi của Bitcoin được tiết lộ vào năm 2018 đe dọa trực tiếp đến sự ổn định của hệ thống Bitcoin, nó có thể được gọi là một trong những lỗ hổng lớn nhất trong Bitcoin Hôm nay tôi sẽ giới thiệu với các bạn lỗ hổng chi tiêu gấp đôi của khách hàng được tiết lộ vào ngày 20 tháng 9 năm 2018, CVE-2018-17144.
Bitcoin Core là gì?
Bitcoin Core được khởi xướng bởi Satoshi Nakamoto và được coi là ứng dụng khách Bitcoin "chính thống" và hiện đang được sử dụng tốt nhất, phần mềm có thể xác minh tất cả. các giao dịch từng được thực hiện trên blockchain và có thể chuyển tiền.
CVE-2018-17144 là gì?
Trong các phiên bản 0.14 - 0.16.2 do Bitcoin Core phát hành, có một lỗ hổng cực kỳ nghiêm trọng sẽ gây ra sự cố chương trình và vấn đề chi tiêu gấp đôi. , nghĩa là, đầu vào trong giao dịch một-một có thể được xuất ra nhiều lần, điều này sẽ gây ra việc phát hành không giới hạn, phá hủy sự đồng thuận của tổng số Bitcoin là 21 triệu, gây ra lạm phát và sau đó được ghi nhận là CVE-2018-17144 bởi một lỗ hổng công khai.
Tại sao lại có lỗ hổng này?
Điều này xảy ra từ năm 2016. Đúng vậy, mặc dù đây là một lỗ hổng được phát hiện vào năm 2018 nhưng điềm báo trước đã được đặt ra vào năm 2016. Năm 2016, một nhà phát triển đã đề xuất hợp nhất với Bitcoin Core để loại bỏ các bước kiểm tra đầu vào trùng lặp trong quá trình kiểm tra giao dịch, điều này sẽ tiết kiệm được khoảng 600 micro giây, sau đó những người đánh giá đã chấp thuận việc hợp nhất và quả bom đã được cài đặt.
Trong phiên bản 0.14. Nếu máy khách gặp sự cố, nó sẽ không ảnh hưởng đến dữ liệu trên chuỗi. Các máy khách khác có thể loại bỏ quá trình phát sóng của nút đã bắt đầu cuộc tấn công, và việc kích hoạt cuộc tấn công này đòi hỏi kẻ tấn công phải khám phá ra một khối. Chi phí này rất cao và chỉ có thể khiến một số khách hàng gặp sự cố. Nó không mang lại bất kỳ lợi ích nào cho kẻ tấn công.
Cho đến khi phiên bản 0.15 được phát hành vào tháng 9 năm 2017, các nhà phát triển đã tối ưu hóa cấu trúc của cơ sở dữ liệu UTXO, vô tình cho phép máy khách nhập dữ liệu nhiều lần để hoạt động có thể tiếp tục và lỗ hổng này mở ra tăng khả năng chi tiêu gấp đôi.
Lỗ hổng này được phát hiện như thế nào?
Sau khi phát hành phiên bản 0.15, cho đến ngày 17 tháng 9 năm 2018, không ai phát hiện ra lỗ hổng này trong vòng 1 năm cho đến khi BCH phát triển. trong một chiếc xe tải nhỏ trên bãi biển vào buổi trưa và tìm thấy nhận xét này trong cơ sở mã BCH
Kiểm tra các đầu vào trùng lặp — lưu ý rằng quá trình kiểm tra này diễn ra chậm nên chúng tôi bỏ qua nó trong CheckBlock
Awemany cảm thấy có gì đó không ổn và sử dụng chế độ regtest để kiểm tra những thứ đã nhập nhiều lần và kết quả được nhắc trực tiếp
Wham! khẳng định(), Đã hủy bỏ.
Anh ấy nhận ra điều này có thể bị khai thác, dẫn đến nguy cơ lạm phát và chia tách chuỗi, đồng thời viết
BitcoinABC không kiểm tra các đầu vào trùng lặp khi xử lý một khối, một giao dịch vào mempool.
Điều này nguy hiểm vì các khối có thể được tạo với các giao dịch trùng lặp và sau đó được gửi qua, ví dụ: khối nhỏ gọn thiếu giao dịch và tránh chạm vào mempool; , kiếm tiền từ hư vô.
/u/awemany
Sau đó, Ngài lập tức báo cáo lỗ hổng và bản vá sửa lỗi cho Bitcoin Core và Bitcoin ABC (nhóm phát triển BCH).
Anh ấy viết trong bài đánh giá của mình rằng anh ấy thở phào nhẹ nhõm sau khi gửi bài nộp. Anh ấy đã phát hiện ra một lỗ hổng trị giá hàng triệu đô la có ảnh hưởng rất lớn đến 100 tỷ USD. Đồng tiền đô la Mỹ (hiện là 1,2 nghìn tỷ đô la Mỹ) có thể có tác động rất lớn. Trên thực tế, anh ta có thể thuê sức mạnh tính toán để bán khống BTC, điều này có thể khiến anh ta trực tiếp trở nên giàu có, nhưng anh ta đã không làm như vậy, anh ta đã chọn báo cáo lỗ hổng.
Vào lúc 21:58 ngày hôm đó, Bitcoin ABC đã phát hành một bản vá để khắc phục lỗ hổng và gửi thông báo này đến phần lớn các nút để thúc giục họ nâng cấp. đã được hoàn thành trên hầu hết các nút Sau khi nâng cấp, lỗ hổng này đã được tiết lộ đầy đủ.
Tuy nhiên, không chỉ Bitcoin và BCH, mà cả các loại tiền thay thế khác nhau phân nhánh Bitcoin cũng bị ảnh hưởng bởi lỗ hổng này. Bởi vì lỗ hổng này là Bitcoin Nhóm cốt lõi đã hợp nhất và. mọi người đều đổ lỗi cho nhóm Bitcoin Core.
Do thay đổi 600 micro giây, lỗ hổng chi tiêu gấp đôi đã ẩn nấp trên chuỗi trong một năm. Nếu lỗ hổng này bị khai thác, điều này có thể dẫn đến. một hard fork. Liệu giá Bitcoin có còn ở mức giá hiện tại không? Liệu một ETC khác có ra đời giống như hard fork của Ethereum không?