Post
Topic
Board Идеи
Merits 6 from 3 users
Topic OP
Авторизация на сайтах, при помощи биткоин
by
crypto_trader#43xzEXrP
on 28/07/2019, 16:15:05 UTC
⭐ Merited by chimk (4) ,imhoneer (1) ,Coin-1 (1)
1. Владельцем адреса биткоина - является владелец приватного ключа, соответствующего этому адресу.
2. Владелец, как клиент - заходит на сервер.
3. Сервер генерирует ему какое-то значение, и просит его подписать.
4. Клиент, как владелец приватного ключа - подписывает это значение, как сообщение, своим приватным ключём.
5. Клиент - отправляет подписанное сообщение на сервер.
6. Сервер - проверяет цифровую подпись сообщения.
7. Так как сообщение проверено на сервере, серверу доступен адрес подписанта,
более того, сервер уверен в том, что у подписанта этого - есть приватный ключ от этого адреса,
так как значение соответствует отправленому значению.
8. Сервер использует адрес подписанта - как уникальный идентификатор (username).

Минусы: Клиент может сгенерировать множество приватных ключей и использовать мультиаккаунты. Нужна дополнительная защита от мультов, вроде 2fa, замкнутого на хэш адреса, поксоренного на хэш приватного ключа сервера, например.

Плюсы: Очень простая аутентификация. Можно реализовать на нескольких скриптах.
Никаких личных данных не нужно вводить в формы всякие, достаточно privkey в LocalStorage прописать,
а цифровую подпись вычислять client-side.

Более того, у WAVES, в waves-lite-client (тут исходник), этот seed гененируется однократно,
а хранится он - в зашифрованном виде, в LocalStorage, и шифруется паролем.
Из него, получается приватный ключ. А это уже, своеобразная защита от мультиаккаунтов.
К тому же, у них есть AUTH-API,
работу которого можно протестировать на сайте https://h2ox.io/ при подвязке WAVES-адреса (если не слать токены им).
Там надо быть залогинненным здесь: https://client.wavesplatform.com/#!/dex-demo

Не, ну реально, надоели эти старые системы регистрации и авторизации,
с кучей полей, всякими галочками (лишь бы пропустило), телефонами, SMS,
требованием зайти в GMAIL, VK, ФСБук (где обычный аноним никогда и не регистрировался).
Email вводить ещё надо, подтверждать на каждом сайте...
А потом ещё могут тупо забанить акк и потребовать KYC.
Почему бы для связи - не использовать вместо email'a - TOX,
Взяв PRIVkey от адреса в качестве privkey NaCl для генерации ToxID,
а связь - проводить онлайн через TOX? Есть же echo-bot на https://toxme.io/
Вот такие боты могли бы туда, в TOX - ссылки слать, как на email.
А всё это дело в одном приложении запилить, возможно даже на JavaScript,
чтобы с сервера прям выдавались скрипты, и на клиенте работали client-side, без всяких утечек данных.

Что скажете?
Предлагаю разработать, стандартизировать систему биткоин-аутентификации,
и внедрить её - во все сайты, с возможностью кастомизации префиксов под различные альткоины.
А вообще... К чему бы это?
Ведь для подписи и проверки её - не нужно владеть самими монетами биткоина.