Os blocos do Ethereum contêm transações ordenadas, mas o estado tocado por essas transações é frequentemente descoberto apenas enquanto a EVM as executa.

Uma troca pode começar em um roteador, chamar um pool, ler os saldos de tokens, entrar na lógica de transferência, invocar hooks e chegar a implementações de proxy cujos acessos ao armazenamento dependem do estado atual. Os clientes de execução podem otimizar de forma agressiva, mas tradicionalmente descobrem muitas contas e slots de armazenamento enquanto o trabalho já está acontecendo.

O EIP-7928 altera quando essas informações ficam disponíveis.

Uma lista de acesso em nível de bloco, ou BAL, regista as contas e os locais de armazenamento efetivamente acedidos pelo bloco, bem como as alterações ordenadas após cada transação aos saldos, aos nonces, ao código e ao armazenamento. O cabeçalho do bloco compromete-se com a lista codificada, e os validadores verificam se esta corresponde à execução real.

Isto é diferente de uma lista de acesso de transação EIP-2930. Uma lista de acesso de transação é fornecida pelo utilizador e pode conter entradas que nunca são utilizadas. Uma BAL abrange todo o bloco, é derivada da execução real e tem de ser completa de acordo com as regras de inclusão do protocolo.

O primeiro benefício é a pré-busca em paralelo. Se um cliente conhecer o conjunto de trabalho do bloco antes de cada transação chegar a cada leitura do estado, poderá carregar contas, código e armazenamento em simultâneo. Isso pode reduzir as esperas na base de dados causadas pela descoberta do estado item a item.

O segundo benefício é o processamento ciente das dependências. As transações que acedem a estados distintos podem ser candidatas à validação em paralelo. As transações que acedem ao mesmo estado continuam a respeitar a ordem canónica do Ethereum e os valores intermédios produzidos pelas transações anteriores.

O terceiro benefício é uma reconstrução melhor do estado. Como as BALs incluem os valores após cada transação, os sistemas de sincronização podem utilizar alterações autenticadas ao estado sem reproduzir instruções históricas apenas para redescobrir os valores finais. Isso não significa que um nó de validação completa possa dispensar a comprovação de que a lista corresponde à execução.

O resultado em termos de desempenho dependerá da arquitetura do cliente, do hardware, das condições da cache, da contenção da carga de trabalho e do design da base de dados. As BALs disponibilizam informações melhores. Não garantem um aumento universal da velocidade.

O guia da TokenToolHub sobre a EIP-7928 explica em detalhe a estrutura de dados, o modelo de validação, os riscos de segurança, os requisitos dos nós e os limites realistas de desempenho.

Leia o guia:

https://tokentoolhub.com/eip-7928-block-level-access-lists/

#Ethereum #Blockchain #Web3 #EIP7928 #crypto