"Blocos de 20 segundos eu não recomendo, porque é muito próximo do tempo de propagação de um bloco pela rede, principalmente se forem blocos com muitas transações. Isso vai gerar MUITO bloco órfão e sobrecarregar a blockchain (além e frustrar os mineradores)."
É exatamente por esse motivo que vi muitas moedas indo para o brejo. Isso é um ponto crucial que alguns programadores acabam ignorando.
É só fazer blocos mais leves (por exemplo,3x menos pesados do que os de uma moeda de 60s),que eles se propagam muito mais rápido pela rede.
Isso não resolve o problema. A maioria das moedas tem muito poucas transações nos blocos então eles são "leves" por natureza. A questão aqui não é a largura de banda, mas o tempo minimo que uma informação, por menor que seja, leva pra sair de um lugar e chegar em outro (o tempo de "ping" por assim dizer). Além disso, a distribuição dos tempos de bloco é aleatória, com média em 60s (ou 20s), e por ser uma distribuição exponencial (com cauda longa) a grande maioria dos blocos vai ter tempo BEM MENOR que a média. Isso não faz muita diferença se vc tem blocos muito maiores que o tempo de propagação (
segundo esse pessoal da ethereum, 12s hoje), mas com um bloco muito proximo do tempo de propagação (menos do dobro, no caso) uma quantidade significativa dos blocos seria encontrada antes do bloco, por mais leve que fosse, terminasse de se propagar (mais de 30%, eu estimo).
Enfim, não é uma coisa simples de se resolver e o pessoal da ethereum brigou muito com esse problema!