Про блокчейн простыми словами: Часть 4
В прошлом посте про блокчейн я упомянул приватные ключи и связанные с ними адреса, давайте попробую объяснить в чём суть и преимущество таких штук по сравнению с обычной авторизацией через логин/пароль или через соц сети.
Прикол в том что при работе с блокчейном ваш пароль(приватный ключ) от кошелька знаете только вы, и никуда и никому не надо этот пароль отправлять чтобы полноценно работать с кошельком.
Вы может хотите сказать что и так свои пароли никому не отправляете, но это не так. Вы отправляете их на сервер, где хотите авторизоваться, в тот самый момент когда вводите пароль и нажимаете кнопку "Войти". И как я уже говорил - неизвестно как там на сервере хранят пароли владельцы сайтов, может они их в открытом виде хранят или в логах где-то остаются, и сервер однажды взломают и уведут все пароли(которые многие используют на нескольких сайтах одинаковые).
А если вы при этом ещё используете VPN то ваш пароль отправляете сначала на этот самый VPN сервер чтобы затем переслать его туда, куда вы хотите авторизоваться. И опять же не понятно что на VPN сервере могут с вашим паролем делать или не делать.
Даже если не рассматривать это как проблему - всегда остаётся шанс что вас заблочит на своём сервере какой-нибудь пэйпал или киви и вы потеряете доступ к своим деньгам, и ваш пароль окажется бесполезен. Вы думаете это надуманная проблема и никого обычно не блочат? Но я столкнулся с тем что киви мне заблочил два кошелька когда я пытался их использовать для телеграм бота. Может их смутили две тестовые транзанкции по рублю, может не понравилось что я использовал их для бота, они отказались объяснять причину и сказали что бан мне навечно.
У моей жены блокировали пэйпал когда она пыталась совершить простой обмен товара на деньги. Лично. Без претензий со стороны покупателя. Просто на всякий случай заблочили, а вдруг эти 100 баксов вы не заслужили?
С приватными ключами и блокчейном ситуация другая. Вы не посылаете ни на какой сервер свой пароль. Вы подписываете с помощью приватного ключа транзанкцию, и уже подписанную транзанкцию отправляете. Тоесть вместо того чтобы отправить пароль вы отправляете информацию о том: сколько денег и куда надо отправить и помечаете эту информацию своим ключём. Только имеющий на руках ключ может поставить такую подпись, поэтому этот метод безопасен.
Эту транзанкцию вы отправляете в блокчейн ноду, а один из майнеров вставляет её в блок и в результате вы отправили комуто свои деньги. Если какойто майнер не хочет вставлять транзанкцию - найдётся другой, который вставит, потому что децентрализация, и потому что они получают ту комиссию которую вы указали в транзанкции.
Тоесть вы сами решаете сколько заплатить комиссии за совершение операции, а майнер решает - готов ли он принять транзанкцию с такой комиссией. Вот такой вот рыночек. Само собой вы можете смотреть средние цены на отправку транзанкции, и ориентируясь по ним - решать сколько лучше заплатить комиссии. Чтобы и не слишком мало и не слишком много.
Кстати было уже несколько примеров когда люди случайно выставляли слишком высокую комиссию, и отправляя 1 бакс платили комиссию в 80 тысяч баксов. Типа перепутали поля ввода)) Вот можно посмотреть такую транзанкцию:
blockchain.com/ru/btc/tx/33291156ab79e9b4a1019b618b0acfa18cbdf8fa6b71c43a9eed62a849b86f9a
Возможно ли заплатить в пейпале случайно 80к баксов за отправку 1 бакса? Нет, но такова цена децентрализации и свободы, в своих косяках виноват только ты сам и никто тебе не поможет при ошибке в отправленной транзанкции
Надеюсь вы не сильно зарылись в примере с отправкой транзанкций, потомучто в теории приватные ключи и подписи можно использовать для чего угодно, например чтобы отправлять комментарии или ставить лайки. Тоесть вместо обычной авторизации один раз на сайте - вы авторизовываете каждое своё действие имея на руках приватный ключ вместо пароля. Но как он выглядит? Например вот так(В зависимости от типа блокчейна его вид может отличаться):
0xcb2f41b60741653ddd5a11beefd7b93754680d433547d871335f8256d34c3119
Не слишком дружелюбно для пользователя? Такой ключ не введёшь по памяти в приложение вместо пароля чтобы оно подписывало за тебя транзанкции. Но есть хороший аналог: Сид фраза, из неё можно получить ваш приватный ключ, и её можно запомнить, потому что это просто несколько слов на английском, вот например:
tool will display river clip fat view grunt stand into lobster rely
Гораздо лучше чем приватный ключ, не так ли? Сид фраза и приватный ключ позволяют вам увидеть свой адрес, он выглядит например так:
0x8Ad5a2086087BA2196Aa075bbe10574fc4eE6160
Он короче чем приватник, и этот адрес вы можете скидывать кому угодно чтобы на него вам отправили крипту, главное не перепутать его с приватником и не отправить комуто приватник))
Как сейчас это работает с блокчейном: Обычно криптаны используют MetaMask, потому что это простое расширение для браузера и ему можно доверять в плане репутации. Тоесть вы доверяете свою сид фразу, свои приватники приложению и оно подписывает за вас транзанкции которые вы хотите отправлять. Или авторизует другие ваши действия на сайтах запрашивая у вас подтверждение.
Например сайт хочет чтобы вы подписали лицензионное соглашение? Он сообщает MetaMask что хочет вашу подпись, а MetaMask предлагает вам подписать вашим приватником соглашение. Эта подпись отправляется сайту в базу данных и он в любой момент может вам или комуто ещё показать: Вот вы своим приватником подписали, это можно проверить.
Адреса любят зашивать в QR код, и показывать его при оплате вместо не очень удобного адреса. Ну или адрес в чат кидают просто.
С большой натяжкой можно провести параллель авторизации через подписи с текущей авторизацией через соц сети. Вот вы хотите зайти на сайт и вам предлагают просто нажать кнопочку и зайти через аккаунт гугла не вводя пароль. Да, это похоже на то удобство к которому мы стремимся в блокчейне с приватниками, но разница в том, что если гугл или вк или фейсбук заблочит ваш аккаунт - вы не сможете с помощью них больше входить на те сайты куда вы входили, а их могут быть десятки. По-моему это грустная перспектива, и довольно легко представить что тебя забанили в вк или фейсбуке в настоящее время.
А приватники или сид фразу ваши никто не заблочат, они хранятся у вас на устройстве, и никому их не отправляйте чтобы от вашего имени ничего никуда не отправлялось и не подписывалось)
Продолжение следует...
Пост за 30 марта из Источника