Category: компьютеры

Category was added automatically. Read all entries about "компьютеры".

Для памяти: Zeronet

Здесь описана система, которая реализует идею, выраженную в первых абзацах предыдущего поста:

Пост-Интернет W++

(Материал заимствован с Лингвофорума)

ZeroNet — бессерверная одноранговая среда для создания сайтов, в которой третьи лица не имеют технической возможности исказить или подменить ваши данные, удалить сайт с хостинга, отключить вам доменное имя или еще как-то вмешаться в работу вашего сайта.

ZeroNet работает как отдельное приложение на вашем компьютере, а для просмотра сайтов сети используется обычный браузер, в котором нужно открыть локальный адрес http://127.0.0.1:43110/

* * *

Когда вы просматриваете сайт, ZeroNet скачивает его на ваш компьютер целиком. (За исключением "опциональных" файлов, которые можно докачивать по мере необходимости — таких как аудио, видео, изображения, архивы и т.п.)

Таким образом, вы не просто просматриваете сайты, но размещаете их у себя на компьютере. Эта та же самая концепция, что знакома всем еще в торрентах: если вас интересует какой-то торрент, вы скачиваете его и затем раздаёте другим, кому потребуется этот торрент в будущем. За счёт этого выполняется многократное резервирование данных, и в сети нет того единого сервера, к которому можно прийти, нажать кнопку питания, и вся накопленная информация пропадёт. Данные есть всегда, у всех, и в то же время нигде конкретно.

В отличие от торрентов, которые статичны, сайты в ZeroNet могут обновляться. Когда автор сайта выкладывает на сайт новую информацию, обновление распространяется по сети от узла к узлу подобно волнам на воде, пока все подписчики сайта не получат новую информацию. Если ваш компьютер был оффлайн, при выходе в интернет ZeroNet опросит другие узлы и закачает обновленные данные.

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

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

[Подробности]* * *

В отличие от некоторых других попыток реализовать одноранговый веб, таких как Freenet, данные хранятся не в зашифрованном виде, а в открытом. Во Freenet каждый участник сети хранит «фарш» из кусочков зашифрованной информации, о которой сам не имеет представления. Читаемый вид информация приобретает только в ходе сборки целых файлов по криптографическому ключу. Из-за этого вы можете хранить и раздавать другим нелегальную или этически неприемлимую для вас информацию даже не подозревая об этом.

В ZeroNet данные хранятся открыто и полностью подконтрольно пользователю. Вы можете хранить и раздавать только то, что считаете интересным, полезным и т.п.

Можно сказать, что ZeroNet — это когда персональный архив файлов и заметок выходит в сеть и становится социальным.

* * *

В ZeroNet используются те же алгоритмы криптографии, что и в Bitcoin. Большинство адресов сайтов, кторые вы увидите в сети, выглядят так же, как адреса кошельков Bitcoin. Это не означает, что ZeroNet как-то связана с Bitcoin или использует блокчейн. Это просто потому, что под капотом задействованы те же алгоритмы для цифровых подписей и шифрования, что выбрали разработчики Bitcoin.

ZeroNet может работать как через обычную сеть Internet, так и через Tor. В первом случае ZeroNet также использует существующую инфраструктуру торрент-трекеров, чтобы повысить связность сети. И снова: это не означает, что ZeroNet может скачивать торрент-файлы. У ней собственные протокол обмен файлами. Она просто обменивается списками пиров через публичные трекеры.

Помните, что при работе без Tor ваш IP-адрес и список сайтов, которые вы размещаете, публично известны. По умолчанию сеть ZeroNet не анонимная и не скрывает вашего местоположения. Однако вы можете использовать её как анонимную, если всегда будете подключаться через Tor и не будете прямо или косвенно сообщать о себе никакой персональной информации.

* * *

Итак, вы хостите все нужные вам сайты у себя. Много ли места занимает ZeroNet? Может быть, это непрактично?

Вот порядок чисел:

Основной форум ZeroTalk: 154 мегабайта
Самый крупный русскоязычный форум: 31 мегабайт
Пять самых популярных хабов социальной сети ZeroMe: 65 + 50 + 43 + 37 + 33 = 228 мегабайт
Все вместе 690 сайтов, которые я храню на своём компьютере: 6.1 гигабайта. 356000 файлов.

Это данные, полученные непосредственно из файлового менеджера, то есть сумма с учётом всех сопутствующих потерь места: рабочих файлов, создаваемых самой ZeroNet, и потерь на хранение коротких файлов в файловой системе.

На фоне размера современных жёстких дисков, операционных систем (Windows 10 не хватает 32 ГБ, чтобы обновиться) или фильмов в Ultra HD качестве, это совсем немного.

* * *

При запуске ZeroNet вы по умолчанию попадаете на страницу ZeroHello http://127.0.0.1:43110/1HeLLo4uzjaLetFx6NH3PMwFP3qbRbTf3D/ . Пока вы еще не скачали ни один сайт, в левой части страницы будет отображаться небольшой список «стартовых» сайтов: блог главного разработчика, один из форумов сети и т.п.
По мере того как вы посещаете сайты, левая колонка заполняется списком всех сайтов, что вы скачали. Вы можете сортировать сайты по размеру, времени обновления, времени добавления, числу пиров. Закреплять сайты в списке избранного.

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

Таким образом главная страница объединяет в себе функции социальной сети, RSS-ленты, новостной рассылки и программы для управления "торрентами" (то есть сайтами).

Кроме того, в ZeroNet существует социальная сеть ZeroMe, внешне представляющая собой что-то среднее между Twitter и VK. (В отличие от Твиттера, ограничения на длину постов нет, но возможностей не так много как в VK, больше похоже на Твиттер.)

* * *

Также в ZeroNet предусмотрена система для обмена шифрованными личными сообщениями ZeroMail. По сути, вы публикуете сообщение от своего имени в открытом доступе на специальном сайте, но прочитать его может только тот, кто владеет ключом для расшифровки. Для всех остальных это просто бессмысленный набор байт. Сообщение хранится всеми участниками ZeroMail столько, сколько необходимо, пока вы его не удалите.

Если кто-то захочет проанализировать вашу переписку, вот что он увидит:

* Вы писали кому-то сообщение, но неизвестно, кому и что именно. Известен только приблизительный размер сообщения.
* Сообщение разошлось по всей сети, но невозможно установить, на каком узле сети оно было прочитано. Было ли оно прочитано вообще, и кто адресат. Каждый узел просто пробует расшифровать все сообщения подряд, и если ему удалось расшифровать сообщение, значит это и было письмо, адресованное ему. Но наружу он никак не афиширует, что расшифровал какое-то письмо.
* Когда-нибудь вы удалите сообщение, что вероятно означает, что адресат его получил, и хранить его стало не нужно.

Таким образом, если два учатника не переписываются друг с другом в режиме постоянного чата, невозможно установить, что они вообще ведут переписку друг с другом.

* * *

Что вы можете посетить в ZeroNet для начала:

ZeroTalk — основной форум на английском языке: http://127.0.0.1:43110/Talk.ZeroNetwork.bit/
Ru-ZeroTalk 🇷🇺­ — форум на русском языке: http://127.0.0.1:43110/1RuZntipLvXcLKFEjT6Fr7ZA3GuywYfr5/
OpenNews 🇷🇺 — русскоязычный новостной форум, который я пытался раскрутить: http://127.0.0.1:43110/1Nowr5oVEdbU5ZTQBriRd2jJVj2vhsDJd4/

Несколько технарских форумов:
http://127.0.0.1:43110/1EfLnw7GDXbZfJmGNoXGQ4XkuHGWkRZTMq/
http://127.0.0.1:43110/1LfvE91ZF18jdG3wW62Dw7NtfTZh737KPL/
http://127.0.0.1:43110/1BpFtPez7mSiShtXfb4wPfMT1dZTuRybfZ/
http://127.0.0.1:43110/1F4WVHDpQYxuJL6xEY3EZTYkZds9TTjVHC/
http://127.0.0.1:43110/1G56gcfMzp7695tpSHJN8qRR5N2pfTe7fw/

