Tor նախագիծը ներկայացրել է Rust լեզվով իրականացում, որը հետագայում կփոխարինի C տարբերակին

Անանուն Tor ցանցի մշակողները ներկայացրել են Arti նախագիծը, որի շրջանակներում աշխատանքներ են տարվում Rust լեզվով Tor արձանագրության ներդրման ստեղծման ուղղությամբ։ Ի տարբերություն C-ի ներդրման, որը սկզբում նախագծվել է որպես SOCKS պրոքսի, այնուհետև հարմարեցվել է այլ կարիքներին, Arti-ն ի սկզբանե մշակվել է մոդուլային ներկառուցվող գրադարանի տեսքով, որը կարող է օգտագործվել տարբեր հավելվածների կողմից: Աշխատանքն իրականացվում է ավելի քան մեկ տարի Zcash Open Major Grants (ZOMG) դրամաշնորհային ծրագրի ֆինանսավորմամբ: Կոդը տարածվում է Apache 2.0 և MIT լիցենզիաների ներքո:

Rust-ում Tor-ը վերաշարադրելու պատճառներն են՝ կոդերի անվտանգության ավելի բարձր մակարդակի հասնելու ցանկությունը լեզվի օգտագործման միջոցով, որն ապահովում է հիշողության հետ անվտանգ աշխատանք: Ըստ Tor-ի մշակողների, նախագծի կողմից վերահսկվող բոլոր խոցելիությունների առնվազն կեսը կվերացվեն Rust-ի ներդրման ժամանակ, եթե կոդը չօգտագործի «անապահով» բլոկներ: Rust-ը նաև հնարավորություն կտա հասնել ավելի արագ զարգացման արագությունների, քան C-ն օգտագործելը, շնորհիվ լեզվի արտահայտիչության և խիստ երաշխիքների, որոնք թույլ են տալիս ժամանակ չկորցնել կրկնակի ստուգման և ավելորդ կոդ գրելու վրա: Բացի այդ, նոր նախագիծ մշակելիս հաշվի է առնվում Tor-ի մշակման նախկին փորձը, ինչը կխուսափի հայտնի ճարտարապետական ​​խնդիրներից և կդարձնի նախագիծն ավելի մոդուլային և արդյունավետ:

Իր ներկայիս վիճակում Arti-ն արդեն կարող է միանալ Tor ցանցին, շփվել գրացուցակի սերվերների հետ և ստեղծել անանուն կապեր Tor-ի վերևում՝ SOCKS-ի վրա հիմնված վստահված անձի միջոցով: Մշակումը դեռ խորհուրդ չի տրվում օգտագործել արտադրական համակարգերում, քանի որ գաղտնիության ոչ բոլոր հնարավորություններն են ներդրված, և API-ի մակարդակում հետ համատեղելիությունը երաշխավորված չէ: Հաճախորդի անվտանգությանը համապատասխանող առաջին տարբերակը, որն աջակցում է պահակային հանգույցներին և թելերի մեկուսացմանը, նախատեսվում է թողարկել հոկտեմբերին:

Առաջին բետա թողարկումը սպասվում է 2022 թվականի մարտին՝ ներկառուցված գրադարանի փորձարարական ներդրմամբ և կատարողականի օպտիմալացումներով։ Առաջին կայուն թողարկումը՝ կայուն API, CLI և կազմաձևման ձևաչափով, ինչպես նաև աուդիտով, նախատեսվում է 2022 թվականի սեպտեմբերի կեսերին: Այս թողարկումը հարմար կլինի ընդհանուր օգտագործողների սկզբնական օգտագործման համար: 2022-ի թարմացումը սպասվում է 1.1 թվականի հոկտեմբերի վերջին՝ միացված տրանսպորտի և կամուրջների աջակցությամբ՝ արգելափակումը շրջանցելու համար: Սոխի ծառայությունների աջակցությունը նախատեսվում է թողարկել 1.2-ի համար, իսկ C հաճախորդի հետ հավասարության հասնելը սպասվում է թողարկում 2.0-ում, որի ժամկետները դեռ որոշված ​​չեն:

Ապագայում մշակողները կանխատեսում են C-ում կոդի մշակման հետ կապված ակտիվության աստիճանական նվազում և Rust-ում խմբագրմանը հատկացված ժամանակի ավելացում։ Երբ Rust-ի ներդրումը հասնի այնպիսի մակարդակի, որը կարող է փոխարինել C տարբերակին, ծրագրավորողները կդադարեն նոր հնարավորություններ ավելացնել C-ի ներդրմանը և որոշ ժամանակ անց կդադարեցնեն ամբողջությամբ աջակցել դրան: Բայց դա շուտով տեղի չի ունենա, և քանի դեռ Rust-ում իրականացումը չի հասել լիարժեք փոխարինման մակարդակի, Tor-հաճախորդի և ռելեի զարգացումը C-ում կշարունակվի:

Source: opennet.ru

Добавить комментарий