As written, Heterogeneous Paxos assumes a learner graph that does not change over time.
Technically, of course, we can encode all learners from all points in time in one big graph, but I don't know if that's useful.
One possibility is to simply stop running Heterogeneous Paxos Chains when the quorums of any of their "main chains" change:
Users would have to move any interesting state over to main chains, allow the quorum change to take place, and then start up a new Heterogeneous Paxos chain, and move state into it.
Another possibility is some kind of synchronized quorum shift across all chains that share a "main chain."
Whenever a transaction is approved on any chain that changes a main chain's quorums, it doesn't "take effect" for a while, and in that interim, all other chains using those quorums have to update accordingly.
As written, Heterogeneous Paxos assumes a learner graph that does not change over time. Technically, of course, we can encode all learners from all points in time in one big graph, but I don't know if that's useful.
One possibility is to simply stop running Heterogeneous Paxos Chains when the quorums of any of their "main chains" change: Users would have to move any interesting state over to main chains, allow the quorum change to take place, and then start up a new Heterogeneous Paxos chain, and move state into it.
Another possibility is some kind of synchronized quorum shift across all chains that share a "main chain." Whenever a transaction is approved on any chain that changes a main chain's quorums, it doesn't "take effect" for a while, and in that interim, all other chains using those quorums have to update accordingly.