Skip to content

asokol123/yggdrasil-dns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yggdrasil-dns

Децентрализованная сеть

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

  • Примером такой сети является yggdrasil.

  • Проблема - общение внутри yggdrasil происходит по ipv6-адресам, что неудобно для пользователей. Классический DNS в данном случае подходит плохо, потому что участники могут часто менять свои адреса.

DNS over yggdrasil

В нашем DNS есть три компоненты - база данных, registry и клиенты.

База данных

В данный момент для простоты и надежности используется sqlite. Но для достижения полной децентрализованности можно использовать orbitdb.

Registy

  • Registry - REST API сервис, в котором можно регистрироваться, создавать сайты и изменять сайты. Описание API может находится в doc.md.

  • Registry - stateless сервер, общающийся с базой данных.

  • Необходимы аутентификация и proof-of-work для защиты от ddos.

  • Аутентификация сделана с использованием асимметричной криптографии ecdsa с применением кривой p256.

  • proof-of-work реализован через nonce

Client

  • Registry - REST API сервис, поэтому можно легко реализовать на любом языке

  • В данные момент реализованы клиенты на Go и на Python

Deploy

  • Для тестирования можно поднять виртуальные машины в yandex cloud. Подробнее смотри в папке deploy.

  • Виртуальные машины поднимаются автоматически, однако запускать registry и клиентов нужно руками.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published