ens-logo

Запуск Ethereum Name Service (ENS)

ENS ожил! Со своими особенностями старта, о которых ниже, но он ожил. Ethereum Name Service  прямая альтернатива привычным Domain Name System и путь к действительно децентрализованной сети Интернет.  Немного подробностей запуска и полезных ссылок подкатом.

О самом главном

Для того, чтобы зарегистрировать имя в ENS проще всего воспользоваться DApp по следующей ссылке: https://registrar.ens.domains/

Приложение будет работать в parity, mist или с расширение для Google Chrome Metamask.

Зарегистрировать имена можно длинной более 7 символом.

Регистрация происходит в формате аукциона.

Хоть ENS уже работает, зарегистрировать разные имена можно будет начиная с разных дат. Это сделано, чтобы избежать чрезмерного количества транзакций на регистрацию в первые дни работы сервиса.

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

Снимок экрана от 2017-05-10 23-09-05

 

Снимок экрана от 2017-05-10 23-09-30

Алгоритм выбора даты начала аукциона по любому имени условно случаен, так что теории заговора нет. Алгоритм времени начала регистрации такой:

  1. Берем хеш от имени.
  2. Берем левую половину хеша (128 бит.
  3. Умножаем на константу launchLength = 8 week.
  4. Берем левую половину результата (128 бит.
  5. Добавляем время старта

Посмотреть в коде контракта можно тут: https://etherscan.io/address/0x6090a6e47849629b7245dfa1ca21d94cd15878ef#code

    /**
* @dev Returns available date for hash
*
* @param _hash The hash to start an auction on
*/
function getAllowedTime(bytes32 _hash) constant returns (uint timestamp) {
return registryStarted + (launchLength*(uint(_hash)>>128)>>128);
// right shift operator: a >> b == a / 2**b
}
/**
* @dev Assign the owner in ENS, if we’re still the registrar
* @param _hash hash to change owner
* @param _newOwner new owner to transfer to
*/

Зачем нужен ENS?

Затем же зачем и были придуманы доменные имена и вся система DNS — для организации удобной человеку адресации. ENS имеет двоякую роль.

Помагает заменить сложную адресацию адресов контрактов и аккаунтов пользователей внутри сети. Например для удобных переводов. Вместо указания адреса получателя можно будет указать в транзакции ассоциированное имя. Легче запомнить ник друга формата`lonshakov.eth`, чем hex его адреса `0x6EFBA8fb2AC5b6730…` в сети Ethereum.

Вместе со Swarm создаст полностью децентрализованный хостинг web приложений. Все имена, зарегистрированные в Ethereum Blockchain mainnet  будут иметь адрес `xxxx.eth` и со временем благодаря Ehereum, ENS и Swarm можно будет забыть про привычный хостинг.

Полезные ссылки по ENS