Distribuição Uniforme de Dados
A Bywise utiliza uma arquitetura de bloco própria, chamado de Distribuição Uniforme de Dados (UDD), formada por transações e slices como mostra a figura. Esta arquitetura cria um “super bloco” composto das hashs de blocos menores ao invés de transações. Estes blocos menores são chamados de slices e carregam as hashs das transações.
Uma nova mempool é adicionada à blockchain para conter as slices, que também são pré-validadas. Da mesma forma na propagação de um bloco a etapa de validar as slices passa a ser desnecessária.
Está estrutura é multiplicativa, permitindo um número muito maior de transações por bloco. Se a Bywise possuir slices de 1 MB e bloco com máximo de 10 MB, a quantidade máxima de transações por segundo é quadrática e retorna um valor absurdamente alto de quase 17 milhões de transações por segundo.
O que permite valores tão altos de transações por segundo é a natureza quadrática da estratificação do bloco associado a pré validação das slices e transações, caso estes elementos fossem revalidados antes da transmissão do bloco, a propagação seria absurdamente lenta, gerando forks na rede.
Outra alteração realizada é as limitações dos blocos e slices serem feitas em número de transações e não tamanho em MBs, já que é armazenado hashs de tamanho fixo e não transações/slices inteiras.
Também é esperado que com slices de 32.768 transações (1 MB), ocorressem uma ou duas slices por bloco no começo da rede. Este fenômeno pode abrir brechas para ataques ou praticas desonestas.
Para evitar poucas slices em um bloco, os blocos foram divididos em regiões, cada região possui um máximo de transações por slice, algo semelhante aos épicos do roadmap de um criptomoeda, porém com os IDs das slices ao invés de IDs dos blocos na ledge.