I run a
[a citrea node][1]
withcitrea --da-layer bitcoin --rollup-config-path ./resources/configs/testnet/rollup_config.toml --genesis-paths ./resources/genesis/testnet.Eager to find weak points of centralization in this architecture I inspected
rollup_config.toml finding them in its first section:[public_keys]
sequencer_public_key = "4682a70af1d3fae53a5a26b682e2e75f7a1de21ad5fc8d61794ca889880d39d1"
sequencer_da_pub_key = "03015a7c4d2cc1c771198686e2ebef6fe7004f4136d61f6225b061d1bb9b821b9b"
prover_da_pub_key = "0357d255ab93638a2d880787ebaadfefdfc9bb51a26b4a37e5d588e04e54c60a42"
As we can see, there is only one prover and only one sequencer.
On layer one, an analagous problem was solved with nakamoto consensus and miners.
On lightning network there are also many routing nodes, lightning fees being a good reason for this.
How might a system be designed so that the provers and sequencers could perform their roles in a permissionless manner? Competition for the users' fees springs to mind as the solution. How such solution could be implemented? Have any ideas been published that address the centralization of provers and sequencers?
[1]: https://docs.citrea.xyz/user-guide/run-a-node/citrea-testnet/citrea-testnet-source
A good question for citrea guys and @lightcoin ;)
This paper may be of interest: https://arxiv.org/abs/2310.03616
I am aware of a few active efforts to decentralize sequencing, see:
https://docs.espressosys.com/network
https://medium.com/aztec-protocol/announcing-fernet-aztecs-decentralized-sequencer-selection-protocol-dd06194d572f
https://informal.systems/blog/interchain-meet-starknet
Apparently they are "exploring solutions to support multiple sequencers":
https://docs.citrea.xyz/future-research/decentralized-sequencer-network .
Imo on high level if you want to decentralize you either
Assuming the network of sequencers is the solution. L1 Bitcoin miners might as well perform citrea's sequencing and proving. Otherwise, what could be the mechanism of selecting a sequencer from the network of sequencers?