Cơ chế phê duyệt là gì?
Cơ chế phê duyệt là hệ thống cấp quyền trong crypto, cho phép người dùng ủy quyền cho smart contract, ví, giao thức hoặc đơn vị vận hành thực hiện một hành động cụ thể thay mặt mình.Trong phần lớn các cuộc thảo luận về crypto, cơ chế phê duyệt thường đề cập đến việc phê duyệt token trên các blockchain có smart contract.Việc phê duyệt token cho phép một địa chỉ khác, thường là smart contract, chi tiêu hoặc quản lý token của người dùng theo các quy tắc do tiêu chuẩn token quy định.Ví dụ phổ biến nhất là cơ chế phê duyệt ERC-20. Người nắm giữ token gọi approve() để cấp quyền cho một bên chi tiêu chuyển một lượng token nhất định thông qua transferFrom().Tiêu chuẩn token ERC-20 chính thức nêu rằng tiêu chuẩn này cho phép phê duyệt token để một bên thứ ba khác trên chuỗi có thể chi tiêu token.
Cơ chế này được sử dụng rộng rãi vì nhiều ứng dụng crypto cần có quyền chuyển token sau khi người dùng phê duyệt quyền truy cập đó.Ví dụ, ứng dụng cho vay có thể cần được phê duyệt trước khi nạp stablecoin của người dùng vào một pool.Ứng dụng giao dịch có thể cần được phê duyệt trước khi hoán đổi token của người dùng.Sàn giao dịch NFT có thể cần được phê duyệt trước khi chuyển NFT sau một giao dịch bán.Hợp đồng staking có thể cần được phê duyệt trước khi chuyển token staking vào hợp đồng.Cơ chế phê duyệt hữu ích vì tách biệt quyền cấp phép với việc chuyển tài sản thực tế.Người dùng có thể phê duyệt trước, sau đó ứng dụng gọi hàm chuyển hoặc quản lý khi người dùng thực hiện hành động tiếp theo.Thiết kế này tăng tính linh hoạt nhưng cũng tạo ra một trong những rủi ro bảo mật ví quan trọng nhất trong crypto.Vì sao cơ chế phê duyệt quan trọng trong crypto?
Cơ chế phê duyệt quan trọng vì người dùng crypto tương tác trực tiếp với smart contract.Khi người dùng kết nối ví với một ứng dụng, ứng dụng thường không thể tự lấy token nếu người dùng chưa ký giao dịch hoặc cấp quyền.Phê duyệt là một trong những cách chính để cấp quyền đó.Vì vậy, phê duyệt là thành phần cốt lõi của DeFi, NFT, game, staking, hoán đổi token, cầu nối token, thanh toán và nhiều hoạt động on-chain khác.Nếu không có cơ chế phê duyệt, người dùng sẽ phải gửi token thủ công cho nhiều thao tác, khiến quy trình sử dụng smart contract chậm và kém linh hoạt hơn.Nhờ cơ chế phê duyệt, người dùng có thể cho phép hợp đồng hoạt động trong phạm vi allowance hoặc quyền của operator đã xác định.Lợi ích là sự tiện lợi.Rủi ro là bên chi tiêu độc hại hoặc bị xâm nhập có thể lạm dụng quyền này.Nếu người dùng cấp quyền phê duyệt không giới hạn cho một hợp đồng độc hại, hợp đồng đó có thể rút toàn bộ token cùng loại đã được phê duyệt.Nếu người dùng phê duyệt một operator độc hại đối với toàn bộ NFT trong bộ sưu tập, operator đó có thể chuyển các NFT ấy.Đó là lý do hiểu về phê duyệt là một trong những kỹ năng bảo mật quan trọng nhất đối với người dùng crypto.Cơ chế phê duyệt không chỉ là chi tiết kỹ thuật ẩn trong cửa sổ bật lên của ví.Cơ chế này quyết định ai có thể chuyển tài sản, chuyển được bao nhiêu và điều gì có thể xảy ra nếu hợp đồng hoặc khóa riêng tư bị xâm nhập.Cách hoạt động của phê duyệt ERC-20
Phê duyệt ERC-20 dựa trên mối quan hệ giữa ba bên.Bên thứ nhất là chủ sở hữu token.Bên thứ hai là bên chi tiêu.Bên thứ ba là hợp đồng token ERC-20.Chủ sở hữu token nắm giữ token tại một địa chỉ ví.Bên chi tiêu là smart contract hoặc địa chỉ được chủ sở hữu cho phép chi tiêu token.Hợp đồng token lưu allowance trong bộ nhớ nội bộ.Khi chủ sở hữu gọi approve(spender, amount), hợp đồng token cập nhật số token mà bên chi tiêu có thể chuyển từ số dư của chủ sở hữu.Sau đó, khi bên chi tiêu gọi transferFrom(owner, receiver, amount), hợp đồng token kiểm tra bên chi tiêu có đủ allowance hay không.Nếu allowance đủ lớn và chủ sở hữu có đủ số dư, giao dịch có thể được thực hiện.Nếu allowance quá thấp, giao dịch sẽ thất bại.Tài liệu ERC-20 của OpenZeppelin mô tả các hàm liên quan đến allowance và phần mở rộng permit được sử dụng trong những cách triển khai token hiện đại.
Hệ thống phê duyệt này rất hữu ích vì smart contract chỉ có thể chuyển token sau khi người dùng cấp quyền.Hệ thống cũng tiềm ẩn rủi ro vì người dùng có thể quên rằng các quyền phê duyệt cũ vẫn còn hiệu lực cho đến khi được thay đổi hoặc thu hồi.Allowance
Allowance là lượng token mà bên chi tiêu được phép chuyển từ ví của chủ sở hữu.Với token ERC-20, allowance thường được lưu dưới dạng mapping trong hợp đồng token.Khi tạo allowance, chủ sở hữu không gửi token đi.Chủ sở hữu chỉ cấp quyền cho một giao dịch chuyển token trong tương lai.Điểm khác biệt này rất quan trọng vì người dùng có thể phê duyệt allowance lớn dù chưa có token nào được chuyển ngay lập tức.Rủi ro là quyền phê duyệt có thể vẫn hoạt động sau khi người dùng rời khỏi ứng dụng.Nếu hợp đồng của bên chi tiêu sau đó bị khai thác, bị nâng cấp theo hướng độc hại hoặc bị kẻ tấn công kiểm soát, allowance còn lại có thể trở thành mối nguy hiểm.Allowance nhỏ giới hạn lượng token mà bên chi tiêu có thể chuyển.Allowance không giới hạn cấp cho bên chi tiêu quyền chuyển một lượng rất lớn, thường là giá trị số nguyên tối đa mà hợp đồng token hỗ trợ.Allowance không giới hạn phổ biến vì giúp giảm số lần phải phê duyệt giao dịch và tiết kiệm thời gian.Tuy nhiên, allowance không giới hạn cũng làm tăng rủi ro vì người dùng có thể để lộ số dư token trong tương lai, không chỉ số dư hiện tại.Ví có thể hiển thị yêu cầu phê duyệt rất đơn giản, nhưng ý nghĩa bảo mật của yêu cầu đó có thể rất lớn.Phê duyệt và chuyển token
Phê duyệt không giống với chuyển token.Chuyển token sẽ đưa token từ địa chỉ này sang địa chỉ khác.Phê duyệt thay đổi quyền trong hợp đồng token.Khi người dùng phê duyệt một bên chi tiêu, token thường vẫn nằm trong ví của người dùng tại thời điểm đó.Sau này, bên chi tiêu có thể sử dụng quyền đã được cấp để chuyển token nếu tiêu chuẩn token và logic của hợp đồng cho phép.Đây là lý do các vụ lừa đảo thông qua phê duyệt có thể gây nhầm lẫn.Người dùng có thể ký phê duyệt và thấy rằng token chưa được chuyển đi ngay lập tức.Sau đó, kẻ tấn công có thể gọi transferFrom() để chuyển token bằng quyền phê duyệt hiện có.Hành động nguy hiểm là phê duyệt, dù việc đánh cắp token diễn ra sau đó.Vì vậy, người dùng nên xem xét phê duyệt nghiêm túc như các giao dịch chuyển token.Thông báo xác nhận của ví ghi “approve” có thể đang cấp quyền chi tiêu trong tương lai.Cách an toàn nhất là kiểm tra địa chỉ bên chi tiêu, ký hiệu token, lượng allowance và bối cảnh ứng dụng trước khi ký.Phê duyệt không giới hạn
Phê duyệt không giới hạn là cấp cho bên chi tiêu quyền chuyển một lượng token rất lớn hoặc gần như không giới hạn.Thiết kế này phổ biến vì giảm nhu cầu phê duyệt lặp lại.Ví dụ, người dùng thường xuyên tương tác với cùng một ứng dụng có thể chọn phê duyệt không giới hạn một lần thay vì phê duyệt riêng cho từng giao dịch.Cách này tiện lợi nhưng cũng khiến người dùng đối mặt với rủi ro trong thời gian dài.Nếu được cấp quyền phê duyệt không giới hạn, bên chi tiêu có thể chuyển toàn bộ số dư hiện tại và tương lai của token đó khỏi ví người dùng.Nghiên cứu học thuật về rủi ro của phê duyệt ERC-20 không giới hạn cho thấy hình thức này phổ biến và khiến người dùng trong hệ sinh thái Ethereum phải đối mặt với rủi ro đáng kể.
Vấn đề chính không phải là phê duyệt không giới hạn luôn dẫn đến tổn thất.Vấn đề là quyền rộng này có thể duy trì rất lâu sau khi người dùng quên rằng mình đã cấp quyền.Người dùng nên tránh phê duyệt không giới hạn nếu chưa hiểu rõ hợp đồng, lý do cấp quyền và rủi ro.Ngay cả khi sử dụng ứng dụng đáng tin cậy, giới hạn phê duyệt ở mức cần thiết có thể giảm thiệt hại nếu sau này xảy ra sự cố.Phê duyệt có giới hạn
Phê duyệt có giới hạn là chỉ cấp quyền đối với một lượng token cụ thể.Ví dụ, người dùng có thể phê duyệt 100 token vì thao tác tiếp theo chỉ cần 100 token.Cách này giảm rủi ro vì bên chi tiêu không thể chuyển vượt quá lượng đã được phê duyệt.Phê duyệt có giới hạn thường an toàn hơn phê duyệt không giới hạn.Đổi lại, người dùng có thể cần phê duyệt lại cho các giao dịch sau này.Việc này có thể phát sinh phí gas và thêm các bước xác nhận trên ví.Với nhiều người dùng, thêm một bước là hợp lý để cải thiện bảo mật.Phê duyệt có giới hạn đặc biệt hữu ích khi tương tác với smart contract mới, chưa được kiểm toán, đang thử nghiệm hoặc chưa quen thuộc.Cách này cũng hữu ích khi sử dụng ví lưu trữ tài sản có giá trị.Thông lệ phổ biến là chỉ phê duyệt lượng cần thiết cho thao tác hiện tại.Sau khi hoàn tất, người dùng có thể thu hồi allowance còn lại.Thu hồi phê duyệt
Thu hồi phê duyệt là thay đổi quyền của bên chi tiêu về 0 hoặc xóa quyền truy cập của operator.Đây là một trong những thói quen bảo mật quan trọng nhất trong crypto.Hướng dẫn thu hồi quyền truy cập token của Ethereum.org khuyến nghị tránh cấp quyền truy cập token không giới hạn và thường xuyên thu hồi quyền allowance của token.
Thông thường, việc thu hồi không chuyển token đi.Thao tác này thay đổi khả năng chuyển token của bên chi tiêu trong tương lai.Với token ERC-20, thu hồi thường có nghĩa là gửi giao dịch phê duyệt để đặt allowance về 0.Với NFT, thu hồi có thể là xóa quyền phê duyệt đối với một token cụ thể hoặc xóa quyền của operator trên toàn bộ bộ sưu tập.Thu hồi phê duyệt có thể tốn phí gas vì đây là giao dịch on-chain.Tuy nhiên, khoản phí này có thể nhỏ hơn nhiều so với tổn thất tiềm ẩn nếu để quyền nguy hiểm tiếp tục mở.Người dùng nên kiểm tra các quyền phê duyệt cũ sau khi dùng ứng dụng mới, ký giao dịch đáng ngờ, tham gia nhận token hoặc kết nối với website lạ.Thu hồi không phải biện pháp bảo vệ tuyệt đối, nhưng giúp giảm số “cửa ngõ” đang mở mà kẻ tấn công có thể lợi dụng.Cơ chế phê duyệt và ERC-2612 Permit
ERC-2612 bổ sung hàm permit(), cho phép người dùng thay đổi allowance ERC-20 bằng tin nhắn đã ký thay vì gửi giao dịch approve() trực tiếp on-chain.Tiêu chuẩn permit ERC-2612 chính thức giải thích rằng permit cho phép người dùng thay đổi mapping allowance bằng tin nhắn đã ký.
Cách này có thể cải thiện trải nghiệm người dùng vì họ có thể không cần nắm giữ token gas của mạng chỉ để tạo phê duyệt.Một bên khác có thể gửi permit đã ký, trả phí gas và hoàn tất quy trình phê duyệt.Phê duyệt dạng permit phổ biến trong DeFi hiện đại vì giúp giảm số bước.Tuy nhiên, cách này cũng đòi hỏi thiết kế ví cẩn thận vì người dùng có thể ký quyền mà chưa hiểu đầy đủ.Chữ ký có thể mạnh tương đương giao dịch nếu nó cấp quyền cho bên chi tiêu.Người dùng không nên cho rằng chữ ký tin nhắn vô hại chỉ vì không hiển thị giao dịch chuyển token on-chain ngay lập tức.Hãy đọc token, bên chi tiêu, số lượng, thời hạn, blockchain và domain hiển thị trong ví.Chữ ký permit độc hại có thể tạo ra quyền phê duyệt nguy hiểm nếu được gửi on-chain trước khi hết hạn.Cơ chế phê duyệt và NFT
Cơ chế phê duyệt NFT hoạt động khác với allowance ERC-20.Trong ERC-721, người dùng có thể phê duyệt một địa chỉ chuyển một NFT cụ thể.Người dùng cũng có thể dùng setApprovalForAll() để phê duyệt operator quản lý toàn bộ NFT trong bộ sưu tập.Loại quyền thứ hai rất mạnh và rủi ro vì có thể áp dụng cho mọi NFT trong bộ sưu tập mà người dùng sở hữu.Với token ERC-1155, setApprovalForAll() có thể cho phép operator quản lý toàn bộ token của người dùng trong hợp đồng đó.Tiêu chuẩn đa token ERC-1155 chính thức giải thích rằng setApprovalForAll cho phép operator thay mặt người phê duyệt quản lý toàn bộ tập hợp token của họ.
Người dùng NFT cần đặc biệt thận trọng với quyền phê duyệt trên toàn bộ bộ sưu tập.Phê duyệt operator độc hại có thể cho phép kẻ tấn công chuyển NFT có giá trị mà không cần hỏi riêng từng NFT.Vì vậy, cần nghiêm túc xem xét các cảnh báo của ví về phê duyệt NFT.Người dùng nên thu hồi quyền phê duyệt operator NFT cũ khi không còn cần thiết.Cơ chế phê duyệt và quyền của smart contract
Phê duyệt token chỉ là một loại quyền của smart contract.Nhiều hệ thống crypto có quyền phê duyệt của quản trị viên, quyền theo vai trò, quyền của validator, quyền quản trị và quyền ủy quyền ở cấp tài khoản.Smart contract có thể yêu cầu phê duyệt trước khi một đề xuất được thực thi.Ví multisig có thể yêu cầu nhiều phê duyệt trước khi gửi giao dịch.Cầu nối có thể yêu cầu validator hoặc guardian phê duyệt thông điệp cross-chain.DAO có thể yêu cầu người nắm giữ token thông qua bỏ phiếu phê duyệt một đề xuất quản trị.Ví có thể yêu cầu người dùng phê duyệt khóa phiên, giới hạn chi tiêu hoặc ủy quyền tài khoản.Tất cả các cơ chế phê duyệt này đều có chung một ý tưởng cơ bản.Một người hoặc một hệ thống được cấp quyền thực hiện hành động theo các quy tắc đã xác định.Câu hỏi bảo mật cốt lõi luôn giống nhau.Ai được phê duyệt, họ có thể làm gì, quyền đó kéo dài bao lâu và có thể thu hồi bằng cách nào?Cơ chế phê duyệt và EIP-7702
EIP-7702 giới thiệu mô hình ủy quyền tài khoản mới cho tài khoản do người dùng sở hữu (EOA) trong lộ trình nâng cấp Pectra của Ethereum.Tài liệu Pectra 7702 của Ethereum.org giải thích rằng EIP-7702 xác định cơ chế giúp EOA có thêm chức năng trong thời gian ngắn bằng cách bổ sung hành vi mã.
Cơ chế này không giống phê duyệt token ERC-20 thông thường.Đây là cơ chế ủy quyền ở cấp tài khoản, có thể giúp ví hoạt động giống smart account hơn trong một số thao tác.Cơ chế này có thể hỗ trợ các tính năng hữu ích như gộp giao dịch, giao dịch được tài trợ phí gas và quy trình ví thuận tiện hơn.Tuy nhiên, ủy quyền ở cấp tài khoản cũng có thể tạo ra rủi ro phishing mới nếu người dùng phê duyệt logic ủy quyền độc hại.Người dùng nên xem quyền ủy quyền tài khoản là quyền có rủi ro cao vì chúng có thể ảnh hưởng đến cách ví hoạt động.Câu hỏi về phê duyệt không còn chỉ xoay quanh một allowance token.Đó còn là câu hỏi tài khoản cho phép đoạn mã nào hoạt động thông qua ví.Khi công nghệ ví phát triển, cơ chế phê duyệt sẽ linh hoạt và mạnh mẽ hơn.Điều đó cũng có nghĩa giao diện ví cần rõ ràng và an toàn hơn.Cơ chế phê duyệt và cửa sổ bật lên của ví
Cửa sổ bật lên của ví là nơi hầu hết người dùng lần đầu gặp cơ chế phê duyệt.Ví có thể yêu cầu người dùng phê duyệt chi tiêu token, ký permit, phê duyệt quyền truy cập NFT, xác nhận giao dịch hoặc ủy quyền hành vi tài khoản.Vấn đề là nhiều cửa sổ bật lên của ví khó hiểu đối với người dùng.Các cửa sổ này có thể hiển thị địa chỉ hợp đồng, dữ liệu hexadecimal, tên hàm kỹ thuật hoặc nhãn quyền chung chung.Giao diện ví an toàn cần giải thích tài sản nào bị ảnh hưởng, ai được cấp quyền, có thể chuyển bao nhiêu và quyền đó có không giới hạn hay không.Người dùng không nên vội thông qua màn hình phê duyệt chỉ vì ứng dụng trông quen thuộc.Website phishing thường giả mạo ứng dụng thật và yêu cầu người dùng phê duyệt bên chi tiêu độc hại.Người dùng có thể nghĩ mình đang nhận phần thưởng, nhưng ví thực ra đang yêu cầu phê duyệt token.Đọc kỹ chi tiết phê duyệt là một trong những cách đơn giản nhất để tránh tổn thất có thể phòng ngừa.Nếu cảnh báo của ví không rõ ràng, người dùng nên dừng lại thay vì ký ngay.Cơ chế phê duyệt và DeFi
Ứng dụng DeFi phụ thuộc nhiều vào cơ chế phê duyệt.Giao dịch swap có thể cần phê duyệt token trước khi hợp đồng swap chuyển token đầu vào.Khoản nạp vào giao thức cho vay có thể cần phê duyệt trước khi hợp đồng cho vay lấy tài sản thế chấp.Thao tác staking có thể cần phê duyệt trước khi hợp đồng staking nhận token.Vị thế thanh khoản có thể cần phê duyệt một hoặc nhiều tài sản trước khi được tạo.Các quyền phê duyệt này giúp khả năng kết hợp của DeFi trở nên khả thi vì smart contract có thể tương tác với token theo quyền người dùng cấp.Tuy nhiên, DeFi cũng làm tăng rủi ro phê duyệt vì người dùng có thể tương tác với nhiều hợp đồng theo thời gian.Ví đã sử dụng hàng chục ứng dụng có thể còn nhiều allowance mà người dùng đã quên.Một số quyền phê duyệt vẫn có thể còn hiệu lực ngay cả khi người dùng không còn sử dụng ứng dụng.Người dùng DeFi nên đưa việc kiểm tra quyền phê duyệt vào quy trình bảo mật định kỳ.Điều này đặc biệt quan trọng với ví lưu trữ số dư lớn hoặc tài sản tích lũy dài hạn.Cơ chế phê duyệt và cầu nối
Cầu nối thường cần được phê duyệt trước khi chuyển token từ blockchain này sang blockchain khác.Hợp đồng cầu nối có thể yêu cầu người dùng phê duyệt token trước khi nạp token đó vào cầu nối.Sau đó, cầu nối khóa, đốt hoặc chuyển tài sản theo thiết kế của mình.Quyền phê duyệt cầu nối cần được chú ý vì cầu nối là mục tiêu có giá trị cao.Nếu hợp đồng cầu nối hoặc quy trình phê duyệt bị xâm nhập, allowance còn mở có thể trở nên nguy hiểm.Người dùng nên thận trọng khi phê duyệt hợp đồng cầu nối, đặc biệt khi sử dụng cầu nối mới hoặc mạng chưa quen thuộc.Hãy xác minh địa chỉ cầu nối chính thức từ các nguồn đáng tin cậy.Tránh phê duyệt lượng không giới hạn trừ khi bạn hiểu rủi ro và tin tưởng hợp đồng.Hãy thu hồi quyền phê duyệt cầu nối không còn sử dụng sau khi hoàn tất chuyển tài sản.Phê duyệt cầu nối cần được xem là quyền chuyển giá trị, không phải một cú nhấp website thông thường.Cơ chế phê duyệt và trừu tượng hóa tài khoản
Trừu tượng hóa tài khoản thay đổi cách ví có thể ủy quyền hành động.Thay vì mọi hành động đều là giao dịch đơn giản từ EOA, smart account có thể sử dụng các quy tắc tùy chỉnh.Các quy tắc này có thể gồm giới hạn chi tiêu, khóa phiên, gộp hành động, khôi phục xã hội, tài trợ phí gas và quyền dựa trên chính sách.Trong môi trường này, cơ chế phê duyệt trở nên linh hoạt hơn.Người dùng có thể phê duyệt một phiên chơi game cho phép thực hiện các thao tác nhỏ trong game trong một giờ.Người dùng có thể phê duyệt giới hạn thanh toán cho ứng dụng dạng đăng ký.Người dùng có thể phê duyệt một thiết bị đáng tin cậy để ký các thao tác ít rủi ro nhưng không được chuyển số tiền lớn.Cách này có thể cải thiện trải nghiệm và giảm số lần ví yêu cầu xác nhận.Tuy nhiên, nó cũng tạo ra những thách thức mới trong quản lý quyền.Người dùng cần bảng điều khiển rõ ràng, hiển thị phiên đang hoạt động, giới hạn chi tiêu, khóa được ủy quyền, thời hạn và tùy chọn thu hồi.Khi trừu tượng hóa tài khoản phát triển, phê duyệt sẽ giống hệ thống kiểm soát truy cập kỹ thuật số hơn là allowance token đơn giản.Cơ chế phê duyệt và quản trị
Phê duyệt trong quản trị khác với phê duyệt chi tiêu token nhưng vẫn tuân theo logic cấp quyền tương tự.Đề xuất DAO có thể cần người nắm giữ token phê duyệt trước khi thay đổi thông số giao thức hoặc sử dụng ngân quỹ.Ngân quỹ multisig có thể yêu cầu nhiều người ký phê duyệt giao dịch trước khi thực thi.Nâng cấp giao thức có thể cần được quản trị phê duyệt trước khi mã mới hoạt động.Các cơ chế này bảo vệ hệ thống chung khỏi hành động đơn phương.Tuy nhiên, phê duyệt quản trị cũng có thể tiềm ẩn rủi ro khi quyền biểu quyết tập trung hoặc người ký bị xâm nhập.Một phê duyệt quản trị sai lệch có thể thay đổi phí, nâng cấp hợp đồng, chuyển tiền hoặc điều chỉnh các cài đặt rủi ro.Người dùng cần hiểu rằng phê duyệt không chỉ là vấn đề ở cấp ví.Phê duyệt cũng quan trọng ở cấp giao thức và cộng đồng.Hệ thống crypto an toàn cần có quy trình phê duyệt an toàn cho cả việc chuyển tài sản cá nhân lẫn quá trình ra quyết định tập thể.Rủi ro bảo mật của cơ chế phê duyệt
Rủi ro lớn đầu tiên là phê duyệt không giới hạn.Phê duyệt không giới hạn có thể khiến bên chi tiêu được phê duyệt tiếp cận toàn bộ số dư token hiện tại và tương lai.Rủi ro thứ hai là địa chỉ bên chi tiêu độc hại.Website phishing có thể yêu cầu người dùng phê duyệt hợp đồng do kẻ tấn công kiểm soát.Rủi ro thứ ba là hợp đồng bị xâm nhập.Hợp đồng từng an toàn có thể trở nên nguy hiểm nếu bị nâng cấp, khai thác hoặc quản trị viên có khóa bị xâm nhập kiểm soát.Rủi ro thứ tư là thông tin hiển thị trên ví kém rõ ràng.Nếu ví không giải thích rõ quyền phê duyệt, người dùng có thể ký mà không hiểu mình đang cấp quyền gì.Rủi ro thứ năm là các tình huống tranh chấp về thứ tự giao dịch phê duyệt.Các mẫu phê duyệt ERC-20 cũ có thể gây vấn đề khi thay đổi allowance từ một giá trị khác 0 sang một giá trị khác 0.Rủi ro thứ sáu là lạm dụng chữ ký.Chữ ký permit hoặc ủy quyền tài khoản có thể nguy hiểm ngay cả khi chưa phát giao dịch ngay lập tức.Rủi ro thứ bảy là phê duyệt bị lãng quên.Quyền cũ có thể vẫn hoạt động rất lâu sau khi người dùng ngừng sử dụng ứng dụng.Tình trạng tranh chấp về thứ tự phê duyệt
Tình trạng tranh chấp về thứ tự phê duyệt ERC-20 là vấn đề đã biết, xảy ra khi người dùng thay đổi allowance từ giá trị này sang giá trị khác.Nếu bên chi tiêu đang có allowance 100 token và người dùng đổi xuống 50, bên chi tiêu độc hại có thể cố sử dụng 100 token cũ trước khi mức 50 mới được xác nhận.Nếu thời điểm giao dịch bất lợi cho người dùng, bên chi tiêu có thể sử dụng nhiều hơn lượng người dùng dự định.Nghiên cứu bảo mật về vấn đề rút nhiều lần ERC-20 đã nghiên cứu rủi ro liên quan đến phê duyệt này và các biện pháp giảm thiểu khả thi.
Một cách phổ biến và an toàn hơn là trước tiên đặt allowance về 0, sau đó đặt mức allowance mới mong muốn.Một số cách triển khai token và thư viện cung cấp hàm hỗ trợ để giảm allowance an toàn.Nhà phát triển nên thiết kế luồng token và ứng dụng để tránh thay đổi allowance không an toàn.Người dùng không cần biết mọi chi tiết kỹ thuật nhưng nên hiểu rằng phê duyệt có thể có những trường hợp ngoại lệ.Ví và ứng dụng nên giúp người dùng tự động tránh các trường hợp này.Thực hành tốt nhất dành cho người dùng
Khi khả thi, người dùng chỉ nên phê duyệt lượng cần thiết.Tránh phê duyệt không giới hạn cho hợp đồng lạ hoặc có rủi ro cao.Kiểm tra địa chỉ bên chi tiêu trước khi ký phê duyệt.Xác định phê duyệt ảnh hưởng đến một token, toàn bộ token trong bộ sưu tập hay hành vi ở cấp tài khoản.Thu hồi các quyền phê duyệt cũ sau khi ngừng sử dụng ứng dụng.Thận trọng với chữ ký tạo permit hoặc quyền ủy quyền.Sử dụng ví riêng để lưu trữ tài sản giá trị cao và tương tác với ứng dụng thường xuyên.Lưu trữ tài sản dài hạn trong ví có ít quyền phê duyệt còn mở.Xác minh địa chỉ hợp đồng chính thức từ nguồn đáng tin cậy trước khi phê duyệt.Dừng lại nếu ví yêu cầu phê duyệt trong một thao tác bất ngờ.Hãy nhớ rằng quyền phê duyệt có thể vẫn hoạt động ngay cả sau khi ngắt kết nối ví khỏi website.Thực hành tốt nhất dành cho nhà phát triển
Nhà phát triển nên yêu cầu mức phê duyệt nhỏ nhất đủ để thực hiện thao tác của người dùng.Không nên chỉ cung cấp tùy chọn phê duyệt không giới hạn.Giải thích lượng phê duyệt bằng ngôn ngữ dễ hiểu trong giao diện ứng dụng.Xác định rõ hợp đồng bên chi tiêu nhận quyền.Chỉ hỗ trợ luồng dạng permit khi người dùng có thể hiểu nội dung mình ký.Cung cấp hướng dẫn thu hồi sau các tương tác rủi ro cao.Tránh yêu cầu phê duyệt operator NFT và hợp đồng đa token không cần thiết.Thiết kế hợp đồng sao cho quyền phê duyệt có phạm vi rõ ràng, có thể kiểm tra và dễ thu hồi.Sử dụng thư viện token được đánh giá kỹ và tuân thủ các thực hành bảo mật hiện hành.Xem trải nghiệm phê duyệt là một tính năng bảo mật, không chỉ là yếu tố ảnh hưởng đến tỷ lệ chuyển đổi.Cơ chế phê duyệt và kết nối ví
Kết nối ví không giống với phê duyệt.Kết nối ví thường cho phép website xem địa chỉ ví và yêu cầu người dùng thực hiện thao tác.Thông thường, việc kết nối không cấp cho website quyền tự chuyển token.Phê duyệt có quyền mạnh hơn vì cấp cho bên chi tiêu quyền trong hợp đồng token hoặc hệ thống smart account.Người dùng thường nhầm lẫn hai thao tác này.Ngắt kết nối ví khỏi website có thể khiến website khó yêu cầu chữ ký mới hơn, nhưng không tự động thu hồi các quyền phê duyệt token đã có.Vì vậy, người dùng không nên chỉ dựa vào việc ngắt kết nối ví để bảo vệ mình.Nếu đã phê duyệt bên chi tiêu, allowance có thể vẫn còn cho đến khi được thay đổi on-chain.Để xóa quyền, người dùng thường cần thu hồi hoặc cập nhật phê duyệt.Hiểu rõ sự khác biệt này giúp tránh cảm giác an toàn sai lệch.Cơ chế phê duyệt và chữ ký
Chữ ký cũng không phải lúc nào cũng giống phê duyệt, nhưng một số chữ ký có thể tạo quyền phê duyệt.Chữ ký tin nhắn thông thường có thể xác minh quyền sở hữu ví hoặc đăng nhập vào ứng dụng.Chữ ký permit có thể cấp allowance token.Chữ ký ủy quyền tài khoản có thể cho phép mã hoặc chính sách hoạt động với ví.Điều này có nghĩa người dùng không nên cho rằng chữ ký là vô hại.Website độc hại có thể yêu cầu một chữ ký trông ít tốn kém hơn giao dịch nhưng vẫn tạo ra quyền nghiêm trọng.Người dùng nên đọc loại tin nhắn, domain, blockchain, bên chi tiêu, token, số lượng, thời hạn và hành động được yêu cầu.Ví nên hiển thị khác biệt rõ ràng giữa chữ ký nguy hiểm và tin nhắn đăng nhập ít rủi ro.Nhà phát triển nên tránh lời nhắc ký mơ hồ khiến người dùng có thói quen nhấp mà không đọc.Trong crypto hiện đại, quyền phê duyệt có thể được cấp qua cả giao dịch lẫn tin nhắn đã ký.Cơ chế phê duyệt và tiêu chuẩn token
Các tiêu chuẩn token khác nhau sử dụng cơ chế phê duyệt khác nhau.ERC-20 sử dụng phê duyệt dựa trên allowance cho token có thể thay thế.ERC-721 sử dụng phê duyệt cho NFT riêng lẻ và phê duyệt operator cho toàn bộ bộ sưu tập.ERC-1155 sử dụng quyền phê duyệt operator có thể áp dụng cho nhiều ID token trong cùng một hợp đồng.ERC-2612 bổ sung phê duyệt permit bằng chữ ký cho token dạng ERC-20.Các tiêu chuẩn tài khoản và ví mới hơn có thể bổ sung quyền phiên, thực thi được ủy quyền hoặc ủy quyền ở cấp tài khoản.Vì có nhiều hình thức khác nhau, người dùng không nên xem mọi cửa sổ phê duyệt là giống nhau.Phê duyệt một stablecoin khác với phê duyệt toàn bộ NFT trong bộ sưu tập.Chữ ký permit khác với giao dịch approve trực tiếp.Ủy quyền tài khoản khác với allowance token.Câu hỏi an toàn nhất luôn là quyền cụ thể mà thao tác phê duyệt cấp ra.Những hiểu lầm phổ biến về cơ chế phê duyệt
Một hiểu lầm phổ biến là phê duyệt sẽ chuyển token ngay lập tức.Phê duyệt thường cấp quyền, còn một giao dịch chuyển token sau đó mới thực sự chuyển token.Một hiểu lầm khác là ngắt kết nối ví sẽ thu hồi quyền phê duyệt.Ngắt kết nối ví thường không thay đổi allowance được lưu trong hợp đồng token.Hiểu lầm thứ ba là phê duyệt không giới hạn chỉ ảnh hưởng đến số dư hiện tại.Phê duyệt không giới hạn cũng có thể khiến số dư token đó trong tương lai gặp rủi ro nếu được nạp vào ví sau này.Hiểu lầm thứ tư là chữ ký tin nhắn luôn an toàn.Một số chữ ký có thể tạo permit hoặc quyền ủy quyền tài khoản gây rủi ro thực sự cho tài sản.Hiểu lầm thứ năm là ứng dụng đáng tin cậy không bao giờ cần thu hồi quyền.Ngay cả ứng dụng đáng tin cậy cũng có thể gặp lỗi, nâng cấp, khóa bị xâm nhập hoặc điều kiện rủi ro thay đổi.Hiểu lầm thứ sáu là phê duyệt NFT ít rủi ro vì không liên quan đến token có thể thay thế.Phê duyệt operator NFT có thể trao quyền kiểm soát rộng đối với vật phẩm sưu tầm hoặc tài sản trong game có giá trị.Các thuật ngữ crypto liên quan
Allowance là lượng token ERC-20 mà bên chi tiêu có thể chuyển từ ví của chủ sở hữu.approve() là hàm ERC-20 dùng để thiết lập allowance cho bên chi tiêu.transferFrom() là hàm ERC-20 mà bên chi tiêu sử dụng để chuyển token sau khi nhận allowance.Permit là phương thức phê duyệt bằng chữ ký, có thể thay đổi allowance mà không cần chủ sở hữu trực tiếp gửi giao dịch approve.setApprovalForAll() là hàm trong tiêu chuẩn NFT và đa token dùng để phê duyệt operator đối với phạm vi tài sản rộng hơn.Thu hồi là quy trình xóa hoặc giảm quyền phê duyệt.Bên chi tiêu là địa chỉ hoặc hợp đồng được phép chuyển token thông qua quyền phê duyệt.Operator là địa chỉ được phê duyệt để thay mặt chủ sở hữu quản lý NFT hoặc tài sản đa token.Trừu tượng hóa tài khoản là phương thức thiết kế ví cho phép sử dụng quy tắc tài khoản và hệ thống quyền linh hoạt hơn.Smart contract là mã blockchain có thể tự động thực thi quy tắc khi được gọi.Câu hỏi thường gặp
Cơ chế phê duyệt trong crypto có nghĩa là gì?
Cơ chế phê duyệt là hệ thống cấp quyền cho phép người dùng ủy quyền cho hợp đồng, địa chỉ, ví hoặc operator thực hiện một hành động xác định thay mặt mình.Phê duyệt token là gì?
Phê duyệt token là quyền on-chain cho phép bên chi tiêu chuyển hoặc quản lý token theo quy tắc của tiêu chuẩn token.Phê duyệt ERC-20 là gì?
Phê duyệt ERC-20 là hệ thống allowance, trong đó chủ sở hữu token ủy quyền cho bên chi tiêu chuyển tối đa một lượng token nhất định thông qua transferFrom().Allowance là gì?
Allowance là lượng token mà bên chi tiêu được phép chuyển từ ví của chủ sở hữu.Phê duyệt có giống chuyển token không?
Không. Phê duyệt cấp quyền, còn chuyển token thực sự đưa token sang địa chỉ khác.Vì sao phê duyệt không giới hạn rủi ro?
Phê duyệt không giới hạn có rủi ro vì bên chi tiêu có thể chuyển toàn bộ số dư hiện tại và tương lai của token được phê duyệt.Người dùng thu hồi phê duyệt token bằng cách nào?
Người dùng thu hồi phê duyệt token bằng cách gửi giao dịch on-chain để đặt allowance về 0 hoặc xóa quyền operator.Ngắt kết nối ví có thu hồi quyền phê duyệt không?
Không. Ngắt kết nối ví khỏi website thường không thu hồi quyền phê duyệt token được lưu on-chain.Phê duyệt permit là gì?
Phê duyệt permit sử dụng tin nhắn đã ký để cấp allowance ERC-20 mà không cần chủ sở hữu token trực tiếp gửi giao dịch approve.Phê duyệt NFT có nguy hiểm không?
Phê duyệt NFT có thể nguy hiểm nếu cho phép operator quản lý NFT có giá trị hoặc toàn bộ bộ sưu tập.Người dùng nên kiểm tra gì trước khi phê duyệt?
Người dùng nên kiểm tra bên chi tiêu, token, số lượng, mạng, thời hạn, website và quyền phê duyệt có giới hạn hay không giới hạn.Thực hành phê duyệt an toàn nhất là gì?
Cách an toàn nhất là chỉ phê duyệt lượng cần thiết, tránh bên chi tiêu không rõ danh tính và thu hồi quyền khi không còn cần.Kết luận
Cơ chế phê duyệt là một trong những hệ thống cấp quyền quan trọng nhất trong tiền mã hóa.Cơ chế này cho phép người dùng ủy quyền cho smart contract, operator, ví, giao thức hoặc hệ thống quản trị thực hiện hành động trong các giới hạn xác định.Hình thức phổ biến nhất là phê duyệt token ERC-20, trong đó người dùng cấp allowance cho bên chi tiêu.Cơ chế phê duyệt giúp DeFi, NFT, cầu nối, staking, thanh toán, game và nhiều quy trình smart contract khác hoạt động.Đồng thời, cơ chế này cũng tạo ra rủi ro bảo mật nghiêm trọng nếu người dùng phê duyệt hợp đồng độc hại, cấp quyền không giới hạn, bỏ qua allowance cũ hoặc ký tin nhắn ủy quyền không rõ ràng.Bài học chính là phê duyệt không phải một bước nền vô hại.Đó là quyền có thể quyết định một địa chỉ khác có được phép chuyển tài sản có giá trị hay không.Người dùng chỉ nên phê duyệt những gì cần thiết, đọc kỹ yêu cầu của ví, tránh phê duyệt không giới hạn khi có thể và thường xuyên thu hồi quyền không còn sử dụng.Nhà phát triển nên thiết kế luồng phê duyệt rõ ràng, có giới hạn và dễ thu hồi.Ví nên giải thích phê duyệt bằng ngôn ngữ dễ hiểu để người dùng biết mình đang ký gì.Khi ví crypto phát triển với chữ ký permit, trừu tượng hóa tài khoản, khóa phiên và ủy quyền tài khoản kiểu EIP-7702, cơ chế phê duyệt sẽ mạnh mẽ và phức tạp hơn.Vì vậy, quản lý quyền là một phần cốt lõi của bảo mật crypto.Người hiểu về phê duyệt sẽ có sự chuẩn bị tốt hơn để tránh phishing, giảm rủi ro smart contract và bảo vệ tài sản nắm giữ dài hạn.Giao thức thiết kế cơ chế phê duyệt an toàn hơn có nhiều khả năng tạo được lòng tin của người dùng.Do đó, cơ chế phê duyệt không chỉ là một tính năng kỹ thuật.Đây là nền tảng cho sự tương tác an toàn giữa người dùng, token, smart contract và nền kinh tế on-chain rộng lớn hơn.Có thể bạn cũng thích
WhatsMiner M30S++
Tên miền Web3
Dự án Web3
HOT
Tiền mã hoá thịnh hành hiện nay đang thu hút sự chú ý đáng kể của thị trường
TOP KL
Tiền mã hoá có khối lượng giao dịch cao nhất
Mới được thêm vào
Tiền mã hoá được niêm yết gần đây có thể giao dịch

