SIMD-0432: Loader V3: Reclaim Closed Program#432
Conversation
|
Hello buffalojoec! Welcome to the SIMD process. By opening this PR you are affirming that your SIMD has been thoroughly discussed and vetted in the SIMD discussion section. The SIMD PR section should only be used to submit a final technical specification for review. If your design / idea still needs discussion, please close this PR and create a new discussion here. This PR requires the following approvals before it can be merged:
Once all requirements are met, you can merge this PR by commenting |
cc1c7c8 to
5873149
Compare
5873149 to
1b9bd68
Compare
|
lgtm! |
| - Permanent account bloat: Tombstoned program accounts cannot be reclaimed and | ||
| accumulate indefinitely in the accounts database. | ||
| - RPC performance degradation: getProgramAccounts against the loader v3 program | ||
| must return all program accounts, including closed ones, increasing response | ||
| size and latency. |
There was a problem hiding this comment.
Do we know how many tombstoned program accounts there are? Is this actually a performance issue? I'm not against this proposal but I think in general we should be clear about the motivations for proposals, and keep the motivations list small - only including the most impactful ones.
There was a problem hiding this comment.
I just ran a scrape and found 49,210 Loader V3 program accounts on mb, 33,804 of which are tombstones.
If you want the script, lmk.
|
Thanks, topointon-jump! |
topointon-jump
left a comment
There was a problem hiding this comment.
Is there a risk that a user will accidentally get their program address taken over by someone else? Say if the account is reclaimable, and they don't realise it, or an adversary claims it during the window where the original user is trying to reclaim it... are we concerned about this scenario?
The only way someone could reclaim another person's tombstoned program is if they themselves held the program keypair. I did consider this scenario - since devs might have previously assumed this keypair was forever useless and thrown it out, or disregarded mistakes like accidentally committing it to GitHub - and I was apprehensive at first. However, we figured this would be an exceptionally rare case. What do you think? |
No description provided.