- PVSM.RU - https://www.pvsm.ru -
Продолжаем цикл статей, посвященных технологии блокчейн. Прошлая статья из серии «Секреты EmerCoin» [1] завершилась кратким описанием NVS (Name-Value Storage) [2] – распределённым хранилищем записей на базе блокчейна Emer. Подробности об этом вы узнаете в материале ниже.

1. Серия материалов, посвященных технологии Emer:
1.1. Секреты EmerCoin [1].
1.2. Децентрализованная нецензурированная система доменных имён [3].
1.3. Loading…
2. Быстрые и безопасные транзакции [4].
3. Экосистема цифровой стоматологии [5].
4. Loading…
Следует заметить, что доверие к такому хранилищу (траст) обеспечивается консолидированными усилиями майнеров, которые добывают себе монеты, и тем самым продают сети сервис по поддержанию траста.
За основу NVS был взят код из Namecoin [6], в котором существует подобное хранилище для поддержки распределённой доменной зоны *.bit. Но если хранилище от Namecoin предназначено только для обслуживания единственной доменной зоны, а для загрузки других типов данных надо предпринимать дополнительные шаги, то NVS сразу было реализовано как хранилище данных общего назначения, используя которое можно создавать различные распределённые сервисы.
Исторически первым сервисом EmerCoin стал сервис доменных имён, похожий на emcDNS от Namecoin. По мере роста атак на классическую доменную систему как со стороны криминала, так и от локальных властей, такой сервис становится всё более востребованным. Подробнее об этом можно прочитать здесь [7].
Кроме того, данный сервис позволят строить высоконадёжные и устойчивые ведомственные сети с децентрализованным управлением, иммунные к отказу в обслуживании централизованных DNS или атакам подобным DNS Spoofing.
В системе emcDNS доменной записью, также как любой другой NVS-записью, может управлять только её владелец, точнее – владелец кошелька, в котором находится данная запись. Только он может её изменить или удалить. Следует учесть, что так как запись находится в блокчейне, её копии находятся в каждом Emer-узле. То есть каждый узел содержит информацию обо всех NVS-записях, включая и доменные. Это позволяет делать поиск такой записи локально, не запрашивая внешние сервера, что приводит как к высокой скорости разрешения доменных имён, так и к высокой надёжности и безопасности – ваш провайдер не узнает, какие сайты вы сейчас ищете, особенно если доступ к сайтам будет по https.
При проектировании сервиса подход Namecoin был пересмотрен, и был внесён ряд улучшений, которые сделали этот сервис более привлекательным и практичным. Рассмотрим их детально.
Если Namecoin обслуживает только фиксированную доменную зону *.bit, аналогичный сервис Emer позволяет обслуживать несколько зон одновременно, причём новые зоны вводятся просто записью в config-file. Это открывает возможности создавать на базе emcDNS собственные «ведомственные» доменные зоны, которые будут распознаваться только соответственно сконфигурированными Emer-узлами. В настоящее время система обслуживает четыре публичные доменные зоны, доступные через сервера OpenNIC [8]:
В отличие от Namecoin, где срок аренды записи составляет примерно 200 дней, и её надо регулярно продлять, в NVS можно указать срок аренды, и он может составлять столетия. Более долгий срок аренды будет стоить дороже, но ненамного. Этот подход позволяет упростить администрирование, и снижает риск потери контроля над записью, который возможен в случае истечения записи и перехвата её другим пользователем сети.
Кроме возможности резервирования записи на любой срок, в системе Emer существует возможность деактивировать запись до истечения срока аренды. Namecoin подобным функционалом не обладает.
Система Namecoin поддерживает только хранение DNS-записей. Не существует механизма извлечения и передачи этих записей программам-клиентам в стандартном DNS-формате. Насколько известно, для использования Namecoin необходимо дампить всю базу имён, и передавать её в пользование классическому DNS-серверу, который осуществляет поиск своими механизмами и рассылает ответы в стандартном формате rfc1035, подходящем для использования.
Каждый кошелёк EmerCoin имеет встроенный DNS-сервер, который обрабатывает стандартные запросы интернет-формата rfc1035, и отвечает в том же формате, который используется во всем Интернете. Это позволяет говорить о подлинной децентрализации доменной системы, когда каждый кошелёк является DNS-сервером, а не только выделенные сервера-шлюзы. Эта стандартизация также облегчает интеграцию emcDNS с другими подсистемами.
Этот момент очень важен в «плоской» доменной сети, в которой отсутствует древовидная структура серверов, обслуживающих ту или иную доменную зону. Рассмотрим атаку типа «захват поддомена».
Представим, что отсутствует механизм защиты или управление поддоменом, и существует сервер victim.emc. Владелец домена создал ещё одно имя, www.victim.emc [9], которое назначил на тот же сервер. Однако злоумышленник может создать имя www1.victim.emc, и назначить его на свой вредоносный сервер. Формально, это два разных имени, которые никак не связаны. Однако в соответствии с парадигмой построения Интернет-имён и классической сети DNS, пользователь своё доверие к серверу victim.emc перенесёт и на www1.victim.emc, вследствие чего, например, может «подарить» злоумышленнику свой пароль.
На момент анализа кода Namecoin, в не было механизма управления поддоменами. То есть, для создания и управления поддоменами сайт должен держать собственный NS-сервер, который и разрешает эти поддомены. Все записи доменов 3-го уровня данной системой просто игнорируются.
В системе emcDNS существуют два правила:
1. Все запросы на доменное имя любого уровня, кроме «разрешённых исключений», разрешаются как доменные имена второго уровня. То есть, если запись victim.emc не содержит исключений, то запросы к любым поддоменам будут в ней разрешаться как к victim.emc. Например, запрос на разрешение имени hey.give.me.victim.emc будет полностью эквивалентен запросу на имя victim.emc.
Если в value имени указан специальный тэг SD, то его значение интерпретируется как список разрешённых исключений, которые обслуживаются системой. Рассмотрим в качестве примера emcDNS-запись библиотеки Флибуста:
"name" : "dns:flibusta.lib",
"value" : "A=81.17.19.227|SD=static,cn|TXT=Flibusta Library",
Здесь мы видим тэг SD, содержащий два исключения – static, cn. Значит, что система emcDNS разрешает имена static.flibusta.lib и cn.flibusta.lib, а не редуцировать их до flibusta.lib. Записи этих имён также могут содержать тэг SD, и таким образом, можно будет строить доверенные доменные имена любого уровня. Не доверенные записи будут редуцированы до имени второго уровня.
1. В настоящее время, эта система доменных имён используется рядом онлайн-библиотек и торрент-трекеров. Подробнее можно узнать здесь [10].
2. Краткое описание с примером и картинкой, как создать запись [11].
3. Полное же описание системы [2].
4. Чтобы стать клиентом системы, можно либо подключиться к любому серверу OpenNIC, либо же на своей локальной машине или в локальной сети развернуть шлюз в emcDNS. Инструкция о том, как подключить доменные зоны emcDNS через OpenNIC [12]. Этот способ не требует от вас установки ни кошелька EmerCoin, ни каких-либо внешних программ или плагинов. Но недостатком этого способа является использование внешнего DNS-сервера, что частично дискредитирует идею полной децентрализации.
5. Описание других способов подключения к системе, с полным функционалом [2]. Смотрите раздел Integration into a regular DNS tree. Рекомендуемые рецепты заключаются в том, что в локальном компьютере или локальной сети устанавливается кошелёк EmerCoin, и создается точка сопряжения, которая «смешивает» доменные зоны ICANN и emcDNS. Сопряжение производится посредством любой DNS Cache программы. В примерах приведены BIND, DNSMASQ, Acrylic.
Автор: Microsoft
Источник [13]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/bitcoin/205661
Ссылки в тексте:
[1] статья из серии «Секреты EmerCoin»: https://habrahabr.ru/company/microsoft/blog/311690/
[2] NVS (Name-Value Storage): http://emercoin.com/DNS_and_Name-Value_Storage
[3] Децентрализованная нецензурированная система доменных имён: https://habrahabr.ru/company/microsoft/blog/314368/
[4] Быстрые и безопасные транзакции: https://habrahabr.ru/company/microsoft/blog/312308/
[5] Экосистема цифровой стоматологии: https://habrahabr.ru/company/microsoft/blog/313130/
[6] Namecoin: https://namecoin.org/
[7] здесь: https://rublacklist.net/12118/
[8] OpenNIC: https://www.opennicproject.org/
[9] www.victim.emc: http://www.victim.emc
[10] здесь: https://rublacklist.net/13508/
[11] Краткое описание с примером и картинкой, как создать запись: http://emercoin.com/2014-11-05-Emercoin%200.3.0%20Release%20Notes
[12] Инструкция о том, как подключить доменные зоны emcDNS через OpenNIC: http://maxima-library.org/forum/dobro-pozhalovat/2543-chtoby-ne-poteryatsya-obrashchenie-k-chitatelyam#48455
[13] Источник: https://habrahabr.ru/post/314368/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.