0xHabitat / improvements-and-bugs

Report bugs and small improvements for Habitat. Fill out the provided form when submitting a new issue.
4 stars 3 forks source link

Governance mechanisms for Hard forking #16

Open pinkiebell opened 3 years ago

pinkiebell commented 3 years ago

⚡️ Challenge:

The rollup is open for everyone (permissionless) but this conveys additional attack vectors. How it works right now: 1) Operators submit solutions for up to 256 blocks once at a time. 2) These solutions can be 'flagged' inside the INSPECTION_PERIOD. 3) The inspection period of flagged solutions multiplies by INSPECTION_PERIOD_MULTIPLIER. 4) Inside this timeframe the solution can not be finalized. After the inspection period it can be finalized normaly.

This means that any observer has enough time to challenge any invalid solutions by doing on-chain fraud proofs. However, if the solutions are indeed correct and flagging is only done because of grieving then the only drawback is the elevated inspection period.

Now, Habitat is managed by the community and this means these problems can also be decided on mainnet for additional resilience against attacks in the event that finalisation for governance decisions on the rollup itself are postponed. This feature is especially needed if the rollup contracts have any serious bugs that prevents finalisation.

In the special event that the governance functionality is misused to inject wrong state roots into the rollup then fraud proofs should be made to mitigate this possibility.

Q: If fraud proofs are not possible through a broken implementation and the governance mechanism is used for finalising the wrong state then... provide an emergency exit of all assets for the last finalised state root(?)

🦋 Desired Outcome

A mechanism that allows manual hard-forking via governance decision on mainnet.

🎯 Action Points:

Care must be taken how ownership of the HBT token is proved if most of the supply is locked on the rollup itself. i.e merkle proofs for the last finalised state root.

🐇 Additional Information

🍰