villanuevawill: villanuevawill: alternate models could be explored since the block producer is predictable,

This is not guaranteed to be true forever. We are exploring secret single leader election, and there have been some decent proposals from Dan Boneh in this regard. Though it is possible that such proposals would only apply to the hyper-important beacon chain blocks, and not to the shard chain blocks.

Validators may likely keep some popular segments of the state tree and have basic cacheing capabilities

While proposal committees may do this, crosslink committees will not, because they reshuffle every epoch.

If a mempool is used, it will need to actively refresh its witnesses (stale transactions) as it prepares transactions for each block.

It depends what we mean by a mempool! With EIP 1559, we can expect almost all transactions to be included within 1-3 slots. The mechanism I introduced where the state is 128 bytes allows the state to contain the last 4 roots, allowing transactions with witnesses to survive up to 3 slot transitions unmodified. So a “either it’s included within 4 slots or you / the state provider need to rebroadcast” model could be reasonable.

Do we foresee issues around bombs?

I expect the witness would include a list of what it is a witness for, so the witness could be verified quickly and before doing any execution. There is the question of what happens if a transaction attempts an out-of-bounds access after doing execution. One way to resolve this could be to make the transaction fail (but still cost the sender gas) in this case. Transactors would want to work with state providers that do not cheat them, and block producers occasionally being dishonest could happen but would be “just a cost of doing business”.

Miners are incentivized to choose transactions where the accounts are close … do we see any issues or concerns with this?

Figuring out how the gas market would work is probably the big challenge here.

One thing that comes to mind is how do beacon nodes fit into all of this, if they fit in at all?

Aren’t basically all clients going to be beacon nodes? Maintaining the beacon chain state is a basic responsibility of anyone that wants to interact with the chain, unless they’re ok with being just a light client even for the beacon chain.