CryptoBotan
609 subscribers
259 photos
13 videos
1 file
580 links
📰Никаких нашумевших новостей и рекомендаций по рынку

🌐Только полезная информация для исследования криптопространства и мира финансов

Глубже в Биткоин t.me/CryptoBotan/888

Also, Bitcoin is for everyone in x.com/russian0bit

Обратная связь @russian0bit
Download Telegram

Продолжение о протоколах для децентрализованных сетей.

DHT на примере ее реализации Kademlia
⬇️⬇️⬇️
https://tttttt.me/CryptoBotan/754

О файлообменной пиринговой сети 1-го поколения - Napster.
⬇️⬇️⬇️
В своем первоначальном виде сеть Napster просуществовала с 1999 года до 2001, но сыграла огромную роль в представлении одноранговых сетей.

Napster напоминает Spotify или Google Play Music. Но на начальном этапе, это были члены сети, которые делились аудиофайлами при помощи P2P-соединений.

Napster быстро взлетела и также быстро рухнула, но положила начало соединениям P2P.

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

Если проще, то она опиралась на центральный сервер индексирования, который указывал клиентам, куда смотреть и с какими клиентами общаться.

Это похоже на протокол IRC.

IRC - это протокол прикладного уровня для обмена сообщениями в режиме реального времени.

Napster специализировалась исключительно на музыке в формате MP3 и предоставляла удобный интерфейс. Результатом стала система, чья популярность генерировала огромный выбор музыки для скачивания.

Причиной закрытия стал иск группы Metallica, по поводу появления в сети демоверсии их новой песни.

Ну а дальше, началась уже совсем другая история...🤔
🌴🌴🌴
Криптокотики, хайп, активность на рынке, спаматаки и еще много причин перегруженности блокчейн сетей

Решения для повышения масштабируемости блокчейн проектов!
⬇️⬇️⬇️
https://habr.com/ru/post/411255/

Блокчейн в образовании

Где ещё применить блокчейн?
🧙🏻‍♀️🧙🏻‍♀️🧙🏻‍♀️
Все уже думаю осознают, что преимущество технологии блокчейн заключается в отсутствии возможности манипуляции данными, благодаря тому, что информацию в базу данных можно только добавлять, но не перезаписывать, а истинность документа легко прослеживается.

⛪️Университет Никосии - первый универститет, который официально использует блокчейн для хранения своих дипломов и сертификатов. Первый университет, который принимает в качестве оплаты криптовалюту Bitcoin.

Встает вопрос, как при помощи блокчейн можно записывать данные о наличии документа об образовании и управлять этими данными?

1) Использование функции OP_RETURN

Эта функция позволяет записывать в каждую транзакцию дополнительную информацию. Массачусетский Институт Технологий (МИТ) предложил высчитывать хэш документа с помощью SHA256 и прикреплять его к транзакции, дополняя своей зашифрованной подписью. После пяти подтверждений на блокчейне такой сертификат навсегда остается доступен в системе.

Но такой подход не слишком подходит так как количество данных, которые можно сохранить, строго ограничено.

2) Проект Blockcerts

Это открытый стандарт для создания цифровых академических сертификатов
МИТ совместо с MachineLearning уже осенью 2017 года, использовали его для выпуска цифровых дипломов для более чем 100 выпускников.

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

4 основных компонента :

1) университет, выдающий цифровой сертификат;
2) сам сертификат, подтверждающий владение определенными знаниями и навыками;
3) сторона, подтверждающая легальность сертификата и его выдачи;
4) цифровое портфолио для хранения сертификатов.

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

Сейчас этот проект поддерживают: Школа Искусств в Чикаго, Йельский и Стэнфордский университет.

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

В 2012 году был уволен Yahoo CEO Scott Thompson. Он внес недостоверные данные диплома колледжа. Scott успел проработать пару месяцев, когда обнаружились фальшивые данные. Также, как правило подтверждение запроса на диплом длится пару неделю. Это существенно мешает быстрому поиску новых сотрудников.

Блокчейн и тут решает эти проблемы.
⬇️⬇️⬇️
https://youtu.be/5wAyS1e_hOo
Когда на рынке тихо, админы сигнальных каналов дают примерно такие советы🙃
Объём рынка контрафактного ПО в России составляет 1,3 миллиарда долларов. 62% Програмного обеспечения на ПК нелицензионное (пиратское).

Однако лидерство по стоимости нелицензионного ПО принадлежит США: на компьютерах американцев установлено таких программ на 8,6 миллиарда долларов. Второе место занял Китай с результатом 6,8 миллиарда.

Протоколы для децентрализованных сетей.

DHT на примере ее реализации Kademlia
⬇️⬇️⬇️
https://tttttt.me/CryptoBotan/754

Файлообменная пиринговая сеть 1-го поколения - Napster.
⬇️⬇️⬇️
https://tttttt.me/CryptoBotan/757

Файлообменная сеть 2-го поколения eDonkey2000 (eDonkey, eD2k)
⬇️⬇️⬇️
В РуНете протокол можно просто назвать «ослик», «осёл», а пользователей сети eDonkey2000 - «ословодами».😄

eD2k - это файлообменная сеть, построенная по принципу P2P на основе сетевого протокола прикладного уровня MFTP.

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

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

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

И так, еще раз, принцип ее работы состоит в использовании нескольких центральных серверов: то есть это нечто среднее между одноранговой технологией и клиент-серверной архитектурой.

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

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

Серверы играют роль справочника ссылок для закачки, а сама закачка файлов производится по принципу пиринговой сети с одного компьютера на другой.

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

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

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

Функция поиска по серверам особенно полезна, если поиск на сервере, к которому клиент подключен в настоящее время, даёт низкий результат.

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

Большинство серверов ed2k-сети работает на Lugdunum - серверное ПО сети eD2k. Он более масштабируем и эффективен, чем оригинальный MetaMachine eDonkey server.

Наиболее распространённым свободным клиентом сети eDonkey2000 для Windows является eMule. Также сеть поддерживают клиенты Shareaza, aMule, mlDonkey.

В сентябре 2006 года компания MetaMachine заключила соглашение, со звукозаписывающими и кинокомпаниями, по итогам которого заплатила правообладателям $30 млн в виде компенсации и прекратила распространять клиентское и серверное ПО.

В то время, борьба с сетью была ожесточенной и после прекращения работы, нападки не прекратились. Если интересно, вот статейка 2006 года.

Но борьба с децентрализацией продолжается и сегодня...
💩💩💩
Еще в январе писал о проекте DagCoin
⬇️⬇️⬇️
https://tttttt.me/CryptoBotan/566

Начались движения на рынке и появился интерес к крипте и вот, уже около 10 человек написали о том, что ребята снова в деле и активизровались. Будьте осторожны🙉

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

О будущем сетевых протоколов
⬇️⬇️⬇️
https://m.habr.com/ru/company/oleg-bunin/blog/461829/
Хороших выходных любителям сезона альты☺️

Протоколы для децентрализованных сетей

Протокол 2-го поколения P2P сетей - BitTorrent

Часть 1. Торрент файлы и содержимое
⬇️⬇️⬇️
BitTorrent «битовый поток» — пиринговый (P2P) сетевой протокол для кооперативного обмена файлами через Интернет.

Торрент (Torrent) — это сервис обмена информацией по сетевому протоколу Bittorrent.

Что включает в себя .torrent файл?

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

Трекер - это сервер, который хранит всю информацию о раздаче, а именно сколько людей ее качает, какую часть раздачи скачал каждый из них, и т.д.

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

Здесь кроется первая проблема торрента:

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

Но выход есть и это бестрекерная система работы:

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

Также в торрент файлах хранится информация о файлах в этой раздаче: их количество, вес, число блоков и их контрольные суммы (SHA1).

В отличие от обычной закачки, раздача всегда поделена на множество блоков, размер которых зависит от веса раздачи и обычно составляет порядка 1 МБ.

Делается это для того чтобы:

Во-первых, это позволяет скачать в раздаче только один или несколько нужных файлов — не нужно качать все.

Во-вторых, так проще проверять файлы

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

Торрент-файл также включает в себя — passkey. Это — наш личный ключ, состоящий из цифр и букв, который присваивает нам трекер. Он нужен для того, чтобы не нарушалась суть торрента: «ты — мне, я — тебе».

На многих трекерах введено ограничение: если наш ratio ниже определенного то нам запрещается качать с этого трекера, пока наш ратио не поднимется. Тут появляется еще одно правило: если мы скачали торрент-файл на трекере, который мониторит ratio, не отдавать этот файл никому — так как другие люди могут быстро «слить» наш ратио до нуля. 

Торрент-файлы стали включать дополнительную информацию о магнет-ссылках и веб-сидах.

Магнет-ссылка — это ссылка напрямую на трекер, которая избавляет нас от «посредника» в виде файла.

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

Блокчейн и дроны

Где ещё применить блокчейн?

🌱🌱🌱
«Дрон-сотрудник»

Управлением беспилотниками на основе блокчейн занимаются в университете ИТМО

Проект основан на использовании платформы Ethereum. Эфир здесь не является эквивалентом монет, а питает узлы сети, которые работают друг с другом по «умным контрактам».

Принцип работы очень прост:

Один узел отправляет «эфир» по определенному адресу, и эта информация заносится в блокчейн. В ответ на это другой узел начинает исполнять код. Таким образом, можно создать сеть, в которой за корректным исполнением инструкций будут следить сами роботы.

После создания контракта по найму (для чего нужно указать координаты базы) и передачи транзакции в сеть Ethereum, дрон получает координаты и рассчитывает расстояние и стоимость полета. Затем пользователь совершает оплату, а робот приступает к выполнению задания. Разработчики уверены, что такая платформа может лечь в основу системы взаимодействия участников рынка интернета вещей.

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

🌵🌵🌵
Глайдеры на базе блокчейна и ИИ для поиска сокровищ

В 2018 году стартап Deepwater Systems из Эквадора представил проект с применением технологий искусственного интеллекта и распределённого реестра для поиска подводных сокровищ и затонувших кораблей.

Нейросеть самостоятельно обучается, со временем обретая способность всё лучше распознавать подводные объекты. Все полученные беспилотниками данные предполагается упорядоченно хранить в системе, созданной на основе технологии распределённого реестра — это позволит избежать потери или подмены данных.

🌿🌿🌿
Система координации и управление доставками - SkyGrid

Корпорация Boeing вместе с компанией SparkCognition работает над системой SkyGrid для беспилотников на базе технологии блокчейна.

Применение найдется для инспекций в промышленности, доставки посылок и оказания помощи пострадавшим.

SkyGrid сможет управлять дронами в реальном времени, прокладывать маршруты и прочее.

🌲🌲🌲
Система связи и координации беспилотных летательных аппаратов на базе технологии блокчейн

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

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

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

#блокчейн #технологии

Протоколы
для децентрализованных сетей

Протокол 2-го поколения P2P сетей - BitTorrent

Часть 1. Торрент файлы и содержимое
https://tttttt.me/CryptoBotan/767

Часть 2. Обмен данными
⬇️⬇️⬇️
Принцип работы протокола заключается в том, что нагрузка на распространителя файла уменьшается за счет скачивающим клиентам. Они начинают обмениваться данными сразу же, даже если файл не докачан ими до конца.

Для работы BitTorrent, как писалось в 1 части, необходим трекер — специализированный сервер, работающий по протоколу HTTP. Он нужен, чтобы клиенты, именуемые пирами, могли найти друг друга. Перед началом скачивания клиент подсоединяется к трекеру по указанному в торрент-файле адресу, сообщает ему свой адрес и идентификатор файла, который требуется скачать (он именуется хеш-суммой). В ответ клиент получает адреса других клиентов, скачивающих или раздающих этот файл. Впоследствии клиент периодически информирует трекер о ходе процесса и получает обновлённые списки адресов. Пиры соединяются друг с другом и обмениваются сегментами файлов без непосредственного участия трекера. Он лишь хранит информацию, получаемую от клиентов.

Раздача поделена на множество небольших блоков. Вопрос - как их закачивать?

Последовательно, увы, не вариант. Допустим 10 пиров качают у одного сида и при чем последовательно. Сид уходит и 10 человек скачали только первые блоки, а следующих ни у кого нет. Итог: раздача мертва.

Рандомный кач? тоже не вариант. Не факт, что все блоки будут скачаны одинаковое количество раз, дабы не стопорить раздачу.

Ответ прост: блоки качаются так, что приоритет отдается самым редким из них. Поэтому то, поддерживается баланс скорости закачки.

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

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

Так же вы можете скачать раздачу без торрент-клиента. Закачка происходит по TCP и хватает простого браузера. Но так, можно скачать лишь торрент. Раздавать их не получится

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

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

И сегодня очень часто в торрент файлы вшиваются трояны, вымогатели или скрытые майнеры.

Это один из самых существенных минусов протокола. Но рассмотрение положительных и отрицательных сторон протокола, я оставляю для вас😉

У каждого из нас есть свое мнение на этот счет...

#децентрализация #протоколы
​​
Протоколы для децентрализованных сетей

Протокол 2-го поколения P2P сетей - Direct Connect
⬇️⬇️⬇️
Direct Connect ("соединение напрямую") — это частично централизованная файлообменная (P2P) сеть, которая включает в себя хабы, к которым при помощи DC-клиентов подключаются пользователи.

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

Некоторые хабы поддерживают линкование — несколько хабов соединяются между собой для удобства пользователей и подключившийся пользователь видит один «общий» хаб.

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

С массовым внедрением в DC-клиенты технологии DHT необходимость в хабах для работы сети может отпасть.

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

В сети используется протокол DC (NMDC) использующий свою структуру команд.

Протокол Direct Connect текстовый. В нем команды и данные передаются простым текстом, без шифрования. Протокол не регламентирует кодировку или шрифт для клиентов или хабов.

Для подключения к хабу и скачивания файлов используется протокол TCP. Поиск в активном режиме работает по UDP.

Здесь про TCP и UDP протоколы.

Преимущества:

1) Развитый многопользовательский чат;

2) Сервер (хаб) может быть посвящен конкретной тематике, например, определенному жанру фильмов, что облегчает поиск пользователей с необходимыми файлами;

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

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

Контроль за DC-хабами осуществлять гораздо сложнее, так как их в разы больше, чем, например крупных BitTorrent-трекеров. Так что борьба с пиратством усложняется.

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

Наиболее популярными файлообменными клиентами для DC являются: DC++, ApexDC++ и FlylinkDC ++. Все они с открытым исходным кодом.

#децентрализация #протоколы
Для тех кому постоянно пишут об участии в проекте в сфере красоты и здоровья😄

Гайд о том как правильно заниматься млм-бизнесом

Но я выкладываю ее не для того, чтобы кто-то попробовал, а чтобы знать как работают эти товарищи, и не попасться на их уловки...

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

Так что будьте осторожны
⬇️⬇️⬇️
https://zen.yandex.ru/media/journal.tinkoff.ru/skolko-mojno-zarabotat-na-setevom-marketinge-stoit-li-probovat-5d5980c2e3062c00ac63c654
​​
Обновление для Ethereum "Istanbul" было перенесено, в связи с принятием всех предложений по улучшению и переработкой кодовой базы для объединения EIP в Istanbul.

EIP (Ethereum Improvement Proposals).
⬇️⬇️⬇️
Аббревиатура EIP взята у биткоина, где BIP — предложение по улучшению биткоина.

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

Автору необходимо получить достаточно поддержки, чтобы его EIP состоялось.

EIP происходят из более простых форм, таких как ERC — Ethereum Request for Comments.

ERC обычно касаются стандартов приложений и связанных с ними рабочих процессов. Они также обсуждаются сообществом. Как только ERC доходит до стадии EIP, все становится более серьезным. Это означает, что ERC оценивается сообществом как что-то ценное и необходимое.

Стандарт ERC-20 появился благодаря этому
механизму.

Этап обсуждения EIP отсекает множество предложений. На этом шаге разработчики, работающие над Ethereum, решают, является ли EIP достаточно жизнеспособным и технически обоснованным. Эти разработчики имеют свой собственный консорциум Fellowship of Ethereum Magicians, они глубоко вовлечены в разработку Ethereum. Также разработка поддерживается Ethereum Foundation.

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

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

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

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

Децентрализованная файлообменная сеть 3-го поколения Gnutella
⬇️⬇️⬇️
Эта сеть прямой потомок Napster. Отличается принципиальным отсутствием центрального сервера.

Gnutella — одна из первых пиринговых сетей, создана в 2000 г. Она функционирует до сих пор, хотя из-за серьезных недостатков алгоритма пользователи в настоящее время предпочитают сеть Gnutella2.

America-on-Line началa создавать сеть Gnutella с корыстными целями. Собрали лучших сетевых программистов из подразделения Nullsoft, которые и придумали эту сеть. 14 марта 2000 г. появилась программа размером 104 килобайта, которая давала возможность пользователю искать и обмениваться всеми видами файлов с другими владельцами Gnutella без всяких серверов. Но так получилось, что AOL объединилась со звукозаписывающей компанией и поняла, что напокастила сама себе. Сеть попытались закрыть, но все то, что децентрализованно, увы, сложно уничтожить.

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

Пользователь загружает программу. При первом запуске программы (Узел — A), пользователь сообщает клиенту IP-адрес одного из функционирующих узлов (узел B). Это один из самых «скользких» моментов в реализации данной сети: без адреса хотя бы одного из работающих в данный момент узла пользователь не сможет подключиться. Хотя, существует целый ряд централизованных серверов, предоставляющих подобную информацию (connect1.gnutellanet.com:6346, gnutella.hostscache.com и др.), но такая схема уже приводит к централизованности. Программа посылает запрос узлу B на предмет подтверждения активности.
Узел В подтверждает свою активность.
Узел А посылает узлу В так называемый Ping-запрос. В этом запросе указывается, помимо прочей информации, TTL (Time To Live) — число, означающее, сколько переходов от узла к узлу данный запрос может совершить. Обычно TTL равняется 7. Другие узлы, получив Ping-запрос, посылают Pong-ответ, в котором содержится IP-адрес отправителя, номер порта и минимальная информация о файлах в фонде обмена.

Кроме того, узлы, получившие Ping-запрос, уменьшают TTL данного запроса на единицу, и если TTL больше 0, а также если данный запрос они не получали ранее (защита от зацикливания), рассылают его своим соседям.
Каждый узел, получивший Ping-запрос, отсылает Pong-ответ, тем же путем, которым этот запрос получил.

Когда Pong-ответы доходят до своего источника (то есть нашего узла А), программа составляет список доступных узлов. Как правило, этот список насчитывает от 2 до 10 тысяч узлов и от 500 тысяч до миллиона файлов в обменном фонде.
Пользователь вводит запрос (например, название mp3-файла). Программа рассылает запрос на поиск файла всем узлам в списке, а далее просто ждет входящих сообщений.
Каждый узел, получивший запрос на поиск, ищет в своем фонде указанный файл. Если файл не найден, то узел просто не отвечает.
Если файл найден, узел отсылает инициатору запроса ответ с информацией о файле и о себе (IP-адрес).

Получив ряд ответов, программа выбирает один из узлов, устанавливает с ним стандартное HTTP-соединение и загружает файл. При этом все сообщения (от Ping-запроса до скачивания файла) посылаются по HTTP, что затрудняет их отслеживание и блокировку.

Важно понимать, что Gnutella — это прежде всего протокол взаимодействия узлов (такой же как HTTP например), а сеть формируется когда один пользователь Gnutella соединяется с другим пользователем, после этого они могут начать обмен информацией.

Недостатки протокола Gnutella инициировали разработку принципиально новых алгоритмов поиска маршрутов и ресурсов и привели к созданию группы протоколов DHT (Distributed Hash Tables) — в частности, протокола Kademlia, который сейчас широко используется в наиболее крупных сетях.