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

A First Solution to the Refund Problem #9303

Open
2 of 4 tasks
jakmeier opened this issue Jul 14, 2023 · 0 comments
Open
2 of 4 tasks

A First Solution to the Refund Problem #9303

jakmeier opened this issue Jul 14, 2023 · 0 comments
Labels
C-tracking-issue Category: a tracking issue

Comments

@jakmeier
Copy link
Contributor

jakmeier commented Jul 14, 2023

Refund Problem: When a business creates the Near Protocol user accounts for their customers, they open themselves up to a faucet draining attack where an attacker can steal some of the tokens in the faucet. That's because a user can delete the created account and send the tokens reserved for the storage of the account to any account they want. The amount is maybe only worth a few cents but it can be repeated for free.

Goal: Make it possible to create users without giving the public the chance to steal the tokens in the faucet that pays for the new users.

Note that a faucet can always be drained by the public, if it is completely free to create accounts through the faucet. We just want to make sure the attacker can't have any financial benefits on their side from draining the faucet, i.e. they can steal what's in the faucet.

Step 1: Zero balance accounts (DONE)

Accounts with less than 770 bytes of storage no longer require storage staking.
This has already shipped and is in use today.

Step 2: Allow smart contracts in free accounts (STARTED)

Smart contract functionality should be available to accounts created through a non-exploitable faucet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-tracking-issue Category: a tracking issue
Projects
None yet
Development

No branches or pull requests

1 participant