գրադարանի զգալի թողարկում (հայտնի է նաև որպես libtorrent-rasterbar), որն առաջարկում է BitTorrent արձանագրության հիշողության և պրոցեսորի արդյունավետ իրականացում։ Գրադարան torrent հաճախորդների մեջ, ինչպիսիք են , , , , и (չշփոթել այլ գրադարանի հետ , որն օգտագործվում է rTorrent-ում)։ Libtorrent կոդը գրված է C++ լեզվով և BSD լիցենզիայի ներքո:
Հրապարակումն ուշագրավ է արձանագրության աջակցություն , որը հեռացավ SHA-1 ալգորիթմի օգտագործումից, որն ունի բախման հայտնաբերմամբ՝ SHA2-256-ի օգտին։ SHA2-256-ը օգտագործվում է ինչպես տվյալների բլոկների ամբողջականության վերահսկման, այնպես էլ ինդեքսներում (տեղեկատվական բառարան) գրառումների համար, ինչը խախտում է DHT-ի և հետևորդների հետ համատեղելիությունը։ SHA2-256 հեշերով տորենտների մագնիսական հղումների համար առաջարկվել է նոր՝ «urn:btmh:» նախածանցը (SHA-1 և հիբրիդային տորենտների համար օգտագործվում է «urn:btih:»):
Քանի որ հեշ ֆունկցիայի փոխարինումը խախտում է արձանագրության համատեղելիությունը (հեշ դաշտը 32 բայթ է 20 բայթի փոխարեն), BitTorrent v2 սպեցիֆիկացիայի մշակումը սկզբնապես իրականացվել է առանց հետադարձ համատեղելիության, և ընդունվել են այլ նշանակալի փոփոխություններ, ինչպիսիք են ինդեքսներում Merkle հեշ ծառի օգտագործումը՝ torrent ֆայլերի չափը նվազեցնելու և ներբեռնված տվյալների բլոկային մակարդակում ստուգումը։
BitTorrent v2-ի փոփոխությունները ներառում են նաև անցում յուրաքանչյուր ֆայլին առանձին հեշ ծառեր նշանակելուն և ֆայլերի դասավորվածության օգտագործումը մասերում (առանց յուրաքանչյուր ֆայլից հետո լրացուցիչ ներդիր ավելացնելու), ինչը թույլ է տալիս ազատվել տվյալների կրկնօրինակումից՝ նույնական ֆայլերի առկայության դեպքում: և հեշտացնում է ֆայլերի տարբեր աղբյուրների նույնականացումը: Բարելավվել է հեղեղի գրացուցակի կառուցվածքի կոդավորման արդյունավետությունը և մեծ թվով փոքր ֆայլերի հետ աշխատելու համար ավելացված օպտիմալացումներ:
BitTorrent v1-ի և BitTorrent v2-ի համակեցությունը հարթելու համար ներդրվել է հիբրիդային torrent ֆայլեր ստեղծելու հնարավորություն, որոնք, SHA-1 հեշերով կառուցվածքներից բացի, ներառում են նաև SHA2-256-ով ինդեքսներ։
Այս հիբրիդային հեղեղները կարող են օգտագործվել հաճախորդների հետ, որոնք աջակցում են միայն BitTorrent v1 արձանագրությանը: libtorrent 2.0-ում սպասվում է WebTorrent արձանագրության աջակցություն՝ կայունության չլուծված խնդիրների պատճառով մինչև հաջորդ հիմնական թողարկումը, որը թողարկվելու է մինչև տարեվերջ:
Source: opennet.ru