Подборка разных сайтов на русском и информация об устройстве и работе сети:
http://127.0.0.1:43110/1zeroRvxd42DSWUETotiaa8k5a5mDGvJs/

Самый полный каталог сайтов, наполняемый всеми участниками сети:
http://127.0.0.1:43110/Sites.ZeroNetwork.bit/

Wiki по устройству сети:
http://127.0.0.1:43110/138R53t3ZW7KDfSfxVpWUsMXgwUnsDNXLP/

* * *

Если не хочется устанавливать приложение, можно побродить по сети через этот шлюз: https://zeronet.now.im/

К тому времени, когда вы будете читать это сообщение, шлюз, возможно, будет уже отключен. Их держат энтузиасты, и обычно шлюзы долго не живут. Если он не будет работать, дайте мне знать, я поищу другой.

* * *

ZeroNet в обычном вебе:

https://zeronet.io/ — официальный сайт
https://github.com/HelloZeroNet/ZeroNet — исходники
https://zeronet.readthedocs.io/en/latest/ — документация
https://www.reddit.com/r/zeronet/ — сабреддит про ZeroNet

Decentralized Web Developer Report 2020 — статья про P2P-технологии.



Где вообще хранится 0Net-сайт — на компьютере его создателя, на каждом компьютере просматривавших его пользователей, в распределенном виде на машинах необязательно просматривавших его пользователей, на специальных ZeroNet-серверах или их аналоге?..
У всех пользователей сайта. Некоторые энтузиасты держат раздачи многих сайтов на VPS-ках, так же как это бывает с торрентами.

Может ли сайт быть удален из ZeroNet создателем/«хозяевами ZeroNet»
Создатель сайта может стереть всё содержимое, оставив только пустое корневое оглавление. Так как это вполне себе заверено ключом автора сайта, узлы сети примут такой апдейт.

случайно стать недоступным (подобно торренту, с которого ушли все раздающие)?
Может, но на практике встречается крайне редко. Даже давно заброшенные блоги, у которых было полтора читателя, я успешно скачивал. В качестве эксперимента, около 60-ти таких блогов, если не ошибаюсь.

Предположим, имеется веб-сайт (на внешнем хостинге или локальном диске), состоящий из статических страниц. Как проще всего создать его ZeroNet-зеркало (желательно с возможностью периодического обновления)?
Если обычная статика, то просто по расписанию или вручную копировать в каталог /data/ и запускать консольную команду опубликовать сайт.

Предположим, я хочу создать свой ZeroNet-поисковик (ищущий информацию по заданному мной алгоритму) — с чего вообще начать, существуют ли готовые решения?
Поисковики есть, но хороших нет. Открыты ли у них исходники, не интересовался.
В принципе, поисковик должен последовательно ходить по ссылкам и выкачивать все сайты, а по мере исчерпания кэша, удалять старые, и всё найденное заносить в БД.
Возможно, можно взять сорцы (wiki/ru) YaCy и допилить до совместимости с ZeroNet. Заменить в нём краулер.

По уже скачанным сайтам можно искать через поисковую строку на главной странице ZeroHello.

Компьютерная философия бытия

Жизнь как компьютерная игра.



https://palaman.livejournal.com/441239.html

Мнение читателя:

> Материя и законы природы - это одно и то же. Я имею в виду не наши ограниченные представления о законах природы, а реальные, непознаваемые ограниченному уму человека. Материя играет по правилам материального мира не потому, что её заставили, а потому что правила составляют её суть. Правила — и есть "материя".
В такой трактовке мы можем устранить материю как избыточное понятие и говорить только о правилах. Кто-то создал и запустил эту систему правил, или она создала себя сама (что именно случилось, и как это произошло, совершенно не важно для нашего разговора), и мир выполняет само-вычисление. Вселенная — это формула в процессе расчёта.


Мой ответ:

В этой модели предполагается, что поток времени, внутри которого производятся расчеты, и поток времени внутри самой вселенной - это одно и то же. Компьютер вычисляет состояние Вселенной в каждый следующий момент синхронно с наступлением этого самого момента.
В этом проявляется существенная ограниченность данной модели.

