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

Polymarket V2 ra mắt, Lệnh ma đã được sửa chưa?

Asher
Odaily资深作者
@Asher_0210
2026-04-29 01:04
Bài viết này có khoảng 2471 từ, đọc toàn bộ bài viết mất khoảng 4 phút
Thị trường dự đoán có thể giao dịch tương lai, nhưng hệ thống giao dịch không thể biến "đã khớp lệnh chưa" cũng thành một cuộc dự đoán.
Tóm tắt AI
Mở rộng
  • Quan điểm chính: Bản nâng cấp V2 của Polymarket đã loại bỏ nguyên nhân chính (cơ chế nonce) dẫn đến vấn đề "lệnh ma", nhưng chưa triệt tiêu hoàn toàn vấn đề này; miễn là mô hình khớp lệnh ngoài chuỗi và thanh toán trên chuỗi không thay đổi, sự không chắc chắn của lệnh vẫn không thể được loại bỏ hoàn toàn.
  • Các yếu tố chính:
    1. "Lệnh ma" chỉ những lệnh hiển thị đã khớp ngoài chuỗi nhưng cuối cùng không được thanh toán trên chuỗi, nguyên nhân chính là do sự chênh lệch thời gian giữa khớp lệnh ngoài chuỗi và thanh toán trên chuỗi.
    2. Trong phiên bản V1, kẻ tấn công có thể sử dụng cơ chế incrementNonce với chi phí gas rất thấp để vô hiệu hóa các lệnh đã khớp trên chuỗi, dẫn đến kết quả giao dịch của người dùng không ổn định.
    3. V2 đã loại bỏ cơ chế nonce toàn cục, thay bằng cách hủy lệnh dựa trên order hash đơn lẻ, giảm đáng kể phạm vi ảnh hưởng và không gian lợi nhuận của kẻ tấn công khi phá hủy hàng loạt lệnh treo.
    4. Mặc dù V2 đã sửa chữa con đường tấn công rõ ràng nhất, nhưng sự khác biệt về trạng thái (số dư, ủy quyền, thực thi hợp đồng, v.v.) giữa ngoài chuỗi và trên chuỗi vẫn tồn tại, các điều kiện cơ bản tạo ra "lệnh ma" không thay đổi.
    5. Các cập nhật khác bao gồm việc giới thiệu stablecoin thế chấp PUSD, SDK CLOB-Client phiên bản mới và hỗ trợ chữ ký 1271, nhằm nâng cao tính ổn định của hệ thống và khả năng kết nối của các tổ chức.

Sáng tác: Odaily Planet Daily (@OdailyChina)

Tác giả: Asher (@Asher_ 0210)

Tối qua, Polymarket bước vào cửa sổ bảo trì, tạm dừng giao dịch và xóa sổ lệnh, sau đó chính thức ra mắt CLOB V2.

Theo thông tin được tiết lộ trước đó từ đội ngũ phát triển, lần nâng cấp này bao gồm hợp đồng mới, sổ lệnh mới, token thế chấp mới Polymarket USD, và SDK CLOB-Client phiên bản mới. Đối với người dùng, những thay đổi như PUSD, SDK, cấu trúc lệnh có thể chưa được cảm nhận rõ ràng ngay lập tức. Điều thực sự đáng chú ý ngay từ đầu, chính là vấn đề Ghost Fills vốn tồn tại lâu nay trên Polymarket, hay còn được cộng đồng gọi là 'lệnh ma'.

V2 đã thực sự giải quyết vấn đề này. Cơ chế nonce trước đây dễ bị lợi dụng nhất đã bị loại bỏ, cấu trúc lệnh và cách hủy lệnh cũng đã thay đổi. Tuy nhiên, điều này không có nghĩa là lệnh ma đã hoàn toàn biến mất, bởi vì mô hình giao dịch cốt lõi của Polymarket vẫn là khớp lệnh ngoài chuỗi và thanh toán trên chuỗi, chỉ cần tồn tại độ trễ thời gian giữa hai bước này, các vấn đề tương tự khó có thể bị triệt tiêu hoàn toàn.

Lệnh hiển thị đã khớp, nhưng tại sao cuối cùng lại thất bại?

Cái gọi là lệnh ma, nói một cách đơn giản là một lệnh trông như đã được khớp thành công ngoài chuỗi, nhưng cuối cùng không được thanh toán hoàn tất trên chuỗi.

Polymarket sử dụng mô hình khớp lệnh dựa trên sổ lệnh ngoài chuỗi, sau đó quay lại chuỗi để hoàn tất thanh toán. Ưu điểm của thiết kế này rất rõ ràng: tốc độ giao dịch nhanh hơn, chi phí thấp hơn, và phù hợp hơn với các thị trường dự đoán có chu kỳ ngắn, tần suất cao như thị trường 5 phút.

