I want to initialize a new CIP about putting key documents on chain.
Currently, we rely on some web2 services like Github to keep the key documents for celestia. I believe, as a foundational L1, celestia should be self-contained. Even if it’s not wisdom and practicality that gets rid of those web2 services, we should at least put the result of works on chain. The white paper, specification, activated CIPs, and fork or migration history for example.
Celestia has a goal that minimizes the state machine. But these documents do need to be indexed and may be updated later. It’s useless if no one knows where to find them or few have access. Then a state can’t be avoided. Here I see 2 approaches, one is a core module, and another is a rollup.
Because a rollup still looks like a third party (and maybe really maintained by third party without any incentive, hence unsustainable), I prefer to develop a core module, which in fact maintains the index only in the state machine, and we could take a reserved namespace (maybe, need another CIP to define ‘reserved namespace’) to keep the content as some sort of permanent blob (maybe, another CIP too) on chain. Then a committee is necessary to hold the multi-sign key of this module. Because this module does not affect the function of the chain directly, and it could be monitored by any party, I believe a committee is acceptable. At least better than an online vote.
This is a very preliminary idea, everyone is appreciated to contribute their opinions. I will start the detailed design work If anyone feels interested in this idea.