Quay lại Blog
Solana

Cách thu hồi quyền token trên Solana

S
Sol Slugs Team
Sol Incinerator

Bản cập nhật tiền thuê được kiểm tra ngày 3 tháng 9 năm 2026: Mọi con số tiền thuê hoặc khoản nhận cố định trên mỗi tài khoản trong bài viết cũ này đều là ví dụ lịch sử theo mức cũ 6,960 lamport trên mỗi byte, không phải báo giá hiện tại. Kích thước tài khoản, giai đoạn tiền thuê đang hoạt động, các lần rút trước, phí thao tác và chi phí mạng có thể làm thay đổi kết quả. Hãy đọc Giảm tiền thuê Solana năm 2026 và dùng bản xem trước giao dịch trực tiếp cho ví của bạn.

Việc thu hồi quyền đã là chuyện quen thuộc trên Ethereum, nơi các phê duyệt ERC-20 không giới hạn đã khiến nhiều ví bị rút cạn. Solana có một cơ chế tương đương, hoạt động theo cách khác, và bạn nên hiểu rõ những gì cơ chế này có thể và không thể làm đối với ví của mình.

Làm thế nào để thu hồi quyền token trên Solana?

Kết nối với công cụ thu hồi. Công cụ quét mọi tài khoản token thuộc sở hữu của bạn, cho biết những địa chỉ nào đã được bạn cho phép chuyển token ra ngoài và xóa các phê duyệt đó trong cùng một đợt. Hoàn toàn không có phí — việc thu hồi không thu hồi lại tiền thuê (rent), nên bạn chỉ phải trả phí mạng. Từ CLI, lệnh là spl-token revoke <TOKEN_ACCOUNT_ADDRESS>.

Bên được ủy quyền Solana thực sự là gì

Khi phê duyệt một đối tượng trên Solana, bạn đang thiết lập một bên được ủy quyền trên một tài khoản token cụ thể. Chỉ thị Approve ghi lại hai thông tin trên tài khoản đó: địa chỉ của bên được ủy quyền và số lượng được ủy quyền.

Sau đó, bên được ủy quyền có thể chuyển hoặc đốt tối đa số lượng đó từ riêng tài khoản ấy mà không cần hỏi lại bạn. Họ không thể tác động đến các tài khoản token khác, không thể vượt quá số lượng được ủy quyền và không thể di chuyển SOL của bạn.

Đây là quyền hạn thực sự và cần được xem xét nghiêm túc — bên được ủy quyền có hạn mức trên tài khoản token của bạn có thể di chuyển số token đó. Tuy nhiên, phạm vi ảnh hưởng nhỏ hơn đáng kể so với cơ chế tương đương trên Ethereum vì ba lý do về cấu trúc.

Vì sao phê duyệt Solana có phạm vi hẹp hơn Ethereum

Phê duyệt EthereumBên được ủy quyền Solana
Phạm viMọi token bạn nắm giữ thuộc hợp đồng đóMột tài khoản token
Số lượngThường không giới hạnGiới hạn cố định do bạn đặt
Nhiều bên cùng lúcCó, chúng tích lũy theo từng bên chi tiêuKhông — mỗi tài khoản chỉ có một bên được ủy quyền
Được xóa bằngMột giao dịch thu hồi rõ ràngThao tác thu hồi, hoặc đóng tài khoản

Hàng thứ ba là điểm quan trọng. Trên Ethereum, các phê duyệt chồng chất: bạn có thể cấp hạn mức cho hàng chục hợp đồng trên cùng một token, và từng hạn mức âm thầm tồn tại cho đến khi bị thu hồi. Nhiều năm sử dụng DeFi để lại một danh sách dài các phê duyệt không giới hạn bị lãng quên — đó chính là lý do công cụ thu hồi trở nên thiết yếu ở đó.

Trên Solana, mỗi tài khoản token có tối đa một bên được ủy quyền. Thiết lập bên mới sẽ ghi đè bên trước đó. Không có danh sách tích lũy — một tài khoản token hiện tại chỉ có một bên được ủy quyền, hoặc không có.

Đây là lý do Solana chưa bao giờ hình thành văn hóa dùng công cụ thu hồi như Ethereum. Rủi ro là có thật nhưng bị giới hạn và thường tự được xóa trong quá trình sử dụng ví thông thường.

Nguồn gốc của các quyền ủy quyền

Phần lớn các bên được ủy quyền trên tài khoản của bạn không có ý đồ xấu — đó là cách các tính năng Solana thông thường hoạt động:

  • Các niêm yết trên sàn NFT. Khi niêm yết một NFT, bạn thường ủy quyền cho chương trình của sàn giao dịch để giao dịch có thể thực hiện khi có người mua. Đây cũng là lý do không thể đốt NFT đang niêm yết cho đến khi bạn hủy niêm yết: ví của bạn không còn toàn quyền đơn phương đối với tài sản đó.
  • Các chương trình staking và vault. Khi nạp vào một giao thức, hệ thống thường sử dụng bên được ủy quyền thay vì chuyển quyền lưu ký.
  • NFT có thể lập trình. pNFT được giữ đóng băng với một quyền ủy quyền nhằm thực thi tiền bản quyền.
  • Phê duyệt độc hại. Trường hợp thực sự đáng lo: một trang lừa đảo đưa ra giao dịch trông giống thao tác nhận tài sản, nhưng thứ bạn ký lại là một Approve trao cho một bên được ủy quyền quyền kiểm soát token của bạn.

Điều duy nhất thao tác thu hồi không thể xóa

Mọi nội dung ở trên đều nói về bên được ủy quyền cấp tài khoản (account-level delegate) — một trường trên chính tài khoản token của bạn, do bạn sở hữu và do đó có thể xóa được.

Token-2022 đã đưa ra một quyền hạn riêng biệt và mạnh hơn: bên được ủy quyền vĩnh viễn, được thiết lập trên mint thay vì trên tài khoản của bạn. Mint có quyền này sẽ trao cho địa chỉ đó quyền chuyển và đốt đối với mọi tài khoản nắm giữ token đó mà không có giới hạn, và người nắm giữ không thể làm gì để ngăn chặn. Đây là thuộc tính của chính token chứ không phải quyền do bạn cấp, vì vậy chỉ thị Revoke không tác động đến nó và bất kỳ công cụ nào cũng vậy.

Một số token hợp pháp chủ động sử dụng tính năng này — ví dụ stablecoin được quản lý cần cơ chế thu hồi tài sản. Tuy nhiên, điều đó có nghĩa phạm vi thực tế của mọi công cụ thu hồi Solana, kể cả công cụ của chúng tôi, là các quyền bạn đã phê duyệt trên chính tài khoản của mình.

Nếu mint của token có bên được ủy quyền vĩnh viễn, cách duy nhất để loại bỏ rủi ro đó là ngừng nắm giữ token. Hãy kiểm tra mint trên trình khám phá trước khi cho rằng việc thu hồi sạch sẽ (clean revoke) đồng nghĩa không ai có thể di chuyển một số dư cụ thể.

Cách kiểm tra tài khoản nào có bên được ủy quyền

Ví không hiển thị thông tin này. Phantom và Solflare cho bạn xem số dư chứ không phải trường bên được ủy quyền trên từng tài khoản token, nên một phê duyệt bạn đã cấp hai năm trước sẽ vô hình trong giao diện bạn dùng hằng ngày.

Ba cách để xem thông tin này:

  • Công cụ thu hồi. Kết nối ví để quét mọi tài khoản token trên cả chương trình SPL Token và Token-2022, đồng thời liệt kê từng bên được ủy quyền, mint liên quan và hạn mức. Quá trình quét chỉ đọc — không cần chữ ký hay phê duyệt gì chỉ để xem.
  • Trình khám phá khối. Tra cứu địa chỉ ví của bạn, mở từng tài khoản token và kiểm tra trường ủy quyền (delegate). Trường này sẽ được hiển thị khi đã được thiết lập. Cách này khả thi với một tài khoản, nhưng sẽ rất tốn công nếu có cả trăm tài khoản.
  • CLI spl-token. spl-token account-info <TOKEN_ACCOUNT_ADDRESS> báo cáo bên được ủy quyền và số lượng được ủy quyền.

Nếu bên được ủy quyền là một sàn giao dịch bạn nhận ra và NFT hiện đang được niêm yết thì đó là điều bình thường — hãy hủy niêm yết và bên được ủy quyền sẽ bị xóa.

Hãy chú ý cột hạn mức. Các phê duyệt thường đặt hạn mức ở giá trị tối đa có thể thay vì số lượng thực sự cần thiết, công cụ sẽ hiển thị giá trị đó là Không giới hạn. Một niêm yết hợp pháp thường chỉ ủy quyền đúng một NFT; hạn mức không giới hạn trên token bạn nắm giữ nhiều là điều đáng kiểm tra kỹ.

Cách thu hồi

Từ công cụ, kết nối tại sol-incinerator.com/revoke, xem lại danh sách rồi ký. Mọi mục đã chọn được gộp vào ít giao dịch nhất có thể, nên ví có ba mươi quyền ủy quyền cũ không cần ba mươi chữ ký.

Không có phí. Thu hồi không giải phóng tiền thuê, nên không có khoản nào để khấu trừ phí — bạn chỉ trả phí giao dịch mạng, không có phí nào khác.

Từ CLI, đối với một tài khoản token cụ thể:

spl-token revoke <TOKEN_ACCOUNT_ADDRESS>

Thao tác này gọi chỉ thị Revoke của chương trình SPL Token, chỉ yêu cầu tài khoản token và chữ ký của bạn với tư cách chủ sở hữu. Chỉ thị này xóa hoàn toàn trường bên được ủy quyền. Thao tác không thể chỉ thất bại một phần và không ảnh hưởng đến số dư của bạn.

Từ ví UI, cách thông thường là xử lý gián tiếp: hủy hoặc hủy niêm yết bất cứ thứ gì đã tạo ra bên được ủy quyền ngay từ đầu. Hủy niêm yết một NFT khỏi sàn giao dịch mà bạn đã niêm yết nó sẽ xóa bên được ủy quyền của sàn giao dịch đó như một phần của chỉ thị hủy.

Thu hồi quyền của sàn giao dịch đối với một NFT đang niêm yết thực chất sẽ hủy niêm yết — sàn không còn có thể hoàn tất giao dịch bán. Đây là hành vi đúng, nhưng nếu bạn muốn tiếp tục niêm yết tài sản, hãy giữ nguyên quyền ủy quyền.

Tại sao tôi không thể thu hồi quyền trên tài khoản bị đóng băng?

Vì Solana không cho phép. Chương trình SPL Token từ chối hoàn toàn thao tác thu hồi trên tài khoản token bị đóng băng và trả về AccountFrozen — việc đóng băng tài khoản chặn cả thay đổi quyền hạn chứ không chỉ chặn chuyển token.

Điều này quan trọng hơn bạn tưởng vì trạng thái đóng băng và quyền ủy quyền thường đi cùng nhau. NFT có thể lập trình được giữ ở trạng thái đóng băng với một bên được ủy quyền nhằm thực thi tiền bản quyền, và nhiều chương trình staking đóng băng tài sản chúng nắm giữ. Vì vậy, những bên được ủy quyền bạn dễ tìm thấy nhất thường cũng chính là những bên không thể xóa trực tiếp.

Công cụ không đưa các tài khoản này vào danh sách vì trên thực tế, tài khoản bị đóng băng có bên được ủy quyền thường đang hoạt động đúng chủ đích — chẳng hạn pNFT thực thi tiền bản quyền hoặc tài sản bạn chủ động stake — chứ không phải thứ bạn cần xử lý.

Nếu bạn thực sự muốn xóa, tài khoản phải được rã đông trước. Hãy unstake, hủy niêm yết hoặc hoàn tất hành động đã khiến tài khoản bị đóng băng; sau khi rã đông, bên được ủy quyền có thể được thu hồi bình thường.

Đốt không phải là cách lách. Tài khoản bị đóng băng từ chối thao tác đốt vì cùng lý do nó từ chối thu hồi — trạng thái đóng băng chặn thao tác này chứ không chỉ chặn chuyển token — nên bạn không thể đốt tài sản để thoát khỏi quyền ủy quyền khi tài sản vẫn còn trong tài khoản bị đóng băng. Chỉ thẩm quyền đóng băng (freeze authority) mới có thể rã đông tài khoản.

Có một lý do thực tế khiến công cụ không cứ thế thử: các thao tác thu hồi được gộp vào ít giao dịch nhất có thể, nên một tài khoản bị đóng băng sẽ khiến mọi quyền ủy quyền khác trong cùng giao dịch đều thất bại. Việc loại tài khoản đó ra giúp các thao tác còn lại thành công.

Cách đầy đủ: đóng tài khoản

Đây là phần thường bị bỏ sót. Bên được ủy quyền là một trường được lưu trên tài khoản token. Không còn tài khoản thì cũng không còn bên được ủy quyền.

Vì vậy, nếu đó là token mà dù sao bạn cũng không muốn giữ — token rác, memecoin đã chết hoặc token scam airdrop đã dụ bạn ký gì đó — thì việc đốt token và đóng tài khoản sẽ đồng thời xóa vĩnh viễn bên được ủy quyền như một tác dụng phụ. Bạn không hẳn là đang thu hồi quyền mà là đang xóa bỏ thứ mà quyền đó áp dụng lên. Và khác với việc chỉ thu hồi, đóng tài khoản sẽ hoàn trả ~0.00204 SOL khoản tiền thuê mà tài khoản đang giữ.

Điều đó khiến việc dọn dẹp trở thành phản hồi triệt để hơn cho bất kỳ token nào bạn không có ý định giữ lại:

Hành độngXóa bên được ủy quyềnGiữ lại tokenHoàn trả SOL
Thu hồiKhông
Đốt + đóng tài khoảnKhông0.002 SOL

Hãy thu hồi khi bạn muốn giữ token. Hãy đốt và đóng tài khoản khi không muốn giữ.

