Р2р видеонаблюдение

История сетей P2P

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

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

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

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

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

Что такое P2P-торговля?

Р2р видеонаблюдение

Аббревиатура P2P образовалась от английского словосочетания peer-to-peer, обозначающее систему взаимодействия между равноправными участниками, также известную как, как торговля без посредников. В системе P2P каждый пользователь договаривается со своим контрагентом напрямую, участие биржи сводится к предоставлению площадки для встреч и обеспечению безопасности путем предоставления эскроу-услуг. Перечисление фиатных денег происходит в офлайн-режиме и когда подтвердят факт оплаты, покупатель получает криптомонеты на свой баланс.

Депозитный сервис гарантирует быстроту и надежность выполнения переводов. За все время существования на P2P-площадке Binance было совершено сделок на общую сумму 300 000 000$.

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

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

Биржи

Р2р видеонаблюдениеP2p сайты представлены следующими отечественными и заграничными площадками:

  1. Fingooroo. Каждый заемщик на сайте имеет свой кредитный рейтинг p2p-кредитования, присваивающийся на основании заполненных данных и своевременности возвращения займов. Кредиты с относительно высоким процентом доступны сразу после регистрации. Средний показатель прибыли инвесторов составляет 20 % годовых, но биржа не пытается минимизировать их риски, что может уменьшить ожидаемый заработок.
  2. BTCJAM. Англоязычная биржа, которая выступает посредником в сделках с биткоинами. Пользователи площадки могут брать займы на образование, бизнес, медицинские расходы, на рефинансирование долга и на другие цели. Инвесторов биржа привлекает возможностью подробного анализа данных заемщика перед тем, как выдать ему деньги.
  3. БезБанка. Классическая площадка, которая имеет подробное бюро кредитных историй. Заимодатель может отправить в него запрос и получить информацию о благонадежности пользователя. Несмотря на это, площадка имеет один из самых высоких процентов невозврата долгов среди других сайтов (20-25 %). Биржа хорошо подходит для бытового микрокредитования: средняя сумма займа составляет всего 7 тысяч рублей.
  4. Город Денег. Сайт позиционируется как площадка для выгодного бизнес-кредитования. Здесь выдаются деньги на стартапы и другие предпринимательские начинания, на бирже практикуется залоговое кредитование. Инвесторы не финансируют напрямую конкретных пользователей, вместо этого они вкладывают средства в несколько проектов, уменьшая свои риски. Такая система позволяет вложить деньги почти любому человеку, минимальный стартовый капитал для инвестирования составляет 10000 руб. Город Денег имеет самый низкий процент невозврата среди аналогичных сайтов (всего 4 %).
  5. Кредитная биржа Webmoney. Площадка удобна тем, что для получения займа достаточно наличия персонального аттестата, который используется и для пользования другими услугами платежной системы. Но это достоинство несет в себе и риски: проверка пользователей только через внутренние механизмы системы Webmoney дает мошенникам простор для махинаций.
  6. SimZirok. Украинская биржа, которая использует аукционный метод установления ставки кредита.
  7. КредБери. Основатели площадки реализовали комбинированный подход к расчету кредитного рейтинга: учитываются не только отношения с банками, но и данные профилей в соц. сетях, рекомендации друзей и знакомых, результаты специальных тестов.

Справка: существуют биржи, которые работают в сходном с p2p формате: они дают кредиты через интернет, но инвесторами являются крупные организации, а не частные лица. В число таких площадок входят Milli, MoneyMan и др.

Существуют и другие сайты для инвесторов, но они не так известны, как указанные выше.

Зачем нужны пиринговые сети? Легальное использование P2P сетей

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

  • Когда вы в своем доме подключаете устройство на Windows к домашней группе компьютеров, вы создаете между ними одноранговую сеть. Homegroup — небольшая группа компьютеров, которые связаны между собой для совместного использования дискового пространства и принтеров. Это одно из самых распространенных применений для одноранговой технологии. Некоторые люди могут сказать, что домашние группы не могут быть одноранговыми, поскольку компьютеры в сети подключены к маршрутизатору. Однако имейте в виду, что маршрутизатор никак не связан именно с управлением сети. Маршрутизатор не работает как сервер, а просто как интерфейс или связующее звено между локальной сетью и Интернетом.
  • Когда вы создаете сеть между двумя компьютерами, вы создаете пиринговую сеть.
  • Совместное использование больших файлов в интернете часто выполняется с использованием сетевой архитектуры P2P. Например, некоторые онлайн-игровые платформы используют P2P сеть для загрузки игр между пользователями. Blizzard Entertainment распространяет Diablo III, StarCraft II и World of Warcraft с использованием P2P. Другой крупный издатель, Wargaming, делает то же самое со своими играми World of Tanks, World of Warships и World of Warplanes. Другие же, такие как Steam или GOG, предпочитают не использовать P2P, а поддерживать выделенные серверы по всему миру.
  • Обновления Windows 10 поставляются как с серверов Microsoft, так и через сеть P2P.
  • Многие операционные системы Linux распространяются через BitTorrent, которые используют одноранговые сети. Такими примерами являются Ubuntu, Linux Mint и Manjaro.
  • И наконец, технология блокчейн использует одноранговые децентрализованные сети для записи информации в распределенном реестре на всех компьютерах сети одновременно. (Более подробно читайте в статьях «Что такое блокчейн простыми словами?» и «Что такое распределенный реестр?»)

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

Ссылки

