SafeNetwork открий новия интернет

Началото на Crust теста

След представянето на SAFE-Fleming: Следващата голяма стъпка, имаме удоволствието да Ви запознаем с първата част от предстоящите тестове: Тестването на Crust.

В това кратко изложение ще Ви запознаем по-отблизо с Crust – какво представлява и защо е важна част от децентрализирания интернет – и как може да участвате в теста. Перфектното начало за това е да изясним какво е децентрализиран интернет.

Децентрализирания, безсървърен интернет

Много хора говорят за децентрализирания интернет. Има някои основни характеристики, които трябва да са налични, преди която и да е технология да се опита да постигне децентрализация. Представихме Ви нашето виждане за това в Основи на SAFE Network. Но в този контекст изискванията са доста ясни. Без значение от други пречки, за да бъде една мрежа наистина децентрализирана, всеки два компютъра трябва да могат да комуникират защитено един с друг. След това разчитаме на самата мрежа да определи, кога иска това да се случи и да наложи правилата, които да ръководят тази връзка.

Crust: Връзки в Rust

Компютрите използват Crust за да си говорят един друг в SAFE мрежата. Той представлява генерична мрежова библиотека написана на Rust и е оптимизиран за peer-to-peer комуникации.

Crust тест табло

Поддръжка на множество протоколи

Два от най-издържаните във времето протоколи за транспорт използвани в днешния интернет са TCP и UDP. Компютрите обикновено използват TCP, когато е необходима надежна връзка (например, когато браузвате или чатите). UDP от друга страна се използва основно, когато няма голямо значение дали ще изгубите няколко пакета между комуникациите (например, докато гледате видео или слушате музика от интернет).

Създадохме Crust да бъде мощен и гъвкав. И въпреки че  TCP е с предимство пред UDP, се поддържат и двата протокола. И още повече продължаваме работата по поддръжката на още повече протоколи с развитието на мрежата.

Още нещо, това не е технология ограничена да работи единствено в браузър.

 

Осъществяване на контакт

Как един компютър се свързва директно с друг? В днешния свързан свят не е толкова лесно, колкото звучи. Повечето устройства (смартфони, лаптопи, таблети и т.н.) се свързват с интернет през посредник, например WiFi рутер. И докато е вероятно адреса на рутера да е публичен, то адреса на устройството Ви вероятно е частен – което определено е проблем, за която и да е P2P мрежа опитваща се да осъществи директни връзки между участниците. Ако използваме аналогия с телефоните, как един компютър може да се обади на друг, ако телефонния му номер дори не е публично достъпен (с вътрешен номер е)?

Има три основни начина: ръчно пренасочване на порт, IGD протокол и пробиване на дупки (hole punching).

Ръчното пренасочване на порт изисква определено ниво на технически знания. Влизате в менюто на рутера Ви и ръчно задавате всичкия трафик идващ от определен IP адрес да преминава през определен порт. Доста целенасочено, но и с определен риск за сигурността. За съжаление това представлява още една допълнителна стъпка, която хората да извършат, а когато се стремиш да създадеш мрежа достъпна за максимален брой хора, това не е добре (при условие, че целта е повсеместна децентрализация).

IGD (Internet Gateway Device) протокола, който Ви позволява да зададете определени правила за пренасочване на портове е също толкова комплексен.

Без съмнение най-вълнуващата алтернатива е пробиването на дупки (hole punching). Когато компютрите не могат да се свържат директно един с друг, те могат да използват Crust за да се открият директно един друг и да „пробият“ всяко препятствие между тях, за да създадат директна връзка. Може да сте чували за това като за NAT Traversal. И за да видите колко просто са го направили екипът на MaidSafe на практика, всичко което трябва да направите е да свалите и стартирате програмата за Crust Теста.

Crust поддържа пробиване на дупки, така че компютрите да могат да се свързват директно, ако не могат да се свържат по друг начин. Всички тези техники са напълно невидими за Рутинга (системата от правила, която използва мрежата за да установи връзките между компютрите) и Трезорите (мястото за съхранение на информация от мрежата на компютъра Ви).

Разчитаме на Crust да направи тези важни връзки. Но не бързайте – защото той носи доста повече ползи, освен да Ви позволява лесно свързване с другите…

Криптирането – жизненоважен компонент

Защо да изграждаме нова система само за да повторим грешките от миналото? Която и да е нова децентрализирана мрежа трябва да има криптиране от най-ниското ниво нагоре. В SAFE Network всичко се води от три фундаментални принципа – неприкосновеността на личния живот, сигурността и свободата. Комуникациите между отделните компютри трябва да са напълно криптирани. Без изключения. Crust е жизненоважен за това. И докато днешния тест е фокусиран само върху NAT Traversal, в крайна сметка ще видите, че за разлика от други проекти, всичко което Crust изпраща по мрежата е криптирано.

Свързване към мрежата

Но без централен контрол как компютрите успяват да се открият изобщо в началото? С настоящия Crust Test имате възможност да разберете точно как това работи и точно колко лесен сме направили процеса.

Самият Crust не вижда „Мрежа“. Всичко, което вижда е група от компютри. Първоначалното свързване е известно като инициализиране (bootstrapping). Това става по един от три начина. Първия е откриване на услуги по LAN (с други думи се проверява локалната мрежа за компютри за свързване).

Втория метод е чрез предварително зададени контакти. Чрез него списък с предварително зададени компютри е вграден в програмата и първоначално тя се опитва да се свърже с тях. Този метод се използва в настоящия тест за да може да се изпращат данните към Таблото с информация за проследяване на успеха от теста.

Но третия метод – Инициализиращ Кеш (Bootstrap Cache) – е най-интересния. Просто казано това е начина, по който самият Crust съхранява динамичен списък от директно достъпни компютри, които Вашия компютър може да достъпи за да се свърже с мрежата. Когато се осъществи успешна връзка с друг компютър, адресът му се добавя към списъка на Инициализиращия Кеш. Ако опит за свързване с компютър от този списък е неуспешен, то той се премахва от него.

Присъединете се към теста

(описания тест приключи на 19.10.2018, новия тест е наличен от 01.11: Crust Тест 2)

Това, което искаме да разберем е броя на компютри, които ще могат да се свържат чрез пробиването на дупки в реалния свят. Така че всеки, които желае да участва в тестовете на новия Интернет е добре дошъл (мда, ще има какво да разказвате на внуците 😉 Може да намерите подробна информация как да се включите във форума на общостта: Crust Тест 2.

Таблото с информация

Като посетите Таблото с информация – https://crusttest.maidsafe.net/ ще може да следите какво се случва в мрежата и да придобиете усещане за това, какви връзки се осъществяват в различни региони по света, различни рутери и устройства. Ако имате някакви въпроси може да ги зададете във форума или във фейсбук групата на SafeNetwork Bulgaria: https://www.facebook.com/groups/SafeNetworkBulgaria/

Благодарим Ви за интереса. Ще се радваме да се включите в този вълнуващ етап от разработката на наистина децентрализирания и безопасен интернет.