Pull to refresh

Comments 52

Вчера начал писать opensource проект на ту же тему.
UFO just landed and posted this here
Суть простая. Пользователь скачивает клиент. Он представляет из себя веб-сервер с хранилищем. Через браузер пользователь входит в систему. По логину и паролю клиент пытается собрать из хранилища его ключ и данные. Если все ок, то дальше возможно зайти на главную страницу этой сети. Все страницы, документы и контент это отдельные куски данных со своим mime-type в хранилище. Автор этих блоков может их править и удалять. Назначать права на просмотр неопределенному кругу лиц через групповые ключи на шифрованные блоки данных. Это вкратце.
Уточняю, клиент представляет из себя веб-сервер с доступ в распределенное хранилище сети. Блоки данных распределяются по нодам с определенным колличеством копий. Число копий с определенной минимальной границей для достаточно быстрой доступености и максимальной границей для особо популярного контента.
Вы решили написать свой Freenet, с карточными играми и дамами легкого поведения?
Конечно, у меня еще и цейлонскый чай с лимоном будет.
Как скучно. Не велосипед это.
Думаете одна модель велосипеда всех устроит? Пускай даже с учётом тюнинга.

Задайте вопрос авторам, например, браузеров — зачем они их так много делают? Верстальщики страдают!!!
Как один узел сети будет искать другой без центральных серверов типа треккеров (централизация) и широковещательных рассылок (современная инфраструктура не готова)? Прежде всего при изначальном старте, потом-то узлы которые как-то (как?) узнали друг о друге могут обмениваться списками узлов. Ведь первоначально клиенту нужно знать куда стукнуться за списком действующих узлов и/или анонсировать себя в таком списке.
Пока я аспект безопасности и синхронизации/репликации распределенного хранения данных даже не принимаю во внимание. Просто как мой узел («клиентосервер») узнает, что имя аналогичное habrahabr.ru соответствует «вашему» IP?
Тут как бы текущая иерахия и не думала переезжать.
То есть децентрализованное использование ресурсов, но централизованная координация?

То есть один документ может сослаться на другой. Не более.
Централизованно или нет будет происходить резолвинг адреса (или его части) документа на адреса хостов, хранящих его. Сейчас для этого используется чаще всего DNS.
А по-моему unite и децентарлизованный веб — это разные вещи.
Opera Unite использует свои сервера для соединения двух клиентов друг с другом. Либо использует прямое соединение мужду клиентами, но всё же ничего там «революционного» нет. Встроенный в браузер веб сервер, ну подумаешь.

Нельзя назвать веб децентрализованным, только потому, что центр сместился с надёного сервера на ненадёжгый компьютер одного пользователя. Чтобы информация была доступна, нужено хранить её более надёжными способами, например, распределённо.

Мне нравятся идеи, описанные в этой статье habrahabr.ru/blogs/p2p/112491/
>Нельзя назвать веб децентрализованным, только потому, что центр сместился с надёного сервера на ненадёжгый
Ихмо, это вынужденная мера в эру IPv4. Как только (если доживем) все перейдут на 6ую версию, то необходимость в «надежных» серверах отпадет.
И как это увеличит надёжность? Включен или нет мой компьютер используемым протоколом не определяется.
Чертовски верно сказано. И процессор не станет в 5 раз быстрее, памяти не станет больше и пропускной канал не сможет вдруг передавать терабайт в секунду.
Интересно, что в это ввязался Ericsson. С распределенностью у них все порядке (см. Erlang), но вот веб…
Спасибо, не знал, что Erlang — детище Ericsson.
Вообще-то официально имя взято у Агнера Эрланга, но мы-то знаем…
Вообще технология TCP/IP, web-серверы и т.д. т т.п. изначально разрабатывались с целью получения децентрализованной системы, устойчивой к разрушению отдельных каналов связи и узлов сети.

