Tác động của oracle đối với các giao thức DeFi khi các cuộc tấn công cho vay chớp nhoáng gia tăng?
Tuyển chọn TechFlowTuyển chọn TechFlow
Tác động của oracle đối với các giao thức DeFi khi các cuộc tấn công cho vay chớp nhoáng gia tăng?
Hacker đã sử dụng khoản vay chớp (flash loan) để tấn công các giao thức DeFi như thế nào?
Tác giả: Zheng Zheng, TechFlow
Vài ngày trước, dự án DeFi Mango trên hệ sinh thái Solana đã bị tấn công bằng flash loan, thiệt hại hơn 100 triệu USD. Theo thông tin, hacker đã thao túng giá của oracle để rút cạn thanh khoản khỏi giao thức Mango.
Hôm nay chúng ta sẽ cùng tìm hiểu về flash loan là gì, cách hacker sử dụng flash loan để tấn công các giao thức DeFi, cũng như tầm quan trọng của oracle đối với các giao thức DeFi.
01 Sáng tạo tài chính trong thế giới blockchain — Flash Loan
Flash loan ban đầu được ngân hàng Marble đề xuất, Marble tuyên bố rằng «flash loan có thể giúp các nhà giao dịch vay tiền từ ngân hàng Marble, mua coin tại một DEX (sàn giao dịch phi tập trung), sau đó bán token ở một DEX khác với giá cao hơn, chỉ qua một giao dịch tự động bạn đã thu lợi nhuận chênh lệch về tay.»

Nguyên lý hoạt động của flash loan như sau:
1. Người dùng vay một lượng lớn tiền từ giao thức mà không cần thế chấp;
2. Người dùng có thể sử dụng số tiền này để thực hiện bất kỳ thao tác nào có lợi cho bản thân (ví dụ như chênh lệch giá, dùng làm vốn cầu nối, thao túng giá để kiếm lời...);
3. Cuối cùng người dùng phải hoàn trả cả gốc và lãi cho giao thức. Nếu lúc này người dùng không đủ tiền để hoàn trả, toàn bộ thao tác sẽ bị hoàn nguyên (rollback), đảm bảo nguồn vốn của giao thức không bị tổn thất.

Cơ chế flash loan được đảm bảo bởi tính nguyên tử (atomicity) của hợp đồng thông minh, nghĩa là các thao tác trên đây là một giao dịch có tính nguyên tử – hoặc thành công toàn bộ, hoặc thất bại toàn bộ, không xảy ra tình trạng chỉ một phần thành công.
Do đó, nếu tất cả các bước đều thành công, toàn bộ quá trình flash loan được coi là hoàn tất; giao thức thu được lợi tức nhờ việc cho vay và thu hồi vốn, còn người dùng kiếm được lợi nhuận thông qua nhiều hình thức khác nhau từ việc vận hành số tiền lớn này. Ngược lại, nếu trong quá trình sử dụng vốn, người dùng không đạt được lợi nhuận như kỳ vọng mà còn bị lỗ, dẫn đến số tiền vay bị hao hụt và không thể hoàn trả đầy đủ, thì toàn bộ thao tác sẽ thất bại – ngoài việc mất phí gas, nguồn vốn của giao thức vẫn được đảm bảo an toàn.
Theo nguyên lý của flash loan, ta thấy rằng để toàn bộ thao tác diễn ra suôn sẻ, mấu chốt nằm ở chỗ người dùng phải làm sao tận dụng số tiền này để kiếm lời trong thời gian ngắn.
Khi flash loan phát triển, công cụ cho vay không cần thế chấp và tiếp cận nhanh chóng lượng lớn vốn này sau khi được thử nghiệm theo nhiều cách, đột nhiên bị phát hiện là phương tiện mang lại lợi nhuận lớn nhất cho hacker. Tiếp theo, hãy cùng xem cách hacker sử dụng flash loan để kiếm lời.
02 Flash loan trở thành công cụ kiếm lời cho hacker như thế nào?
Thế giới blockchain hiện tại giống như một khu rừng đen tối, tiềm ẩn vô số rủi ro, và hacker rõ ràng là những kẻ săn mồi tham lam, luôn tìm kiếm hoặc tạo ra cơ hội sinh lời.
Flash loan – công cụ cho vay không cần thế chấp và tiếp cận lượng lớn vốn – rõ ràng đáp ứng nhu cầu của hacker muốn sử dụng nguồn vốn lớn với rủi ro thấp để thao túng giá. Hiện nay, phần lớn các vụ tấn công giao thức DeFi bằng flash loan đều thông qua thao túng giá, vì vậy chúng ta sẽ dùng ví dụ dưới đây để minh họa.

1. Hacker vay một lượng lớn vốn từ giao thức cho vay;
2. Chuẩn bị sẵn một lượng coin liên quan trong giao thức DeFi;
3. Sử dụng lượng vốn lớn để đẩy giá coin liên quan lên cao tại DEX;
4. Giá bị thao túng được truyền tới giao thức DeFi thông qua oracle;
5. Sau khi nhận được giá từ oracle, giao thức DeFi cho phép hacker thế chấp lượng coin đã chuẩn bị trước đó theo mức giá bị thao túng để vay được lượng lớn vốn;
6. Hacker hoàn trả vốn gốc cho giao thức cho vay, mang theo phần vốn còn lại bỏ đi – như vậy là hoàn thành một vụ tấn công flash loan kiểu «vay không vốn».
Ta có thể thấy rằng điểm then chốt trong quy trình này là giao thức DeFi nhận được giá bị thao túng từ oracle, dẫn đến việc cho vay sai lệch.
Tuy nhiên, giá trong các giao thức DeFi thường đến từ dữ liệu giá của oracle, do đó việc oracle cung cấp giá chính xác trở thành nền tảng an toàn cho các giao thức DeFi.
03 Pyth – Mạng lưới oracle độ trung thực cao trên chuỗi
Trong sự kiện bị đánh cắp của Mango, ta thấy cả đội ngũ Mango và CEO của họ đều đề cập đến ảnh hưởng của oracle trong sự việc, và khẳng định báo giá của oracle không có gì bất thường.

Trong đó, chúng ta thấy xuất hiện oracle Pyth. Vậy điều bí mật nào ẩn chứa trong oracle này? Hãy cùng khám phá ngay bây giờ.
Bối cảnh ẩn giấu của Pyth
Sau quá trình sàng lọc thông tin kỹ lưỡng, ban đầu xác định Jump Crypto có thể là nhà tài trợ và người xây dựng phía sau Pyth. Jump Crypto là bộ phận đầu tư mã hóa được thành lập bởi Jump Trading – gã khổng lồ trong lĩnh vực giao dịch tần suất cao, từng tham gia vòng gọi vốn rất hot gần đây của Aptos.
Đối với giao dịch tần suất cao, thông tin giá kịp thời và chính xác rõ ràng là yếu tố then chốt để chiến thắng. Jump thậm chí còn theo đuổi tốc độ mạng ở mức cực đoan. Ví dụ năm 2018, để thu thập nhanh hơn giá tương lai từ các thị trường khác nhau, Jump cùng với Citadel và năm nhà giao dịch tần suất cao khác đã cùng nhau lắp đặt một cáp quang biển kết nối Chicago và Tokyo mang tên "Go West".
Trong phần giới thiệu chính thức của Jump Crypto, họ dành khá nhiều nội dung để nói về Pyth, đồng thời trực tiếp thừa nhận Jump tham gia vào việc viết mã cho Pyth. Họ còn tận dụng nguồn lực của mình để đưa nhiều sàn giao dịch tài chính và sàn tiền mã hóa trở thành nhà cung cấp dữ liệu cho mạng Pyth.

Mô hình vận hành của Pyth
Trong mạng Pyth có ba vai trò:
-
Nhà phát hành (Publisher): chịu trách nhiệm cung cấp dữ liệu giá, và nhận một phần phí dữ liệu làm phần thưởng. Nhà phát hành thường là những bên tham gia thị trường có thể tiếp cận thông tin giá chính xác và kịp thời. Giao thức Pyth sẽ thưởng cho nhà phát hành theo tỷ lệ số lượng thông tin giá mới mà họ cung cấp.
-
Người tiêu dùng (Consumer): đọc dữ liệu giá, tích hợp dữ liệu vào hợp đồng thông minh hoặc ứng dụng phi tập trung, và có thể chọn trả phí dữ liệu. Người tiêu dùng có thể là giao thức trên chuỗi hoặc ứng dụng ngoài chuỗi.
-
Người ủy quyền (Delegator): đặt cược token để kiếm phí dữ liệu, nhưng đổi lại nếu giá oracle không chính xác, họ có thể mất toàn bộ token đã đặt cược.
Ba vai trò này có thể tương tác trong mạng Pyth thông qua bốn cơ chế sau:
-
Cơ chế tổng hợp giá (Price aggregation): tổng hợp dữ liệu giá từ từng nhà phát hành thành một giá duy nhất cho sản phẩm. Cơ chế này nhằm tạo ra dữ liệu giá ổn định, nghĩa là giá sẽ không bị ảnh hưởng đáng kể bởi một vài nhà phát hành đơn lẻ.
-
Cơ chế đặt cược dữ liệu (Data staking): cho phép người ủy quyền kiếm phí dữ liệu bằng cách đặt cược token. Tổng thể, người ủy quyền cũng quyết định mức độ ảnh hưởng của từng nhà phát hành đến giá tổng hợp thông qua việc đặt cược token. Ngoài ra, cơ chế này sẽ xác định liệu token đặt cược của người ủy quyền có bị phạt slash hay không. Cuối cùng, cơ chế này thu phí dữ liệu từ người tiêu dùng và phân bổ một phần phí cho người ủy quyền. Phần còn lại sẽ vào quỹ thưởng, dùng để phân phối cho nhà phát hành.
-
Cơ chế phân phối thưởng (Reward distribution): quyết định phần thưởng mỗi nhà phát hành dữ liệu nhận được từ quỹ thưởng. Cơ chế này ưu tiên thưởng cho các nhà phát hành cung cấp dữ liệu giá chất lượng cao, đồng thời giảm khả năng nhận thưởng cho các nhà phát hành cung cấp thông tin chất lượng thấp.
-
Cơ chế quản trị (Governance): quyết định các tham số cấp cao cho ba cơ chế trên.

Tóm lại, nhà phát hành cung cấp dữ liệu giá cho mạng lưới, người tiêu dùng có thể chọn trả phí như một dạng bảo hiểm để đảm bảo độ chính xác thông tin nhận được, còn người ủy quyền đóng vai trò là bên bảo lãnh cho dữ liệu giá. Nếu xuất hiện dữ liệu giá sai lệch nghiêm trọng so với thực tế, người ủy quyền phải bồi thường cho người tiêu dùng đã trả phí.
Đồng thời, trong toàn bộ mô hình này, việc khớp giá cuối cùng và các biện pháp phòng ngừa hành vi xấu cho thấy sự chuyên nghiệp và tâm huyết mà Jump đầu tư vào Pyth. Những ai quan tâm sâu hơn có thể nghiên cứu thêm sách trắng của Pyth.
Phân bổ token PYTH: Tổng nguồn cung token PYTH là 10.000.000.000, không tăng thêm. 85% token ban đầu bị khóa trong hợp đồng. Số token này có thời gian khóa 1 năm, sau đó được mở khóa tuyến tính hàng tháng trong 7 năm. Điều này sẽ dần tăng nguồn cung token chưa bị khóa theo thời gian. 15% token PYTH còn lại ban đầu ở trạng thái không bị khóa. Token bị khóa/không bị khóa sẽ được phân bổ theo phân loại như hình dưới đây.

Những vấn đề và rủi ro tiềm ẩn của Pyth
Hiện tại token Pyth chưa được phát hành, do đó ảnh hưởng của toàn bộ mô hình kinh tế vẫn chưa thể hiện rõ. Nhưng xét theo mô hình hiện tại của Pyth, doanh thu của giao thức đến từ phí người tiêu dùng trả, và khoản phí này chỉ đóng vai trò như một khoản bảo hiểm – người tiêu dùng dù không trả phí vẫn có thể tiếp cận dữ liệu giá thời gian thực của Pyth. Vì vậy, sau khi ra mắt token, liệu người tiêu dùng có sẵn sàng trả phí, tỷ lệ trả phí là bao nhiêu sẽ trở thành yếu tố then chốt quyết định khả năng sinh lời của giao thức.
Dĩ nhiên, sau này Pyth cũng có thể hạn chế chỉ cho phép người dùng trả phí mới được dùng dịch vụ, nhưng trong trường hợp đó, liệu người tiêu dùng có chuyển sang dùng oracle khác hay không cũng là một câu hỏi còn bỏ ngỏ.
Tổng kết
Với sự hỗ trợ từ Jump, Pyth so với các oracle khác có lợi thế từ hiểu biết sâu sắc và kinh nghiệm liên quan đến giao dịch tần suất cao của Jump. Tuy nhiên, mô hình này có hiệu quả trong thế giới Web3 hay không, thì cần chờ thực tiễn kiểm chứng.
Chào mừng tham gia cộng đồng chính thức TechFlow
Nhóm Telegram:https://t.me/TechFlowDaily
Tài khoản Twitter chính thức:https://x.com/TechFlowPost
Tài khoản Twitter tiếng Anh:https://x.com/BlockFlow_News














