Wprowadzenie główna wersja biblioteki libtorrent (znany również jako libtorrent-rasterbar), osiągając nowy wersja 2.0, który oferuje implementację BitTorrent, która jest wydajna pod względem zużycia pamięci i wykorzystania procesora.
W tej nowej wydanej wersji wprowadzane są zmiany w używanym algorytmie SHA-1 do SHA2-256, to dlatego, że pierwszy z nich ma pewne problemy, plik przejście do wiązania oddzielnych drzew hash do każdego pliku aplikacja i kilka innych rzeczy.
Dla tych, którzy nie są zaznajomieni z biblioteką, powinniście wiedzieć, że jest ona używana przez klientów torrent, takich jak Deluge, qBittorrent, Folx, Lince, Miro i Flush (nie mylić z inną biblioteką libtorrent używaną przez rTorrent). Kod libtorrent jest napisany w C ++ i rozpowszechniany na licencji BSD.
Główne zmiany w libtorrent 2.0
W nowej wydanej wersji libtorrent 2.0 wyróżnia się dodaniem obsługi protokołu BitTorrent v2, który odchodzi od stosowania algorytmu SHA-1, który ma problemy z doborem kolizji, na korzyść SHA2-256 .
Z wykorzystaniem algorytmu SHA2-256 gwarantuje zarówno kontrolę integralności bloków dane jak dla rekordów w indeksach (słownik informacyjny), co łamie kompatybilność z DHT i trackerami.
Chociaż użycie tego algorytmu ma problemy z linkami magnetycznymi do torrentów, dlatego z hashem SHA2-256, proponowany jest nowy przedrostek „Urn: btmh:” (w przypadku torrentów SHA-1 i hybrydowych użyj „urn: btih:”).
Ponieważ przesłonięcie funkcji skrótu łamie obsługę protokołu (pole z 32-bajtowym hashem zamiast 20 bajtów), Rozwój specyfikacji BitTorrent v2 był początkowo prowadzony bez względu na kompatybilność z poprzednimi wersjami i inne znaczące zmiany w składzie, takie jak użycie drzewa hash Merkle w indeksach w celu zmniejszenia rozmiaru plików torrent i weryfikacji na poziomie bloków pobieranych danych.
Zmiany w BitTorrent v2 również podkreślają rozszerzenie przejście, aby powiązać oddzielne drzewa skrótów z każdym plikiem i zastosować wyrównanie plików w częściach (bez dodawania dopełnienia po każdym pliku), co pozwala pozbyć się zduplikowanych danych, gdy istnieją identyczne pliki i ułatwia identyfikację różnych źródeł plików.
również należy zauważyć, że poprawiono wydajność kodowania struktury katalogów w torrent i dodano optymalizacje w celu przetworzenia dużej liczby małych plików.
Ponadto, aby wygładzić koegzystencję wersji BitTorrent v1 i BitTorrent v2, możliwe jest tworzenie hybrydowych plików torrent które obejmują, oprócz struktur z skrótami SHA-1, indeksy z SHA2-256.
Te hybrydowe torrenty mogą być używane z klientami obsługującymi tylko BitTorrent v1.
Wreszcie, w notatkach do nowej wersji jest również skomentowane, że oczekiwana obsługa protokołu WebTorrent w libtorrent 2.0 została odłożona do następnej wersji znaczące, o których wspominają, że zostanie wydany dopiero pod koniec roku (jeśli wszystko pójdzie zgodnie z planem) z powodu nierozwiązanych problemów ze stabilnością.
I musisz o tym pamiętać integracja Propozycja WebTorrent w bibliotece libtorrent will pozwalają uczestniczyć w rozpowszechnianiu treści nie tylko za pośrednictwem przeglądarek odwiedzających witrynę, ale także za pośrednictwem stacjonarnych klientów torrent przy użyciu biblioteki libtorrent, w tym Deluge i qBittorrent (rTorrent nie wpływa na zmianę, ponieważ używa innej biblioteki libtorrent).
Implementacja WebTorrent dodana do libtorrent jest napisana w C ++ i może być w razie potrzeby przeniesiona do innych bibliotek torrent i klientów (oryginalny WebTorrent jest napisany w JavaScript).
Dlatego tak jest mogą tworzyć sieci hybrydowe z uczestnikami zdolnymi do interakcji z sieciami opartymi na BitTorrent i WebTorrent.
Jeśli chcesz dowiedzieć się więcej na ten temat o notatce o nowej wydanej wersji biblioteki libtorrent, możesz sprawdzić szczegóły, przechodząc do poniższego linku.
Jak czytałem gdzie indziej, Google niedawno złamało protokół SHA-1 brutalną siłą, dlatego społeczność rzuciła się do migracji na SHA-256.