libtorrent 2.0-ի թողարկում՝ BitTorrent 2 արձանագրության աջակցությամբ

Ներկայացվել է libtorrent 2.0-ի հիմնական թողարկումը (նաև հայտնի է որպես libtorrent-rasterbar), որն առաջարկում է BitTorrent արձանագրության հիշողության և պրոցեսորի արդյունավետ իրականացում: Գրադարանը օգտագործվում է այնպիսի հեղեղային հաճախորդների մեջ, ինչպիսիք են Deluge, qBittorrent, Folx, Lince, Miro և Flush (չշփոթել մյուս 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 hash ծառերի օգտագործումը ինդեքսներում: նվազեցնել torrent ֆայլերի չափը և ստուգել ներբեռնված տվյալները բլոկի մակարդակում:

BitTorrent v2-ի փոփոխությունները ներառում են նաև անցում յուրաքանչյուր ֆայլին առանձին հեշ ծառեր նշանակելուն և ֆայլերի դասավորվածության օգտագործումը մասերում (առանց յուրաքանչյուր ֆայլից հետո լրացուցիչ ներդիր ավելացնելու), ինչը թույլ է տալիս ազատվել տվյալների կրկնօրինակումից՝ նույնական ֆայլերի առկայության դեպքում: և հեշտացնում է ֆայլերի տարբեր աղբյուրների նույնականացումը: Բարելավվել է հեղեղի գրացուցակի կառուցվածքի կոդավորման արդյունավետությունը և մեծ թվով փոքր ֆայլերի հետ աշխատելու համար ավելացված օպտիմալացումներ:

BitTorrent v1-ի և BitTorrent v2-ի համակեցությունը հարթելու համար ներդրվել է հիբրիդային torrent ֆայլեր ստեղծելու հնարավորությունը, որոնք ներառում են, բացի SHA-1 հեշերով կառուցվածքներից, ինդեքսներ SHA2-256-ով: Այս հիբրիդային հեղեղները կարող են օգտագործվել հաճախորդների հետ, որոնք աջակցում են միայն BitTorrent v1 արձանագրությանը: Կայունության չլուծված խնդիրների պատճառով libtorrent 2.0-ում WebTorrent արձանագրության սպասվող աջակցությունը հետաձգվել է մինչև հաջորդ հիմնական թողարկումը, որը չի թողարկվի մինչև տարեվերջ:

Source: linux.org.ru