Cronos đảo ngược vụ hack 75 triệu USD. Cách khắc phục đặt ra câu hỏi lớn hơn
cryptonewsVào ngày 30 tháng 8, Cronos đã làm điều mà hầu hết các blockchain nói rằng họ không thể làm.
Các validator của nó đã dừng sản xuất khối, loại bỏ hơn 10.000 khối lịch sử chuẩn và khởi động lại chuỗi từ một snapshot được chụp trước khi Tectonic, một giao thức lending trên Cronos, mất khoảng 75 triệu USD trong một cuộc tấn công thao túng tài sản thế chấp.
Phản ứng này đã thành công theo nghĩa hẹp nhất. Khoảng 69 triệu USD tài sản bị đóng băng đã được cứu. Chỉ khoảng 6 triệu USD đã thoát sang Ethereum trước khi dừng. Người gửi tiền Tectonic đã tránh được những gì có thể là tổn thất gần như toàn bộ.
Nhưng sự can thiệp cũng xóa khoảng hai giờ lịch sử giao dịch của mọi người dùng trên mạng. Các giao dịch hợp pháp, chuyển tiền, tương tác hợp đồng và hoạt động bridge không liên quan gì đến vụ khai thác đã biến mất khỏi chuỗi chuẩn.
Đó là phần khó chịu. Cronos đã ngăn chặn một vụ hack bằng cách chứng minh rằng lịch sử của nó có thể bị viết lại.
Cách Tectonic mất 75 triệu USD
Vụ khai thác Tectonic theo một mô hình DeFi quen thuộc: bơm một tài sản thế chấp được giao dịch mỏng, vay tài sản thanh khoản dựa trên định giá bị thổi phồng, sau đó để lại giao thức nắm giữ tài sản thế chấp không thể bán ở bất kỳ đâu gần mức giá được báo cáo.
Tectonic cho phép người dùng đăng TONIC, token quản trị của nó, làm tài sản thế chấp. TONIC có hệ số thế chấp 20%, nghĩa là người vay có thể rút tài sản trị giá tối đa một phần năm giá trị thế chấp được báo cáo của token.
Kẻ tấn công đã chi ước tính 600.000 USD để mua TONIC trên các thị trường Cronos mỏng, đẩy token tăng khoảng 100 lần trong khoảng 20 phút. Kẻ tấn công sau đó đã cung cấp 364,6 nghìn tỷ TONIC cho Tectonic với định giá bị thổi phồng, tạo ra vị thế thế chấp được báo cáo trị giá khoảng 375 triệu USD.
Dựa trên vị thế đó, kẻ tấn công đã vay khoảng 75 triệu USD tài sản thanh khoản từ giao thức.
Phép toán rất tàn khốc. Một thao túng giá 600.000 USD tạo ra khoản rút 75 triệu USD. Lợi nhuận trên vốn triển khai là khoảng 12.400%. Tài sản thế chấp đảm bảo cho các khoản vay không thể bị thanh lý ở bất kỳ mức giá nào gần giá trị được báo cáo mà không làm sụp đổ thị trường.
Trước vụ khai thác, Tectonic nắm giữ khoảng 121,7 triệu USD tổng giá trị khóa và 82,7 triệu USD khoản vay đang hoạt động. Nó chiếm gần một nửa vốn DeFi của Cronos. Trong vòng 48 giờ, TVL của nó đã giảm xuống còn khoảng 3 triệu USD, mức giảm khoảng 97,5%.
Việc dừng đã đóng băng toàn bộ chuỗi
Các validator Cronos đã phát hiện vụ khai thác nhanh chóng và ngừng sản xuất khối.
Quyết định đó đã đóng băng nhiều hơn Tectonic. Mọi giao dịch chuyển tiền, tương tác hợp đồng thông minh và giao dịch bridge trên Cronos đều dừng lại. Người dùng không tiếp xúc với Tectonic không thể di chuyển tiền. Các ứng dụng được xây dựng trên Cronos mất quyền truy cập vào hoạt động chuỗi bình thường. Các nhà cung cấp RPC và bridge phải tạm dừng hoặc đồng bộ lại.
Thời điểm rất quan trọng. Vào lúc các validator dừng chuỗi, kẻ tấn công đã chuyển khoảng 6 triệu USD sang Ethereum. 69 triệu USD còn lại nằm tại các địa chỉ Cronos đã xác định, bị đóng băng nhưng về mặt kỹ thuật vẫn nằm dưới sự kiểm soát của kẻ tấn công trên chuỗi đã dừng.
CEO của Crypto.com, Kris Marszalek, cho biết sàn giao dịch và ứng dụng vẫn hoạt động bình thường và tiền của khách hàng an toàn. Tuyên bố đó áp dụng cho các dịch vụ tập trung của Crypto.com, không phải cho tiền gửi trong Tectonic. Sự phân biệt này quan trọng vì Cronos, Crypto.com và Tectonic có liên quan chặt chẽ trong nhận thức của thị trường, nhưng chúng không phải là cùng một hệ thống.
Cronos đã chọn rollback
Thay vì khởi động lại từ trạng thái đã dừng và cố gắng đóng băng địa chỉ của kẻ tấn công, các validator đã khôi phục Cronos về snapshot trước vụ khai thác. Chuỗi tiếp tục từ khối 90.896.189 sau khi hơn 10.000 khối bị loại bỏ.
Các giao dịch tấn công không còn tồn tại trên chuỗi chuẩn. Mọi giao dịch hợp pháp xảy ra trong cùng khoảng thời gian đó cũng vậy.
Cronos mô tả động thái này là hành động khẩn cấp theo đồng thuận của validator để bảo vệ người dùng. Một báo cáo hậu sự đầy đủ vẫn chưa được công bố. Câu hỏi chưa được trả lời là điểm khôi phục được chọn như thế nào, có bao nhiêu validator tham gia và tiêu chuẩn quản trị nào được sử dụng để biện minh cho việc viết lại lịch sử chuỗi công khai.
Các nhà cung cấp cơ sở hạ tầng phải thích ứng với phiên bản mới của chuỗi. Tatum, phục vụ các nhà phát triển trên Cronos, đã phát lại dữ liệu chuỗi từ khối 90.896.188 để đưa hệ thống của họ trở lại đồng bộ. Các block explorer, indexer, nhà cung cấp RPC và bridge khác phải đối mặt với công việc đối chiếu tương tự.
Việc rollback không chỉ đảo ngược kẻ tấn công. Nó buộc mọi dịch vụ kết nối với Cronos phải chấp nhận một phiên bản thực tế mới.
Oracle không phải là lỗi cốt lõi
Các vụ khai thác thao túng giá thường bị đổ lỗi cho oracle. Đồng sáng lập RedStone, Marcin Kazmierczak, bác bỏ cách giải thích đó.
“Oracle không sai. Nó đã báo cáo chính xác giá của TONIC trên pool mà nó đang đọc tại thời điểm đó,” ông nói.
Sự phân biệt đó rất quan trọng. Một oracle có thể báo cáo chính xác giá thị trường bị thao túng. Công việc của giao thức lending là quyết định xem mức giá đó có an toàn để cho vay hay không.
Thiết kế của Tectonic coi giá thị trường được niêm yết của TONIC là giá trị thế chấp có thể sử dụng mà không tính đến đầy đủ thanh khoản có thể thực thi. Một token có thể giao dịch ở mức giá cao trong một thị trường thanh khoản thấp trong khi vẫn không thể thanh lý ở quy mô lớn.
Kazmierczak xác định biện pháp kiểm soát bị thiếu là giới hạn vay gắn với thanh khoản có thể thực thi. Giới hạn như vậy hạn chế việc vay dựa trên lượng tài sản thế chấp có thể bán thực tế mà không làm sụp đổ thị trường của chính nó.
Cửa sổ giá trung bình theo thời gian dài hơn có thể không khắc phục được vấn đề. Một động thái tăng 100 lần trong 20 phút không phải là biến động bình thường. Đó là tín hiệu cho thấy tài sản không nên hỗ trợ khả năng vay có ý nghĩa.
Cuộc tấn công này đã được biết đến
Cuộc tấn công Tectonic không mới.
Nó gần giống với vụ khai thác Mango Markets tháng 10 năm 2022, trong đó Avraham Eisenberg đã thổi phồng token MNGO được giao dịch mỏng và vay hơn 100 triệu USD dựa trên giá trị thế chấp bị thổi phồng. Một bồi thẩm đoàn Manhattan đã kết án Eisenberg về tội gian lận hàng hóa, thao túng hàng hóa và gian lận chuyển tiền, mặc dù một thẩm phán liên bang sau đó đã hủy bỏ các bản án vì lý do thẩm quyền và chứng cứ.
Sự không chắc chắn về mặt pháp lý quan trọng vì Eisenberg lập luận rằng ông đã sử dụng giao thức như thiết kế. Biện hộ đó không kết thúc cuộc tranh luận về việc khai thác các tham số thế chấp yếu là thao túng thị trường, gian lận hay chỉ đơn giản là lạm dụng các quy tắc được viết kém.
Ba ngày trước vụ khai thác Tectonic, Moonwell trên Base đã mất 8,7 triệu USD qua một cuộc tấn công tương tự liên quan đến token MAMO kém thanh khoản. Moonwell phản ứng bằng cách giảm giới hạn vay xuống 1 wei trên toàn bộ Base Core Markets, về cơ bản đóng cửa cho vay mới trong các thị trường đó.
Moola Market trên Celo chịu một cuộc tấn công tương tự vào tháng 10 năm 2022. Bốn năm sau, cùng một mô hình vẫn hoạt động vì các giao thức tiếp tục niêm yết các token quản trị thanh khoản thấp làm tài sản thế chấp.
Các động cơ rất rõ ràng. Các nhóm giao thức có được TVL. Người nắm giữ token có được tiện ích. Rủi ro vẫn bị che giấu cho đến khi ai đó kiểm tra xem tài sản thế chấp có thực sự có thể bị thanh lý hay không. Đối với các token quản trị thanh khoản thấp, thường là không thể.
So sánh với DAO Fork chỉ có giới hạn
Fork DAO năm 2016 của Ethereum là so sánh rõ ràng. Sau khi kẻ tấn công rút khoảng 60 triệu USD từ The DAO, cộng đồng Ethereum đã bỏ phiếu hard fork, đảo ngược vụ trộm trên chuỗi mới trong khi Ethereum Classic bảo tồn lịch sử gốc.
Sự khác biệt là quy trình.
Fork DAO diễn ra sau nhiều tuần tranh luận công khai. Thợ đào, nhà phát triển, người dùng và sàn giao dịch có thời gian để tranh luận, phối hợp và chọn phe. Sự chia tách tạo ra Ethereum Classic như một lời nhắc nhở vĩnh viễn rằng không phải ai cũng chấp nhận việc viết lại.
Cronos hành động trong vài giờ. Không có tranh luận công khai kéo dài, không có bỏ phiếu cộng đồng rộng rãi và không có chuỗi thay thế được bảo tồn cho người dùng từ chối rollback. Các validator đã đồng ý, khôi phục trạng thái trước đó và tiếp tục.
Tốc độ đó là mối lo ngại. Một rollback đòi hỏi nhiều tuần xung đột công khai là biện pháp cuối cùng. Một rollback mà một tập hợp validator nhỏ có thể thực hiện nhanh chóng là một công cụ hành chính.
Cấu trúc validator đã làm cho phản ứng trở nên khả thi. Cronos được duy trì bởi một tập hợp validator tương đối nhỏ, với nhiều validator do Crypto.com kiểm soát hoặc liên kết chặt chẽ. Việc phối hợp dừng và rollback dễ dàng hơn trong cấu trúc đó so với trên một mạng lớn hơn, phân tán hơn như Ethereum hoặc Bitcoin.
Vấn đề không phải là các validator đã hành động để cứu người dùng. Vấn đề là họ có thể làm điều đó.
Ai đã trả giá cho các khối bị xóa
Việc rollback bảo vệ người gửi tiền Tectonic. Nó cũng vô hiệu hóa hoạt động không liên quan của người dùng.
Bất kỳ ai hoàn thành giao dịch trong khoảng thời gian khoảng hai giờ đều thấy hoạt động đó bị đảo ngược. Giao dịch DEX bị hoàn tác. Chuyển ví biến mất. Tương tác hợp đồng thông minh bị xóa sạch. Cronos chưa công bố dữ liệu cho thấy có bao nhiêu giao dịch không khai thác bị ảnh hưởng.
Sự bất đối xứng khó bỏ qua. Người dùng bị hại bởi vụ khai thác Tectonic được khôi phục về số dư trước cuộc tấn công. Người dùng có giao dịch hợp pháp nằm trong cửa sổ rollback mất các giao dịch đó mà không có khung bồi thường rõ ràng hoặc hạch toán công khai.
Điều đó tạo ra một động cơ khó chịu. Nếu một giao thức bị rút cạn, các validator có thể viết lại lịch sử để bồi hoàn cho người gửi tiền. Nếu giao dịch hợp pháp của người dùng tình cờ nằm trong cùng cửa sổ, nó có thể bị xóa như thiệt hại phụ.
Cronos vẫn cần giải thích cách các validator cân nhắc những tổn hại đó với nhau.
Các nhà xây dựng giờ có rủi ro mới để định giá
Các nhà phát triển xây dựng trên Cronos giờ phải tính đến một rủi ro trước ngày 30 tháng 8 chỉ là lý thuyết: trạng thái ứng dụng có thể bị xóa hồi tố bởi sự đồng thuận của validator.
Đối với một giao dịch hoán đổi token đơn giản, điều đó có thể bất tiện. Đối với các ứng dụng kết nối với hệ thống bên ngoài, nó nghiêm trọng hơn nhiều.
Một bộ xử lý thanh toán chấp nhận giao dịch Cronos và gửi hàng không thể đảo ngược việc gửi hàng nếu giao dịch sau đó biến mất. Một giao thức chuỗi chéo đúc tài sản ở nơi khác sau khi nhận tiền gửi Cronos có thể bị bỏ lại với một lần đúc trên một chuỗi và không có tiền gửi trên Cronos. Một hệ thống oracle hoặc tự động hóa kích hoạt hành động dựa trên xác nhận Cronos có thể không thể hủy bỏ các hành động đó.
Các nhà cung cấp cơ sở hạ tầng cũng phải gánh chi phí vận hành. Indexer, API dữ liệu và block explorer phải có khả năng đồng bộ lại xung quanh lịch sử bị viết lại. Đối với các nhóm hỗ trợ nhiều chuỗi, một mạng có tính cuối cùng yếu tốn kém và rủi ro hơn để tích hợp.
Điều đó cũng có ý nghĩa đối với tài sản token hóa. Bất kỳ nền tảng tài sản thế giới thực nào sử dụng Cronos sẽ cần xem xét liệu sự đồng thuận của validator có thể xóa các chuyển quyền sở hữu sau khi chúng đã được phản ánh trong các hệ thống ngoài chuỗi hay không.
6 triệu USD cho thấy giới hạn
6 triệu USD được bridge của kẻ tấn công sống sót vì nó đã đến Ethereum.
Đó là ranh giới của bất kỳ rollback nào. Quyền hạn của một chuỗi kết thúc tại các quy tắc đồng thuận của chính nó. Các validator Ethereum không đồng ý với rollback của Cronos và không có lý do gì để tôn trọng nó. Một khi tiền đã qua chuỗi, Cronos không thể xóa chúng nữa.
Đối với các ứng dụng chuỗi chéo, điều đó tạo ra một điều kiện chạy đua kỳ lạ. Giá trị còn lại trên một chuỗi có khả năng rollback có thể bị viết lại. Giá trị thoát sang một chuỗi có tính cuối cùng mạnh hơn có thể sống sót.
Kẻ tấn công Tectonic hiểu điều đó. Động thái đầu tiên là bridge tiền ra ngoài. Cửa sổ hai giờ giữa vụ khai thác và việc dừng trở thành cuộc đua giữa tốc độ bridge của kẻ tấn công và tốc độ phối hợp của các validator. Cronos đã thắng phần lớn cuộc đua đó, nhưng không phải tất cả.
Tính cuối cùng là một phổ
Rollback của Cronos đã cứu người dùng khỏi tổn thất lớn. Nó cũng làm cho mô hình tin cậy của mạng không thể bỏ qua.
Một số người dùng có thể thích sự đánh đổi đó. Họ có thể muốn các validator can thiệp trong các vụ khai thác cực đoan, đặc biệt khi giải pháp thay thế là sự sụp đổ của giao thức lending. Đó là một sở thích có thể bảo vệ được.
Nhưng nó không giống như tính bất biến.
Một blockchain mà các validator có thể dừng và tua lại lịch sử cung cấp một sản phẩm khác với một nơi mà tính cuối cùng đáng tin cậy ngay cả dưới áp lực. Nó vẫn có thể hữu ích. Nó vẫn có thể hỗ trợ các ứng dụng. Nó thậm chí có thể an toàn hơn cho một số người dùng trong các trường hợp khẩn cấp cụ thể.
Nhưng nó không phải là cơ sở hạ tầng trung lập theo nghĩa mạnh nhất. Nó là cơ sở hạ tầng được quản lý bởi những người có quyền chọn lịch sử nào tồn tại.
Đó là bài học thực sự của vụ khai thác Tectonic. Cuộc tấn công 75 triệu USD đã phơi bày các biện pháp kiểm soát thế chấp yếu. Rollback đã phơi bày điều lớn hơn: tính cuối cùng của Cronos phụ thuộc vào quyết định của validator. Đối với bất kỳ ai xây dựng, bridge hoặc nắm giữ tài sản trên mạng, điều đó giờ là một phần của mô hình rủi ro.
Nội dung này chỉ mang tính chất tham khảo và cung cấp thông tin, không phải lời khuyên đầu tư liên quan đến BTCC. BTCC luôn cố gắng cung cấp thông tin chính xác, nhưng không đảm bảo tuyệt đối về tính xác thực, độ chính xác hoặc bản quyền nội dung trên.