Cách đây vài ngày, tôi đọc báo cáo của Reza Bashash về vụ tấn công bridge XRP-Coreum. Điều đầu tiên đập vào mắt tôi: 21 validator độc lập đều ký vào một giao dịch không có thật. Nghe quen không? Đó chính là vấn đề của đa số các bridge hiện nay – nhưng lần này nó lộ mặt một cách trần trụi.
Context: Cầu nối giữa hai thế giới
Bridge này kết nối XRP Ledger với Coreum (giờ đổi tên thành tx). Cơ chế hoạt động kiểu “observer + relayers”: một phần mềm bên Coreum đọc lịch sử giao dịch XRPL, phát hiện deposit, rồi 21 relayers xác nhận và cho phép mint token tương ứng bên kia. Nghe an toàn chứ? 21 người canh gác, mỗi người một phiếu. Nhưng vấn đề là tất cả đều đọc cùng một cuốn sách – và cuốn sách đó có lỗi.
Thị trường hiện đang đi ngang, Bitcoin loanh quanh 64.000 USD, XRP chạm đáy 21 tháng. Trong bối cảnh đó, một vụ hack 200.000 XRP (khoảng 200.000 USD) tưởng chừng như muỗi đốt inox. Nhưng không, nó là hồi chuông cảnh tỉnh cho cả ngành.

Core: Lỗi logic cấp tiểu học
Hãy tưởng tượng bạn có một cây cầu, và người gác cầu chỉ kiểm tra xem có ai đưa cho bạn một tờ giấy ghi “đã gửi hàng” hay không, chứ không kiểm tra xem hàng thực sự đã được chuyển đi chưa. Đó chính là lỗi ở đây.
Attackers đã làm một việc cực kỳ đơn giản: họ dùng chính token wrapper do bridge phát hành, chuyển giữa hai ví của họ, và kèm theo memo “deposit”. Phần mềm bên Coreum đọc memo và nghĩ: “Ồ, có người gửi XRP vào bridge, cần mint token tương ứng.” Nó không hề kiểm tra xem số XRP đó có thực sự đến tay bridge hay không. Lý do: token wrapper do bridge phát hành, nên giao dịch chuyển token đó cũng nằm trên XRPL, và bridge đọc nhầm đó là deposit.
21 relayers – những người được cho là “độc lập” – đều chạy cùng một phần mềm, đọc cùng một dữ liệu, và đưa ra cùng một quyết định sai lầm. Kết quả: bridge mint ra token không có tài sản đảm bảo, attacker dùng số token đó rút XRP thật. Trong 97 phút, họ lặp lại kịch bản với số tiền tăng dần, không có bất kỳ cơ chế dừng khẩn cấp nào.
Trong 20 năm theo dõi ngành, tôi chưa thấy một lỗi nào “ngây thơ” đến vậy. Nó giống như bạn xây một két sắt, nhưng quên không khóa cửa sau. Và 21 người bảo vệ đều đứng nhìn, vì họ được lập trình để chỉ canh cửa trước.

So sánh với Wormhole: Wormhole cũng dùng guardians (19 người), nhưng mỗi guardian chạy một client độc lập? Thực tế, họ cũng dùng chung core code. Sự khác biệt nằm ở chỗ Wormhole có thêm lớp kiểm tra chéo (threshold signatures) và lịch sử audit dày dạn hơn. Nhưng về bản chất, nếu code có lỗi logic, tất cả guardians đều mù.
Điểm đáng chú ý: lỗi này không phải do XRP Ledger – XRPL vẫn hoạt động bình thường, consensus không bị ảnh hưởng. Attack chỉ khai thác cách bridge đọc dữ liệu từ XRPL. Đây là bài học kinh điển: đừng bao giờ đổ lỗi cho L1 khi ứng dụng phía trên viết dở.
Contrarian: Tin tốt từ vụ hack?
Khi tôi đọc bình luận trên mạng, nhiều người hoảng: “XRP không an toàn!”. Nhưng sự thật ngược lại: XRP Ledger vẫn an toàn, lỗi hoàn toàn ở bridge. Vụ hack này thực ra là tin tốt cho XRP vì nó chứng minh rằng lớp nền tảng vững chắc, và mọi rủi ro đều đến từ các lớp ứng dụng. Nếu bạn muốn đầu tư vào XRP, đây là cơ hội để mua với giá chiết khấu khi FUD lan rộng.
Khi tôi audit bridge cho một dự án DeFi năm 2020, tôi đã cảnh báo về vấn đề này: relayers không thể là “bản sao” của nhau. Nếu tất cả đều dùng cùng một thuật toán phát hiện deposit, thì đa ký chỉ là ảo tưởng an toàn. Bạn cần ít nhất hai cơ chế khác nhau: một cơ chế đọc on-chain data, một cơ chế xác thực bằng light client hoặc zero-knowledge proof.
Một góc nhìn khác: số tiền mất chỉ 200.000 USD – quá nhỏ so với Ronin (600 triệu) hay Wormhole (320 triệu). Nhưng bài học về relayers đồng nhất thì vô giá. Các bridge lớn như Axelar, LayerZero đã có cơ chế chống lại loại tấn công này, nhưng rõ ràng vẫn còn nhiều bridge nhỏ đi tắt đón đầu. Thị trường đi ngang là thời điểm hoàn hảo để các lỗi “ngủ quên” bị đánh thức.
Takeaway: Câu chuyện tiếp theo
Tôi dự đoán trong 6 tháng tới, các bridge sẽ buộc phải nâng cấp: tích hợp SPV (Simplified Payment Verification) hoặc ZK proof để xác thực deposit thay vì chỉ dựa vào observer. Những dự án nào đang xây dựng cross-chain infrastructure an toàn sẽ được thị trường định giá lại. Còn những bridge dùng “mượn relayers” kiểu cũ sẽ dần biến mất.
Dựa trên kinh nghiệm của tôi, đa ký không phải là giải pháp nếu code không được kiểm tra độc lập. Các nhà đầu tư nên hỏi: “Relayers của bạn có chạy client khác nhau không? Có cơ chế phát hiện bất thường không?” Nếu câu trả lời là “không”, hãy chuẩn bị tinh thần cho vụ hack tiếp theo.

Câu hỏi cuối: Liệu cộng đồng crypto có thực sự học được bài học này, hay chỉ chờ vụ hack tiếp theo để lại ngạc nhiên?