ΠŸΡƒΡΠΊΠ°Π½Π΅ Π½Π° libtorrent 2.0 с ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° BitTorrent 2

Π˜Π·ΠΏΡ€Π°Ρ‚Π΅Π½ΠΎ ΠΎΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° libtorrent 2.0 (извСстСн ΡΡŠΡ‰ΠΎ ΠΊΠ°Ρ‚ΠΎ libtorrent-rasterbar), ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° имплСмСнтация Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° BitTorrent, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° консумацията Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΈ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° процСсора. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° участващи Π² Ρ‚ΠΎΡ€Π΅Π½Ρ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΏ, qBittorrent, Folx, Lince, Miro ΠΈ ΠŸΡ€ΠΎΠΌΠΈΠ²Π°Π½Π΅ (Π΄Π° Π½Π΅ сС Π±ΡŠΡ€ΠΊΠ° с Π΄Ρ€ΡƒΠ³Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° libtorrent, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² rTorrent). ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° libtorrent Π΅ написан Π½Π° C++ ΠΈ разпространява сС ΠΎΡ‚ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π· BSD.

Π˜Π·Π΄Π°Π½ΠΈΠ΅Ρ‚ΠΎ Π΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ добавянС ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» BitTorrent v2, ΠΊΠΎΠ΅Ρ‚ΠΎ избягва ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° SHA-1, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠΌΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с ΠΈΠ·Π±ΠΎΡ€ Π½Π° сблъсък Π² ΠΏΠΎΠ»Π·Π° Π½Π° SHA2-256. SHA2-256 сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΠΊΡ‚ΠΎ Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° цСлостта Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ Π΄Π°Π½Π½ΠΈ, Ρ‚Π°ΠΊΠ° ΠΈ Π·Π° записи Π² индСкси (ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π΅Π½ Ρ€Π΅Ρ‡Π½ΠΈΠΊ), ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π°Ρ€ΡƒΡˆΠ°Π²Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚Ρ‚Π° с DHT ΠΈ Ρ‚Ρ€Π°ΠΊΠ΅Ρ€ΠΈΡ‚Π΅. Π—Π° ΠΌΠ°Π³Π½ΠΈΡ‚Π½ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ към Ρ‚ΠΎΡ€Π΅Π½Ρ‚ΠΈ с Ρ…Π΅ΡˆΠΎΠ²Π΅ SHA2-256 сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π½ΠΎΠ² прСфикс β€žurn:btmh:β€œ (Π·Π° SHA-1 ΠΈ Ρ…ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΈ Ρ‚ΠΎΡ€Π΅Π½Ρ‚ΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° β€žurn:btih:β€œ).

Въй ΠΊΠ°Ρ‚ΠΎ подмяната Π½Π° функцията Π·Π° Ρ…Π΅ΡˆΠΈΡ€Π°Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠ°Π²Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° (ΠΏΠΎΠ»Π΅Ρ‚ΠΎ Π·Π° Ρ…Π΅ΡˆΠΈΡ€Π°Π½Π΅ Π΅ 32 Π±Π°ΠΉΡ‚Π° вмСсто 20 Π±Π°ΠΉΡ‚Π°), спСцификацията BitTorrent v2 ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ бСшС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½Π° Π±Π΅Π· ΠΎΠ±Ρ€Π°Ρ‚Π½Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ Π² ΡƒΠΌΠ° ΠΈ бяха ΠΏΡ€ΠΈΠ΅Ρ‚ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ…Π΅Ρˆ Π΄ΡŠΡ€Π²Π΅Ρ‚Π° Π½Π° Merkle Π² индСкситС Π·Π° намаляванС Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° Ρ‚ΠΎΡ€Π΅Π½Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΈΠ·Ρ‚Π΅Π³Π»Π΅Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Π½Π° Π½ΠΈΠ²ΠΎ Π±Π»ΠΎΠΊ.

Π”Ρ€ΡƒΠ³ΠΈ Π°ΠΊΡ†Π΅Π½Ρ‚ΠΈ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² BitTorrent v2 ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Ρ‚ към асоцииранС Π½Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Ρ…Π΅Ρˆ Π΄ΡŠΡ€Π²Π΅Ρ‚Π° Π·Π° всСки Ρ„Π°ΠΉΠ» ΠΈ ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° подравняванС Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° части (Π±Π΅Π· добавянС Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° ΠΏΠΎΠ΄Π»ΠΎΠΆΠΊΠ° слСд всСки Ρ„Π°ΠΉΠ»), ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π° Π΄ΡƒΠ±Π»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠΌΠ° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ улСснява ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈ Π·Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° СфСктивност Π½Π° ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° структурата Π½Π° дирСкторията Π½Π° Ρ‚ΠΎΡ€Π΅Π½Ρ‚ ΠΈ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с голям Π±Ρ€ΠΎΠΉ ΠΌΠ°Π»ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.

Π—Π° Π΄Π° сС улСсни ΡΡŠΠ²ΠΌΠ΅ΡΡ‚Π½ΠΎΡ‚ΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Π½Π΅ Π½Π° BitTorrent v1 ΠΈ BitTorrent v2, Π΅ въвСдСна Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° създаванС Π½Π° Ρ…ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΈ Ρ‚ΠΎΡ€Π΅Π½Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚, Π² допълнСниС към структури с SHA-1 Ρ…Π΅ΡˆΠΎΠ²Π΅, индСкси с SHA2-256.
Π’Π΅Π·ΠΈ Ρ…ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΈ Ρ‚ΠΎΡ€Π΅Π½Ρ‚ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ само ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° BitTorrent v1. ΠžΡ‡Π°ΠΊΠ²Π° сС ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° WebTorrent Π² libtorrent 2.0 ΠΏΠΎΡ€Π°Π΄ΠΈ Π½Π΅Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ със стабилността ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½ΠΎ Π΄ΠΎ слСдващото голямо ΠΈΠ·Π΄Π°Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ няма Π΄Π° ΠΈΠ·Π»Π΅Π·Π΅ Π΄ΠΎ края Π½Π° Π³ΠΎΠ΄ΠΈΠ½Π°Ρ‚Π°.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€