Когда я как писатель пишу роман, то время, в котором я его пишу, и время, внутри которого живут мои герои - это два разных потока времени. Если Вселенная вычисляется неким компьютером по упомянутым Вами "правилам", то время внутри Вселенной и время, внутри которого совершается вычисление - это два разных времени. Расчет одной секунды нашего мира может занимать миллиард лет работы компьютера или наоборот - миллиард лет жизни Вселенной просчитывается за одну секунду.

Более того. Релятивистская теория (Эйнштейна) подталкивает нас к мысли, что "потока времени" как такового не существует. Время - это всего лишь четвертая координата, а "поток" возникает лишь в нашем восприятии. Так мы переживаем время (линейно), но объективная природа времени вовсе не такова.
Это значит, что и считать нашу Вселенную надо одновременно всю. Её прошлое, настоящее и будущее - это одна задача для счета. Именно так и придумывает писатель свой роман. Всё одновременно. То есть, поток времени писателя и время внутри романа - это совершенно разные вещи. Рано или поздно создатели "компьютерной" философии бытия дойдут до этой простой и очевидной мысли. Но если так, то работа вычисляющего нас компьютера есть нечто мгновенное или, наоборот, вечное. В любом случае, это нечто вне нашего времени, не имеющее к нашему времени никакого отношения.

Это важный нюанс, его надо понимать.

Но есть и другой важный нюанс. Любая программа - это язык. А язык - это действие разумного существа.
То есть, доводя "компьютерную" философию до конца, мы приходим к идее Логоса: "Вначале было Слово". И таким образом возвращаемся к религиозной философии на новом витке её развития.
А именно: наш мир создан Программистом. И Программист - с большой буквы - это новое имя Бога.

Но есть и ещё более важный нюанс: Программист может играть со своей программой, менять её на ходу. Более того, Он может стать одним из героев этой Суперкомпьютерной Игры, войти в свой собственный мир, как это и сделал Иисус Христос, Программист Вселенной, Логос, ставший человеком.

> Это то, во что вы верите?

То, во что я верю, можно выразить разными способами. И с помощью архаичных слов, произнесенных ещё в Античности, и с помощью самых современных и модных слов. Например, для этой цели удобен язык объектно-ориентированного программирования, специально разработанный теми, кто хотел создавать вирутальные миры, и в этом отношении волей-неволей должен быть уподобиться Творцу, создавшему мир.

> В свете изложенного, в чем вы видите свой (ну или не только свой, верующих, или людей вообще...) смысл жизни, причину и цель существования и т.п. К чему это всё идет в целом и в чем наша роль?

Смысл нашего теперешнего существования состоит в том, чтобы установить контакт с Программистом и выяснить у Него лично, для чего же Он нас создал.

> Если бы Программист хотел, чтобы мы об этом знали, то мы бы знали уже́.

Все люди различны и ставят перед собой разные цели. Есть люди, которые это узнали уже́. Есть те, кому это ещё предстоит. А есть и такие, кто никогда не попытается пойти в этом направлении.

> Разве программист не мог сразу ИИ настроить?

Познание чего бы то ни было, принципиально не укладывающегося в рамки нашего бытия - это задача непосильная для ИИ, являющегося частью этого бытия.
Познать Программиста можно только с помощью Самого Программиста, когда Он вмешивается в ход действия программы, заставляя её давать ненормальные результаты. В противном случае система остается замкнутой сама на себя и неспособной выйти за свои собственные пределы.

> Как у вас получается вписать свободную волю в математическое выражение?

Ка Вы сами (верно) сказали чуть выше, под "программой" мы подразумеваем не "математические выражения" и вообще "не наши ограниченные представления о законах природы, а реальные, непознаваемые ограниченному уму человека", в число которых входит и свободная воля - то, что Сам Программист не предопределяет, а только предвидит. Свободная воля в некотором отношении ставит нас на равных с Программистом, создавая для нас принципиальную возможность понимания и общения с Ним. Для животных, к примеру, принципиально невозможного.

Смотрите также:

Иерархия "существований" или Попытка выразить всё-всё-всё в одной заметке.

