DeFi Protocolsintermediatearticle35 min read

Ví riêng tư trong AMM: vào lệnh lớn không trượt giá | amm riêng tư

Làm sao một amm riêng tư -- luồng lệnh AMM riêng tư dựa trên zero-knowledge proof -- giúp ví vào lệnh lớn không trượt giá. Trượt giá zk gỡ thuế front-running; defi private trade giải thích cho nhà giao dịch DeFi Việt Nam.

Vietcardano teamTeam

Đội ngũ biên tập VietCardanoCommunity — các chuyên gia blockchain và Cardano, cung cấp nội dung giáo dục và nghiên cứu chuyên sâu cho cộng đồng.

Published 31 tháng 8, 2026Updated 30 tháng 8, 2026

Minh đã giao dịch trên PancakeSwap suốt ba năm. Anh không phải người mới. Thế nhưng mỗi lần anh mua một lượng token đáng kể, giá lại dịch chuyển ngược chiều trước khi giao dịch của anh được xác nhận. Tháng trước anh mua 50 nghìn đô token vốn hoá vừa và phải trả cao hơn 8% so với mức báo giá trên giao diện. Bài viết này là cuốn cẩm nang anh cần: cách một amm riêng tư -- luồng lệnh AMM riêng tư được xây dựng trên zero-knowledge proof -- giúp một ví vào lệnh lớn mà không bị trượt giá. Không phải trượt giá bằng không theo nghĩa thần kỳ, mà là không có phần trượt giá tránh được: phần mà mempool công khai và các bot sandwich ép lên bạn trước khi lệnh của bạn khớp.

Trượt giá trên một automated market maker là hai loại chi phí mang một cái tên. Một là tác động giá trung thực: mua một lượng lớn trước một pool nông thật sự làm giá dịch chuyển. Hai là một loại thuế bòn rút: bot đọc lệnh của bạn trên mempool công khai, chạy trước (front-run) rồi hưởng lợi từ biến động giá mà bạn sắp gây ra. Chi phí đầu tiên là vật lý. Chi phí thứ hai là sự theo dõi (surveillance). Zero-knowledge proof loại bỏ chi phí thứ hai bằng cách giấu ý định của lệnh -- quy mô và mức giá giới hạn -- cho đến khi giao dịch khớp.

Cấu trúc trượt giá AMM: đường tác động giá tăng từ ~0% cho lệnh nhỏ vào vùng đỏ cho lệnh lớn; trượt giá = tác động trung thực + thuế chạy trước, ZK chỉ loại bỏ thuế

Hình 1: Cấu trúc trượt giá AMM — trượt giá là tác động giá trung thực cộng thuế chạy trước; zero-knowledge chỉ loại bỏ thuế

Cách một AMM thực sự định giá lệnh của bạn

Một pool kiểu Uniswap nắm hai dự trữ -- x đơn vị token A và y đơn vị token B -- và duy trì bất biến tích số không đổi:

` x * y = k `

Nếu bạn bán dx token A, pool giờ nắm x + dx, nên để giữ tích số không đổi, nó trả cho bạn:

` dy = (dx * y) / (x + dx) `

đơn vị token B. Giá bạn nhận được là tỷ lệ dy / dx, và đó là một tỷ lệ thay đổi. Trước lệnh của bạn pool định giá token A ở mức y / x; sau khi thêm dx vào dự trữ, nó định giá ở mức y / (x + dx). Bạn mua càng nhiều so với dự trữ, giá biên càng dịch xa khỏi điểm khởi đầu. Sự dịch chuyển đó là tác động giá, và trên một AMM tích số không đổi, nó không phải lỗi -- nó là cơ chế giữ pool cân bằng.

Một con số cụ thể cho cảm giác: pool với x = 100.000 và y = 100.000 (giá 1:1). Mua dx = 1.000 trả ra dy = 990,1 -- tác động khoảng 1%. Mua dx = 50.000 trả ra dy = 33.333 -- tác động khoảng 33%. Cùng pool, cùng công thức, kết quả khác hẳn. Tác động giá là một đường cong, và nó dốc đúng vào chỗ lệnh của bạn lớn hơn.

Hai loại trượt giá -- và trượt giá zk nằm ở đâu

Trượt giá trong giao diện swap là độ lệch tối đa so với giá báo mà bạn chấp nhận. Nó tồn tại vì giữa lúc bấm "swap" và lúc giao dịch được đưa vào block, giá có thể dịch chuyển. Dung sai 2% nghĩa là: chỉ thực thi nếu giá thực tế nằm trong phạm vi 2% của mức báo, ngược lại thì revert. Các lý do khiến giá thực tế tệ hơn chia làm hai nhóm:

  1. Tác động giá trung thực. Lệnh của bạn lớn so với pool, nên dịch chuyển giá mang tính cơ học tốn thêm vài điểm phần trăm. Đó là đường cong ở trên. Pool sâu, lệnh nhỏ, tác động không đáng kể. Pool nông, lệnh lớn, tác động đáng kể. Không ai tấn công bạn; chỉ là toán học.
  2. Bòn rút trên mempool công khai. Mọi giao dịch Ethereum nằm trong một hàng đợi công khai trước khi được đào. Bot theo dõi hàng đợi đó. Khi một lệnh mua lớn xuất hiện, bot sandwich chạy trước nó (mua trước, đẩy giá lên), để lệnh của bạn khớp ở mức giá tệ hơn, rồi chạy sau (bán lượng đã mua ở mức giá đã thổi phồng). Dung sai trượt giá của bạn là ngân sách của chúng.

Nhóm thứ hai mới là trọng tâm thực sự của tựa đề bài viết này. Một ví riêng tư vào lệnh lớn không bị trượt giá không thể chặn tác động giá trung thực -- nhưng nó có thể chặn thuế mempool, vì loại thuế đó chỉ tồn tại nếu thị trường nhìn thấy lệnh của bạn đang đến. Trượt giá zk -- bảo vệ trượt giá bằng zero-knowledge -- giấu quy mô và mức giới hạn của lệnh để cú sandwich không thể được dựng lên.

Vấn đề: ý định của bạn công khai trước khi lệnh đặt xuống

Một bot sandwich cần chính xác hai dữ kiện: rằng bạn định mua một lượng lớn, và bạn sẽ chấp nhận độ lệch giá bao nhiêu. Cả hai đều công khai ngay khi giao dịch của bạn bước vào mempool.

Sự bất đối xứng đó là trái tim của vấn đề. Kết quả khớp tệ hơn mà bạn đang cố tránh không phải do giao dịch của bạn gây ra; nó do việc công bố giao dịch gây ra. Một nhà giao dịch mua 200 nghìn đô bằng các lô nhỏ rải suốt một tiếng trả chi phí thời gian và gas. Một nhà giao dịch mua 200 nghìn đô bằng một lệnh phải trả thuế sandwich. Một cá voi mua qua môi giới OTC trả spread của nhà môi giới. Mọi nhà giao dịch lớn đều chọn giữa ba lựa chọn đắt đỏ, tất cả chỉ vì lựa chọn thứ tư -- đặt lệnh mà không để lộ nó -- trước đây không tồn tại.

Đây là nơi zero-knowledge proof thay đổi cuộc chơi. Một ZK proof cho phép bạn chứng minh một khẳng định về lệnh mà không hé lộ các giá trị đằng sau nó: "ví này có đủ số dư, tôi chỉ chấp nhận thực thi trên mức giá giới hạn của tôi, và đầu ra kỳ vọng tôn trọng dung sai trượt giá của tôi." Đó là một biên lai bạn trao cho giao thức và nó xác minh trong mili giây -- trong khi quy mô, giới hạn và dung sai vẫn riêng tư trong witness của proof.

Thực thi công khai vs riêng tư: lệnh trên mempool công khai bị tấn công sandwich với trượt giá +12%, lệnh riêng tư ZK khớp đúng giá kỳ vọng

Hình 2: Thực thi công khai vs riêng tư — cùng lệnh, cùng pool; khác biệt là thị trường có thấy lệnh không

Cách một ZK proof thay thế "tin tưởng vào pool"

Một zero-knowledge proof có hình dạng chuẩn: một prover (ví của bạn) chứng minh một khẳng định với một verifier (hợp đồng pool, hợp đồng thanh toán, hoặc một matching engine) dùng đầu vào công khai, witness riêng tư, và một mạch (circuit) mã hoá các quy tắc.

Đối với một lệnh AMM riêng tư, mạch mã hoá ba dữ kiện mà pool quan tâm:

  • Số dư. Số dư đã cam kết của ví phủ lệnh. Mạch kiểm tra balance >= amount mà verifier không thấy con số nào.
  • Dung sai trượt giá. Lệnh chỉ thực thi nếu giá thực tế lệch khỏi mức tham chiếu nhiều nhất một biên độ do nhà giao dịch chọn. Mạch tính đầu ra kỳ vọng từ dự trữ của pool và kiểm tra độ lệch so với biên độ đó -- với biên độ được giấu.
  • Định giá đúng. Swap mà giao thức thực thi dùng đúng đầu ra mà mạch đã cam kết. Đầu ra công khai của proof ràng buộc giá và quy mô; nếu thực thi trên chuỗi trả ít hơn mức tối thiểu đã cam kết, phép kiểm tra proof thất bại và giao dịch revert.

Verifier chỉ học được: tồn tại một lệnh, nhất quán với số dư của ví này, mà việc thực thi tôn trọng một biên độ giấu kín, và việc thanh toán khớp với đầu ra đã cam kết. Bot cần những con số cụ thể -- bạn đang mua bao nhiêu và bạn sẽ chịu độ lệch bao nhiêu -- và những con số đó không bao giờ xuất hiện trong proof.

Một chi tiết quan trọng: "quy mô ẩn" không phải tiền từ trên trời. Ví vẫn cần số dư để trả cho swap, và giao thức xác minh điều đó (qua một commitment và một inclusion proof). Điều ZK thêm vào là tách biệt mối quan tâm: pool thực thi các dữ kiện kinh tế mà không học các dữ kiện chiến lược.

Luồng lệnh riêng tư: từ ý định mã hoá đến swap đã khớp

Giấu ý định là một chuyện; khớp giao dịch là chuyện khác. Các lệnh AMM riêng tư chạy qua vài nhóm thực thi, thường được kết hợp:

1. Commit-and-reveal với threshold decryption. Lệnh của bạn được mã hoá và gửi vào một mempool chỉ một tập hợp phân tán các người giữ khoá có thể giải mã -- và chỉ sau khi thứ tự của block đã niêm phong (kiểu Shutter). Đến khi ai đó đọc được lệnh, không ai còn có thể front-run nó.

2. Giao thức intent-based với solver (kiểu CowSwap). Bạn ký một intent: "Tôi muốn token B với giá tối đa P mỗi token, quy mô ẩn." Các solver cạnh tranh tìm thực thi tốt nhất -- thường bù trừ lệnh của bạn với lệnh ngược của người khác, nên không pool nào bị chạm. Giải pháp thắng khớp thành một batch on-chain duy nhất, và các intent cá nhân không bao giờ được phát như những swap thô.

3. DeFi ZK-native có màn che (kiểu Aztec, Elusiv). Ví sinh một ZK proof về tính hợp lệ của lệnh, và giao thức khớp với các pool có màn che mà dự trữ là những commitment. Đây là nhóm riêng tư nhất -- ngay cả vị thế sau giao dịch cũng có thể ẩn -- đổi lại thanh khoản mỏng hơn và chi phí chứng minh cao hơn.

