31 июля 2015

EmerCoin: децентрализованный альтернативный DNS на основе криптовалюты

Всемирная Сеть использует систему DNS Domain Name System,которая является распределённой системой для получения информации о доменах и для связи между доменными именами и их IP-адресами.  

Наивысшее место в иерархии доменной системы занимают корневые DNS-серверы, управляющие доменами верхнего уровня.

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

Одним из таких альтернативных DNS является EmerCoin, проект децентра-лизованного сервиса на основе технологии blockchain.

Зачем вообще появляется необходимость в использовании альтернативных DNS в целом и EmerCoin в частности?

В стране эльфов, где все вежливы, вся информация доступна, и никто никому не мешает жить — в общем-то незачем. В той волшебной стране нет ни злобных хакеров, ни СОРМа, ни Роскомнадзора, а интернет используется для поздравлений и рассылки котиков. Да, там хорошо, но нас там нет.

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

Безупречная работа системы доменных имён DNS является основой надёжной и безопасной работы интернета. Ибо злонамеренный контроль над DNS-записями позволяет злоумышленикам всех сортов (и хакерам, и государственным службам) блокировать неугодные сайты или перенаправлять ничего не подозревающих пользователей на сайты-ловушки.

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

И как правильно говорит Брюс Шнайер, криптограф, писатель и специалист по компьютерной безопасности, отсюда мораль — недостаточно защитить себя законами, надо защитить себя математикой.

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

EmerCoin предлагает апробированое решение, удовлетворяющее всем вышеперечисленым требованиям.

DNS-сеть от EmerCoin полностью децентрализована, и не имеет какого-либо сайта, который можно отключить по заказу, или надавить на её владельцев.
В настоящее время система поддерживает четыре корневых зоны:
*.coin — всё связанное с монетами и коммерцией;
*.emc — всё связанное с проектом EmerCoin;
*.lib — От слов Library и Liberty — то есть библиотеки и свобода;
*.bazar — различные сервисы купли/продажи.

Объясним разницу между обычным и децентрализованным DNS.

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

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

Как практически работать с децентрализованым DNS от EmerCoin?

Любой владелец сайта (да и не только сайта) может скачать кошелёк EmerСoin или самостоятельно собрать из исходников, которые лежат на GitHub.

После запуска программы кошелька, на него нужно откуда-то получить небольшое количество монет EmerCoin (EMC). Сверху есть кнопка «Receive coins». Нажав на неё, перейдёте в список с адресами. После первого старта, в кошельке будет присутствовать только один адрес наподобие EdvJ7b7zPL6gj5f8VNfX6zmVcftb35sKX2. Вот его Вы и должны сообщить тому, кто будет посылать Вам монеты. Их много не надо. Для экспериментов, одного-двух EMC будет достаточно. В настоящее время цена одного EMC чуть больше 1 цента доллара США. Их можно купить на бирже, например, Livecoin.net. Это, как видите, недорого. Можно также просто намайнить на пуле Pool.Emercoin.com или даже получить за помощь мировой науке. Также можно просто попросить у разработчиков по адресу [email protected] — пару EMC на благое дело они пришлют.

Цена регистрации одной записи — примерно 0.2EMC/год — то есть примерно 1/3 цента. Это существенно, на несколько порядков дешевле, чем регистрация доменов у классических провайдеров,  EMC DNS регистрация домена стоит более чем в 1000 раз дешевле.

Далее, если в кошельке есть хотя бы один EMC — можно регистрировать домены. Справа вверху есть кнопка «Manage Names». Переходим в этот раздел.

Допустим, мы хотим зарегистрировать домен roskomsvoboda.lib
Для этого заносим в поле name: значение «dns:roskomsvoboda.lib» (без кавычек).
В поле value: заносим «A=185.31.209.8|AAAA=2a04:5340:1:1::3|MX=mx.yandex.ru:10».
Поле days: выбираем побольше, чем дефолтные 30 дней — скажем, 10 лет (3650 days).
Далее жмём кнопку Submit — и всё! Ждём примерно 10 минут (изредка доходит до 30) — и Ваша запись внесена в систему!
Запись вносится в блокчейн, и её копия присутствует в каждом кошельке EmerCoin.
Теперь пользователь-клиент может сделать запрос в локальный кошелёк, и обратиться к соответствующей записи.

Для бесшовного объединения дерева альтернативных доменных имён от EmerCoin c обычными доменными именами от ICANN, со стороны клиента нужно иметь точку сопряжения, где происходит передача запроса в ту или иную систему.

Точка сопряжения может размещаться:

1. В локальном компьютере.
При этом на компьютер ставится DNS cache и запускается локальный EmerCoin кошелёк. При этом разрешение DNS-запросов получается наиболее быстрым, и имеет высочайший уровень безопасности. Документация описывает этот вариант на примере Acrylic DNS cache. Возможны и другие варианты — например использование BIND вместо Acrylic.

2. В локальной,корпоративной сети или сети уровня города.
При этом, если Вы доверяете админу локалки, безопасность не страдает, хотя скорость чуть ниже, чем в первом варианте. Тем не менее, скорость всё равно остаётся многократно более высокой, чем при использовании DNS только от провайдера. Преимущество такого варианта — нужен только один кошелёк на всю сеть. Документация описывает этот вариант на примере «BIND на локальной сети».

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

Подробнее о структуре записей и о том, как настроить точку сопряжения, написано в данной документации.

Надёжность системы и её быстродействие обеспечены тем, что все DNS-записи заранее распределяются по всем узлам сети. Таким образом, у каждого заинтересованого клиента есть локальная копия всех записей. Записи защищены от подмены стойкой криптографией и механизмами PoS+PoW построения блокчейна. В результате, DNS-запросы отправляются в кошелёк, размещённый в локальной машине или сети. Провайдер, СОРМ и прочие просто не видят этой DNS-активности.

Этот же механизм позволяет обойти блокировки Роскомнадзора и иже с ним.

В качестве успешного примера использования EmerCoin DNS для обхода блокировок можно привести сайт крупнейшей онлайн-библиотеки Флибуста.

Сайт Flibusta.net заблокирован Роскомдазором, но сама электронная библиотека продолжает быть доступна по адресу http://flibusta.lib/ (вход по альтернативному имени возможен при установке в своём сетевом соединении OpenNIC в качестве DNS-серверов).

На форуме Флибусты есть две темы, где обсуждается EmerCoin домен и приведён анализ блокировок и их обхода.
Также интересной будет и история ввода этого сервиса в эксплуатацию.
Вообще переписка на Флибусте — получилась хорошим вводным материалом в тему:
http://proxy.flibusta.net/node/271865
http://proxy.flibusta.net/node/285113

Контакты

По общим вопросам

[email protected]

По юридическим вопросам

[email protected]

Для СМИ

Телеграм: moi_fee
Signal: moi_fee.13

18+

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