Nos últimos anos, o design do protocolo STARKs tem tendido a usar campos menores. As primeiras implementações do STARKs usavam campos de 256 bits, mas esse design tinha eficiência reduzida. Para resolver esse problema, os STARKs começaram a se voltar para o uso de campos menores, como Goldilocks, Mersenne31 e BabyBear.
Esta transformação aumentou significativamente a velocidade da prova. Por exemplo, a Starkware consegue provar 620.000 hashes Poseidon2 por segundo em um laptop M3. Isso significa que, desde que se confie no Poseidon2 como função de hash, é possível resolver o problema do ZK-EVM eficiente.
Este artigo irá explorar como estas tecnologias funcionam, com especial atenção para a solução Circle STARKs, que é compatível com o campo Mersenne31.
Perguntas Frequentes sobre o Uso de Campos Pequenos
Ao criar uma prova baseada em hash, uma técnica importante é verificar as propriedades do polinómio através da avaliação do polinómio em pontos aleatórios. Isso simplifica muito o processo de prova.
Para prevenir ataques, precisamos escolher pontos aleatórios após o atacante fornecer o polinómio. Nos STARKs de campos menores, os valores aleatórios disponíveis são apenas cerca de 2 mil milhões, o que é viável para um atacante determinado.
Existem duas soluções:
Realizar várias inspeções aleatórias
Campos de extensão
Realizar várias verificações é simples e eficaz, mas existem problemas de eficiência. Os campos de extensão são semelhantes a plurais, mas baseados em um domínio finito. Isso permite realizar operações mais complexas em um domínio finito, aumentando a segurança.
FRI Regular
O protocolo FRI simplifica o processo de verificação ao reduzir o problema de provar um polinómio de grau d para um problema de provar um polinómio de grau d/2. Este processo pode ser repetido várias vezes, reduzindo o problema pela metade a cada vez.
O funcionamento do FRI é repetir este processo simplificado. Se a saída de uma determinada fase não for o grau polinomial esperado, então esta rodada de verificação falhará.
Para alcançar a redução gradual do domínio, foi utilizado um mapeamento de dois para um. Este mapeamento permite reduzir pela metade o tamanho do conjunto de dados, mantendo as mesmas propriedades.
Circle FRI
A genialidade do Circle STARKs reside no fato de que, dado um número primo p, pode-se encontrar um grupo de tamanho p, com uma propriedade semelhante de dois para um. Este grupo é composto por pontos que satisfazem condições específicas.
Estes pontos seguem uma regra de adição. A partir da segunda rodada, a mapeação muda. Esta mapeação reduz o tamanho do conjunto pela metade a cada vez.
FFTs de Círculo
O grupo Circle também suporta FFT, e sua forma de construção é semelhante à do FRI. Uma diferença chave é que os objetos tratados pelo Circle FFT não são estritamente polinômios, mas sim espaços de Riemann-Roch.
Como desenvolvedor, você pode ignorar isso quase completamente. STARKs apenas armazenam polinômios como valores de avaliação. O único lugar onde o FFT é necessário é para fazer a extensão de baixo grau.
Quotienting
No protocolo STARK do grupo circle, devido à ausência de uma função linear que possa ser utilizada através de um único ponto, é necessário empregar técnicas diferentes para substituir os métodos tradicionais de cálculo comercial.
Temos de provar através da avaliação em dois pontos, adicionando assim um ponto virtual que não necessita de atenção.
Polinómios que desaparecem
Na STARK circular, a função correspondente do polinômio desaparecido é:
Z_1(x,y) = y
Z_2(x,y) = x
Z_{n+1}(x,y) = (2 * Z_n(x,y)^2) - 1
Inverter a ordem dos bits
Na Circle STARKs, a estrutura de dobragem é ligeiramente diferente. Para ajustar a ordem inversa dos bits para refletir essa estrutura de dobragem, precisamos inverter todos os bits, exceto o último.
Eficiência
Circle STARKs é muito eficiente. O cálculo geralmente envolve:
Aritmética nativa: utilizada para lógica de negócios
Aritmética nativa: utilizada em criptografia
Encontrar parâmetros: realizar vários cálculos lendo valores da tabela
A chave para a eficiência é aproveitar ao máximo todo o espaço computacional para realizar trabalho útil.
Conclusão
Os STARKs circulares não são mais complexos para os desenvolvedores do que os STARKs. A principal diferença está nas três questões mencionadas acima. Embora a matemática por trás seja complexa, essa complexidade está bem oculta.
Combinando tecnologias como Mersenne31, BabyBear e Binius, estamos nos aproximando do limite de eficiência da camada base dos STARKs. As direções de otimização futuras podem incluir:
Maximizar a eficiência aritmética das funções de hash e das assinaturas
Construção recursiva para permitir mais paralelização
Máquina virtual aritmética para melhorar a experiência do desenvolvedor
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
13 Curtidas
Recompensa
13
3
Compartilhar
Comentário
0/400
TopBuyerBottomSeller
· 07-30 02:09
Já estão a falar do zk, que é realmente impressionante.
Ver originalResponder0
MeaninglessApe
· 07-30 02:03
Está demasiado competitivo, está demasiado competitivo, zk vai começar a ficar competitivo.
Ver originalResponder0
CryptoAdventurer
· 07-30 01:53
Outra vez a falar dessas coisas profundas, só de ouvir apetece-me Tudo em.
Circle STARKs: otimização de pequenos campos melhora a eficiência do ZK-EVM
Explorar Circle STARKs
Nos últimos anos, o design do protocolo STARKs tem tendido a usar campos menores. As primeiras implementações do STARKs usavam campos de 256 bits, mas esse design tinha eficiência reduzida. Para resolver esse problema, os STARKs começaram a se voltar para o uso de campos menores, como Goldilocks, Mersenne31 e BabyBear.
Esta transformação aumentou significativamente a velocidade da prova. Por exemplo, a Starkware consegue provar 620.000 hashes Poseidon2 por segundo em um laptop M3. Isso significa que, desde que se confie no Poseidon2 como função de hash, é possível resolver o problema do ZK-EVM eficiente.
Este artigo irá explorar como estas tecnologias funcionam, com especial atenção para a solução Circle STARKs, que é compatível com o campo Mersenne31.
Perguntas Frequentes sobre o Uso de Campos Pequenos
Ao criar uma prova baseada em hash, uma técnica importante é verificar as propriedades do polinómio através da avaliação do polinómio em pontos aleatórios. Isso simplifica muito o processo de prova.
Para prevenir ataques, precisamos escolher pontos aleatórios após o atacante fornecer o polinómio. Nos STARKs de campos menores, os valores aleatórios disponíveis são apenas cerca de 2 mil milhões, o que é viável para um atacante determinado.
Existem duas soluções:
Realizar várias verificações é simples e eficaz, mas existem problemas de eficiência. Os campos de extensão são semelhantes a plurais, mas baseados em um domínio finito. Isso permite realizar operações mais complexas em um domínio finito, aumentando a segurança.
FRI Regular
O protocolo FRI simplifica o processo de verificação ao reduzir o problema de provar um polinómio de grau d para um problema de provar um polinómio de grau d/2. Este processo pode ser repetido várias vezes, reduzindo o problema pela metade a cada vez.
O funcionamento do FRI é repetir este processo simplificado. Se a saída de uma determinada fase não for o grau polinomial esperado, então esta rodada de verificação falhará.
Para alcançar a redução gradual do domínio, foi utilizado um mapeamento de dois para um. Este mapeamento permite reduzir pela metade o tamanho do conjunto de dados, mantendo as mesmas propriedades.
Circle FRI
A genialidade do Circle STARKs reside no fato de que, dado um número primo p, pode-se encontrar um grupo de tamanho p, com uma propriedade semelhante de dois para um. Este grupo é composto por pontos que satisfazem condições específicas.
Estes pontos seguem uma regra de adição. A partir da segunda rodada, a mapeação muda. Esta mapeação reduz o tamanho do conjunto pela metade a cada vez.
FFTs de Círculo
O grupo Circle também suporta FFT, e sua forma de construção é semelhante à do FRI. Uma diferença chave é que os objetos tratados pelo Circle FFT não são estritamente polinômios, mas sim espaços de Riemann-Roch.
Como desenvolvedor, você pode ignorar isso quase completamente. STARKs apenas armazenam polinômios como valores de avaliação. O único lugar onde o FFT é necessário é para fazer a extensão de baixo grau.
Quotienting
No protocolo STARK do grupo circle, devido à ausência de uma função linear que possa ser utilizada através de um único ponto, é necessário empregar técnicas diferentes para substituir os métodos tradicionais de cálculo comercial.
Temos de provar através da avaliação em dois pontos, adicionando assim um ponto virtual que não necessita de atenção.
Polinómios que desaparecem
Na STARK circular, a função correspondente do polinômio desaparecido é:
Z_1(x,y) = y Z_2(x,y) = x
Z_{n+1}(x,y) = (2 * Z_n(x,y)^2) - 1
Inverter a ordem dos bits
Na Circle STARKs, a estrutura de dobragem é ligeiramente diferente. Para ajustar a ordem inversa dos bits para refletir essa estrutura de dobragem, precisamos inverter todos os bits, exceto o último.
Eficiência
Circle STARKs é muito eficiente. O cálculo geralmente envolve:
A chave para a eficiência é aproveitar ao máximo todo o espaço computacional para realizar trabalho útil.
Conclusão
Os STARKs circulares não são mais complexos para os desenvolvedores do que os STARKs. A principal diferença está nas três questões mencionadas acima. Embora a matemática por trás seja complexa, essa complexidade está bem oculta.
Combinando tecnologias como Mersenne31, BabyBear e Binius, estamos nos aproximando do limite de eficiência da camada base dos STARKs. As direções de otimização futuras podem incluir: