Closed jolestar closed 1 year ago
Is it "High Availability" or "Decentralize"? @templexxx
@jolestar Im trying to satisfy both.
High Availability:
Decentralization:
Just a breif above. Tons of details haven't been shown here.
Issues still need to be closed:
p.s.
For sequencer switching controled by smart contract on Layer1:
I think decentralized systems are generally highly available, and the security of decentralized systems is corresponding to the consistency in CAP theory
I think decentralized systems are generally highly available, and the security of decentralized systems is corresponding to the consistency in CAP theory
@lshoo It's a CP system. Need effort to achieve higher availablity. And for permissionless & trustless, we need mechnism of BFT, transcendental or experiential way.
It's a CP system. Need effort to achieve higher availablity. And for permissionless & trustless, we need mechnism of BFT, transcendental or experiential way.
Yes, both centralized and decentralized systems are solved by consensus algorithms are solved by writing (mint block) or writing to confirm validity, regardless of Raft or BFT, while decentralized systems also need anti-cheating or proof of means to prevent evil
Blockchain is a decentralized system version of the CQRS architecture system, the decentralized execution layer is equivalent to the service cluster in CQRS to execute transactions (write command), from the perspective of modular blockchain, does data availability belong to the data layer?
We could design a protocol for sequencer switching, and the two epochs have time overlap for the sequencer to do some conformation and information exchange, making the switching more smooth.
But this protocol requires the two sequencers to cooperate.
We could design a protocol for sequencer switching, and the two epochs have time overlap for the sequencer to do some conformation and information exchange, making the switching more smooth.
But this protocol requires the two sequencers to cooperate.
two nodes cannot achieve BFT, ex-sequencer could cheat next one some transaction it hasn't executed but already done actually. No one could give a proof that ex-sequencer is evil because we cannot trust anyone's evidence. We cannot assume that no one would do such damage maliciously, not to mention that the cost of such damage is 0. So If we use this way, the idea of mutual cooperation must be abandoned. Only we can do is switching by smart contract directly.
Besides that I've post my thoughouts of this design:
For sequencer switching controled by smart contract on Layer1:
Conclusion: Lower performance, equal security (or even less, because the incentive is not as strong as the cluster version)
Or we could have a BFT system among sequencers. But that will be another Layer1.
These original and immature discussions above will go into the archives.
The questions inside it will be split into different issues.
Is it "High Availability" or "Decentralize"? @templexxx