Inilabas ng mga developer ng Tor anonymity network ang unang stable release (1.0.0) ng Arti project, na bumuo ng Tor client na nakasulat sa Rust. Ang Release 1.0 ay minarkahan bilang handa nang gamitin ng mga regular na user at nagbibigay ng parehong antas ng privacy, kakayahang magamit, at katatagan bilang pangunahing pagpapatupad ng C. Ang API, na nagbibigay-daan sa pag-andar ng Arti na magamit sa iba pang mga application, ay na-stabilize din. Ang code ay ipinamahagi sa ilalim ng mga lisensya ng Apache 2.0 at MIT.
Hindi tulad ng pagpapatupad ng C, na sa simula ay idinisenyo bilang isang proxy ng SOCKS at kalaunan ay inangkop sa iba pang mga pangangailangan, ang Arti ay binuo mula sa simula bilang isang modular, naka-embed na library na maaaring magamit ng iba't ibang mga application. Higit pa rito, ang bagong proyekto ay kumukuha sa lahat ng nakaraang karanasan sa pagpapaunlad ng Tor, pag-iwas sa mga kilalang isyu sa arkitektura at ginagawang mas modular at mahusay ang proyekto.
Ang motibasyon para sa muling pagsulat ng Tor sa Rust ay upang makamit ang isang mas mataas na antas ng seguridad ng code sa pamamagitan ng paggamit ng isang wika na nagsisiguro sa kaligtasan ng memorya. Ayon sa mga developer ng Tor, hindi bababa sa kalahati ng lahat ng mga kahinaan na sinusubaybayan ng proyekto ay aalisin sa isang pagpapatupad ng Rust kung ang code ay hindi gumagamit ng "hindi ligtas" na mga bloke. Ang kalawang ay magbibigay-daan din sa mas mabilis na pag-unlad kaysa sa C, salamat sa pagpapahayag ng wika at malakas na mga garantiya, na inaalis ang pangangailangang mag-aksaya ng oras sa pag-double-check at pagsulat ng hindi kinakailangang code.
Kasunod ng pagbuo ng unang bersyon, ang paggamit ng Rust na wika ay napatunayang isang kapaki-pakinabang na pamumuhunan. Halimbawa, nabanggit na sa bawat yugto, ang Rust code ay naglalaman ng mas kaunting mga error kaysa sa maihahambing na pag-unlad ng C-ang mga error na lumitaw sa panahon ng pag-unlad ay pangunahing nauugnay sa lohika at semantika. Ang labis na hinihingi na likas na katangian ng rustc compiler, na napansin ng ilan bilang isang disbentaha, ay talagang naging isang pakinabang, dahil kung ang code ay nag-compile at pumasa sa mga pagsubok, ang posibilidad ng pagiging tama nito ay tumataas nang malaki.
Habang nagtatrabaho sa bagong bersyon, kinumpirma rin namin ang isang pagtaas sa bilis ng pag-develop, na dahil hindi lamang sa katotohanan na ang pag-andar ay muling nilikha batay sa isang umiiral na template, kundi pati na rin sa mas makahulugang semantika ng Rust, mga library ng maginhawang function, at ang paggamit ng mga tampok sa kaligtasan ng code ng Rust. Ang isang disbentaha ay ang malaking sukat ng mga nagreresultang build—dahil ang Rust standard na library ay hindi naipapadala bilang default sa mga system, dapat itong isama sa mga download package.
Ang release 1.0 ay pangunahing nakatuon sa pangunahing pagpapagana ng kliyente. Ang suporta para sa pluggable na transportasyon at pagharang sa mga bypass bridge ay pinlano para sa release 1.1. Ang suporta para sa mga serbisyo ng sibuyas at mga kaugnay na feature, tulad ng RTT Congestion Control at DDoS mitigation, ay inaasahan sa release 1.2. Ang parity sa C client ay binalak para sa release 2.0, na mag-aalok din ng mga binding para sa paggamit ng Arti sa iba't ibang programming language.
Sa susunod na ilang taon, ang trabaho ay tututok sa pagpapatupad ng mga tungkuling kinakailangan para sa operasyon ng relay at mga server mga direktoryo. Kapag ang Rust code ay umabot sa antas na kayang ganap na palitan ang bersyong C, balak ng mga developer na gawing pangunahing implementasyon ng Tor ang Arti at itigil ang pagpapanatili ng bersyong C. Ang suporta para sa bersyong C ay unti-unting aalisin, na magbibigay-daan para sa maayos na paglipat.
Pinagmulan: opennet.ru
