- SR Sequencer Coordination
- Bedrock enforced coordination between sequencers.
- Can use round robin with a block height based timeout to deal with crashed sequencers
- Sequencers fall back to reconstructing from DA if a sequencer does not receive the data from the previous sequencer
- block timeout should be long enough for the sequencer to fully reconstruct block data from DA
- Sequencers optimistically shares full block with next sequencer
- Need to define protocol for making changes to the sequencer set
- Need to define expected behaviour in case a sequencer publishes garbage to the channel
- Could be a simple as skipping the message.
- wild idea: We may have a fallback where a channel becomes completely unpermissioned if there hasn’t been any messages published after a sufficiently large amount of time.
- Bridging LOGO from Bedrock to LSSA.
- Mint only on Bedrock
- LSSA sequencer maintains a well known pk on bedrock
- L1 → L2 is done through a transfer to pk
- sequencer mints equiv. amount in LSSA
- L2 → L1 is done through burning inside LSSA
- sequencer releases the LOGO on bedrock.
- Asynchronous Messaging between SR’s
- Two options:
- Rely on sequencers reading, parsing and validating full blocks from other SR in order to detect cross-SR messages
- simplest approach, but may be a bit heavy
- Include a cross-SR mailbox in the channel with a bedrock enforced message structure.
- problems with this is that we don’t have validity proofs that a chanel messages are valid transitions, if there are multiple sequencers, and one is malicious, it may post a message to the mailbox without the corresponding transaction inside the SR block.
- dual keys for UTXOs
- a zkSign key for use in PoL
- a ed25519 key for use with traditional wallets (with hardware wallet support)
- A signature from either of these keys would authorize spending.
- Is a separate concept of Mantle useful in the bedrock ontology? Can we replace mantle with just the “bedrock transaction”?