Суть простая. Пользователь скачивает клиент. Он представляет из себя веб-сервер с хранилищем. Через браузер пользователь входит в систему. По логину и паролю клиент пытается собрать из хранилища его ключ и данные. Если все ок, то дальше возможно зайти на главную страницу этой сети. Все страницы, документы и контент это отдельные куски данных со своим mime-type в хранилище. Автор этих блоков может их править и удалять. Назначать права на просмотр неопределенному кругу лиц через групповые ключи на шифрованные блоки данных. Это вкратце.
Уточняю, клиент представляет из себя веб-сервер с доступ в распределенное хранилище сети. Блоки данных распределяются по нодам с определенным колличеством копий. Число копий с определенной минимальной границей для достаточно быстрой доступености и максимальной границей для особо популярного контента.
Как один узел сети будет искать другой без центральных серверов типа треккеров (централизация) и широковещательных рассылок (современная инфраструктура не готова)? Прежде всего при изначальном старте, потом-то узлы которые как-то (как?) узнали друг о друге могут обмениваться списками узлов. Ведь первоначально клиенту нужно знать куда стукнуться за списком действующих узлов и/или анонсировать себя в таком списке.
Пока я аспект безопасности и синхронизации/репликации распределенного хранения данных даже не принимаю во внимание. Просто как мой узел («клиентосервер») узнает, что имя аналогичное habrahabr.ru соответствует «вашему» IP?
Централизованно или нет будет происходить резолвинг адреса (или его части) документа на адреса хостов, хранящих его. Сейчас для этого используется чаще всего DNS.
А по-моему unite и децентарлизованный веб — это разные вещи.
Opera Unite использует свои сервера для соединения двух клиентов друг с другом. Либо использует прямое соединение мужду клиентами, но всё же ничего там «революционного» нет. Встроенный в браузер веб сервер, ну подумаешь.
Нельзя назвать веб децентрализованным, только потому, что центр сместился с надёного сервера на ненадёжгый компьютер одного пользователя. Чтобы информация была доступна, нужено хранить её более надёжными способами, например, распределённо.
>Нельзя назвать веб децентрализованным, только потому, что центр сместился с надёного сервера на ненадёжгый
Ихмо, это вынужденная мера в эру IPv4. Как только (если доживем) все перейдут на 6ую версию, то необходимость в «надежных» серверах отпадет.
Чертовски верно сказано. И процессор не станет в 5 раз быстрее, памяти не станет больше и пропускной канал не сможет вдруг передавать терабайт в секунду.
Вообще технология TCP/IP, web-серверы и т.д. т т.п. изначально разрабатывались с целью получения децентрализованной системы, устойчивой к разрушению отдельных каналов связи и узлов сети.
Так что эти рабочие группы занимаются вовсе не децентрализацией, а интеграцией коммуникационных возможностей в браузеры. Раньше два компьютера могли общаться по FTP, теперь смогут с использованием еще и голосовой связи.
Слово «Исполнение» как-то перегружно получится. В контексте программирования оно означает процесс работы программы. Люди путаться будут.
Вобщем не вижу ничего плохого в заимствовании слов типа «реализация»
Жизнь — необъяснимая штука. В коде мы пишем не «realizes», и не «воплощает», а «implements». И с каждым годом слово «implementation» всё крепче влезает во все языки мира.
Ни разу в коде не видел необходимости писать «implements»/ В комментариях бывало — в тех случаях, когда своим английским пытался народ насмешить (ака формально соответствовать соглашениям), а не принести реальную пользу тем, кто в моем коде будет разбираться.
То что вы не можете представить не значит, что их нет. Афаик, их нет, например, во всех языках реализующих явное множественное наследование, в частности в C++. Тем более их нет в не ООП языках. Так же их нет в динамических языках типа python и ruby, в PHP они недавно и большого распространения (пока?) не получили (у нас часто даже применение ООП ещё не считается необходимостью, а просто модной фичей).
Бог с ними с динамическими, но неужели вы серьезно считаете, что на С/С++ или, скажем, Fortran не было написано и до сих пор не пишутся серьёзные системы? Или они есть, но написаны неправильно?
Не смог пока представить децентрализованный сайт (ресурс). Где он будет существовать? В каком измерении? В децентрализованном вебе есть место для сайтов?
НЛО прилетело и опубликовало эту надпись здесьНЛО прилетело и опубликовало эту надпись здесь
Это-то представить можно. Мне сложно представить как в децентрализованной системе решить вопросы безопасности — сейчас они по сути решаются физической недоступностью серверов для посетителя. В p2p интересующие меня данные могут находиться на моем компе и теоретически я смогу с ними сделать всё что угодно.
И как в такой сети производить поиск ресурсов — то есть какой-то аналог DNS или треккера должен быть. Приём опять вопрос безопасности всплывает — как защититься от фишинга. Сейчас в инфраструктуре есть ключевые точки которым пользователь по умолчанию доверяет — провайдеры, регистраторы, центры сертификации, хостинги, владельцы сайтов и т. п, а главное доверяет им контролировать его доверие к остальным узлам сети. Если я отключу сейчас DNS, то не смогу прочитать хабр, пока мне кто-то не скажет его IP. Сейчас я доверяю это своему провайдеру, который какую-никакую но ответственность передо мной несёт. Если я буду спрашивать IP хабра какой-то широковещательной рассылкой и получу разные ответы, то не смогу обоснованно выбрать нужный. Да даже если одинаковый от всех моих соседей по сети ответ придёт доверия к ним меньше, чем к провайдеру. Он мои порты не сканит :) Как эту проблему решить я толком не представляю.
Я так понял что смысл в том что трафик соседа Васи качающего порно или свежий релиз Винды будет частично проходить через меня как участника будущего P2P-веба?
А теперь скажите — зачем мне это надо, если сеть Интернет и так децентрализована?
Децентрализованный веб