Cả ba chia sẻ một trục xương sống: ý định ẩn, thanh toán được batch hoặc niêm phong, giá bị chặn bởi thị trường trung thực, và lợi thế thông tin của sandwich bị loại bỏ. Defi private trade là cái tên ô bao trùm các thiết kế này -- luồng lệnh riêng tư, AMM chống MEV, thanh toán xác minh bằng ZK -- và sự quan tâm đến nó bùng nổ từ thời kỳ "Dark Forest" biến front-running thành mối lo chủ lưu.

Luồng lệnh riêng tư ZK: ví riêng tư xây ZK proof, batch solver thực thi, AMM swap on-chain, thanh toán hạ cánh ở giá bị chặn không thuế sandwich

Hình 3: Luồng lệnh riêng tư ZK — ý định ẩn, proof xác minh, chỉ tác động thật, không thuế sandwich

Đường ống đọc như sau: ví riêng tư của bạn xây proof (giấu quy mô và giới hạn), một solver tìm thực thi (đấu giá theo batch để lệnh không bao giờ hiện ra như một swap thô), hợp đồng AMM thực thi swap dự trữ thật sau khi xác minh proof, và thanh toán hạ cánh đúng mức giá proof cam kết -- bị chặn bởi thanh khoản của pool, nhưng không còn cái chân front-running.

Defi private trade ngoài đời thực: AMM riêng tư và intent-based

  • Cow Protocol khớp lệnh dưới dạng đấu giá batch trong đó các intent khớp nhau trước khi bất kỳ pool nào bị chạm. Nó không giấu lệnh bằng ZK, nhưng nó gỡ bỏ bề mặt sandwich theo cấu trúc: intent đã ký của bạn là một giới hạn, và solver chỉ khớp nó ở mức bằng hoặc tốt hơn.
  • Shutter Network cung cấp lớp mempool mã hoá ngưỡng cắm vào một AMM hoặc rollup, niêm phong thứ tự block trước khi ai đó giải mã lệnh.
  • Aztec (nền Noir) là lớp riêng tư ZK-native hàng đầu: lệnh là mạch, số dư là commitment, swap xác minh được mà không hé lộ quy mô. Noir được xây riêng cho câu "chứng minh lệnh của tôi hợp lệ mà không cần cho xem nó."
  • Elusiv cung cấp lớp chuyển tiền có màn che với quyền riêng tư ZK bao bọc tương tác AMM cho phân khúc người dùng lẻ.

Xu hướng rất rõ: ngành đang hội tụ về thanh toán intent-based (lệnh là intent riêng tư, không phải swap công khai) với ZK hoặc threshold encryption là cơ chế quyền riêng tư, và cạnh tranh solver/batch là cỗ máy thực thi. Khái niệm "amm riêng tư" ánh xạ trực tiếp vào những thiết kế này.

Giới hạn trung thực: điều ZK không thể làm

Một bài viết hay về việc tránh trượt giá phải nói rõ điều kỹ thuật không thể mang lại.

  • ZK không tạo ra thanh khoản. Tác động giá trung thực là hàm của độ sâu pool. Một lệnh 500 nghìn đô trên pool 2 triệu đô trả tác động đáng kể dù luồng lệnh riêng tư đến đâu. Quyền riêng tư giấu ý định; nó không làm sâu pool.
  • Sau giao dịch, vị thế thường hiện rõ. Trừ khi bạn ở trên một giao thức có màn che toàn phần, swap đã khớp và số dư của bạn hiện lên on-chain sau đó. Điều bạn giấu là cửa sổ ý định -- chính xác cửa sổ mà bot sandwich cần. Nhà giao dịch cần quyền riêng tư liên tục (tích luỹ, giữ kín vị thế) phải dùng nhóm có màn che.
  • Proof tốn thời gian và gas. Tạo một ZK proof mất từ vài giây đến vài phút tuỳ mạch và phần cứng; xác minh trên chuỗi thêm gas. Với một swap lẻ nhỏ, chi phí chung có thể vượt phần trượt giá tiết kiệm được.
  • Dung sai trượt giá là con dao hai lưỡi. Biên độ ẩn bảo vệ bạn cũng là một cam kết: nếu thị trường chuyển động ngược bạn trong biên độ đó, bạn vẫn khớp ở giá tệ hơn. Quyền riêng tư ngăn sự bòn rút ác ý; nó không ngăn những biến động bất lợi trung thực.
  • Pool có màn che mỏng. Những thiết kế riêng tư nhất thường có thanh khoản mỏng nhất, nên tác động trung thực có thể cao hơn một pool công khai sâu. Thực thi riêng tư là công nghệ bảo vệ, không phải công nghệ cải thiện giá.

Điều này nghĩa là gì cho nhà giao dịch DeFi Việt Nam

Hoạt động DeFi Việt Nam tập trung mạnh vào PancakeSwap trên BNB Chain cho nhà giao dịch lẻ và Uniswap/Ethereum (ngày càng nhiều trên L2) cho các lệnh lớn. Hai hành vi trông khác nhau:

  • Nhà giao dịch lẻ chấp nhận cài đặt trượt giá 1-12% (mặc định giao diện PancakeSwap khuyến khích dung sai lỏng lẻo) và thường xuyên thua bot sandwich. Với họ, luồng lệnh riêng tư là câu chuyện định giá công bằng: gỡ thuế mempool trên mỗi swap là một thắng lợi bảo vệ người tiêu dùng.
  • Cá voi và người mua kiểu OTC đối mặt bài toán chiến lược. Một người mua Việt Nam chuyển 50-200 nghìn đô vào token vốn hoá vừa thường cắt lệnh rải nhiều giờ (chậm, tốn gas) hoặc dùng môi giới OTC tính spread. Một lệnh riêng tư ZK gộp cả hai chi phí: một lệnh, giới hạn ẩn, khớp ở mức giá trung thực đã chặn. Luồng defi private trade, với người dùng này, là khoảng cách giữa trả thêm 8% và trả khoảng 1-2%.

Còn một lý lẽ thời điểm riêng cho thị trường mới nổi. Các đợt mua lớn của người Việt thường đến theo từng đợt (FOMO theo tin tức, tích luỹ tổ chức sau khi quy định rõ ràng) -- đúng lúc mempool thù địch nhất. Một ví riêng tư vào lệnh lớn trước khi làn sóng lộ ra thị trường -- trong khi mọi người vẫn đang cắt lệnh -- mua ở giá trung thực thay vì giá hoảng loạn. Không nhà giao dịch lệnh công khai nào tái tạo được lợi thế đó.

Các câu hỏi thường gặp

Lệnh riêng tư ZK có đảm bảo trượt giá bằng không không?

Không. ZK loại bỏ phần trượt giá có thể tránh -- thuế front-running/sandwich -- bằng cách giấu ý định của lệnh cho đến khi khớp. Tác động giá trung thực từ việc mua chống lại một pool hữu hạn vẫn còn, bị chặn bởi thanh khoản, không phải bởi proof. Bạn vẫn trả giá thật của thị trường, nhưng bạn không còn trả thêm thuế trên đó.

Pool xác minh số dư của tôi thế nào mà không thấy quy mô lệnh?

Qua commitment và mạch ZK. Số dư của bạn tồn tại dưới dạng một commitment mật mã; mạch chứng minh balance >= amount bằng cách tính toán trên commitment và quy mô ẩn, và verifier kiểm tra proof, không phải các con số. Cùng cỗ máy đó xác minh rằng giá thực thi tôn trọng giới hạn ẩn của bạn.

Lệnh của tôi có lộ sau khi khớp không?

Thường là có, trên các AMM chuẩn: swap và số dư kết quả hiện lên on-chain sau khi khớp. Điều còn ẩn là cửa sổ ý định trước giao dịch -- quy mô và giới hạn trước thực thi -- chính là cửa sổ bot sandwich khai thác. Nếu bạn cũng cần quyền riêng tư sau giao dịch, bạn cần một giao thức có màn che toàn phần nơi số dư cũng là commitment.

Thứ này chỉ dành cho cá voi thôi sao?

Không. Thuế sandwich mang tính luỹ thoái và đánh nặng nhà giao dịch nhỏ nhất so với vốn của họ. Nhà giao dịch lẻ trên PancakeSwap với dung sai trượt giá lỏng lẻo mất phần trăm lớn hơn của mỗi lệnh so với cá voi thực thi cẩn thận. Luồng defi private trade gỡ thuế cho mọi quy mô lệnh; chi phí proof hiện khiến nó hấp dẫn nhất từ vài nghìn đô trở lên.

Tôi có cần ví mới hay token mới để dùng thứ này không?

Không. Bạn cần một ví có thể xây proof (hoặc một relayer xây thay bạn) và một giao thức chấp nhận lệnh riêng tư. Tài sản, pool và số dư hiện có của bạn giữ nguyên. Đây là điểm khác biệt mấu chốt so với privacy coin: luồng lệnh AMM riêng tư là công nghệ xếp lớp trên DeFi hiện hữu, không phải một đồng tiền riêng.

Kết luận

Một lệnh lớn trên một AMM công khai trả một loại thuế kép giấu kín: tác động giá trung thực cộng cú sandwich chạy trước. Cái thứ nhất là giá của thanh khoản; cái thứ hai là giá của một mempool công khai công bố ý định của bạn trước khi lệnh hạ cánh. Zero-knowledge proof loại bỏ cái thứ hai. Một ví riêng tư xây một proof rằng lệnh của nó hợp lệ -- đủ số dư, biên độ trượt giá ẩn, định giá đã cam kết -- và giao thức khớp nó qua batch solver hoặc mempool mã hoá ngưỡng, để thị trường không thể phản ứng trước khi swap thực thi. Luồng amm riêng tư không kỳ diệu làm sâu pool, cũng không giấu vị thế của bạn mãi mãi, nhưng với cá voi Việt cắt lệnh vào PancakeSwap và nhà giao dịch lẻ mất 8% cho bot, nó là khoảng cách giữa giao dịch ở mức giá thật của thị trường và giao dịch ở mức giá theo dõi của thị trường.


Tham khảo nhanh

Thuộc tínhLệnh AMM công khaiLuồng lệnh riêng tư ZK
Ý định lệnh (quy mô + giới hạn)Lộ trong mempoolẨn trong ZK proof / mã hoá
Rủi ro front-running / sandwichCao (bot theo dõi hàng đợi)Đã gỡ (ý định không đọc được trước khớp)
Tác động giá trung thựcBị chặn bởi thanh khoản poolBị chặn bởi thanh khoản pool (không đổi)
Trượt giá thực sự bạn trảTác động giá + thuế bòn rútChỉ tác động giá
Xác minh số dưGiao dịch thôZK proof: balance >= amount, ẩn
Thực thi dung sai trượt giáDung sai UI (công khai)Ràng buộc mạch (biên độ ẩn)
Hiển thị sau giao dịchOn-chain, hiện rõThường hiện rõ (che toàn phần chỉ trong giao thức ZK-native)
Chi phí thêmKhôngTạo proof + gas xác minh
Nhóm thực thiSwap pool trực tiếpBatch solver / threshold decryption / pool có màn che
Phù hợp nhấtLệnh nhỏ, pool sâuLệnh vừa-lớn, mempool thù địch, mua kiểu OTC
Phù hợp Việt NamMặc định PancakeSwap lẻTích luỹ cá voi; định giá công bằng lẻ; vào trước làn sóng

Tags:

amm riêng tưtrượt giá zkdefi private trade