[Framework] Upgrade policies of Rooch framework
Discuss the upgrade policies of Rooch framework. Some related discussion before: #146 and #83 .
Two basic policies: compatible, immutable.
The discussion is mainly about compatibility upgrading policy as we will definitely upgrade the framework.
There are two way to manage the upgrading process:
- Multi-signature.
- A two-phase upgrade policy coupled with the DAO system like Starcoin does.
Option 1 adopts a multi-signature approach, allowing for an upgrade once N-of-M signatures agree. It is convenient, flexible, and enables rapid iteration. Option 2 allows for the involvement of a larger ecosystem of users, including end-users. But the upgrading process may be lengthy involving proposal, public disclosure, voting, and other lengthy processes.
We can support on-chain Multi-signature for option 1
We support UpgradeCap and also support Bitcoin native multisign accounts. The application can customise the upgrade policies based on UpgradeCap.