Blockchain: авторизация и регистрация пользователей?
Подскажите как организовать регистрацию и авторизацию пользователей в некотором приложении, который организует технологию blockchain.
Понимаю, что нужно выделять пользователю пару ключей(открытый и закрытый), но как в последующем проверять, что эта пара была генерирована именно моей программой, а не подделана?
А какая разница чем оно сгенерировано?
Любые ключи созданные правильным алгоритмом должны быть рабочими, мало ли может у меня уже есть свой ключ.
Что значит подделано? Ключ есть? Он рабочий? Какие проблемы?
Может я просто не правильно сформулировал свою мысль, но задача стоит такая:
вот есть пользователь, он регистрируется в моей программе и ему выдается пара ключей, как при следующей авторизации, когда пользователь вводит эту пару ключей в поля (условно) Логин-пароль мне понять, что эта пара валидна и была выдана моей программой, а не сформирована на другом сайте и с помощью другого алгоритма.
Ведь к этой паре ключей может подвязываться и другая информация (ФИО, e-mail и прочее), а в случае blockchain я эти данные не могу хранить централизованно
snegirev_news, так ведь когда вы будете вставлять ключ юзера в какой-то класс для работы с шифрованием он сам скажем валидный ключ или нет.
Но будет проверять валидный с точки зрения алгоритма, а не создан ли через вашу программу или другую.
Ключи используются для подписания транзакций. И если допустим, я взял и внес в транзакцию какие-то левые данные (не ассоциируйтесь с Биткоином и прочей валютой, блокчейн у меня используется как способ хранения данных), то при обнаружения этого другими нодами, мне нужно как-то узнать отправителя не в виде его открытого ключа, а, допустим, ФИО, которое привязано к данному ключу.
И вот как хранить весь набор вот этих авторизационных данных, если, как я правильно понимаю, в блокчейне моветон использовать центральную БД
(не ассоциируйтесь с Биткоином и прочей валютой, блокчейн у меня используется как способ хранения данных),
А биткоине внезапно чем блокчейн занимается, если не хранением данных?
допустим, ФИО, которое привязано к данному ключу.
все предельно просто, у вас должна быть в блокчейне "таблица" данных юзеров "публичный ключ | фио | всё что угодно"
И естественно данные становятся публичными в рамках сети, и шифровать их нельзя иначе не считать будет.
то при обнаружения этого другими нодами, мне нужно как-то узнать отправителя не в виде его открытого ключа, а, допустим, ФИО, которое привязано к данному ключу.
не понимаю, что Вы имеете ввиду...
Схемку нарисуйте на https://www.draw.io/ (если не сложно).