Nếu cho rằng mình đã ký một giao dịch độc hại, chỉ thu hồi quyền là chưa đủ. Bên được ủy quyền chỉ là một trong nhiều thứ mà kẻ tấn công có thể đã lấy được; nếu cụm từ hạt giống của bạn bị lộ thì không hành động on-chain nào có thể giúp được. Trước tiên, hãy chuyển tài sản có giá trị sang một ví mới, rồi mới xử lý ví đã bị xâm phạm.

Mô hình mối đe dọa thực tế

Đối với hầu hết mọi người, tóm tắt trung thực là: hãy kiểm tra các bên được ủy quyền nếu bạn đã ký điều gì đó khiến mình hối tiếc, hủy niêm yết mọi tài sản không còn muốn rao bán và dọn sạch token rác mà các phê duyệt độc hại thường gắn vào.

Thiết kế của Solana có nghĩa bạn không mang theo nhiều năm phê duyệt không giới hạn tích lũy như ví Ethereum. Thứ mà bạn có thể đang mang theo là vài trăm tài khoản token bị bỏ quên, mỗi tài khoản chứa một khoản tiền gửi có thể hoàn lại — có giá trị thực và chỉ mất khoảng một phút để thu hồi.

Thu hồi quyền ủy quyền

Thu hồi quyền ủy quyền

Quét ví để tìm và xóa các bên được ủy quyền ở cấp tài khoản mà bạn đã phê duyệt. Không có phí — bạn chỉ trả phí mạng.

Dùng thử ngay

Bài viết liên quan

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

Làm thế nào để thu hồi quyền token trên Solana?

Sử dụng chỉ thị Revoke của chương trình SPL Token đối với tài khoản token đã thiết lập bên được ủy quyền. Thao tác chỉ yêu cầu tài khoản token và chữ ký của bạn với tư cách chủ sở hữu. Trên dòng lệnh, dùng spl-token revoke, sau đó nhập địa chỉ tài khoản token.

Bên được ủy quyền trên tài khoản token Solana là gì?

Bên được ủy quyền là địa chỉ mà bạn cho phép chuyển hoặc đốt tối đa một số lượng nhất định từ một tài khoản token cụ thể. Sàn giao dịch dùng quyền ủy quyền cho các niêm yết NFT, còn chương trình staking dùng quyền này cho các khoản nạp. Mỗi tài khoản token chỉ có thể có một bên được ủy quyền tại một thời điểm.

Phê duyệt Solana có rủi ro như phê duyệt Ethereum không?

Phạm vi của chúng hẹp hơn. Bên được ủy quyền Solana chỉ áp dụng cho một tài khoản token với giới hạn số lượng cố định; việc phê duyệt bên mới sẽ thay thế bên cũ thay vì cộng dồn. Phê duyệt trên Ethereum áp dụng theo hợp đồng token, thường không giới hạn và tích lũy vô thời hạn.

Đóng tài khoản token có xóa bên được ủy quyền không?

Có, hoàn toàn. Bên được ủy quyền là một trường lưu trên tài khoản token, nên khi tài khoản bị đóng, bên được ủy quyền cũng chấm dứt tồn tại cùng với nó. Việc đốt token không mong muốn và đóng tài khoản sẽ loại bỏ mọi bên được ủy quyền như một tác dụng phụ.

Làm sao biết tài khoản token đã thiết lập bên được ủy quyền?

Tra cứu địa chỉ của bạn trên trình khám phá khối và kiểm tra từng tài khoản token, nơi trường ủy quyền (delegate) sẽ xuất hiện nếu đã được thiết lập. CLI spl-token cũng báo cáo thông tin này, và bất kỳ ví nào hiển thị dữ liệu tài khoản thô đều sẽ cho thấy cùng trường đó.

Tại sao tôi không thể thu hồi quyền trên tài khoản token bị đóng băng?

Chương trình SPL Token từ chối thao tác thu hồi trên tài khoản bị đóng băng và trả về lỗi AccountFrozen, vì trạng thái đóng băng chặn cả thay đổi quyền hạn chứ không chỉ chuyển token. NFT có thể lập trình và tài sản đang stake thường bị đóng băng. Tài khoản phải được rã đông trước khi có thể xóa bên được ủy quyền; đốt cũng không phải cách lách vì tài khoản bị đóng băng cũng từ chối thao tác đốt.

Thao tác thu hồi có thể xóa bên được ủy quyền vĩnh viễn của Token-2022 không?

Không. Bên được ủy quyền vĩnh viễn được thiết lập trên mint thay vì tài khoản token của bạn và có quyền chuyển, đốt đối với mọi tài khoản nắm giữ token đó. Đây là thuộc tính của chính token nên không chỉ thị thu hồi nào có thể xóa được. Cách duy nhất để loại bỏ rủi ro này là ngừng nắm giữ token.

Cách thu hồi quyền token trên Solana | Sol Incinerator