Nos projetos de blockchain pública com os quais tive contato, a camada P2P costuma ser o último ponto a receber atenção; as pessoas preferem falar de consenso, de máquina virtual e de cross-chain. Mas quem realmente já executou um nó completo sabe que, quando o consumo de largura de banda começa a aumentar, um mês pode facilmente queimar vários TB de tráfego. Esse custo ainda é aceitável em pequena escala, mas, quando se trata de atender instituições financeiras globais, vira um problema que não pode ser ignorado.
A descrição do P2P tradicional no whitepaper é bem direta: ele tem dois grandes problemas, alto consumo de largura de banda e alta latência. Pelo que entendo, no método tradicional de broadcast, cada bloco ou mensagem de transação precisa ser propagado por toda a rede; depois que cada nó recebe a mensagem, ele a encaminha para todos os seus vizinhos, fazendo o volume de mensagens crescer exponencialmente. A rede fica inundada por uma grande quantidade de dados redundantes repetidos.
A solução do Dusk@Dusk é o Kadcast, baseado em Kademlia DHT. Ele organiza os nós em uma hierarquia em forma de árvore; cada nó não encaminha mensagens cegamente, mas usa o cálculo da distância XOR para repassar apenas a nós selecionados em distâncias crescentes. A mensagem é transmitida passo a passo para baixo na estrutura em árvore, formando um efeito em cascata. Cada camada encaminha para apenas alguns nós, em vez de para todos os nós da rede. #dusk
Essa ideia me trouxe bastante inspiração. Na prática, ela está dizendo que a camada P2P de uma blockchain não precisa necessariamente usar o modelo de “todo mundo informa todo mundo”, $DUSK a própria lógica de distribuição de informações financeiras é “quem precisa, recebe”. Quanto à economia de largura de banda obtida pelo Kadcast, o whitepaper não apresenta dados específicos de teste, mas, pelo desenho do mecanismo, a redução de mensagens redundantes deve ser bastante considerável.
No entanto, a estrutura em árvore também tem seus pontos frágeis; a estabilidade dos nós intermediários é crucial para a rede, e isso é algo que precisa ser continuamente monitorado nas operações futuras.
A descrição do P2P tradicional no whitepaper é bem direta: ele tem dois grandes problemas, alto consumo de largura de banda e alta latência. Pelo que entendo, no método tradicional de broadcast, cada bloco ou mensagem de transação precisa ser propagado por toda a rede; depois que cada nó recebe a mensagem, ele a encaminha para todos os seus vizinhos, fazendo o volume de mensagens crescer exponencialmente. A rede fica inundada por uma grande quantidade de dados redundantes repetidos.
A solução do Dusk@Dusk é o Kadcast, baseado em Kademlia DHT. Ele organiza os nós em uma hierarquia em forma de árvore; cada nó não encaminha mensagens cegamente, mas usa o cálculo da distância XOR para repassar apenas a nós selecionados em distâncias crescentes. A mensagem é transmitida passo a passo para baixo na estrutura em árvore, formando um efeito em cascata. Cada camada encaminha para apenas alguns nós, em vez de para todos os nós da rede. #dusk
Essa ideia me trouxe bastante inspiração. Na prática, ela está dizendo que a camada P2P de uma blockchain não precisa necessariamente usar o modelo de “todo mundo informa todo mundo”, $DUSK a própria lógica de distribuição de informações financeiras é “quem precisa, recebe”. Quanto à economia de largura de banda obtida pelo Kadcast, o whitepaper não apresenta dados específicos de teste, mas, pelo desenho do mecanismo, a redução de mensagens redundantes deve ser bastante considerável.
No entanto, a estrutura em árvore também tem seus pontos frágeis; a estabilidade dos nós intermediários é crucial para a rede, e isso é algo que precisa ser continuamente monitorado nas operações futuras.