-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for Tokens Restricted with Attributes #1256
Comments
The ideas here overlap a bit with this Ethereum proposal: https://eips.ethereum.org/EIPS/eip-3643 |
More detail:
|
One more related transfer concept that is less restriction and more control... it should be possible to specify that a transfer authority has "clawback" capability ... this is a somewhat sensitive issue in the blockchain world as it indicates that the owning account doesn't have full control over their assets and they could be removed without their signature. However, when a token is modeling a real-world asset such as a bank deposit there can be cases where funds are transferred without the account holder's permission. In order to model these use cases digitally a corresponding capability should be possible on chain as well. Proposed: an additional flag on the marker for "restricted" tokens that indicates if clawback is allowed. If set to true then the check for the source account signature on the transfer request should be skipped. This would provide a lasting use for the Transfer method and prevent it from being deprecated as mentioned above. |
See #1368 for the clawback piece. |
Summary
Support for restricting tokens created by a marker which require accounts to possess certain attributes before allowing the tokens to move.
Problem Definition
Currently the restricted marker system has a common use case of requiring attributes such as KYC records to exist on accounts before tokens can be sent. This is implemented with extra steps using smart contracts to broker transfers. While this is a workable process it prevents more complex workflows such as exchange functions from using these tokens without adding in auth grant steps. These auth grant steps allow the checks to be bypassed which while workable is less than ideal.
Proposal
With the bank transfer authorization hooks being added to the bank module it will be possible to support new authorization flows during any transfer of tokens between accounts. With these hooks we should be able to look up a token marker registration and determine if there are restrictions in place. If we added support for defining a set of attributes that must be present on the destination account then these hooks could allow the constraints to be easily enforced in a universal way. This would mean that exchange functions and other smart contracts could start accepting these tokens while the marker admin can ensure that their attribute assertions are uniformly and consistently applied.
Requires: cosmos/cosmos-sdk#14224 and associated development of the hooks that are registered.
For Admin Use
The text was updated successfully, but these errors were encountered: