Olá @arajasek, que bom vê-lo participar da discussão aqui!
Integramos nossa biblioteca com o Shadow e executamos as mesmas experiências semelhantes à mainnet do Ethereum que @ppopth fez nas experiências de “Dobrando a contagem de blobs” (obrigado pelo ótimo trabalho, foi muito fácil construir em cima).
Observe que o Shadow não contabiliza o tempo da CPU. Dependendo de como você integrou seu código, isso pode ser uma diferença considerável em comparação com as execuções em testbeds. Estamos investigando como contornar isso (fazia parte do Shadow até certo ponto, mas foi removido para favorecer a reprodutibilidade).
Ao contrário da abordagem aqui, modificamos o próprio protocolo Gossipsub para funcionar com chunks. Acho isso importante, porque assim você tem controle total sobre como os chunks são propagados. Não tenho certeza de como a abordagem neste tópico funciona…
Houve vários estudos sobre como fazer a propagação de mensagens grandes sobre o GossipSub com chunking. No trabalho FullDAS (onde a parte de simulação também usa nim-libp2p + Shadow), usei uma abordagem ingênua na implementação, simplesmente usando mensagens pequenas e lidando com qualquer coisa relacionada ao contexto de mensagens grandes em um nível superior na stack. Mas a postagem vinculada também contém propostas para IDs de mensagens estruturadas, IHAVE/IWANT baseado em bitmap, etc.
Seria realmente interessante ver quais modificações você fez em sua versão.