IBM. http://www.javvin.com/protocol/rfc2353.pdf : APPN/HPR in IP Networks (APPN Implementers’ Workshop Closed Pages Document).
Гуркин Ю.Н., Семенов Ю.А. P2P. Файлообменные сети: принципы работы, используемые протоколы, безопасность,
“Телекоммуникационные сети и системы”, N 11, стр. 62, 2006.
Liben-Nowell, Balakrishnan, Karger. Analysis of the evolution of peer-to-peer systems. Communications of the Acm February 2003/Vol. 46, No. 2
Petar Maymounkov and David Mazi`eres. Kademlia: A Peer-to-peer Information System Based on the XOR Metric. http://kademlia.scs.cs.nyu.edu
Hari Balakrishnan, M. FransKaashoek , David Karger, Robert Morris, and Ion Stoica. Looking up DATA in P2P systems. In Proc. Acm SIGCOMM’01, San Diego, CA, Aug. 2001.
Understanding the Impact of P2P: Architecture and Protocols. http://www.cachelogic.com/home/pages/understanding/architecture.php
Karger D., Lehman E., Leighton F., Levine M., Lewin D., Panigrahy R. Consistent hashing and random trees: Distributed caching protocols for relieving hot
spots on the World Wide Web
. In Proc. 29th Annual ACM Symposium on Theory of Computing (El Paso, TX, May 1997), pp. 654–663
Hildrum K., Kubiatowicz J., Rao S., and Zhao B. Distributed Object Location in a Dynamic Network. In Proceedings of 14th ACM Symp. on Parallel Algorithms and Architectures (SPAA), August 2002.
Marling Engle: Vulnerabilities of P2P Systems and a Critical look at Their Solutions, http://www.cs.kent.edu/~mengle/ Department of Computer Science, Kent State University, Date: April 2006
Xiaojun Hei, Chao Liang, Yong Liu and Keith W. Ross, Insight into PPLive: A Measurement Study of a Large-Scale P2P IPTV System, http://photon.poly.edu/~jliang/pplive.pdf#search=%22%22Insight%20into%20PPLive%22%22
Xinyan Zhang, Jiangchuan Liu, Bo Li, and Tak-Shing Peter Yum, CoolStreaming/ DONet: A Data-Driven Overlay Network for Efficient Live Media Streaming. http://www.cs.sfu.ca/~jcliu/Papers/47_01.pdf#search=%22CoolStreaming%2FDONet%22
Venkata N. Padmanabhan, Helen J. Wang, Philip A. Chou, Resilient Peer-to-Peer Streaming (MDC), http://research.microsoft.com/~padmanab/papers/icnp2003.pdf#search=%22%22Resilient%20Peer-to-Peer%20Streaming%22%22
Официальные серверы сетевых проектов:
Overnet: http://www.overnet.com;
eDonkey2000: http://www.edonkey.com;
Kademlia: http://www.emule-project.net;
Bittorrent: www.bittorrent.com;
Gnutella: www.gnutella.com;
Gnutella2: www.gnutella2.com;
Direct Connect: dcplusplus.sourceforge.net
http://www.kazaa.com/us/index.htm
http://www2004.org/proceedings/docs/2p250.pdf#search=%22Xinyan%20Zhang%22 (Gossip Based Streaming)

Previous: 4.1.1.4 Повторители, мосты, мультиплексоры, переключатели и маршрутизаторы

   UP:
4.1.1 Ethernet (IEEE 802.3)
    Next:
4.1.1.6 Пассивные оптические сети (PON/EPON/GEPON)


Зарубежная и отечественная практика

Р2р видеонаблюдениеПервые пиринговые организации появились в середине 2000-х годов. Среди них можно выделить такие биржи, как Zopa, Prosper, Lending Club. Поначалу они не имели надежных механизмов проверки надежности клиентов, что способствовало увеличению процента невозврата кредитов. Сроки займов были большими (от 3 лет и более), это снижало их ликвидность и отталкивало многих инвесторов.

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

К началу 2010-х годов пиринговые организации выступали посредниками в широком спектре сделок: от потребительского микрокредитования до больших и долгосрочных бизнес-кредитов.

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

Р2р видеонаблюдениеХарактерной чертой российской p2p-системы является акцент на микрокредитовании. Население по-прежнему с недоверием относится к осуществлению через интернет крупных финансовых сделок, доверяя их банковским агентам.

Но отождествлять пиринговые площадки и микрокредитные организации не совсем уместно. По сравнению с МФО p2p-сайты осуществляют более строгий контроль и отсев потенциальных заемщиков.

В российских реалиях равноправное кредитование считается промежуточным звеном между такими способами инвестиций, как банковские вклады, forex, бинарные опционы и др. Если процент по вкладу невелик, но начисляется со 100 % гарантией, то прибыль с forex и опционов может быть огромной, но не исключается и риск «сгорания» инвестиций. В таких реалиях p2p предлагает инвестору хороший процент прибыли при умеренных рисках.

P2P КАМЕРЫ ВИДЕОНАБЛЮДЕНИЯ

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

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

Установив специальное программное обеспечение на:

  • смартфон,
  • планшет,
  • или PC,

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

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

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

Желательно наличие датчиков движения, встроенного микрофона и динамика, существенно расширяющих область применения 2P2 камер.

Разрешение сенсора видеокамер может варьироваться от 0.3 до 5 мегапикселей в зависимости от модели (чем больше разрешение, тем выше требования к скорости интернет-соединения).

Программное обеспечение для просмотра видеопотока и управления камерам абсолютно бесплатно и доступно для скачивания в Google Play и App store (планшеты и смартфоны), а также на сайтах производителя (ПО для компьютера). ПО для мобильных устройств позволяет просматривать видеопоток в любом месте, где есть доступ к сети, что является одним из главных преимуществ 2P2 технологии.

Настройка 2P2 камеры.

Настройка 2P2 видеонаблюдения своими руками не требует сложных манипуляций и занимает около 5 минут. Порядок действий следующий:

  1. Скачать и установить ПO для работы с камерой.
  2. Установить камеру видеонаблюдения в заранее выбранном месте и подключить напряжение питания.
  3. Подключить видеокамеру к интернет, используя кабель LAN или WiFi (в зависимости от используемого оборудования).
  4. Запустить ПО и ввести идентификатор (код на корпусе устройства). При использовании смартфона или планшета можно просто просканировать QR код.
  5. В программе выбирается камера и можно приступать к просмотру видео и управлению функциями камеры.

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

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

  *  *  *

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

Сочетание CDN + P2P

Использование p2p и CDN позволит снизить затраты на последний. Браузер зрителя будет вначале запрашивать видео от ближайшего другого пользователя, который тоже смотрит данное видео. CDN будет использоваться только в том случае, если скачать из сети p2p не получилось.

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

Р2р видеонаблюдениеР2р видеонаблюдение

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

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

Лучшие модели

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

Р2р видеонаблюдение

Название Mpx ИК-подсветка Ночной режим Крепление Связь Назначение Поворотный механизм Наличие SD-карты Цена
Vstarcam С8892WIP 2 Есть Есть стол Wi-Fi помещение нет нет 2490
Vstarcam C7838WIP с встроенным микрофоном и динамиком 1 Есть Есть потолок Wi-Fi помещение Есть Есть 2793
 Zodiak 909 (динамик+микрофон) 1 Есть Есть Потолок, стол Wi-Fi помещение Есть Есть 5390
Zodikam 3154-P с IP66 и питанием от LAN кабеля 4 Есть Есть Стена Wi-Fi улица нет нет 6340
Zodikam 2101-PTZV 1 Есть Есть Стена Wi-Fi, 3g/4g улица Есть Есть 32990
HiWatch DS-I452 с защитой IP67 5 Есть Есть потолок Wi-Fi Улица, купольная Есть нет 6211

Что значит P2P инвестиции?

Теперь посмотрим на сервис глазами инвестора. P2P инвестирование — актуальный способ заработка на свободных средствах. Любой желающий может стать инвестором, вложив минимально допустимую сумму (например, от 1 000 рублей), и подписав договор с компанией-посредником.

Заработок на процентных ставках может достигать 12-30% годовых. Основные преимущества такого инвестирования:

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

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

Р2р видеонаблюдение

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

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

Как снизить риски?

Для инвесторов сервис p2p кредитования является отличной возможностью для увеличения входящего денежного потока. Однако он тесно сопряжен с отсутствием гарантий и значительными рисками.

Как можно снизить риски?

  1. Необходимо выяснить проверил ли p2p сайт паспорт заемщика.
  2. Определено ли место прописки и фактическое проживание человека.
  3. Его возраст и контактный номер телефона.
  4. Наличие номеров родственников заемщика.
  5. Место работы и занимаемая должность (подтверждено ли это справкой 2-НДФЛ).
  6. Также необходимо выяснить цель займа и его точный срок.

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

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

Какие есть риски

Самые очевидные — заёмщики перестают платить по счетам. Платформа не несёт ответственности, если случается дефолт. Она — оператор, который даёт возможность одним проинвестировать проекты других. Остальное может быть частью сервиса. Любые заявления о том, что «платформа всячески помогает инвесторам возвращать деньги» не имеют значения, если конкретные действия не прописаны в договоре. Чтобы взыскать долг, кому-то придётся идти в суд. Истцом может быть инвестор или платформа. Если истец — инвестор, ему в любом в случае понадобится помощь сервиса, чтобы доказать, что заёмщик что-то там подписывал электронной подписью. Иногда деньги вернуть невозможно. У заёмщика может не быть никакого имущества, а компания — пустышка на грани банкротства. Даже при поручительстве взыскать будет нечего, если нет обеспечения ликвидным имуществом.  На возврат денег может уйти много времени. А это — упущенная прибыль из-за замороженных средств. Если платформа не выкупает долг или не гарантирует возврат из страхового фонда, суды и взыскания могут растянутся на несколько месяцев. За доход нужно платить налоги. А если ещё случаются дефолты, доход от инвестиции может быть на нуле. Поэтому к обещаениям доходности до 30% годовых следует относится со здравым скептицизмом.

Сущность взаимного кредитования

Как работает p2p?

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

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

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

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

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

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

Справка: большинство p2p-платформ запрашивают при регистрации не только паспортные данные, но и реквизиты СНИЛС, ИНН и других документов.

Кто использует

Первая категория — заёмщики: предприниматели и компании. Среди них могут быть те, кому по каким-то причинам отказали банки. Бывает, что когда-то в прошлом была подпорчена кредитная история, из-за чего крупную сумму не получить. Либо вполне «банковские клиенты», которые хотят рефинансировать кредиты или им срочно нужны деньги для развития. Инвесторами могут быть частные лица, у которых есть свободные деньги и желание заработать. Обычно они вкладывают небольшие суммы: от 10 до 200 тысяч рублей. Есть и профессиональные инвесторы, которые используют платформу как один из основных инструментов получения дохода. В третью категорию могут входить крупные финансовые институты — банки, МФО, КПК или другие юридические лица. Они используют платформы, чтобы выдавать собственными деньгами займы и получать прибыль. Для некоторых компаний такой способ кредитования может быть дешевле, чем выдача займов собственными силами. Им не нужно тратить свои ресурсы на скоринг, оформление сделки и контроль заёмщика. Иногда организации используют платформы как дополнительный фильтр для заёмщиков — скоринг, который снижает собственные риски.

В чем проблема Интернета

Если очень грубо, то как работает обычный сайт в интернете? Есть сервер с определенным IP-адресом, где расположен сайт, к нему подключаются пользователи, которые также имеют свои IP-адреса. Общение происходит между этими двумя IP-адресами. Пакеты между ними передаются через множество промежуточных серверов, но все это происходит в открытом виде, каждый промежуточный сервер знает, кому предназначен тот или иной пакет. Перехватить и обработать чужие пакеты не представляет никакой проблемы (не будем пока говорить о безопасном протоколе HTTPS).

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

Другой способ блокировки, который наши чиновники уже испробовали в свое время на сайте torrents.ru (ныне http://rutracker.org) — это отбор доменного имени. Как вы знаете, есть регистраторы доменных имен, которые связывают адрес сайта (torrents.ru) с некоторым IP-адресом сервера. Заставив регистратора прекратить поддерживать некий домен, вы не сможете зайти на сайт, введя его имя, хотя сможете зайти на него, зная его IP-адрес.

Итак, у привычного интернета следующие основные проблемы:

  1. Привязка сайтов к определенному IP-адресу сервера.
  2. Централизованное управление доменными именами.
  3. Небезопасность к перехвату данных.

Третья проблема частично решается, но все-равно сервер может следить за пользователем по его IP. В I2P решены все три проблемы.

Протокол взаимодействия пиров

Будем все общение между пирами упаковывать в конверт (Envelope).

На любом конверте всегда есть отправитель и получатель, к этому всему мы добавим команду (которую он с собой несет), идентификатор (пока это случайное число, но можно сделать как хэш содержимого), длина содержимого и само содержимое конверта — сообщение или параметры команды.

Команда, (или же тип содержимого) удачно расположим в самом начале конверта и определим список команд из 4 байт, не пересекающихся с именами глаголов HTTP.

Весь конверт при передаче сериализуется в массив байт.

Рукопожатие

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

В ответ пир получает аналогичный набор данных, регистрирует найденный пир в своем списке и вычисляет (CalcSharedSecret) общий сессионный ключ.

Обмен пирами

После рукопожатия, пиры обмениваются своими списками пиров =)

Для этого отправляется конверт с командой LIST, а в его содержимое кладется JSON список пиров.
В ответ получаем аналогичный конверт.

Находим в списках новых и с каждым из них проделываем попытку соединения, рукопожатия, обмена пирами и так далее…

Обмен пользовательскими сообщениями

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

О шифровании

В стандартных (гугловых) библиотеках golang из пакета crypto реализовано множество всяких разных алгоритмов (ГОСТовских нет).

Наиболее удобной для подписей считаю кривую Ed25519. Будем использовать библиотеку ed25519 для подписи сообщений.

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

Однако, ключи для подписи не применимы для вычисления общего (shared) ключа — над ними еще нужно поколдовать:

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

Для любителей математики вот ссылки на wiki:ПротоколДиффи—_Хеллмана_на_эллиптических_кривыхЦифровая подпись EdDSA

Генерация общего ключа вполне стандартная: сначала для нового соединения генерим эфемерные ключи, отправляем в сокет конверт с публичным ключом.

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

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

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

Шифровать сообщения будем поштучно давно зарекомендовавшим себя алгоритмом AES в режиме сцепления блоков (CBC).

Вся эта реализации легко находятся в документации golang.

Единственная доработка — авто заполнение сообщения нулевыми байтами для кратности его длины к длине блока шифрования (16 байт).

В далеком 2013 году реализовывал AES (с похожим на CBC режимом) для шифрования сообщений в Telegram в рамках конкурса от Павла Дурова.

Для генерации эфемерного ключа в то время в телеграмм использовался самый обычный протокол Диффи — Хеллмана.

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

Устранение неполадок при открытии файлов P2P

Общие проблемы с открытием файлов P2P

FolderShare не установлен

Дважды щелкнув по файлу P2P вы можете увидеть системное диалоговое окно, в котором сообщается «Не удается открыть этот тип файла». В этом случае обычно это связано с тем, что на вашем компьютере не установлено FolderShare для %%os%%. Так как ваша операционная система не знает, что делать с этим файлом, вы не сможете открыть его дважды щелкнув на него.

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

Установлена неправильная версия FolderShare

В некоторых случаях у вас может быть более новая (или более старая) версия файла FolderShare Placeholder File, не поддерживаемая установленной версией приложения. При отсутствии правильной версии ПО FolderShare (или любой из других программ, перечисленных выше), может потребоваться загрузить другую версию ПО или одного из других прикладных программных средств, перечисленных выше. Такая проблема чаще всего возникает при работе в более старой версии прикладного программного средства с файлом, созданным в более новой версии, который старая версия не может распознать.

Совет: Иногда вы можете получить общее представление о версии файла P2P, щелкнув правой кнопкой мыши на файл, а затем выбрав «Свойства» (Windows) или «Получить информацию» (Mac OSX).

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

Даже если на вашем компьютере уже установлено FolderShare или другое программное обеспечение, связанное с P2P, вы все равно можете столкнуться с проблемами во время открытия файлов FolderShare Placeholder File. Если проблемы открытия файлов P2P до сих пор не устранены, возможно, причина кроется в других проблемах, не позволяющих открыть эти файлы. Такие проблемы включают (представлены в порядке от наиболее до наименее распространенных):

Пользователи и мерчанты

Любой верифицированный пользователь может покупать и продавать крипту на P2P. Но, чтобы получить желтую галочку, символизирующую статус мерчанта, то есть проверенного продавца нужно пройти дополнительную проверку. Платформа peer-to-peer, ориентирована на пользователей, торгующих фиатом.

Р2р видеонаблюдение

Продавцы, желающие постоянно зарабатывать на p2p binance, размещая объявления о купле/продаже могут рассчитывать на профессиональную поддержку и нулевую комиссию после прохождения проверки.

Как стать мерчантом

Откройте страницу https://docs.google.com/forms/d/e/1FAIpQLSfBp8Au1TfP5CXRlCxZi-Ok91rzttD2gSU6MH8ujKdndVurlw/viewform, чтобы подать заявку. Если у вас появились вопросы, напишите в службу поддержки по адресу: p2p@binance.com.

Обязательные требования:

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

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

GUI

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

Тут без заморочек — ReactJS + websocket.

Веб-сокет сообщения по сути своеобразные конвертики, только они не содержат в себе шифротекстов.

Все они «наследники» типа и при передаче сериализуются в JSON.

Итак, приходит HTTP запрос на корень («/»), теперь чтобы отобразить фронт заглядываем в каталог “front/build” и отдаем index.html

Что ж интерфейс сверстан, теперь выбор для пользователей: запускать его в браузере или в отдельном окошке — WebView.

Для последнего варианта использовал zserge/webview

Для сборки приложения с ним нужно установить ещё либу в систему

В ходе раздумий над GUI нашел множество библиотек для GTK, QT, и очень по гиковски смотрелся бы консольный интерфейс — https://github.com/jroimartin/gocui — по-моему очень даже интересная идея.

Отзыв о программировании на golang

Самое важное что хотелось бы отметить: на go сразу получается реализовать то, что задумал.
Почти все необходимое есть в стандартной библиотеке.
Однако, была и сложность, когда я начал проект в отличном от GOPATH каталоге.
Для написания кода использовал GoLand. И поначалу смущало автоматическое форматирование кода с автоимпортом библиотек.
В IDE много кодогенераторов, что позволяло сосредоточится на разработке, а не на наборе кода.
К частой обработке ошибок быстро привыкаешь, но случается рука-лицо, когда понимаешь что для go нормальная ситуация, когда суть ошибки анализируется по ее строковому представлению

Чуть лучше дело обстоят с библиотекой os. Там понять суть проблемы помогают такие конструкции

Из коробки go учит нас правильно документировать код и писать тесты.
И тут есть свои но. Мы описали интерфейс с методом .
Так вот, генератор документации не наследует описание этого метода на методы его реализующие, поэтому чтобы убрать лишние варниги, приходится копировать документацию в каждый реализованный метод (proto/mtypes.go).
В последнее время привык к мощи log4j в java, поэтому не хватает хорошего логгера в go.
Наверное, стоит поискать на просторах гитхаба красивое логгирование с аппендерами и форматерами.
Непривычна работа с массивами.
Например, конкатенация происходит через функцию , а преобразование массива произвольной длины в массив фиксированной длины через .

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