Как стать автором
Обновить
5.15

Децентрализованные сети *

Оверлейная компьютерная сеть

Сначала показывать
Порог рейтинга
Уровень сложности

Анонимная P2P-база знаний, где никто не может подделать чужое авторство | Магия асимметричных ключей на практике

Уровень сложностиСредний
Время на прочтение31 мин
Количество просмотров12K


На днях, как это обычно и бывает перед сном, мой мозг решил, что было бы очень забавно перед экзаменом не спать, а заняться брейнштормом. Как результат я получил слитую сессию и безумное желание сделать свой P2P WEB 228.0 — ну вы знаете…

Вот вы никогда не задумывались, что Tor является весьма экстраординарным способом преодоления трансляторов сетевых адресов? По сути, он позволяет создавать туннель между двумя любыми удалёнными узлами, находящимися за NAT, выдавая им уникальные onion-адреса из очень большого диапазона.

Аналогичную же задачу решает переход на ipv6, но при этом он требует поддержки со стороны самого транслятора, в то время как Tor абсолютно самостоятелен, хоть он и не является настоящим p2p.

Чисто технически (при должном monkey patch`инге) можно даже заставить его работать как пробрасыватель портов для RDP, онлайн-игр и Vиртуальных Pриватных туннелей, которые нынче нельзя называть.
Читать дальше →

Как рассчитывается стоимость газа в транзакциях Ethereum

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров10K

Привет всем! Я — Рома Ярлыков, разработчик смарт‑контрактов на Solidity в команде MetaLamp. ​​В этой статье я исследую механизмы расчета и составляющие цены газа в блокчейне Ethereum, описываю историческое развитие этих методов и их значимость, а также демонстрирую, как вычислить стоимость транзакции на основе ее газовых затрат. Это будет цикл статей, поэтому если вам интересна эта тема — не пропустите следующие:)

Читать далее

Цифровая диктатура и демократия через цифровую общественную инфраструктуру и Web3. Где ваша страна сейчас?

Время на прочтение15 мин
Количество просмотров3.2K

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

Согласно новому взгляду на будущее цифровой демократии, она должна использовать децентрализованные цифровые инструменты цифровой общественной инфраструктуры (DPI) для достижения всеобщего прогресса и развития. Этими инструментами должны быть децентрализованное голосование, цифровая идентификация, цифровые деньги. Каждая из этих категорий взаимно связывается в реальном времени с остальными категориями. Эти технологии также в совокупности называются Web3.

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

Читать далее

Как ZKP и ZK-Rollups помогают в решении проблемы масштабирования: обзор блокчейна zkSync

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров3.2K

Привет, Хабр! Меня зовут Рома и я Solidity-разработчик. Вместе с коллегами мы создаем базу знаний по тематике блокчейна и web3-разработке. Меня заинтересовал блокчейн zkSync, т.к. он выделяется среди других Layer 2 решений, но сначала хочу немного рассказать, в чем суть проблемы масштабирования и какие есть особенности L2 в связке с ZK-Rollups. Эта статья будет интересна тем, кто хочет верхнеуровнево разобраться как работают такого рода решения и почему ZK-Rollups очень перспективное направление развития для блокчейнов в целом и Ethereum в частности.

Читать далее

Групповые P2P-чаты и первый мессенджер без ID

Время на прочтение3 мин
Количество просмотров13K

Схема маршрутизации по протоколу SimpleX Messaging Protocol (SMP) напоминает луковую маршрутизацию

Недавно в списке защищённых мессенджеров появилось несколько интересных разработок. Среди них первый распределённый групповой P2P-чат Quiet и первый мессенджер без использования идентификаторов пользователей SimpleX, о котором уже упоминали на Хабре.
Читать дальше →

Анонимный обмен файлами в реалиях глобального наблюдателя

Уровень сложностиСложный
Время на прочтение20 мин
Количество просмотров11K

Сегодня уже ни для кого не секрет, что каждое отправляемое нами сообщение из любой точки мира может быть успешно перехвачено, проанализировано и отфильтровано компаниями, корпорациями и государственными спец службами. Каждый наблюдатель в такой ролевой модели преследует выполнение своих, точно заданных задач. Но когда таковые наблюдатели объединяются в одного, сию же минуту рождается, как новая звезда в космическом пространстве, глобальный наблюдатель, противодействий которому будет недостаточно со стороны классических анонимных сетей, будь то Tor, I2P или Mixminion.

Читать далее

Оптимален ли блокчейн для хранения идентификационных данных?

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров3.8K

Приветствую, Хабр! Моя предыдущая статья была посвящена формализованным критериям выбора базовой технологии хранения и обработки данных, совокупность которых позволяла ответить на вопрос, использовать ли в конкретной системе блокчейн-технологии или ограничиться хорошо изученными СУБД. При этом ответ на данный вопрос при использовании формализованных методов выбора мог быть получен именно на основе технических факторов, не принимая во внимание различные «политические» аспекты выбора, такие как, например, повышенный информационный шум, продолжающийся вокруг блокчейна.

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

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

Читать далее

Формальные методы проверки смарт-контрактов. Certora Prover

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров3.4K

Друзья, приветствую! Меня зовут Сергей Соболев, я представляю отдел безопасности распределенных систем Positive Technologies. В этой статье начну рассказывать про методы и инструменты формальной верификации, их практическое применение в аудите смарт-контрактов, а также про подводные камни.

Сегодня поговорим про общие теоретические аспекты формальной верификации, проблемы SAT и SMT и закрепим все это на простом примере с использованием хайпового инструмента для анализа смарт-контрактов Certora Prover со своим языком спецификаций.

Под кат

Хочется странного — шифрование и протокол Gemini

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров6.7K

Сегодня речь пойдет НЕ о новомодной нейросети, не о космической программе NASA, не о созвездии Близнецов, и даже не об очередной криптобирже. Интернет-протоколу Gemini не повезло с названием, его все время путают с чем-то другим.

А протокол интересный, дело в том, что он (1) минималистичный, как Gopher, а значит, (2) удобный для создания самодельных компьютерных программ, работающих с ним, (3) радикально защищает читателя от скриптов, всплывающих окон и прочего, при этом (4) заточен на параноидальную приватность и безопасность, и еще там (5) непривычный подход к шифрованию канала передачи данных, о чем сейчас и поговорим.

Через колючки к звездам

Как я перестал бояться и вышел в Интернет со своей IPv6-сетью

Время на прочтение9 мин
Количество просмотров30K

Для личных нужд я использую bare-metal сервер от Hetzner, порезанный на виртуалки и, с недавних времен, VPS на HostHatch для мониторинга и резервирования. Также есть маленькая ВМка у TietoKettu (для ВПН, экспериментов и прочее).

Так как IPv4-адресов мало, то хостинги обычно дают дополнительные айпишки за дополнительные деньги, а вот IPv6-сети выделяют щедро. Изначально, я объединил все виртуалки, у которых был публичный IPv4-адрес в Wireguard mesh сеть, но потом когда выяснилось, что надо бы присоединить ещё одну ВМку, пришлось переделать mesh на IPv6-адреса и тут понеслось...

Сначала выяснилось что у HostHatch нет связности с ElmoNet (TietoKettu использует их адреса), после недели-двух бодания с техподдержкой HostHatch-a связность появилась. Однако недели две назад от них приходит письмо, о техобслуживании нод, где живут мои ВМки. И что вы думаете? После обслуживания туннель до этих ВМок так и не восстановился. В итоге, оказалось что обе вмки исчезли их IPv6-интернета. На этот раз связность починили только через 3 дня, хотя я создал срочный тикет.

В итоге, я перевёл туннели обратно на IPv4 и переключился на DN42, но в один выходной мне на глаза попалась статья на Reddit и я решил воскресить идею о "своем" куске Интернета. Масла в огонь подбавил Vultr, который наглухо заблокировал доступ на свои ресурсы (даже IP calculator) с Hetzner.

В одном из комментов, к вышеупомянутой статье, была ссылка на IPv6-сообщество в Discord. Я присоединился и стал задавать много вопросов в канале #asn-newbies.

Думаю, что кому-нибудь мой опыт и набитые шишки будет полезен. Если это так, то прошу под кат.

Читать далее

Проект Usenet: 60 петабайт текста и полная децентрализация на акустических модемах

Время на прочтение6 мин
Количество просмотров5.7K

Когда Тим Бернерс-Ли в ранних 90-х представил технологии, определившие будущую Всемирную паутину, в мире уже не одно десятилетие существовала по-настоящему децентрализованная компьютерная сеть с довольно богатым контентом и открытым доступом, в отличие от окружённой мифами ARPANET. В этом посте мы вкратце расскажем о Usenet — проекте двух университетских выпускников, который всё ещё живет, не оглядываясь на новые технологии. 

Началась эта история в Северной Каролине с двух друзей из Дьюкского университета, Джима Элиса и Тома Траскотта. Они работали над протоколом UUCP, Unix to Unix Copy Protocol. Их друг из университета Северной Каролины Стивен Белловин хотел создать софт, который позволил бы людям пользоваться этим протоколом, и тоже вошёл в основную команду.

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

Читать далее

Пакуем весь трафик в Ping message, чтобы не платить за интернет | ICMP NAT traversal

Уровень сложностиСложный
Время на прочтение29 мин
Количество просмотров99K

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

Так вот, переходя ближе к теме. Вы можете воспроизвести подобное поведение очень просто прямо сейчас при помощи вашего мобильного телефона и ноутбука. Я в своём конкретном кейсе буду пользоваться услугами оператора красного цвета, однако проблема актуальна для всех текущих 4 монополистов рынка сотовой связи. Как вам, скорее всего, уже известно, они около года меняют свою политику, внедряя одно интересное нововведение — с вас требуют дополнительной платы за раздачу интернета поверх основного пакета. То есть вы не можете взять и использовать свои 7 гигов на месяц как ресурс для раздачи при помощи точки доступа. Для точки доступа вам предлагают отдельный, зачастую совсем невыгодный тариф. Конечно, можно сменить основной тариф на специальный «тариф для раздачи» и платить втридорога, но, как вы понимаете, сегодня мы в потребителя будем играть совсем недолго. Сейчас по пунктам нужно доказать нечестность подобной политики и с чувством завершённого введения перейдём к непосредственно технотексту.

Подобные условия пользования, само собой, порождают внутреннее недовольство пользователей:

За интернет они платят? — Да.

Раздача как-либо использует ресурсы провайдера сверх нормы? — Нет.
Читать дальше →

Пишем минимальный ActivityPub-сервер с нуля

Время на прочтение12 мин
Количество просмотров8.5K
В последнее время, на фоне покупки Twitter Илоном Маском, люди начали искать ему альтернативы — и многие нашли такую альтернативу в Mastodon.

Mastodon — это децентрализованная социальная сеть, работающая по модели федерации, как email. Протокол федерации называется ActivityPub и является стандартом W3C, а Mastodon — далеко не единственная его реализация, но самая популярная. Различные реализации протокола, как правило, совместимы друг с другом, настолько, насколько им позволяют их совпадения в функциональности. У меня есть и мой собственный проект ActivityPub-сервера — Smithereen, такой зелёный децентрализованный ВК, где я когда-нибудь таки верну стену.



В этой статье мы рассмотрим основы протокола ActivityPub и напишем минимально возможную реализацию сервера, позволяющую отправлять посты в сеть («fediverse»), подписываться на других пользователей и получать от них обновления.
Читать дальше →

Ближайшие события

Yggdrasil-mesh глазами пентестера

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров12K

В наше время растет популярность децентрализованных альтернатив современным подходам к маршрутизации трафика в вычислительных сетях (например, для обхода санкционных блокировок недружественных стран и анонимизации трафика). Одним из примеров такого подхода является Yggdrasil. Новые подходы обещают нам инновации, децентрализации и конечно же гарантии безопасности. Но так ли это на самом деле? И хотя многие опытные пользователи и так знают о проблемах безопасности подобных сетей, мне бы хотелось подсветить их сильнее на одном конкретном примере, не претендуя на звание создателя rocket science.

ПРЕДУПРЕЖДЕНИЕ. Все совпадения вымышлены. Автор не ставил своей целью просканировать весь Yggdrasil и проэксплуатировать все уязвимости безопасности.

Читать далее

История о том как я на один из самых дешёвых Orange Pi анонимную сеть пытался накатывать

Уровень сложностиСложный
Время на прочтение10 мин
Количество просмотров14K

Этак три-четыре года тому назад я интересовался одноплатниками, микрокомпьютерами, мини ПК и т.п. малыми вещами. Было удобно такие компьютеры транспортировать при путешествиях, перемещать при переездах, да и если брать миники, то их можно вполне корректно и нормально использовать в качестве основного ПК, если нет целей заниматься дизайном, программировать под Android, играть в современные игры или вовсе их писать. Но с того давнего и хорошего времени у меня сохранились ещё orange pi'йки, которыми я особо даже не пользовался, а купил их просто ради чего-то будущего и абстрактно интересного. И такое будущее наступило.

Читать далее

Предстоящий выпуск Yggdrasil v0.5

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров6.3K

Поскольку скоро выйдет версия 0.5.0, кажется, сейчас самое время объяснить, над чем мы работали последние пару лет. Хотя в целом мы вполне довольны версией 0.4.X, в этой конструкции есть несколько проблем, которые могут привести к тому, что сеть будет вести себя не так, как нам нравится. Целью этой публикации является краткий обзор того, как работает версия 0.4, объяснение проблем, связанных с этим подходом, и описание изменений, которые мы внесли в версию 0.5, чтобы попытаться их решить.

Читать далее

Личный сайт — на каждом телефоне

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров34K


На Хабре нередко встречаются статьи о том, как запустить веб-сервер на старом смартфоне. В принципе, здесь ничего сложного, тем более что современные телефоны — это мощнейшие компьютеры с многоядерными CPU и гигабайтами оперативной памяти. Даже на самом стареньком смартфоне больше памяти (встроенная флэш-память), чем на промышленном сервере 20-летней давности, который ставили на профессиональный хостинг.

На любой современный (даже старенький) смартфон можно поставить веб-сервер, если проделать некоторые манипуляции, то есть рутануть телефон или установить Termux.

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

Поднимаем собственный узел в анонимной сети Hidden Lake

Уровень сложностиСложный
Время на прочтение19 мин
Количество просмотров6.8K

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

Читать далее

P2P-форум с нуля | от NAT hole punching до автономной и полностью децентрализованной сети

Уровень сложностиСредний
Время на прочтение32 мин
Количество просмотров19K

Многие, кто работают с интернет-сокетами в любой сфере IT, задаются вопросом о пробросе портов. Связано это с тем, что практически во всех домашних/общественных/корпоративных роутерах реализован механизм NAT, который перекрывает прямой доступ к устройствам в этих подсетях извне, общаясь с внешним интернетом от их имени.

У NAT есть киллер-фича — он представляет собой идеальный фаервол: атаки извне не могут использовать порты локальных устройств напрямую, следовательно, это решает проблему атак на сетевую уязвимость ОС.

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

Разнообразные сервисы работают на серверах, т. е. имеют некую ноду, которая имеет белый адрес в интернете (находится не за NAT). Все пользователи же подключаются к этому единому серверу. В таком случае проблема «невидимости» пользователей отпадает. Однако чисто серверное взаимодействие ограничивает скорость участников, так ещё и не отказоустойчиво. Если сервер упадёт, то все клиенты отправятся за ним (считаем, что это одноклеточный сервис не на всяких там kubernetes).

Как вы уже могли были догадаться, даже в реалиях, когда практически все устройства находятся за NATами, P2P реален. Когда вы являетесь участником bittorrent-раздачи, трансфер больших данных осуществляется напрямую. Как это работает? Поиск ответа на этот вопрос завёл меня в глубокие дебри, разгребая которые я написал оверлейную p2p-сеть, где трекерами являются сами её участники. Интересно? Тогда добро пожаловать под кат.
Читать дальше →

Пробиваем дыры в NAT

Уровень сложностиСложный
Время на прочтение14 мин
Количество просмотров32K

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

Читать далее