PKI на ENS. Часть 2. Proof-of-Concept

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Небольшие правки в первой части и программа для связки пары ключей для подписи и домена(имени).

1. Исправление первой части

Я предожил использовать резолвинг имени на хеш для проверки принадлежности ключей домену. Но в данном случае несколько юзеров могут настроить резолвинг своих имен на хеш нашего публичного ключа. Это решается обратным резолвингом, т.е. ip адрес на домен как в DNS. Будет связка один хеш - одно имя. Но если несколько имен могут резолвится на один хеш, то что тогда возвращать? В ENS есть понятия резолвинга имени на хеш и владением имени - т.е. тот адрес, который решает на какой хеш резолвится домен. Алиса может быть владельцем домена example.eth, но получим мы адрес Боба при вводе example.eth в кошельке при переводе(потому что так решила Алиса и она может это изменить).

У Алисы есть primary name. Primary name ссылается только на адрес, который влаеет этим доменом и именно это имя будет возвращено при обратном резолвинге.

2. Proof-of-Concept

В качестве примера написал небольшую программу для подписи и проверки сигнатуры.
На главной - описание того, что делает эта программа и 2 кнопки - sign(подпись) и check(проверка подписи).

Sign - несколько полей ввода, Private Key or Mnemonic - приватный ключ для шифрования хеша файла, т.е. подписи. File path - путь до файла, который подписывваем, Signature - в это поле выводится сама подпись(или сигнатура).

Check - также несколько полей ввода, URL Ethereum node - адрес ноды, можно указать публичную ноду Ethereum(через запрашивается имя через обратный резолвинг), Domain - домен, подпись которого хотим проверить(будет сравниваться запрашиваемый домен с тем, который указали). File path - путь до файла, подпись которого проверяем. Signature - сама подпись. Возможно стоило бы добавить вывод домена, который подписал этот файл, если не известно имя подписавшего(думаю добавлю позже).

3. Заключение

Можете проверить подписи txt файлов с сообщениями one и two. Подписи файлов:

  1. aa2172e851c1a0fa3a8fe32ca804df52bc1d0d124fe4a88cbbc195b84105b4bf7543f0758c4acbafa74915100ab4bb229ad4c3e662cf08fa68e3dda0bfb9486c00

  2. ba6a7d07f05a026664d27ec60864cc192c71f3b9aa30df059c8b0f670d2d64ca27498e79347f21dc5fcc79ae838794bd417906514d94887e3931d9d3fb0a16f200


Домен, который подписал - signature-escrow-test.eth. Публичную ноду ethereum может предоставить infura.

Источник: https://habr.com/ru/articles/771310/


Интересные статьи

Интересные статьи

Привет, Хабр! Меня зовут Сергей, я iOS-разработчик в компании SimbirSoft.Уже наступил 2023 год, а обсуждения на тему выбора инструмента для обработки асинхронных событий не утихают. На сцене привычные...
Всем привет. Вот и подошло продолжение первой части. Как и обещал, в данной статье, я хочу затронуть основные варианты реализации фабрики на VXLAN/EVPN, и рассказать поче...
Всем привет! Проектирование, печать и сборка нового корпуса наконец-то завершились. Также завершился запуск новой платы управления на базе STM32F373 и FW успешно перенесено на новый МК. Все бли...
Это третья, заключительная часть из цикла. В предыдущей статье мы подробно рассказали об УСН, патенте и налоге для самозанятых. В этой части рассчитаем налоговую нагрузку для ИП с доходом 100, ...
Приветствую вас, хабровчане! Как и обещал в конце прошлой статьи, я обратил свой взгляд на игровой движок. Правда мне больше приглянулся Godot. Почему? Тема для отдельной статьи размышления, а...