Skip to content
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

Add ARC0020 - token standard allowing public/private transfer to contracts #58

Open
wants to merge 13 commits into
base: master
Choose a base branch
from

Conversation

r001
Copy link

@r001 r001 commented Jan 1, 2024

README.md
Discussion
main.aleo
main.leo

There are several ARC-20 implementation standard proposals for the Aleo blockchain. This ARC provides a complete token standard for both public and private account/contract operations. Compared to other ARC-20 proposals this ARC has the following major differences:

  1. Replaced onchain approve() functionality with offchain signature - approve() transition should not be implemented, instead user can agree to send token to a contract offchain using an offchain signature process to approve a transaction, and an onchain function eg transfer_from_public() that can apply that signature. This way smart contract interaction does not have to be a two step, but rather a one step process. This solution will save system resources as the approve part is offchain rather than onchain.
  2. Enable private token records to be sent to smart contracts - This problem must be addressed because one of the key selling points of Aleo is its programmable privacy. The author of this ARC also believes that to utilize the UTXO nature of Token records also leads to a much larger scalability than that can be achieved applying mappings and public tokens.
  3. A signature scheme that connects the contract with the main website of the project. Thus make it easier for users to trust the token contract, and decrease the possibility of phishing attacks.

By applying the proposals pointed out in this ARC the token standard will be more usable because of:

  1. one step approval process applying off chain signature, instead of two steps of approve() and transfer_from(), and
  2. the ability to send private tokens to smart contracts will enable a thriving DeFi life on top of the Aleo network.
  3. make token contracts more secure by connecting them to the company website applying a digital signature.

@andrashejj
Copy link

+1! This is essential for all DeFi projects building on ALEO!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants