Back to list
Вопросы скорости работы и конфиденциальности ячеистой сети (meshnet)
Этот пост ссылается на Skywire до запуска сети и даже до того, как проект ячеистой сети получил это название. Адаптированный пост с bitcointalk от 09 августа 2014 года.
Цитата пользователя CraigM от 9 августа, 2014, 07:20:24
Ячеистая сеть предназначена для того, чтобы быть хорошим инструментом конфиденциальности с преимуществами, сравнимыми с Тором, но с меньшей задержкой работы, правильно?
Правильно ли, что ячеистая сеть позволит финансировать узлы (ноды), используя Skycoin для покрытия затрат на передачу трафика? Не приведет ли это к тому, что операторы узлов будут вынуждены вести подробные и публичные логи всех транзакций (в их личных блокчейнах), причем жестко привязанные к каждому пользователю, который отправлял данные через их узлы? Это похоже на то, что любая третья сторона может совершать атаки посредством корреляции трафика, как в Торе, за исключением того, что вам не нужен доступ к соединениям. Даже если они не станут публично контролируемыми, логирование всего подряд может иметь реальные проблемы (занимают много места и также их могут запросить правоохранительные органы).
Первоначальная версия будет поставляться с централизованным сервером поиска маршрутов, правильно? Это означает, что если вы хотите подключиться к кому-то, вы должны сообщить об этом третьей стороне, так? Кажется, что это не будет похоже на Тор с его службой конфиденциальности, пока это не будет исправлено. Есть ли основания полагать, что вы решите эту проблему в ближайшее время (или когда-либо: потому что это трудно)?
Как вы найдете путь к этой доверенной третьей стороне, которая будет выполнять поиск маршрута для вас? Я предполагаю, вы будете делать это как особый случай (не используйте выбор маршрутизации на стороне отправителя), но мне любопытно, может у вас есть другой вариант.
Ответ
Да. Это на самом деле быстрее TCP/IP. Интернет-провайдеры используют метод “hot-potato” при выборе маршрута. Скорость работы не должна быть хуже TCP / IP, и теоретически может быть быстрее.
Гарантия конфиденциальности
- Каждый узел знает только откуда сигнал пришел и куда направить.
- Информация, которая передается между узлами, зашифрована.
- При передаче трафика используется сквозное (end-to-end) шифрование.
- Ваша передача защищена от активного вмешательства в соединение посредством использования открытых ключей для конечных точек узла (сетевые адреса являются открытыми ключами в сети).
- Все шифрование отрицаемое и использует эфемерные ключи.
- Протокол предназначен для предотвращения попыток глубокой проверки пакетов для идентификации пользователей, выполняющих протокол (нет фиксированных портов, подключения фиксированного узла для магистрали и т. д.).
Таким образом, это очень походит на Тор с низкой задержкой и с микроплатежами для пропускной способоности.
- Она более безопасна и имеет более высокую конфиденциальность, чем HTTPS.
- Она быстрее тора, и масштабируется, но пока может быть атакована.
- Код намного проще, чем у Тора, поэтому остается меньше места для бэкдоров или скрытых уязвимостей. Во всей реализации есть только одна внешняя зависимость.
- Если вам нужна абсолютная защита от временны́х атак, вы должны использовать службу микширования или запустить Bitmessage поверх даркнета.
- Все сети с низкой задержкой подвергаются временны́м атакам.
Маршрутные серверы
Да, маршрутные серверы являются слабым звеном. Для максимальной конфиденциальности вы должны запустить собственный внутренний маршрутный сервер.
Однако, если вы используете общий маршрутный сервер, то вы подключаетесь к нему через несколько переходов, поэтому он не может идентифицировать вас. Намного безопаснее управлять своим собственным.
Обработка микроплатежей для пропускной способности
Способ обработки микроплатежей осуществляется через третью сторону. Узел подключается к “gateway” (“шлюзу”), затем отдает монету шлюзу, чтобы получить кредит. Теперь узел может генерировать псевдонимные 64-разрядные «адреса» со шлюзом. Шлюз не знает идентификатора соединительного узла. Он знает только предыдущий переход, через который пришло соединение.
Поэтому, если вы устанавливаете двенадцать подключений к шлюзу, они выглядят как двенадцать разных пользователей шлюза. В конечном итоге связь со шлюзом будет осуществляться через асинхронный канал обмена сообщениями.
Узел, перенаправляющий пропускную способность, также подключается к шлюзу. Теперь эти два узла могут оплачивать друг друга через шлюз, причем он не обязан знать индентификатор одного из узла. Когда на узле есть монеты в кредит (полная монета), он может создать новый адрес Skycoin и вывести монету на этот адрес. Шлюзы обрабатывают только небольшое количество монет.
Шлюзом в протоколе Skycoin является любой сервер, на котором хранятся монеты или балансы счетов от имени третьих сторон. Шлюзы - это депозитные учреждения, и у них есть собственный протокол и API.
В конечном итоге
- будет множество шлюзов и кросс-шлюзовых переводов монет. Данные транзакции происходят в закрытом режиме и не отображаются в блокчейне, пока вы не выведете монеты из шлюза;
- обмен сообщениями со шлюзом будет происходить через асинхронный канал связи (каждый поток сообщений получит новый псевдонмный идентификатор);
- часть протокола шлюза - это реализация OT, которая позволяет вам доказать, что какой-то конкретный шлюз ворует монеты. Вы подписываете каждый вызов API к шлюзу, затем шлюз выполняет и подписывает вывод. Таким образом, существует цепочка связанных подписей и транзакций, и шлюз не может удалить монеты, не имея возможности подделать вашу подпись. Если вы где-то депозируете монеты и они исчезают, то вы можете опубликовать свой лог транзакций, а затем владелец обвиняемого узла должен показать свой лог, доказывающий, что вы разрешили монетам куда-то отправиться. Если они не могут выполнить подписанный API-вызов, то это доказывает, что они ложные / нечестные;
- в конечном итоге обмен будет работать в соответствии с протоколом шлюза.
Ваше предложение использовать публичный блокчейн для внутренних балансов в шлюзе звучит интересно. Я думаю, что ввод внутренних транзакций в публичный личный блокчейн мог бы сделать расчеты еще более честными, сохраняя при этом конфиденциальность пользователей.