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

Mainnet phases of operation #2563

Closed
7 tasks
cwgoes opened this issue Feb 8, 2024 · 9 comments
Closed
7 tasks

Mainnet phases of operation #2563

cwgoes opened this issue Feb 8, 2024 · 9 comments

Comments

@cwgoes
Copy link
Contributor

cwgoes commented Feb 8, 2024

This list is still tentative and subject to change.

The following must happen before mainnet:

  1. Attain protocol stability.
    • Protocol stability requires that the community (including Heliax) is confident in the correctness of and familiar with the usage of a stable version of the software.
    • At minimum, this requires a release version which we intend to use for mainnet. This release version must:
      • Complete everything in Mainnet readiness: overview #2528, software-wise.
      • Be run on the SE for 1-2 weeks stably
      • Be subjected to 2 weeks of full-time internal red teaming with no further finds
      • Be subjected to final external audits (details still TBD)
  2. Finalize a genesis block proposal and publish it alongside instructions to:
    • Reconstruct the generation process using input data.
    • Check for the presence of an account in the genesis file, and the associated balance.
    • Check that the keys associated with this account are accessible and can produce a valid signature.
  3. Genesis block proposal is published for at least 1 week of community review
    • People should have a chance to test their keys. This is the last time we can change addresses.

Mainnet is expected to follow the following phases (names are tentative):

Phase 1: Block Party

  • No staking, PGF, or shielded set rewards inflation.
  • Only proof-of-stake and governance features are enabled.
  • IBC rate limits for all assets are set to 0. Clients, connections, and channels can be created, but no assets can be transferred in.
  • NAM transfers are disabled.
  • During this phase, if anything goes horribly wrong, it is probably possible to reset the network.

Phase 2: Staking Party

  • Staking inflation and PGF inflation are turned on via a governance proposal.

Phase 3: Shielding Party

  • IBC rate limits for selected assets are slowly raised in a sequence of governance proposals.
    • e.g. ATOM, OSMO, USDC
  • These assets may be transferred transparently and using the MASP.
  • NAM transfers are still disabled.

Phase 4: Shielding Party Overdrive

  • Shielded set rewards are slowly turned on for selected assets in a sequence of governance proposals.
  • NAM transfers are still disabled.
  • At this point, all features of the protocol are operational, and we can slowly increase limits as stability is demonstrated.

Phase 5: NAM NAM NAM

  • Eventually, if the network is stable and the community feels ready, NAM transfers can be enabled.
  • This is the last phase in the initial launch sequence.
@brentstone
Copy link
Collaborator

What does it look like to disable NAM transfers in the code? It sounds like before we want to enable them, accounts will still be able to bond and unbond tokens and make governance proposals. These actions require transferring tokens to and from an account and an internal address like PoS or Governance. Perhaps we have some logic that forbids transfers between (implicit | established) <---> (implicit | established) addresses?

@cwgoes
Copy link
Contributor Author

cwgoes commented Feb 9, 2024

What does it look like to disable NAM transfers in the code? It sounds like before we want to enable them, accounts will still be able to bond and unbond tokens and make governance proposals. These actions require transferring tokens to and from an account and an internal address like PoS or Governance. Perhaps we have some logic that forbids transfers between (implicit | established) <---> (implicit | established) addresses?

Yes; I think we would only allow transfers to and from PoS and governance, and the transfers back can only be to the account which controlled the bond or made the deposit, respectively.

tzemanovic added a commit that referenced this issue Feb 19, 2024
tzemanovic added a commit that referenced this issue Feb 19, 2024
* brent/fix-validator-set-update-with-ck:
  changelog: add #2563
  refactor conversion of token amount into voting power
  refactor validator set update to consensus engine
  simplest fix
  test a validator that becomes consensus and gets new consensus key at same epoch (fails)
Fraccaman pushed a commit that referenced this issue Feb 19, 2024
* origin/main:
  Namada 0.31.5
  wasm: update checksums
  changelog: add #2563
  refactor conversion of token amount into voting power
  refactor validator set update to consensus engine
  simplest fix
  test a validator that becomes consensus and gets new consensus key at same epoch (fails)
@anoma anoma deleted a comment from samwang3 Feb 29, 2024
@ahaunz
Copy link

ahaunz commented Mar 4, 2024

As I understand it, the concept is that when Phase 5 is reached, the entire 100% of the 1b (NAM) supply will become available for transfer/transfers. And no vesting for all of them.

How useful is this in terms of tokenomics and long term development of Namada, how does launching the first fractal instance of Anoma follow such a method?

Because of this approach, the support of the long-term and retail investor is lost, including there may be a problem with listing on the CEX exchanges and with this approach developers will have no incentive to continue to support and develop the project, because with this approach its value/value of NAM including will tend to zero.

Still, I suggest to consider creating a more fair and accurate tokenomics, for example, to pay attention to Celestia (With a small amount of unlocked assets for the community/developers/treasury, about 12-18% at the time of listing followed by gradual unlocking of the rest)

@ragnarok5562
Copy link

Let me ask a simple question. The testnet has been running for so long and the above problems were solved before the mainnet was launched. Why can’t the mainnet transfer tokens yet but continue to do testing? Are you sure this is the mainnet and not testnet 2?

@cryptomolot
Copy link

The proposed plan appears promising, with the flexibility to make adjustments through governance. The Namada community and pilots, in particular, will play a crucial role in ensuring its success :)

Viva La Namada!

@brlck974
Copy link

brlck974 commented Apr 4, 2024

great team , i like this plan

@ValarDragon
Copy link

X-posting my comment from the forums:

Exciting that this is happening!

Phase 1 makes sense to me to start getting some user-determined validator set choices determined. I personally would hope that this phase is like 3 days, but at most 2 weeks.

I don’t get why phase 2 and phase 3 can’t be combined. I don’t really see any point in turning on staking inflation prior to allowing IBC. I think it will lead to phase 2 user frustration to have to stake early for yield, but come back later to do their first thing here. (The NAM they get won’t even be distributable) Hence I think just combine phase 2 + 3 and jump to utility being provided. Seems like an unnecessary delay in time to market, with unclear utility to me.

@gavinly
Copy link
Contributor

gavinly commented Apr 15, 2024

fyi this is also being discussed on the Namada forum: https://forum.namada.net/t/proposal-for-mainnet-launch-phases/560

@cwgoes
Copy link
Contributor Author

cwgoes commented Aug 27, 2024

Out-of-date, superseded by more recent discussions on the forums.

@cwgoes cwgoes closed this as completed Aug 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants