В днешната статия ще ви кажем какво представлява IPFS, как работи и какви са неговите предимства и недостатъци.
Накратко за IPFS и ролята му в Tezos
IPFS (InterPlanetary File System) е протокол за децентрализирано съхранение и достъп до данни. Мрежата разпределя записаните файлове между нодовете и когато се поиска достъп до файл, тя изгражда маршрут до най-близкия нод, за да осигури максимална скорост на изтегляне. Ако документът е голям и се състои от части, IPFS работи като BitTorrent и ни позволява да изтегляме различни фрагменти от различни възли.
Протоколът е напълно безплатен, така че NFT пазарите го използват за съхраняване на незаменими токени. На всяка борса на Tezos можем да намерим връзки към съдържанието в IPFS огледалото, а в NFT метаданните можем да намерим директни линкове към материала. Например Objkt.com предоставя всичко наведнъж: директна връзка, обект на сървъра и линк към метаданните.
Основната визуална разлика между HTTP и IPFS
Интернет е мрежа за обмен на данни между потребителите. Не е достатъчно обаче само да свържем два компютъра с кабел – имаме нужда и от протокол: правила за маршрутизиране на заявки, криптиране на трафик, прехвърляне на информация и други операции. За различни типове данни и задачи се използват различни протоколи. Например, IP е необходим за достъп до хост чрез неговия физически адрес в мрежата, TCP и UDP – за прехвърляне на данни между домейни, DNS – за търсене на IP адреси по име на хост.
Най-известният интернет протокол е HTTP (HyperText Transfer Protocol). Той е необходим за доставяне на заявки и получаване на отговори между клиента и сървъра. Грубо казано, когато въведем адреса на сайт в браузъра, той първо търси физическото местоположение на хост сървъра, където се съхранява уеб сайтът, и след това му изпраща HTTP заявка за получаване на данни на посочения адрес.
С IPFS, вместо да търсим данни по адрес на хост, ги намираме по местоположението на самите файлове. Тоест, вместо “ipfs://WEBSITE.COM/image.jpg” ще бъде просто “ipfs://image”. Самият протокол ще намери хостове, имащи търсените файлове. Различният формат на връзката е основната визуална разлика между HTTP и IPFS. В същото време само някои браузъри като Brave и Opera могат да отварят IPFS линкове. В Chrome и други интернет клиенти трябва да инсталираме специални разширения.
Прочетете още: “Все повече Интернет браузъри насочват погледи към криптоиндустрията“
Как протоколът съхранява и извлича данни
IPFS мрежата се състои от хиляди нодове, които съхраняват и репликират данни по начин, подобен на блокчейн протоколите. Точният брой възли и количеството данни, запаметени в тях, не могат да бъдат изчислени, но екипът на Protocol.ai предлага цифри от 200 000 нодове и 125 TB трафик на седмица. IPFS протоколът присвоява уникален хеш идентификатор, CID, на всеки качен файл. Той е в края на линка, ето така: ipfs://QmXR7gHjhYnRBY2kyvSPE1skHr28GXpe6xfVWBst5NrLVv.
Ако прикачим един и същ файл в мрежата два пъти, копието ще получи същия CID, но най-вероятно ще се окаже на друг нод. Ако файлът бъде променен, тогава новата версия ще получи нов идентификатор и ще съществува в IPFS едновременно със старата.
При качване на файлове, по-големи от 256 KB, нодовете ги разделят на фрагменти, всеки от които получава свой собствен CID. В същото време базираните на индентификатора възли създават насочена ациклична графика на Merkle (Merkle DAG), която описва връзките между частите и крайния файл. Образно казано изглежда като инструкцията “За да получите оригиналната картина A, трябва да комбинирате фрагментите A1, A2 и A3.”
Какво можем да правим чрез графиките на Merkle
С помощта на графиките на Merkle IPFS може да:
- съхраняваме и хостваме големи проекти като уебсайтове и уеб приложения без риск от загуба на фрагменти;
- актуализираме отделни части от файлове и запазваме историята на промените, вместо да презаписваме целия файл или фрагменти;
- запаметяваме различни части на различни нодове и лесно да ги сглобим в оригиналния файл.
За да намери файлове по идентификатора, IPFS използва аналог на DNS – разпределена хеш таблица или DHT. Възлите записват в него информация за това какви файлове или фрагменти съхраняват. Ако потребителят търси картина с CID A, тогава той ще намери списък с нодове в хеш-таблицата, от които може да бъде поискан този файл. Търсенето и зареждането на документи работи по подобен начин: чрез CID на голям файл се намира съответната графика на Merkle, а от нея – списък с CID части и адреси на необходимите възли.
Как да използваме IPFS
За да отворим IPFS връзки и да получим съдържание, трябва да инсталираме подходящ браузър или разширение. За да прикачим нещо в протокола сами, трябва да пренастроим Desktop клиента и да стартираме своя нод. Подробни инструкции и софтуер са достъпни на уебсайта на IPFS Tech.
Три предимства и един недостатък на протокола
Първото предимство е неизменността на данните. Записаните файлове не могат да бъдат променяни и могат да бъдат изтрити само със съгласието на нодовете, които пазят всички копия.
Второто предимство е, че IPFS е свободен за запис на файлове. Ако обаче файлът не бъде поискан дълго време, възлите могат да го изтрият като ненужен. Някои услуги предлагат гарантирано съхранение на информация в протокола на цена от $0,1-0,2 за 1 GB.
Третото предимство е децентрализацията и липсата на цензура. Както в случая с блокчейн протоколите, изключването на няколко нода няма да повлияе на работата на мрежата като цяло.
Има обаче и един недостатък. Ако в протоколите на блоковата верига всички възли съхраняват едни и същи копия, то в IPFS всеки нод има свой собствен набор от файлове. Да кажем, че нашата снимка се съхранява от четири възела и всички те решат да изчистят неизползваните файлове, тогава вече няма да имаме достъп до нея.