Перейти к публикации
Ilya Cardano

Как работает аутентитификация?

Рекомендованные сообщения

(изменено)

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

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

 

Насколько я понял, апрув реализуется через "подпись". Например, если мы шифруем команду "отдать васе 10 коинов", то в блокчейн мы посылаем закриптованную строку "отдать васе 10 коинов:вот мой приватный ключ".

 

Поправьте, если я не прав. А если прав, то растолкуйте плс, как блокчейн расшифровывает команду, не видя при этом приватного ключа? Понятно, что команда может быть полслана отдельно и в открытом виде, но как тогда проверить, что команда была послана мною?

 

ПС: извиняюсь за кашу из моей головы, что я любезно выоложил в паблик))) Хочу знать, но пока не могу осилить.

Изменено пользователем Ilya Cardano

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Немного почитал еще. Как я это понимаю:

1) Публичный ключ шифруется необратимым способом

2) Подпись генерируется обратимым способом. Создать такой шифр может только владелец ключа, а расшифровать - любой кто знает публичный ключ.

 

Ход мыслей:

1) Мы конкантенируем строки "сообщение:хеш предыдущего входа:ваш публичный ключ". Таким образом, у нас для каждой транзакции получается уникальная строка (ведь хеш транзакции всегда разный).

2) Мы пропускаем строку через функцию encrypt - получаем подпись (шифр строки, который можно расшифровать публичным ключем). Во всех блокчейнах туда нужно передавать данные (условно - строка выше) и приватный ключ.

3) Мы посылаем данные транзакции и подпись в сеть, транзакция входит в блокчейн (майнеры не проверяют подлинность, просто делят комиссию и все).

4) Клиенты всего мира видят мою транзакцию и проверяют ее на валидность одинаковым способом: пропускают через функцию decrypt и если эта функция возвращает правильную строку - клиенты считают, эта транзакция валидная и ее можно "тратить"

 

Я не понимаю, зачем в 2 передавать приватный ключ, как он там используется в шифровании?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если вам интересно, как работает Биткойн, прочитайте книгу.

Есть и второе издание, но только на английском.

 

Я не знаю, где вы берёте всю эту информацию, но у вас складывается какая-то совершенно искажённая картина, из-за которой у вас возникают странные вопросы. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, Old Miner сказал:

Если вам интересно, как работает Биткойн, прочитайте книгу.

Есть и второе издание, но только на английском.

 

Я не знаю, где вы берёте всю эту информацию, но у вас складывается какая-то совершенно искажённая картина, из-за которой у вас возникают странные вопросы. 

Спасибо! Хорошая книга.
А ответ на мой вопрос в целом вот тут содержится: https://ru.wikipedia.org/wiki/ECDSA

 

И вот в догонку отличный пример самого алгоритма проверки: https://www.socketloop.com/tutorials/golang-example-for-ecdsa-elliptic-curve-digital-signature-algorithm-functions

Изменено пользователем Ilya Cardano

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 28.01.2018 в 11:38, Old Miner сказал:

Если вам интересно, как работает Биткойн, прочитайте книгу.

Есть и второе издание, но только на английском.

 

Я не знаю, где вы берёте всю эту информацию, но у вас складывается какая-то совершенно искажённая картина, из-за которой у вас возникают странные вопросы. 

Мне тоже очень понравилась! 

Первая ссылка не работает

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×