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

Preparation of activating the timestamp-based finality feature #915

Closed
9 tasks
jjyr opened this issue Dec 19, 2022 · 4 comments
Closed
9 tasks

Preparation of activating the timestamp-based finality feature #915

jjyr opened this issue Dec 19, 2022 · 4 comments
Assignees

Comments

@jjyr
Copy link
Collaborator

jjyr commented Dec 19, 2022

Related PR

In 1.8.0-rc2, we introduce a new finality mechanism context.

Unfortunately, the upgrading can't be transparent for developers. It requires infrastructures to upgrade their finality determination method. Before activating the feature, we must communicate with the major infrastructures in the Godwoken community and push them to upgrade their code.

Deployment progress:

  • testnet (TBD)
  • mainnet(TBD)

Infrastructures:

  • Explorer
    • Gwscan Explorer related APIs
  • Deposit/Withdrawal gateways
    • Godwoken Bridge
    • Yokai
  • Wallets
    • Safepal wallet
@github-actions
Copy link

This issue is stale because it has been open for 30 days with no activity.

@github-actions github-actions bot added the stale label Jan 20, 2023
@github-actions github-actions bot removed the stale label Jan 29, 2023
@github-actions
Copy link

This issue is stale because it has been open for 30 days with no activity.

@github-actions github-actions bot added the stale label Feb 28, 2023
@github-actions
Copy link

This issue was closed because it has been inactive for 14 days since being marked as stale.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Mar 15, 2023
@Flouse Flouse reopened this Jul 24, 2023
@Flouse
Copy link
Collaborator

Flouse commented Jul 24, 2023

Explanation

  1. Previously, finality_blocks is a consensus config, see to the rollup_config of mainnet_v1
    https://github.com/godwokenrises/godwoken/blob/v1.14.0/crates/config/src/consensus/builtins/mainnet.toml#L178 The consensus constant (in RollupConfig) finality_blocks defines how the last finalized block number is calculated.

  2. Since Godwoken v1.7+, the block_time is configurable, we could set mainnet_v1 to 8s, but it will affect the withdrawal finality period, reduce the network security.
    https://github.com/godwokenrises/godwoken/blob/v1.14.0/crates/config/src/config.rs#L184-L185

  3. Before optimizing Godwoken finality mechanism, if we set the block_time to 8s, then the mainnet_v1 withdrawal finality period will be
    8s * finality_blocks
    = 8s * 16,800 = 2,240mins = 37.3hours => It's a bit too short.

  4. A new finality mechanism mentioned in this issue has not been implemented yet, because we have some other higher priority missions.

  5. Godwoken provides a faster way to confirm transactions. Once a transaction is verified in the mem-pool, the instant transaction receipt will be generated immediately (in 2s or even faster). This feature is called Instant Finality, see https://github.com/godwokenrises/godwoken/blob/develop/web3/docs/addtional-feature.md#instant-finality So, a shorter GW block time may not be a strong requirement.

@Flouse Flouse closed this as completed Jul 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants