BTC
ETH
HTX
SOL
BNB
Xem thị trường
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Từ sự kiện Kelp DAO đến Verifiable UI: Tại sao "Giao diện có thể xác minh" lại trở thành chuẩn mực bảo mật phi tập trung mới?

imToken
特邀专栏作者
2026-04-22 08:06
Bài viết này có khoảng 4488 từ, đọc toàn bộ bài viết mất khoảng 7 phút
Một vụ tai nạn bảo mật một lần nữa phơi bày thực trạng DeFi vẫn phụ thuộc quá nhiều vào xác minh đơn điểm và lòng tin mặc định xếp chồng lên nhau cho đến ngày nay.
Tóm tắt AI
Mở rộng
  • Quan điểm cốt lõi: Do cấu hình định tuyến LayerZero của Kelp DAO là xác minh đơn điểm (1-of-1 DVN), kẻ tấn công đã giả mạo tin nhắn xuyên chuỗi để đánh cắp 116.500 rsETH, với khoản nợ xấu tiềm ẩn tối đa lên tới 230 triệu đô la. Sự kiện này đã phơi bày rủi ro cấu trúc của ngành DeFi khi ủy thác bảo mật cho một số ít lớp trung gian đáng tin cậy, đồng thời gợi lên sự suy ngẫm về khả năng xác minh của giao diện tương tác (UI).
  • Các yếu tố chính:
    1. Kẻ tấn công đã lợi dụng cấu hình 1-of-1 DVN (không có bộ xác minh thay thế) trong cầu nối LayerZero của Kelp DAO, chỉ cần một chữ ký nút là có thể thông qua tin nhắn xuyên chuỗi, lỗ hổng này đã không được sửa chữa trong suốt 15 tháng.
    2. Sự kiện đã gây thiệt hại cho các giao thức như Aave, do sự cố định giá của tài sản thế chấp rsETH bị phá vỡ, Aave phải đối mặt với khoảng nợ xấu từ 123,7 triệu đến 230,1 triệu đô la và phải đóng băng khẩn cấp các thị trường liên quan.
    3. Sự kiện phơi bày rủi ro đơn điểm kép: đơn điểm xác minh (cấu hình DVN) và đơn điểm dự trữ (rsETH phụ thuộc vào một điểm neo chính duy nhất), rủi ro lan truyền qua tính khả tổ hợp của DeFi.
    4. Ngành công nghiệp từ lâu đã bỏ qua vấn đề "tương tác có thể xác minh": calldata mà người dùng ký có thể không nhất quán với nội dung hiển thị trên giao diện, khiến giao diện trở thành một điểm duy nhất được tin tưởng nhưng không được xác minh.
    5. Verifiable UI nhằm thiết lập kết nối có thể kiểm tra giữa hiển thị giao diện và thực thi trên chuỗi, đảm bảo người dùng hiểu và xác minh ý định giao dịch, thay vì phụ thuộc vào giải thích của giao diện.
    6. Khi các tương tác dựa trên ý định do Agent thúc đẩy trở nên phổ biến, ví cần chuyển đổi từ công cụ ký thành điểm kiểm tra chắc chắn trước khi thực thi, để đối phó với các thách thức bảo mật khi đường dẫn và tham số bị thu gọn.

Một lần nữa, thế giới DeFi trên chuỗi lại chứng kiến một sự cố an ninh với quy mô hàng trăm triệu đô la.

Vào ngày 18 tháng 4, kẻ tấn công đã lợi dụng cấu hình DVN 1-of-1 trong router LayerZero của Kelp DAO mà không có trình xác minh tùy chọn (optional verifiers), giả mạo tin nhắn xuyên chuỗi để khiến hợp đồng giải phóng sai 116.500 rsETH. Điều này, trong các kịch bản phân bổ tổn thất khác nhau, đã khiến Aave phải đối mặt với khoản nợ xấu tiềm ẩn trong khoảng 123,7 triệu đến 230,1 triệu đô la.

Khách quan mà nói, đây không chỉ là sự cố bảo mật DeFi lớn nhất tính đến năm 2026, mà quan trọng hơn, nó đã phá vỡ một giả định kiến trúc mà toàn ngành từng mặc nhiên chấp nhận: Để đổi lấy hiệu quả, tính thanh khoản và lợi nhuận, ngày càng nhiều yếu tố bảo mật đã được âm thầm đặt cược vào một số lớp trung gian mặc định đáng tin cậy.

1. Sự thất thủ của cơ chế phi tập trung đằng sau sự cố Kelp DAO

Nếu chỉ coi sự cố Kelp DAO như một rủi ro bảo mật trên chuỗi thông thường, chúng ta dễ dàng đánh giá thấp ý nghĩa cảnh báo của nó đối với rủi ro cấu trúc của toàn bộ hệ sinh thái DeFi.

Kelp DAO, với tư cách là một giao thức Liquid Restaking (Tái cam kết thanh khoản) trong hệ sinh thái Ethereum, về mặt lý thuyết, người dùng chỉ cần gửi ETH là có thể nhận được rsETH như một chứng chỉ. Chứng chỉ này không chỉ có thể lưu thông trên mạng chính mà còn được đóng gói theo tiêu chuẩn OFT của LayerZero và triển khai trên hơn 20 chuỗi khác như Base, Arbitrum, Linea, Blast, Mantle, Scroll.

Nói cách khác, hợp đồng xuyên chuỗi phía mạng chính Ethereum vẫn giữ toàn bộ dự trữ ETH, trong khi rsETH trên các chuỗi khác về bản chất chỉ là những "phiếu lấy hàng" đối với dự trữ trên mạng chính. Điều này cũng có nghĩa là tiền đề để hệ thống này hoạt động là mối quan hệ neo giữ "số lượng khóa trên mạng chính luôn lớn hơn hoặc bằng số lượng đúc trên chuỗi L2" không thể bị phá vỡ.

Và điều mà kẻ tấn công đã khai thác chính là ràng buộc nền tảng có vẻ đơn giản nhưng cực kỳ quan trọng này – hắn đã trực tiếp giả mạo một tin nhắn xuyên chuỗi LayerZero "hợp pháp", khiến hợp đồng cầu nối trên mạng chính tin rằng đây là một lệnh thanh toán hợp lệ đến từ chuỗi khác, sau đó giải phóng 116.500 rsETH.

Mấu chốt của vấn đề nằm trong cấu hình xác minh của LayerZero. Kelp DAO đã sử dụng cấu hình DVN 1/1 (Mạng lưới người xác minh phi tập trung), khiến chữ ký của một nút xác minh là đủ để thông qua một tin nhắn xuyên chuỗi! Trong khi đó, LayerZero thực sự khuyến nghị cấu hình 2/2 hoặc nhiều người xác minh dự phòng. Rủi ro của cấu hình 1/1 này đã được các nhà nghiên cứu bảo mật công khai cảnh báo từ tháng 1 năm 2025, nhưng đã không được sửa đổi trong suốt 15 tháng!

Đây cũng là lý do tại sao sự cố này khó có thể được phân loại đơn giản là "cầu nối bị tấn công" hoặc "kiểm soát rủi ro của giao thức X không đủ". Nó thực sự phơi bày hai lớp rủi ro điểm đơn lẻ chồng lên nhau:

  • Lớp đầu tiên là điểm đơn lẻ xác minh: Về mặt lý thuyết, DVN được thiết kế như một mô hình bảo mật X-of-Y-of-N có thể kết hợp, hỗ trợ sử dụng nhiều xác minh độc lập để đáp ứng các nhu cầu bảo mật khác nhau. Tuy nhiên, tính hợp pháp của toàn bộ tin nhắn trong KelpDAO đã bị nén lại thành một giả định duy nhất: "một nút xác minh không gặp sự cố";
  • Lớp thứ hai là điểm đơn lẻ dự trữ: Một khi bể dự trữ trên mạng chính này bị xuyên thủng, rsETH trên các chuỗi khác ngay lập tức không còn là tài sản xuyên chuỗi nữa, mà sẽ bộc lộ bản chất chỉ là IOU dựa trên một điểm neo duy nhất trên mạng chính;

Khi điểm đơn lẻ xác minh và điểm đơn lẻ dự trữ kết hợp với nhau, rủi ro không còn dừng lại trong một giao thức đơn lẻ, mà sẽ lan tỏa dọc theo khả năng kết hợp của DeFi.

Đây cũng là lý do tại sao Aave đã khẩn cấp đóng băng thị trường rsETH/wrsETH trên nhiều chuỗi sau sự cố, điều chỉnh mô hình lãi suất WETH và tiếp tục đóng băng nhiều thị trường WETH khác để ngăn áp lực lan sang nhiều tài sản hơn. Mặc dù bản thân Aave không bị tấn công, nhưng tài sản thế chấp bị sai lệch, thanh lý bị cản trở và sức khỏe người vay ở mức sát mép, cuối cùng đã khiến giao thức phải chịu rủi ro nợ xấu đáng kể.

Và nếu nâng góc nhìn lên cao hơn một chút, chúng ta sẽ thấy logic "thuê ngoài bảo mật cho một điểm đơn lẻ" này không chỉ tồn tại ở cầu nối và trình xác minh, mà còn tiềm ẩn ở một nơi mà người dùng phải đối mặt hàng ngày nhưng hiếm khi được thảo luận một cách thẳng thắn – giao diện.

2. Từ "Tự quản lý tài sản" đến "Tương tác có thể xác minh": Điểm tin cậy đơn lẻ dễ bị bỏ qua nhất

Cộng đồng Web3 luôn có một câu nói cũ: Đừng tin tưởng, hãy xác minh (Don't trust, Verify).

Khi giới thiệu về các nút, Ethereum giải thích câu nói này một cách rất trực tiếp: Chạy nút của riêng bạn có nghĩa là bạn không cần phải tin vào kết quả mà người khác nói với bạn, bởi vì bạn có thể tự mình xác minh dữ liệu, thay vì thuê ngoài việc đánh giá sự thật của mạng lưới cho các nhà cung cấp dữ liệu tập trung.

Nguyên tắc này cũng đúng khi áp dụng vào tương tác giữa ví và DeFi.

Các ví không lưu ký như imToken, về bản chất, là công cụ để người dùng truy cập tài khoản của họ, là cửa sổ để bạn "xem tài sản, gửi giao dịch, đăng nhập ứng dụng". Bản thân ví không quản lý tiền của bạn và khóa riêng tư cũng không nằm trong tay nền tảng. Trong vài năm qua, ngành công nghiệp đã dần chấp nhận tầm quan trọng của "tự quản lý tài sản" và ngày càng nhiều người bắt đầu hiểu rằng phi tập trung thực sự không chỉ là đặt coin lên chuỗi, mà còn là trao lại quyền kiểm soát tài sản cho chính người dùng.

Tuy nhiên, vấn đề nằm ở chỗ, mặc dù chúng ta ngày càng nhấn mạnh "tự quản lý" ở cấp độ tài sản, nhưng ở cấp độ tương tác, chúng ta vẫn mặc nhiên chấp nhận một hình thức thuê ngoài tinh vi hơn nhiều: giao phó việc hiểu ý nghĩa giao dịch, đánh giá kết quả cuộc gọi và tin tưởng vào tính xác thực của giao diện cho lớp frontend trước mắt này giải thích.

Đây chính xác là lớp rủi ro dễ bị bỏ qua nhất trong DeFi ngày nay: Liệu người dùng có thực sự ký vào giao dịch mà họ nghĩ rằng họ đang ký không?

Có thể nói, trong các tương tác hàng ngày trên chuỗi, người dùng hầu như không bao giờ đối mặt trực tiếp với chuỗi, mà là với các lớp giao diện được đóng gói: frontend trang web DApp, cửa sổ bật lên của ví, mô tả đường dẫn do aggregator đưa ra, và trong tương lai sẽ bao gồm các cuộc gọi và xác nhận kết quả do Agent tự động tạo ra. Chúng sẽ cho bạn biết: "Bạn đang gửi 100 ETH vào một chiến lược nào đó", "Bạn sẽ nhận được lợi suất hàng năm nào đó", "Bạn chỉ đang thực hiện một ủy quyền thông thường".

Nhưng cuối cùng, calldata thực sự được ký, được phát sóng và được thực thi trên chuỗi là gì, liệu mô tả frontend có hoàn toàn khớp với việc thực thi cơ bản hay không, đại đa số người dùng không có khả năng kiểm tra độc lập.

Đây cũng là lý do tại sao, trong lịch sử, các vụ chiếm quyền frontend, thay thế địa chỉ và ngụy trang ủy quyền độc hại lặp đi lặp lại, bề ngoài là các loại sự cố bảo mật khác nhau, nhưng thực chất đều chỉ vào cùng một vấn đề: Người dùng không phải lúc nào cũng ký vào giao dịch mà họ nghĩ rằng họ đang ký.

Từ góc nhìn này, sự cố Kelp DAO không chỉ phơi bày vấn đề xác minh điểm đơn lẻ trong đường dẫn cầu nối, mà còn nhắc nhở toàn ngành về một thực tế bị đánh giá thấp từ lâu: Trong nhiều tương tác trên chuỗi, bản thân giao diện là một điểm đơn lẻ được mặc định tin tưởng nhưng hiếm khi được xác minh. Khoảnh khắc bạn nhấp "Xác nhận", thực chất bạn đang đặt cược tính chính xác của cuộc gọi này vào việc "giao diện không nói dối".

Điều này dẫn đến khái niệm "Verifiable UI" (Giao diện có thể xác minh).

Cái gọi là "Verifiable UI", dịch sát nghĩa là "Giao diện có thể xác minh". Cốt lõi của nó không phải là làm cho frontend đẹp hơn, cũng không phải viết cửa sổ bật lên ký dễ hiểu hơn, mà là cố gắng thiết lập một kết nối giữa nội dung được hiển thị trên giao diện và cuộc gọi thực sự được thực thi trên chuỗi, một kết nối mà người dùng có thể kiểm tra, ví có thể xác minh và có thể truy xuất nguồn gốc sau này.

Nói cách khác, nó không nhằm giải quyết vấn đề "thông tin có được hiển thị hay không", mà là "những gì được hiển thị có thực sự tương ứng với những gì sắp xảy ra trên chuỗi hay không". Điều này có nghĩa là:

  • Trước khi ký, ví không chỉ nên cho người dùng xem một chuỗi dữ liệu thập lục phân, cũng không chỉ chuyển tiếp một đoạn văn bản giải thích do frontend đơn phương tạo ra, mà phải cố gắng khôi phục calldata thành ý định hoạt động mà con người có thể đọc được và ngữ nghĩa rõ ràng;
  • Mỗi bước được mô tả trên giao diện cũng phải có thể ánh xạ tới bằng chứng có thể xác minh trên chuỗi, thay vì dừng lại ở một logic giải thích "nếu người dùng tin thì nó đúng";
  • Chỉ khi đó, khoảng cách nhận thức khó vượt qua giữa "những gì bạn nghĩ mình đang làm" và "những gì thực sự xảy ra trên chuỗi" mới có thể được thu hẹp;

Khi điều này được thiết lập, giao diện không còn là một lớp kính mà người dùng chỉ có thể mặc nhiên tin tưởng mà không thể độc lập xác minh, mà giống như một bản hướng dẫn thực thi mà người dùng có thể tự mình xác nhận và truy xuất nguồn gốc sau này.

Nếu chỉ nhìn vào DeFi ngày nay, khả năng xác minh của giao diện vẫn là một chủ đề bị đánh giá thấp nghiêm trọng; nhưng nếu kéo dài khung thời gian một chút, nó sẽ sớm chuyển từ "một tối ưu hóa bảo mật đáng thảo luận" thành "một năng lực cơ

cái ví
Sự an toàn
Chào mừng tham gia cộng đồng chính thức của Odaily
Nhóm đăng ký
https://t.me/Odaily_News
Nhóm trò chuyện
https://t.me/Odaily_CryptoPunk
Tài khoản chính thức
https://twitter.com/OdailyChina
Nhóm trò chuyện
https://t.me/Odaily_CryptoPunk