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

Too easy to burn tokens #7787

Closed
garious opened this issue Jan 14, 2020 · 6 comments
Closed

Too easy to burn tokens #7787

garious opened this issue Jan 14, 2020 · 6 comments
Labels
locked issue stale [bot only] Added to stale content; results in auto-close after a week.
Milestone

Comments

@garious
Copy link
Contributor

garious commented Jan 14, 2020

Problem

If a transaction references a system account that doesn't yet exist, the runtime creates one automatically. The "feature" introduces two problems:

  1. A transfer to a public key with a typo will succeed, effectively burning all tokens by accident.
  2. It's not available to arbitrary programs, which require a space parameter. Consequently, we see CreateAccount being used with an unused from key and zero lamports, suggesting CreateAccount is doing too much. It's an Allocate and a Transfer, when only an Allocate is needed.

Proposed Solution

  • Remove the automatic account creation feature.
  • Add new instruction Allocate, which should be the same as CreateAccount, but with no from or lamports parameters. Consider removing CreateAccount.

cc: @rob-solana @aeyakovenko

@garious garious added this to the The Future! milestone Jan 14, 2020
@aeyakovenko
Copy link
Member

Remove the automatic account creation feature.

This isn't super workable though. You can't automatically create spending addresses without pre-registration.

To solve 1, Bitcoin and other protocols use a checksum.

@stale
Copy link

stale bot commented Jan 14, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@stale stale bot added the stale [bot only] Added to stale content; results in auto-close after a week. label Jan 14, 2021
@stale
Copy link

stale bot commented Jan 23, 2021

This stale issue has been automatically closed. Thank you for your contributions.

@stale stale bot closed this as completed Jan 23, 2021
@vpontis
Copy link
Contributor

vpontis commented Nov 20, 2021

@aeyakovenko were checksums introduced into Solana? I Googled "Solana checksum" and this was the first relevant post.

What's the best way of confirming that an address is a valid Solana address?

@vstoykovbg
Copy link

A transfer to a public key with a typo will succeed, effectively burning all tokens by accident.

This is shocking. Solana addresses do not have a checksum (like other cryptocurrencies)?

@github-actions
Copy link
Contributor

This issue has been automatically locked since there has not been any activity in past 7 days after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 30, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
locked issue stale [bot only] Added to stale content; results in auto-close after a week.
Projects
None yet
Development

No branches or pull requests

4 participants