Sobre transações estáticas:
As transações devem ser totalmente estáticas na submissão.
Por quê: Os sequenciadores devem ser capazes de raciocinar sobre transações sem executá-las. E os validadores devem ser capazes de raciocinar sobre a validade do bloco sem executar o bloco.
Todas as entradas relevantes para sequenciamento, incluindo, mas não se limitando a:
1. Pagador de taxa
2. Uso de recursos e taxas cobradas
3. Instruções
4. Lista de acesso para leitura e gravação
Devem estar contidas dentro da transação.
De fato, até mesmo quais contas estão carregadas devem ser estáticas e não manipuláveis em tempo de execução para evitar falhas de cache (você certamente deve ser capaz de não ler algo que pediu, mas não deve ser capaz de ler algo que não pediu).
Se o sequenciador não puder simular os bloqueios de contas e o uso de recursos da sua transação sem acesso ao tempo de execução, é muito dinâmico.