Transmissão de Bloco na rede Bitcoin

Olá, eu gostaria de saber como os blocos são transmitidos na rede bitcoin, tipo as partes do código do bitcoin core responsáveis por enviar e receber os blocos. Eles utilizam algum tipo de JSON para enviar e receber?

No bitcoin core é usado uma codificação propria binaria, pesquise por “bitcoin block structure”.

É uma estrutura de dados onde no inicio tem os cabeçalhos do bloco e depois no final tem uma estrutura de dados parecida com o padrao TLV (type length value). Porém o bitcoin é um protocolo você poderia fazer um cliente que se comunique em json, na pratica isso é inviavel pois boa parte da rede usa o bitcoin-core nos full nodes.

No livro bitcoin para programadores também existe uma explicação do protocolo de comunicação da rede.