Vấn đề cũng nằm ở chính độ trễ thời gian này. Sổ lệnh ngoài chuỗi đã hiển thị khớp lệnh, không có nghĩa là thanh toán trên chuỗi chắc chắn thành công. Trong một số thị trường chu kỳ ngắn, người dùng có thể thấy lệnh đã hiển thị được khớp và nghĩ rằng mình đã mua được hướng tương ứng; nhưng đến khi giao dịch thực sự được gửi lên chuỗi, việc thanh toán lại thất bại. Giao dịch trông như đã hoàn tất giây trước, giây sau lại bị hệ thống thu hồi.

Đối với người dùng, điểm khó chịu nhất của trải nghiệm này không chỉ đơn thuần là thất bại, mà còn là sự không chắc chắn. Cứ ngỡ đã mua hoặc bán thành công, nhưng cuối cùng lại không khớp; đến khi đặt lệnh lại, giá có thể đã thay đổi, và cơ hội giao dịch cũng đã bị bỏ lỡ.

Vấn đề của phiên bản cũ: Chi phí hủy lệnh quá thấp

Trong V1, một trong những con đường dễ bị lợi dụng nhất của lệnh ma đến từ incrementNonce. Nonce có thể được hiểu là mã định danh trạng thái trong lệnh. Ban đầu nó được thiết kế để giúp hệ thống quản lý lệnh, nhưng trong phiên bản cũ, kẻ tấn công có thể gọi incrementNonce để làm cho các lệnh mang nonce cũ từ một địa chỉ nhất định bị vô hiệu hóa khi thanh toán trên chuỗi.

Điều này tạo ra một khoảng trống thời gian cho kẻ tấn công thao túng. Kẻ tấn công có thể để lệnh khớp ngoài chuỗi trước, khiến hệ thống hiển thị 'giao dịch đã xảy ra'; sau đó, trước khi thanh toán thực sự được đưa lên chuỗi, chúng cập nhật nonce, khiến các lệnh này cuối cùng không được thực thi. Kết quả là, một giao dịch tưởng chừng đã hoàn tất, cuối cùng lại không được ghi nhận thực sự trên chuỗi.

Mấu chốt của vấn đề là chi phí cho thao tác này cực kỳ thấp, nhưng lại có thể ảnh hưởng đến một loạt lệnh. Kẻ tấn công chỉ cần trả một chi phí gas rất thấp để khiến các lệnh đáng lẽ phải được khớp bị thất bại trong giai đoạn thanh toán. Phía người dùng thấy lệnh đầu tiên được khớp, sau đó thất bại; điều này thực tế gây ra sự bất ổn định trong kết quả giao dịch, thậm chí khiến người dùng bỏ lỡ mức giá và cơ hội giao dịch ban đầu.

Vấn đề lệnh ma không chỉ đơn giản là lỗi hiển thị frontend, cũng không phải là lỗi trên chuỗi ngẫu nhiên, mà là một vấn đề ảnh hưởng trực tiếp đến niềm tin của người dùng vào kết quả giao dịch.

V2 đã sửa chữa, nhưng chưa phải là triệt để

Thay đổi quan trọng nhất của V2 lần này là loại bỏ thiết kế nonce toàn cục trước đây. Nói cách khác, con đường trước đây có thể ảnh hưởng đến hàng loạt lệnh cũ thông qua incrementNonce đã bị chặn lại. Đồng thời, V2 đơn giản hóa cấu trúc lệnh, và việc hủy lệnh cũng chuyển sang sử dụng order hash chi tiết cho từng lệnh. So với phiên bản cũ, phạm vi ảnh hưởng của việc hủy lệnh đã bị thu hẹp đáng kể, khiến kẻ tấn công khó có thể phá hủy hàng loạt lệnh chờ chỉ bằng một thao tác chi phí thấp.

Đây là một bước sửa chữa thực chất cho vấn đề lệnh ma. Vấn đề trước đây nằm ở chỗ chi phí tấn công thấp, phạm vi ảnh hưởng lớn, và ngưỡng để tái tạo cũng không cao. Sau V2, con đường dễ bị lợi dụng nhất đã bị loại bỏ. Nếu kẻ tấn công muốn tiếp tục tạo ra các vấn đề tương tự, chúng sẽ phải trả chi phí cao hơn và phụ thuộc nhiều hơn vào phản hồi cụ thể của hệ thống. Ngoài ra, việc thêm độ trễ vào các cơ chế như pauseUser cũng nhằm giảm khả năng một số thay đổi trạng thái bị lạm dụng ngay lập tức trong cửa sổ khớp lệnh và thanh toán.

Nhìn chung, hướng đi của V2 khá rõ ràng: trước tiên xử lý các khâu dễ bị kẻ tấn công lợi dụng nhất, sau đó giảm không gian lợi nhuận cho các cuộc tấn công tương tự.

Tuy nhiên, điều này vẫn chưa thể đồng nghĩa với việc lệnh ma đã được giải quyết triệt để. Nguyên nhân là Polymarket vẫn chưa thay đổi mô hình cơ bản là khớp lệnh ngoài chuỗi và thanh toán trên chuỗi. Chỉ cần các lệnh không được khớp và thanh toán trong cùng một môi trường, thì luôn tồn tại sự khác biệt trạng thái giữa ngoài chuỗi và trên chuỗi. Sự thay đổi số dư, vấn đề ủy quyền, thay đổi trạng thái lệnh, hành vi hủy lệnh hoặc hợp đồng thực thi thất bại, tất cả đều có thể khiến một lệnh đã khớp ngoài chuỗi cuối cùng không thể được ghi nhận trên chuỗi.

Nói cách khác, V2 giải quyết con đường tấn công rõ ràng nhất và dễ bị lợi dụng nhất trong phiên bản cũ, chứ không phải là các điều kiện cơ bản phát sinh lệnh ma.

Các cập nhật khác, chủ yếu là củng cố nền tảng cho hệ thống giao dịch

Ngoài lệnh ma, V2 còn mang đến các cập nhật như PUSD, SDK và chữ ký 1271:

  • PUSD là stablecoin thế chấp mới, Polymarket chuyển từ USDC.e sang Polymarket USD được hỗ trợ 1:1 bởi USDC. Người dùng thông thường hầu như không có cảm giác khác biệt, nhưng việc xử lý tài sản cơ bản sẽ thống nhất hơn;
  • SDK CLOB-Client phiên bản mới chủ yếu hướng đến các nhà tạo lập thị trường, bot và các bên tích hợp hệ thống. Sau V2, những người dùng liên quan cần nâng cấp client và ký lại lệnh bằng cấu trúc lệnh mới;
  • Hỗ trợ chữ ký 1271 cho phép ví hợp đồng thông minh, ví đa chữ ký, tài khoản tổ chức và các ví bot phức tạp hơn có thể kết nối liền mạch với Polymarket.

Nhìn chung, Polymarket không chỉ đơn giản là vá một lỗ hổng, mà đang tự biến mình từ một ứng dụng thị trường dự đoán thành một hệ thống cơ sở gần giống với sàn giao dịch hơn. Khi các nhà tạo lập thị trường, người dùng API và nhà giao dịch tự động ngày càng nhiều, việc các lệnh có thể được khớp, thanh toán và quy đổi một cách ổn định sẽ trở nên quan trọng hơn việc 'thị trường có đủ thú vị hay không'.

V2 không phải là điểm kết thúc, mà là sự khởi đầu của quá trình sửa chữa liên tục

Sau khi V2 ra mắt, Polymarket ít nhất đã chặn được một trong những con đường tấn công rõ ràng nhất của lệnh ma. Cách thức hủy lệnh chi phí thấp, ảnh hưởng hàng loạt lệnh trong quá khứ khó có thể tái diễn y nguyên. Đối với một nền tảng giao dịch đang mở rộng nhanh chóng, đây là bước phải thực hiện.

Tuy nhiên, căn nguyên đằng sau lệnh ma sẽ không hoàn toàn biến mất chỉ sau một lần nâng cấp phiên bản. Chỉ cần Polymarket vẫn áp dụng mô hình khớp lệnh ngoài chuỗi và thanh toán trên chuỗi, hệ thống sẽ cần liên tục xử lý sự khác biệt giữa trạng thái ngoài chuỗi và kết quả trên chuỗi. V2 giống như bước đầu tiên hơn – trước tiên giải quyết các vấn đề rõ ràng nhất, dễ bị lợi dụng nhất, sau đó tiếp tục bổ sung khả năng khớp lệnh, thanh toán, giám sát và quản lý rủi ro thông qua các bản cập nhật tiếp theo.

Thị trường dự đoán vốn dĩ là nơi giao dịch sự không chắc chắn, nếu ngay cả bản thân lệnh cũng đầy rẫy sự không chắc chắn, thì người dùng không chỉ đối mặt với rủi ro thị trường, mà còn là rủi ro hệ thống.

Bài viết liên quan

Polymarket bị kẹt lại: Bài kiểm tra thực sự khi vượt qua cơn sốt lưu lượng đã đến

thị trường dự đoá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
Tìm kiếm
Mục lục bài viết
Tải ứng dụng Odaily Nhật Báo Hành Tinh
Hãy để một số người hiểu Web3.0 trước
IOS
Android