Кіріспе

Venti – дерек блоктарын тұрақты түрде сақтайтын желілік сақтау жүйесі. Деректің 160 биттік SHA 1 хэші (Venti жүйесінде «баға» деп аталады) деректердің идентификаторы ретінде қолданылады. Бұл бір рет жазу принципін қамтамасыз етеді, себебі бірдей идентификаторға ие басқа дерек блогы табылмайды: бір деректің бірнеше рет жазылуының идентификаторлары бірдей болады, сондықтан қайталанған деректерді анықтау оңай және дерек блогы бір рет сақталады. Дерек блоктарын жою мүмкін емес, бұл оны тұрақты немесе резервтік сақтау үшін өте ыңғайлы етеді. Venti көбінесе Fossil жүйесімен бірге қолданылады, бұл файлдық жүйені тұрақты түрдегі көшірмелермен (снапшоттармен) қамтамасыз етеді.

Тарих

Venti-ді Бэлл зертханасында Шон Куинлан мен Шон Дорвард жобалап, іске асырды. Ол 2002 жылы Plan 9 дистрибуциясында пайда болды. Дамуды Рас Кокс жалғастырды, ол сервердің көп бөлігін қайта іске асырды, Venti-де сақтау үшін дерек құрылымдарын (файлдар, каталогтар және метадеректер) жасауға арналған кітапхана жазды және оптимизацияларды енгізді. Venti Plan 9 дистрибуциясында және Plan 9 from User Space аясында көптеген Unix сияқты операциялық жүйелерде қолжетімді. Venti Inferno құрамына кіреді, сонымен қатар оған қол жеткізуге мүмкіндік беретін модульдермен бірге ұсынылады. Venti серверлерін құру үшін Go бағдарламалар жиынтығы бар. Әртүрлі түбірдік сақтау түрлерін пайдаланатын мысалдар да қоса берілген.

Егжей-тегжейлер

Venti – пайдаланушы кеңістігіндегі демон. Клиенттер Venti-ге TCP протоколы арқылы қосылады.

Хаш түйісулері

Ақпарат теориясының негізгі принципі – көгершін тесігі принципі, ол мынаны күйдіреді: егер A жиыны B жиынынан көбірек мәндерді қамтыса, онда A-ны B-ға бейнелейтін кез келген функция үшін B жиынының бірнеше мүшесімен байланысты A жиынының мүшелері болады. Venti жағдайында, мүмкін SHA 1 хэштері жиыны, файлдық жүйеде сақталуы мүмкін барлық мүмкін блоктар жиынынан әлдеқайда кіші, сондықтан хэш-түйісу мүмкін. 160 биттік хэш үшін кездейсоқ хэш-түйісу қаупі өте төмен, тіпті эксабайттардағы деректер үшін де. Бірақ, тарихи тұрғыдан алғанда, көптеген хэш-функциялар криптографиялық және есептеу жетістіктеріне байланысты қасақана хэш-түйісулерге көбірек ұшырайды. Venti хэш-түйісу мәселесін қарастырмайды; қазіргі уақытқа дейін SHA 1-де түйісулерді табу есептеу жағынан мүмкін емес, бірақ Venti болашақта басқа хэш-функцияға көшуге қажеттілік тууы мүмкін. 2017 жылдың 23 ақпанында Google SHAttered шабуылы туралы хабарлады, онда олар шамамен 263,1 SHA 1 есептеуде бірдей SHA 1 хэші бар екі түрлі PDF файлы жасады.