Снова Античная философия. Уровни онтологии.

Априорный критерий Истины (тропос: дискурс и гламур)

Блокчейн: глобальная бухгалтерия

Итак, в прошлый раз я популярно рассказал читателю, откуда вообще берутся биткойны. (см. Электронное золото: как добывают биткойны) Вкратце повторю суть: чтобы добыть новый биткойн, надо решить некую математическую задачу, которую решить вообще-то нельзя никак, кроме случайного перебора вариантов решения. Эти и занимаются майнеры: они копают «руду» неправильных решений, тупо перебирая варианты до тех пор, пока случайно не наткнутся на правильное.

Но! стать обладателем биткойнов можно, естественно, и не занимаясь майнингом. Можно просто купить биткойны у другого человека. На этом и основана возможность использования биткойнов в качестве денег. Биткойны можно менять на обычные деньги или на какие-то материальные ценности, а можно и играть на их курсе, продавая их в момент повышения их курса и покупая в момент понижения.

Но как именно оформляется сделка?

Вся фишка в том, что при такой сделке не нужен посредник. Это совершенно нетривиальная штука, и с первого взгляда непонятно, как вообще это возможно - заключать сделки без посредника. А вот, можно. Умные люди придумали. И мне кажется, из этой задумки и родилась идея "ничьих" денег, не контролируемых никаким государством и никакой организацией.

Как это делается, я сейчас объясню. Но сначала я хочу подчеркнуть нетривиальность идеи.
Смотрите! владение биткойнами абсолютно анонимно. Ты нигде не оставляешь своих паспортных данных. Ты просто входишь в Сеть, и анонимно распоряжаешься своим счетом. Если при этом ты ещё и пользуешься TOR-ом или другим средством, препятствующим вычислить тебя по активности в Сети, то анонимность твоя гарантирована. В сущности, ты - это твой секретный пароль. Если ты доверишь свой пароль другому человеку, то он будет так же свободно распоряжаться деньгами на твоем счету, как и ты сам. Причем никакое государство его за это наказать не сможет и не захочет. Ведь пользование биткойнами - это частное дело пользующихся, они здесь действуют на свой страх и риск и не имеют никаких гарантий кроме математических! Но вот, оказывается, что математика порой может обеспечить более надежные гарантии, чем государства и спецслужбы.

Делается это просто: чтобы продать кому-то биткойны, ты должен составить и пустить в Интернет специальный файл, в котором указано, что столько-то принадлежащих тебе койнов переходят в собственность такого-то. При этом и ты, и он выступаете в Сети под условным "именем" вроде 1D24hQA9n8sTihpFQcAXHUYgnUQU4t2JBA Кликнув на это "имя", Вы можете узнать всё о состоянии счета данного пользователя и обо всех когда-либо совершенных им сделках - но Вы не можете узнать, кто же именно, какая человеческая личность скрывается под этими данными. Такой вот парадокс: с одной стороны, полная анонимность, а с другой полная открытость всей бухгалтерии. А как же иначе? Только полная открытость бухгалтерии твоего визави и может гарантировать, что у него есть деньги и что он действительно имеет возможность заплатить то, что он заплатил.

Где же хранятся эти данные? Везде! Они есть на компьютере у всякого майнера.
В прошлой заметке я рассказал, как майнеры добывают новые койны, а в этой я объясняю, в чем состоит их (майнеров) полезная общественная функция. Вот в чем: они ведут бухгалтерию! У каждого майнера хранится информация обо всех зарегистрированных когда-либо сделках. И заветная мечта майнера заключается в том, чтобы продолжить эту книгу, вписать в неё новый лист. Как я уже разъяснял в прошлый раз, составить этот лист так, чтобы он был оформлен по всем правилам - нерешаемая задача, решить которую можно лишь путем перебора вариантов. А вариантов-то безумно много, на год работы для современного компьютера. Но компьютеров в майнинге задействовано много, и кому-то обязательно повезет. Повезло тебе - получаешь новые биткойны, а человечество получает новый лист в глобальной бухгалтерской книге. Не повезло тебе - в ближайшие десять (в среднем) минут повезет кому-то другому. А твой комп быстренько впишет в свою память этот новый лист - и тут же примется лихорадочно перебирать варианты для следующего, надеясь на удачу. Это и есть майнинг, если глядеть на него со стороны бухгалтерии.
Вот, например, как выглядит лист такой всемирной бухгалтерии, а именно Блок номер #445367. Такие листы называются "блоками", а последовательная цепочка этих блоков, собственно говоря, и называется "блокчейн".
Если кликнуть по ссылке, сначала (наверху) идёт какая-то статистика - это просто для удобства обозревателей, в состав самого Блока #445367 она не входит. Первая запись, составляющая собственно бухгалтерию - это запись о том, что господин 1JVHw9iyesn9CSTDgbmKgSyyZoH9CFUFaP получает свои денежки за проделанную по составлению этого блока работу.

Итак, чтобы перечислить свои биткойны другому человеку, Вы должны просто разослать по Сети документ с указанием суммы и "имени" адресата. Суть же дела в том, что этот документ никто не может составить кроме вас. Потому что для этого необходимо знать секретный "пароль".

Это очень интересная штука - электронный документ, который невозможно подделать. Его можно сколько угодно копировать, но только копировать. Его невозможно сфабриковать, потому что под ним стоит уникальное сочетание символов, называемое "электронной подписью".
Электронная подпись - это ужасно остроумная штука. Это некоторое сочетание символов, которое невозможно вычислить, если не знаешь тайного пароля. Невозможно подделать - но в то же время совсем нетрудно проверить, правильно ли составлена данная подпись. Вот такой вот математический фокус. Если не знаешь пароля, то вычислить эту подпись можно только одним способом: так же точно, как добываются койны. То есть, путем тупого перебора вариантов. Только вот вариантов этих на сей раз оказывается слишком много. Чтобы накопать новые койны, компьютер должен работать целый год. А чтобы подобрать подпись, не хватит никакого времени: речь там идет о сумасшедших сроках с многими десятками нулей.
Вот такая вот интересная фишка. Но на самом деле все ещё круче. Правильность подписи под документом зависит не только от того, кто его подписал, но и от содержания самого документа. Если изменить в документе хотя бы один знак, старая подпись сразу же делается неподходящей.

Электронная подпись - это функция от содержания документа (включая видимую всем Вашу анонимную "подпись") и от секретного пароля. Но для проверки правильности подписи не нужно знать секретный пароль, достаточно знать лишь известную всем "подпись". (Почему? потому, что она вычисляется на основе этого пароля.)

(Чуть подробнее о математическом аспекте дела читайте в посте уважаемого gryzchick Комментарий по поводу электронной подписи!)

Таким образом, сам по себе тот факт, что в природе существует этот документ, означает, что его составил человек, знавший Ваш тайный пароль. Иначе он просто не мог бы его составить. Как это выглядит: пример правильно подписанной сделки.
Вот такая вот интересная идея: документ, который невозможно подделать. При этом проверить его подлинность может любой!

Теперь я могу уточнить ту информацию, которую изложил раньше, в заметке Электронное золото: как добывают биткойны. Там я говорил, что майнер составляет некий документ. Теперь я объяснил содержательную часть этого документа. Это очередная страница глобальной бухгалтерской книги.

Итак, что же обязан сделать майнер?
Во-первых, проверить, правильно ли составлена каждая запись в блоке.
Во-вторых, проверить, достаточно ли средств у Вас на счету, чтобы совершить данную операцию. Для этого нужно пробежаться по всей бухгалтерской книге и припомнить ранее зарегистрированные операции с Вашим участием.
В-третьих, наконец, проделав все это, он должен решить задачу, которую я описал в прошлой заметке. Это самая трудная часть, требующая больше всего времени. Здесь все упирается в простое везение, и в этой гонке все решает фортуна. Кому первому повезло - тот получает свою награду, а благодарное человечество - очередной блок блокчейна, очередную страничку глобальной бухгалтерии.

Продолжение:

О силе слов


PS Прошу читателей не скрывать о меня, если моё повествование сделалось занудным.