Análise dos princípios dos STARKs da Binius e considerações sobre a sua otimização
1 Introdução
Uma das principais razões para a baixa eficiência dos STARKs é que a maioria dos valores em programas reais é bastante pequena, como os índices em loops for, valores booleanos, contadores, etc. No entanto, para garantir a segurança das provas baseadas em árvores de Merkle, ao expandir os dados usando codificação de Reed-Solomon, muitos valores redundantes adicionais ocupam todo o domínio, mesmo que o valor original seja muito pequeno. Para resolver esse problema, a redução do tamanho do domínio tornou-se uma estratégia crucial.
Como mostrado na Tabela 1, a largura de codificação dos STARKs da primeira geração é de 252 bits, a largura de codificação dos STARKs da segunda geração é de 64 bits, e a largura de codificação dos STARKs da terceira geração é de 32 bits, mas a largura de codificação de 32 bits ainda apresenta um grande desperdício de espaço. Em comparação, o domínio binário permite operações diretas sobre os bits, codificando de forma compacta e eficiente.