Κυκλοφορία του libtorrent 2.0 με υποστήριξη για το πρωτόκολλο BitTorrent 2

Εισήχθη σημαντική έκδοση βιβλιοθήκης libtorrent 2.0 (γνωστό και ως libtorrent-rasterbar), το οποίο προσφέρει μια υλοποίηση του πρωτοκόλλου BitTorrent που είναι αποτελεσματική όσον αφορά την κατανάλωση μνήμης και το φόρτο της CPU. Βιβλιοθήκη εμπλεγμένος σε πελάτες torrent όπως Κατακλυσμός, qBittorrent, Folx, Lynx, Miro и Ξεπλύνετε (δεν πρέπει να συγχέεται με άλλη βιβλιοθήκη libtorrent, το οποίο χρησιμοποιείται στο rTorrent). Ο κώδικας libtorrent είναι γραμμένος σε C++ και διανέμονται από υπό την άδεια BSD.

Η κυκλοφορία είναι αξιοσημείωτη προσθέτωντας υποστήριξη πρωτοκόλλου BitTorrent v2, το οποίο αποφεύγει τη χρήση του αλγόριθμου SHA-1, ο οποίος έχει προβλήματα με επιλογή σύγκρουσης υπέρ του SHA2-256. Το SHA2-256 χρησιμοποιείται τόσο για τον έλεγχο της ακεραιότητας των μπλοκ δεδομένων όσο και για εγγραφές σε ευρετήρια (πληροφοριακό λεξικό), γεγονός που παραβιάζει τη συμβατότητα με το DHT και τους ιχνηλάτες. Για μαγνητικούς συνδέσμους σε torrents με κατακερματισμούς SHA2-256, προτείνεται ένα νέο πρόθεμα "urn:btmh:" (για SHA-1 και υβριδικά torrents, χρησιμοποιείται "urn:btih:").

Επειδή η αντικατάσταση της συνάρτησης κατακερματισμού διακόπτει τη συμβατότητα πρωτοκόλλου (το πεδίο κατακερματισμού είναι 32 byte αντί για 20 byte), η προδιαγραφή BitTorrent v2 αναπτύχθηκε αρχικά χωρίς να ληφθεί υπόψη η συμβατότητα προς τα πίσω και υιοθετήθηκαν άλλες σημαντικές αλλαγές, όπως η χρήση των δέντρων κατακερματισμού Merkle σε ευρετήρια για να μειώσετε το μέγεθος των αρχείων torrent και να ελέγξετε τα ληφθέντα δεδομένα σε επίπεδο μπλοκ.

Οι αλλαγές στο BitTorrent v2 περιλαμβάνουν επίσης τη μετάβαση στην αντιστοίχιση χωριστών δέντρων κατακερματισμού σε κάθε αρχείο και τη χρήση της στοίχισης αρχείων σε μέρη (χωρίς προσθήκη πρόσθετης επένδυσης μετά από κάθε αρχείο), η οποία εξαλείφει την αντιγραφή δεδομένων όταν υπάρχουν πανομοιότυπα αρχεία και διευκολύνει την αναγνώριση διαφορετικές πηγές για αρχεία. Βελτιωμένη αποτελεσματικότητα της κωδικοποίησης δομής καταλόγου torrent και πρόσθετες βελτιστοποιήσεις για το χειρισμό μεγάλου αριθμού μικρών αρχείων.

Για την εξομάλυνση της συνύπαρξης των BitTorrent v1 και BitTorrent v2, έχει εφαρμοστεί η δυνατότητα δημιουργίας υβριδικών αρχείων torrent, τα οποία περιλαμβάνουν, εκτός από δομές με κατακερματισμούς SHA-1, ευρετήρια με SHA2-256.
Αυτά τα υβριδικά torrent μπορούν να χρησιμοποιηθούν με πελάτες που υποστηρίζουν μόνο το πρωτόκολλο BitTorrent v1. Αναμένεται υποστήριξη για το πρωτόκολλο WebTorrent στο libtorrent 2.0 λόγω ανεπίλυτων ζητημάτων σταθερότητας αναβλήθηκε μέχρι την επόμενη μεγάλη κυκλοφορία, η οποία δεν θα κυκλοφορήσει μέχρι το τέλος του έτους.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο