solana-labs / solana

Web-Scale Blockchain for fast, secure, scalable, decentralized apps and marketplaces.
https://solanalabs.com
Apache License 2.0
13.34k stars 4.35k forks source link

inflation of foundation pool #5786

Closed rob-solana closed 2 years ago

rob-solana commented 5 years ago

Problem

inflation, as specified, is split among validator rewards, storage rewards and the foundation foundation pool/pools doesn't/don't exist yet

Proposed Solution

possible approaches:

rob-solana commented 5 years ago

CC @aeyakovenko @ericlwilliams

ericlwilliams commented 5 years ago

@aeyakovenko it's likely we'll have to manually transfer foundation rewards in to the CBC account (they restrict 3rd party deposits) or we keep them in a separate account and combine the two (CBC and foundation rewards) during disassociation. WDYT?

rob-solana commented 4 years ago

@aeyakovenko @ericlwilliams any updated thinking on this?

aeyakovenko commented 4 years ago

@rob-solana i think the plan is to handle it of chain. Basically only delegate to people who can follow directions and lockup rewards.

ericlwilliams commented 4 years ago

@aeyakovenko how does that relate to the inflation % specified to the Foundation?

aeyakovenko commented 4 years ago

@rob-solana @ericlwilliams

so the % reward fee that is given to the foundation from the total inflation, is basically like a fixed global commission on all inflation rewards.

ericlwilliams commented 4 years ago

Yeah, that was my understanding as well

On Wed, Dec 18, 2019 at 8:17 AM anatoly yakovenko notifications@github.com wrote:

@rob-solana https://github.com/rob-solana @ericlwilliams https://github.com/ericlwilliams

so the % reward fee that is given to the foundation from the total inflation, is basically like a fixed global commission on all inflation rewards.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/solana-labs/solana/issues/5786?email_source=notifications&email_token=ABJ4JWPM3LMTHEWDI7LNNPDQZHE65A5CNFSM4ITWJAYKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHFDJGI#issuecomment-566899865, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJ4JWLLYPZM2XSJGAFOLTLQZHE65ANCNFSM4ITWJAYA .

rob-solana commented 4 years ago

The question here is how inflation code will identify the Foundation accounts.

Under the current configuration, in the first epoch (~13seconds), the BS leader will be entitled to redeem:

500_000_000SOL        // capitalization
  * 0.15              // inflation at T=0
  * 0.85              // validator rewards portion of inflation
  * 32                // slots in first epoch, about 13 seconds worth
  / (365*24*3600/0.4) // slots per year

Which is approximately 26SOL. The 2nd epoch is double that, and so on, until other nodes come online and more points are available, which will lead to rewards points dilution.

The Foundation is supposed to see 1.5SOL of that first epoch's inflation.

ericlwilliams commented 4 years ago

Does it have to identify the Foundation accounts or can we just specify a new account where the Foundation inflation rewards land?

On Sun, Apr 19, 2020 at 5:37 AM Michael Vines notifications@github.com wrote:

Assigned #5786 https://github.com/solana-labs/solana/issues/5786 to @ericlwilliams https://github.com/ericlwilliams.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/solana-labs/solana/issues/5786#event-3248622617, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJ4JWPOLQFKFTIRHN34Z2TRNJWXXANCNFSM4ITWJAYA .

mvines commented 4 years ago

Not sure if this issue is even relevant anymore actually.

mvines commented 4 years ago

My bad, this is relevant still. The foundation/foundation_term fields in sdk/src/inflation.rs aren't hooked up to anything

ericlwilliams commented 4 years ago

Looks like we're lumping Grant and Foundation inflation issuances into the Foundation terms here, which I think is fine, but since we originally scoped 5% grant & 5% foundation, might bump foundation inflation default to 10% for now. I think 7 years default is also okay to keep for now. Will publish and circulate official numbers before go-live.

ryoqun commented 4 years ago

@ericlwilliams @mvines I think we need to address this before enabling inflation on mainnet-beta, which is nearing to realize. :)

ericlwilliams commented 4 years ago

@aeyakovenko what do you think? I think 5% Foundation, 5% grant still sounds reasonable (so w/ 8% initial inflation, that would be 2M tokens for each first year, dropping thereafter). @ryoqun what exactly do you need to move forward besides these numbers?

ryoqun commented 4 years ago

@ericlwilliams I need specific hard-coded accounts to transfer the rewards for foundation and grant to like these: https://github.com/solana-labs/solana/blob/e556f85178af23873a778ddec88a98432b57e3c7/core/src/non_circulating_supply.rs#L58-L80

Maybe the accounts will be one of them, because the accounts should be regarded as non-circulating?

ericlwilliams commented 4 years ago

@ryoqun I see! Let me sync with @danpaul000 on this today and try to get those for you

danpaul000 commented 4 years ago

@ryoqun will the foundation accounts receiving rewards be system accounts, or stake accounts? If system, does it matter if the account exists/is already funded or not?

mvines commented 4 years ago

It can be any account. The bank would just deposit the foundation rewards in that account. Also consider if we just want 1 account or multiple (and if multiple how do the rewards get split up between them)

mvines commented 4 years ago

Temporary plan for pico-inflation is to just set the foundation rate to 0% to bypass this entirely

stale[bot] commented 2 years ago

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

github-actions[bot] commented 2 years ago

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.