O progresso feito por @SuccinctLabs e @RiscZero em direção à prova em tempo real tem sido super impressionante. QT-ing não para ser crítico, mas porque eu acho que essas perguntas são realmente interessantes (e eu gostaria de ver RTP bater Ethereum!). 1. Provar todos os blocos históricos do Ethereum dentro de 12s não é suficiente para cobrir o pior tempo de provação. Isso é importante porque existem possíveis blocos patológicos ("prover-killer") onde o custo de comprovação >> o custo do gás (provar o custo é uma medida de latência ou $). O primeiro passo é provar todos os blocos históricos dentro de 12s. Mas isso não é suficiente. Precisamos trabalhar para identificar casos patológicos que ainda não apareceram no Ethereum. Não tenho certeza de qual é o cronograma de custos para o SP1, mas algo como um bloco inteiro cheio de extcodehash pode ser caro em termos de latência. 2. A verificação formal também precisa abranger o compilador 😱 @argumentxyz tive um bom artigo sobre a frequência com que os bugs do compilador são encontrados ( tl; dr há uma classe específica de "bugs de otimização incorreta" que podem ser potencialmente explorados em zkVMs para criar problemas de solidez. Esses bugs são encontrados com bastante frequência. @drakefjustin argumentou que podemos contornar isso com muitas implementações zkVM. Mas isso não funciona se esses zkVMs compartilharem a mesma cadeia de ferramentas do compilador e forem vulneráveis aos mesmos bugs. 3. Não é necessária prova em casa Acho que concordo que a prova em casa não é necessária. Já contamos com atores extra-protocolo, como construtores, para construir blocos. A garantia que queremos é que *alguém* esteja sempre disponível para gerar provas. Adiar a RTP para o cenário da 3ª Guerra Mundial, em que todos os provadores ficam offline, parece um exagero. Talvez neste cenário, o Ethereum poderia retornar a um modo em que o limite de gás diminui e os blocos são reexecutados, em vez de verificados com ZKPs. 4. 100x-ing o limite de gás pode criar problemas A prova paralelizada definitivamente ajuda, mas o tempo é tão apertado que precisamos considerar a geração de testemunhas (não paralelizável em muitos zkVMs) e a recursão. A sobrecarga de recursão deve ser dimensionada logaritmicamente, mas se o limite de gás aumentar em 100x, os tempos de prova podem exceder os tempos de bloco. Bônus - Eu diria que é realmente importante para o Ethereum reduzir os tempos de bloqueio e o tempo até a finalização, a fim de ajudar os usuários a integrar L2s, ponte de CEXs, etc. Isso aumenta as exigências de latência na prova. Seria subótimo se não formos capazes de passar para tempos de bloco 1s porque o limite inferior na latência RTP do pior caso é 10s.
Uma Roy
Uma Roy22/05/2025
Yesterday's real-time proving announcement is a huge milestone, and @VitalikButerin brings up some good points about further work that will be required. BUT I think we're closer on all these points than people might realize... 1. Worst case real-time proving can be solved with simple changes to Ethereum's gas schedule: Today, ~94% of blocks can be proven in < 12 seconds, 99% of blocks can be proven in < 13 seconds. For the remaining outliers, simple adjustments to Ethereum's gas schedule should suffice (currently the bn254, bls12-381 precompiles are underpriced relative to their proving costs). Also the EIP limiting the maximum gas usage of a single transaction will help ensure there are no DDOS vectors (since we prove subblocks of transactions in parallel to achieve our low latency). 2. Formal Verification for SP1 is already underway: Conveniently, we've had 2 announcements in the past week about formal verification for SP1, working with @NethermindEth and @VeridiseInc! We have a clear line of sight to formally verifying all of our core AIRs over the next few months. 3. At-home proving is not needed with decentralized prover networks: Right now RTP requires ~160 GPUs, which is very small for any data-center but maybe slightly large for an at-home setup. However, with the upcoming launches of decentralized prover networks, I'm not sure we need to aim for proving at home. The network will economically incentivize that there's always provers online ready to real-time prove. 4. Parallelized proving of subblocks means 100x-ing the gas limit is no problem for latency: I'm all for 100x-ing the gas limit and this will be no problem for us. Our real-time proving implementation uses a subblock approach, where we take a block and break it into smaller subblocks of a few transactions. These subblocks are proven in parallel, and then aggregated into 1 proof at the end. Even if the gas limit increases by 100x, we can still parallelize proving of the subblocks (there are just more of them), meaning the latency won't be impacted. Believe in something real. Believe in real-time proving.
9,28K