Rilascio di libtorrent 2.0 con supporto per il protocollo BitTorrent 2

Introdotto rilascio significativo della libreria libtorrent 2.0 (noto anche come libtorrent-rasterbar), che offre un'implementazione del protocollo BitTorrent efficiente in termini di consumo di memoria e carico della CPU. Biblioteca coinvolto nei client torrent come Diluvio, qBittorrent, Folx, Lince, Miro и Lavare (da non confondere con un'altra libreria libtorrent, utilizzato in rTorrent). Il codice libtorrent è scritto in C++ e distribuito da sotto licenza BSD.

Il rilascio è notevole aggiungendo supporto del protocollo BitTorrent v2, che evita l'utilizzo dell'algoritmo SHA-1, che ha problematica con selezione delle collisioni a favore di SHA2-256. SHA2-256 viene utilizzato sia per controllare l'integrità dei blocchi di dati che per le voci negli indici (dizionario informativo), il che viola la compatibilità con DHT e tracker. Per i collegamenti magnetici ai torrent con hash SHA2-256 viene proposto un nuovo prefisso “urn:btmh:” (per i torrent SHA-1 e ibridi viene utilizzato “urn:btih:”).

Poiché la sostituzione della funzione hash interrompe la compatibilità del protocollo (il campo hash è di 32 byte invece di 20 byte), la specifica BitTorrent v2 è stata inizialmente sviluppata senza tenere presente la compatibilità con le versioni precedenti e sono state adottate altre modifiche significative, come l'uso degli alberi di hash Merkle negli indici. per ridurre le dimensioni dei file torrent e controllare i dati scaricati a livello di blocco.

Altri punti salienti delle modifiche in BitTorrent v2 riguardano il passaggio all'associazione di alberi hash separati per ciascun file e l'applicazione dell'allineamento dei file in parti (senza aggiungere ulteriore riempimento dopo ogni file), che elimina la duplicazione dei dati quando ci sono file identici e ne facilita l'identificazione. diverse fonti per i file . Migliorata l'efficienza della codifica della struttura delle directory torrent e aggiunte ottimizzazioni per gestire un gran numero di piccoli file.

Per agevolare la coesistenza di BitTorrent v1 e BitTorrent v2, è stata implementata la possibilità di creare file torrent ibridi che includono, oltre alle strutture con hash SHA-1, indici con SHA2-256.
Questi torrent ibridi possono essere utilizzati con client che supportano solo il protocollo BitTorrent v1. Supporto per il protocollo WebTorrent previsto in libtorrent 2.0 a causa di problemi di stabilità irrisolti rinviato fino alla prossima major release, che non uscirà prima della fine dell'anno.

Fonte: opennet.ru

Aggiungi un commento