Сб. Ноя 27th, 2021
    Decentralized Name Service, Free TON

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

    DNS: небезопасно, но удобно

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

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

    Митя Горошевский: “Распределенная система TIP-2 может держать любое количество адресов и имен без ограничений”

    В современных блокчейнах, подобно раннему Интернету, мягко говоря, сложные адреса — попробуйте запомнить 64-х разрядный адрес Free TON. А для системы, претендующей на роль общей информационной среды будущего, удобство использования — неотъемлемая часть.

    Неудивительно, что с целью развития Free TON, технический директор TON Labs Митя Горошевский внес предложение о проведении конкурса о создании децентрализованного сервиса имен — DeNS.

    Вот как прокомментировал идею конкурса Митя:

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

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

    Если сравнить с DNS, у вас, например www указывает на веб-сайт, ftp может указывать на ваше хранилище, а mail, соответственно, — на ваш email-адрес и так далее. Здесь будет можно сделать то же самое — в зависимости от префикса, это имя может указывать на сервис разных смарт-контрактов, на разные адреса. Кроме того, сам по себе дизайн решает проблему централизации внутри большого контракта. Ранее в ТОН уже делали контракт DNS, но его дизайн, как и в других блокчейнах был основан на хранении списка адресов имен, и, естественно, такой список не сможет быть бесконечным. С другой стороны распределенная система TIP-2 рассчитана на любое количество адресов и имен без ограничений”.

    TIP-2 Decentralized Certificates

    Предложенный Митей Горошевским дизайн распределенного хранилища сертификатов TIP-2 Decentralized Certificates (DeCert) элегантен и кратко его суть заключается в следующем: 

    • в блокчейне разворачивается корневой смарт-контракт сертификата, содержащий код смарт-контракта и данные (публичный ключ и т.п.). Когда пользователю необходимо зарегистрировать сертификат, он вызывает корневой смарт-контракт и передает ему в качестве параметра некие данные, например текстовую строку. Корневой смарт-контракт вставляет эти данные в код смарт-контракта и, используя свой публичный ключ, вычисляет новый адрес.
    • Далее, если адрес существует, пользователю отправляется информация с регистрационными данными, если же нет, новый смарт-контракт, уже содержащий данные пользователя, размещается корневым смарт-контрактом в блокчейне по указанному адресу. Таким образом, в качестве хранилища сертификатов используется сам блокчейн Free TON. 
    • Для того чтобы вычислить адрес, не обязательно даже иметь сетевое подключение, ведь корневой смарт-контракт может быть закеширован, а получение информации об адресе представляет собой не запрос, а вычислительную операцию на основании предоставленных пользователем данных. Список же всех смарт-контрактов сертификатов, выпущенных корневым смарт-контрактом, может быть получен из блокчейна путем простого запроса.

    По идее инициатора конкурса новая система DeNS также должна будет включать механизм аукциона — конкурентного способа определения собственника имени. 

    При этом предварительно предполагается, что DeNS будет содержать группу зарезервированных имен:

    • tonos, os — для имен системных смарт-контрактов;
    • gov — для управляющих имен контрактов;
    • debot, bot — для DeBot имен верхнего уровня;
    • dev — для ресурсов разработчиков;
    • defi — для Defi ресурсов;
    • proxy — для прокси и VPN адресов;
    • site — для сайтов TON.

    В качестве разделителя имен предлагается использовать прямой слэш “/”, например “name/subname/second_subname”.

    Decentralized Name Service: с чем столкнутся конкурсанты

    На наш вопрос о “подводных камнях” грядущего конкурса Митя Горошевский ответил:

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

    ____________________

    Предполагается, что внедрение DeNS во Free Ton должно будет произойти за один этап, это значит, что результатом конкурса должно стать сразу готовое программное решение.

    Первые пять победителей получат от 50 000 до 10 000 кристаллов: с шагом в 10 000. Для участников, занявших места ниже, но чьи предложения не получили негативных голосов, приз составит 1 500 кристаллов.

    16
    0