Lançamento do libtorrent 2.0 com suporte ao protocolo BitTorrent 2

Introduzido lançamento significativo da biblioteca libtorrent2.0 (também conhecido como libtorrent-rasterbar), que oferece uma implementação do protocolo BitTorrent eficiente em termos de consumo de memória e carga de CPU. Biblioteca envolvido em clientes de torrent como Dilúvio, qBittorrent, Folx, Lince, Miro и Nivelar (não confundir com outra biblioteca libtorrent, que é usado no rTorrent). O código libtorrent é escrito em C++ e distribuído por sob a licença BSD.

O lançamento é notável adicionando suporte de protocolo BitTorrent v2, o que evita o uso do algoritmo SHA-1, que tem problemas com seleção de colisões, em favor do SHA2-256. SHA2-256 é usado tanto para controlar a integridade de blocos de dados quanto para entradas em índices (dicionário de informações), o que viola a compatibilidade com DHT e rastreadores. Para links magnéticos para torrents com hashes SHA2-256, um novo prefixo “urn:btmh:” é proposto (para SHA-1 e torrents híbridos, “urn:btih:” é usado).

Como a substituição da função hash quebra a compatibilidade do protocolo (o campo hash tem 32 bytes em vez de 20 bytes), a especificação BitTorrent v2 foi inicialmente desenvolvida sem compatibilidade com versões anteriores em mente e outras mudanças significativas foram adotadas, como o uso de árvores hash Merkle em índices para reduzir o tamanho dos arquivos torrent e verificar os dados baixados no nível do bloco.

As mudanças no BitTorrent v2 também incluem a transição para atribuição de árvores hash separadas para cada arquivo e o uso de alinhamento de arquivos em partes (sem adicionar preenchimento adicional após cada arquivo), o que elimina a duplicação de dados quando há arquivos idênticos e facilita a identificação fontes diferentes para arquivos. Maior eficiência na codificação da estrutura de diretórios de torrent e otimizações adicionais para lidar com um grande número de arquivos pequenos.

Para suavizar a coexistência do BitTorrent v1 e BitTorrent v2, foi implementada a capacidade de criar arquivos torrent híbridos, que incluem, além de estruturas com hashes SHA-1, índices com SHA2-256.
Esses torrents híbridos podem ser usados ​​com clientes que suportam apenas o protocolo BitTorrent v1. Suporte para o protocolo WebTorrent esperado na libtorrent 2.0 devido a problemas de estabilidade não resolvidos postergado até o próximo grande lançamento, que só será lançado no final do ano.

Fonte: opennet.ru

Adicionar um comentário