Tác giả: timbeiko.eth Nguồn: X, @TimBeiko Dịch: Shan Ou Ba, Golden Finance
Sau vụ hack Bybit, các nhà bình luận về tiền điện tử một lần nữa đặt câu hỏi tại sao Ethereum không thể "quay lại" chuỗi để đảo ngược cuộc tấn công.
Mặc dù những người tham gia hệ sinh thái giàu kinh nghiệm hầu như đều nhất trí rằng đây là một giải pháp không khả thi, nhưng cũng đáng để phân tích lý do tại sao đề xuất có vẻ hợp lý này lại không khả thi đối với những người quan sát ít hiểu biết về kỹ thuật. Nếu bạn là một trong số họ, hãy coi đây là lời giải thích "ELI5" để giúp bạn hiểu tại sao điều này là không thể.
Khái niệm "Quay lại"
Khái niệm "quay lại" của blockchain bắt nguồn từ một sự kiện ban đầu trong blockchain Bitcoin. Vào năm 2010, chưa đầy hai năm sau khi Bitcoin ra mắt, một lỗ hổng trong phần mềm máy khách đã dẫn đến việc đào 184 tỷ bitcoin ở khối 74.638.
Để giải quyết vấn đề này, Satoshi Nakamoto đã phát hành một bản vá phần mềm vô hiệu hóa các giao dịch này. Điều này tương đương với việc "quay lại" chuỗi và khôi phục nó về khối 74637. Trong vòng chưa đầy một ngày, chuỗi mới đã tích lũy đủ bằng chứng công việc để trở thành chuỗi chính thức và tất cả các giao dịch người dùng đã hoàn nguyên đều được đưa vào chuỗi mới. Điều quan trọng cần lưu ý là vào thời điểm đó, độ khó khai thác Bitcoin thấp hơn hiện nay 10 tỷ lần và giá BTC/USD vào khoảng 0,07 đô la.
Tóm lại, điểm đặc biệt của sự cố này là có những lỗ hổng rõ ràng trong chính giao thức, dẫn đến các giao dịch có vấn đề và do số tiền giao dịch rất lớn nên rất dễ xác định. Hơn nữa, tỷ lệ áp dụng Bitcoin vào thời điểm đó còn thấp, khiến việc phân phối khách hàng mới và khai thác nhanh các phân khúc chuỗi mới trở nên tương đối dễ dàng.
Sự cố Ethereum và TheDAO
Một cuộc khủng hoảng có vẻ tương tự đã xảy ra trong giai đoạn đầu của Ethereum, thường dẫn đến những hiểu lầm về tính khả thi của việc khôi phục. Vào năm 2016, một ứng dụng Ethereum phổ biến — TheDAO — đã kiểm soát khoảng 15% tổng số ETH. Thật không may, một tin tặc đã phát hiện ra lỗ hổng trong mã của ứng dụng cho phép chúng đánh cắp toàn bộ số tiền này. Điểm khác biệt giữa sự cố này với sự cố Bitcoin là bản thân giao thức Ethereum không phải là nguyên nhân; vấn đề nằm ở các ứng dụng được xây dựng trên Ethereum.
May mắn thay, các nhà phát triển TheDAO đã triển khai một cơ chế an toàn trong đó ứng dụng sẽ đóng băng các hoạt động rút tiền trong một tháng trước khi hoàn tất việc rút tiền. Điều này mang đến cơ hội duy nhất để khắc phục lỗ hổng: mã của ứng dụng có thể được thay đổi để ngăn chặn tiền rơi vào tay tin tặc.
Vì bản thân ứng dụng không thể thực hiện điều này nên các nhà phát triển phải thực hiện các thay đổi trực tiếp trong lịch sử của blockchain. Điều này được gọi là “thay đổi trạng thái bất thường” vì “trạng thái” của ứng dụng được thay đổi bằng cách cập nhật cơ sở dữ liệu theo cách thủ công, thay vì thông qua giao dịch Ethereum hợp lệ.
Để so sánh sơ bộ với lỗ hổng bảo mật của Bitcoin, điều này tương tự như việc đặt số dư của địa chỉ đã nhận 184 tỷ BTC về 0 thay vì khai thác lại chuỗi loại trừ các giao dịch này.
Bản nâng cấp này đã gây ra tranh cãi trong cộng đồng Ethereum và cộng đồng thực sự đã bị chia rẽ vì nó. Một số thợ đào đã từ chối chạy bản vá phần mềm và tiếp tục đào trên chuỗi nơi xảy ra vụ tấn công, sau này trở thành Ethereum Classic. Chuỗi Ethereum hiện là chuỗi mà phần mềm đã được nâng cấp.
Một lần nữa, sự cố này là duy nhất. Số tiền bị đánh cắp của TheDAO đã bị đóng băng trong vòng một tháng, giúp cộng đồng có thời gian phối hợp và triển khai nâng cấp phần mềm. Một lợi thế quan trọng khác của việc đóng băng tiền là tin tặc không thể tiếp tục di chuyển tiền. Nếu tin tặc có thể di chuyển tiền tùy ý, thì việc "đóng băng" số tiền đó sẽ trở thành trò chơi mèo vờn chuột vì giao thức là mã nguồn mở và bất kỳ thay đổi nào có thể đóng băng tiền phải được thông báo cho tin tặc, giúp chúng có đủ thời gian để chuyển tiền đi nơi khác. Điều này đưa chúng ta đến sự cố Bybit.
Tại sao chúng ta không thể khôi phục Ethereum?
Đầu tuần này, 401.346 ETH (khoảng 1,4 tỷ đô la) đã bị đánh cắp từ sàn giao dịch Bybit. Vụ trộm xảy ra do người quản lý quỹ đã ký một giao dịch gây hiểu lầm trong một giao diện đa chữ ký bị xâm phạm.
Nguyên nhân gốc rễ của vụ tấn công này phức tạp hơn vụ việc TheDAO và lỗ hổng tràn dữ liệu Bitcoin. Không có gì sai với giao thức Ethereum, hoặc thậm chí là ứng dụng đa chữ ký mà Bybit sử dụng. Vấn đề là giao diện bị hỏng khiến các giao dịch có vẻ như thực hiện một việc nhưng thực tế lại thực hiện việc khác.
Theo quan điểm của giao thức Ethereum, không có cách nào để phân biệt giao dịch này với các giao dịch hợp pháp khác trên mạng. Không có sự vi phạm nào đối với các quy tắc giao thức và số tiền bị đánh cắp có thể được cô lập bằng cách vá lỗi, như trường hợp lỗ hổng bảo mật của Bitcoin.
Ngoài ra, tin tặc đã ngay lập tức bắt đầu chuyển tiền. Không giống như sự cố TheDAO, khi cộng đồng có một tháng để thực hiện can thiệp "phẫu thuật", ở đây tin tặc đã ngay lập tức bắt đầu chuyển tiền vào chuỗi.
Kể cả khi chúng ta có thể giải quyết được trò chơi mèo vờn chuột được đề cập ở trên thì hệ sinh thái Ethereum hiện nay cũng rất khác so với năm 2016. Khả năng DeFi và kết nối với các chuỗi khác có nghĩa là bất kỳ khoản tiền bị đánh cắp nào cũng có thể dễ dàng được liên kết với nhiều ứng dụng khác nhau. Ví dụ, tiền đánh cắp có thể được trao đổi trên các sàn giao dịch phi tập trung, các token thu được có thể được sử dụng làm tài sản thế chấp trong các giao thức DeFi và tài sản được vay có thể được chuyển sang một chuỗi hoàn toàn độc lập thông qua cầu nối.
Trạng thái có tính kết nối cao này có nghĩa là bất kỳ thay đổi bất thường nào về địa vị, ngay cả khi được xã hội chấp nhận, cũng sẽ gây ra những phản ứng dây chuyền gần như không thể kiểm soát được. Điều này thậm chí còn tệ hơn nếu bạn thực hiện "hoàn nguyên toàn bộ", thậm chí là hoàn nguyên một phần chuỗi lịch sử. Bất kỳ giao dịch nào đã hoàn tất, nhiều giao dịch trong số đó có thể liên quan đến các vấn đề bên ngoài Ethereum (chẳng hạn như bán trên sàn giao dịch, đổi tài sản thực tế, v.v.), sẽ bị đảo ngược mà không có cách nào để khôi phục lại phần ngoài chuỗi.
Tóm tắt
Vì vậy, trong khi Bitcoin đã từng có thể "quay lại" blockchain của mình cách đây 15 năm, thì ngày nay, tình hình hiện tại khiến việc quay lại như vậy trở nên không khả thi do bản chất kết nối của Ethereum và việc giải quyết các giao dịch kinh tế trên chuỗi và ngoài chuỗi.
Về mặt kỹ thuật, tình trạng thay đổi bất thường vẫn có thể xảy ra khi tiền bị đóng băng và cô lập. Lần gần nhất một thay đổi như vậy được đề xuất là vào năm 2018, để giải quyết lỗ hổng trong ví đa chữ ký Parity dẫn đến việc đóng băng khoảng 500.000 ETH (xem EIP-999), một đề xuất đã vấp phải sự phản đối mạnh mẽ từ cộng đồng, một phần là do những tranh cãi xung quanh TheDAO.