Так что эти рабочие группы занимаются вовсе не децентрализацией, а интеграцией коммуникационных возможностей в браузеры. Раньше два компьютера могли общаться по FTP, теперь смогут с использованием еще и голосовой связи.
Эх. Ну есть же полноценный русский аналог слова «implementation» — «реализация». Какая, к чёрту, «имплементация»?!
«Реализация» такое же нерусское слово, как и «имплементация». Русский аналог — «воплощение» что ли :)
UFO just landed and posted this here
Слово «Исполнение» как-то перегружно получится. В контексте программирования оно означает процесс работы программы. Люди путаться будут.
Вобщем не вижу ничего плохого в заимствовании слов типа «реализация»
Зачем заимствовать ещё одно слово, когда есть исконно русское (воплощение) и заимствованное (реализация)?
Жизнь — необъяснимая штука. В коде мы пишем не «realizes», и не «воплощает», а «implements». И с каждым годом слово «implementation» всё крепче влезает во все языки мира.
Ни разу в коде не видел необходимости писать «implements»/ В комментариях бывало — в тех случаях, когда своим английским пытался народ насмешить (ака формально соответствовать соглашениям), а не принести реальную пользу тем, кто в моем коде будет разбираться.
Простите, но это значит, что вам не приходилось сталкиваться с необходимостью практиковать правильное, серьёзное программирование, системный подход.

Не могу представить себе ни одну серьёзную систему без интерфейсов.
То что вы не можете представить не значит, что их нет. Афаик, их нет, например, во всех языках реализующих явное множественное наследование, в частности в C++. Тем более их нет в не ООП языках. Так же их нет в динамических языках типа python и ruby, в PHP они недавно и большого распространения (пока?) не получили (у нас часто даже применение ООП ещё не считается необходимостью, а просто модной фичей).

Бог с ними с динамическими, но неужели вы серьезно считаете, что на С/С++ или, скажем, Fortran не было написано и до сих пор не пишутся серьёзные системы? Или они есть, но написаны неправильно?
Не смог пока представить децентрализованный сайт (ресурс). Где он будет существовать? В каком измерении? В децентрализованном вебе есть место для сайтов?
UFO just landed and posted this here
UFO just landed and posted this here
Это-то представить можно. Мне сложно представить как в децентрализованной системе решить вопросы безопасности — сейчас они по сути решаются физической недоступностью серверов для посетителя. В p2p интересующие меня данные могут находиться на моем компе и теоретически я смогу с ними сделать всё что угодно.

И как в такой сети производить поиск ресурсов — то есть какой-то аналог DNS или треккера должен быть. Приём опять вопрос безопасности всплывает — как защититься от фишинга. Сейчас в инфраструктуре есть ключевые точки которым пользователь по умолчанию доверяет — провайдеры, регистраторы, центры сертификации, хостинги, владельцы сайтов и т. п, а главное доверяет им контролировать его доверие к остальным узлам сети. Если я отключу сейчас DNS, то не смогу прочитать хабр, пока мне кто-то не скажет его IP. Сейчас я доверяю это своему провайдеру, который какую-никакую но ответственность передо мной несёт. Если я буду спрашивать IP хабра какой-то широковещательной рассылкой и получу разные ответы, то не смогу обоснованно выбрать нужный. Да даже если одинаковый от всех моих соседей по сети ответ придёт доверия к ним меньше, чем к провайдеру. Он мои порты не сканит :) Как эту проблему решить я толком не представляю.
Проблема решается ровно так же как она решается во всех распределенных проектах.
Но этот вопрос меня тоже задел и я над ним задумался)
Я так понял что смысл в том что трафик соседа Васи качающего порно или свежий релиз Винды будет частично проходить через меня как участника будущего P2P-веба?

А теперь скажите — зачем мне это надо, если сеть Интернет и так децентрализована?
Вам это будет надо когда сами захотите скачать порно или свежий релиз винды. (шутка) P2P — дело добровольное, хочешь вступай, хочешь не вступай.
W3C такие слоупоки, что децентрализованного веба ждать будем до второго пришествия…
UFO just landed and posted this here
UFO just landed and posted this here
О боже. Они тоже почитывают дневник Леонида Каганова.
Как быть, если оба клиента за файрволлом? Сдаётся мне — им не дано обменяться данными без привлечения третьей стороны.
Sign up to leave a comment.

Articles