We know that the latest IPNS uses DHT and Pubsub, which enables one publickey to publish a pointer, so we can get a dynamic IPLD owned by one person. Then there are also some ways to extend its functionality.
The first thing I can think of is to introduce a hashchain. (Not sure if it already exists. Theoretically IPNS can work without forming a chain anyway.) For this one-usered IPNS, each change published to IPNS is a block pointing to the previous version of the IPNS pointer. Each block includes a WASM executable, which validates the next block. For the nodes knowing the full history, the executable on the hashchain can limit the permissions of the IPNS owner. Next, we introduce multiple IPNS endpoints, which link each other’s version and forms a single chain when not conflicting by accident. Then that’s a eventual-consistent blockchain, and you know what could be done next.
We then create a block that contains all these IPNS addresses, and when a user visits that dweb site, all addresses are resolved via DHT, and Pubsub, to avoid hidden branches on the chain. (All branches are downloaded before validating. All IPNS endpoints mention the branch they acknowledge. A branch is visible as long as one IPNS endpoint mentions it.) When there’s a conflict, the branch with more addresses (from that block) pointed wins.
This is some kinda small-scale blockchain, without currency. The good thing is that we can have many such chains without too much burden. This is a way of reaching Mutable IPLD that I believe to be quite decentralized.