Proof Of Stake & Proof Of Work. Коротенько...
Сегодня пост про Proof of Stake. Чтобы вы встретив "PoS" в описании проекта понимали что это такое и чем отличается от Proof Of Work.
Сначала Proof Of Work. Майнер биткоина, или другой крипты на PoW получает данные, которые надо включить в блок (например пачку транзакций). Потом он формирует блок и долго-долго пытается подобрать к нему хеш брутфорсом (изменяя одну цифирьку в блоке), так, чтобы хеш был меньше определенного числа (которое является "сложностью" сети). Фактически, он играет в лотерею - меняет счетчик в блоке, смотрит хеш, меняет счетчик, смотрит хеш. И так много миллиардов раз, пока не найдется "красивый" хеш (такой, который будет меньше "сложности"). После этого он отправляет блок в публичный блокчейн, все клиенты скачивают этот блок и могут убедиться, что хеш верный и "красивый" (меньше текущей "сложности"). Таким образом любой клиент уверен, что для того чтобы включить этот блок в блокчейн куча майнеров долго-долго трудилась, чтобы один из них наконец смог создать подходящий блок. И что для того чтобы изменить любой блок в блокчейне, необходимо будет пересчитать все "красивые" хеши последующих блоков. Чем выше сложность (а она определяется скоростью включения блоков в блокчейн) тем больше уверенность в том, что никто не подменил ничего ни в одном блоке.
Но Greenpeace негодуэ, чё это за трата электроэнергии и прожиг многих тысяч видеокарт и процессоров, 99.9999999999999999999% усилий которых тупо греют окружающую среду и ничего полезного не производят (точнее они производят всего лишь наше доверие к блокчейну). И тогда криптоманьяки из Greenpeace предлагают другой метод консенсуса (консенсус в блокчейне - это когда все клиенты видят блок, согласны с тем, что он был сформирован честно и могут это проверить) - Proof Of Stake (доказательство владения).
Есть такое понятие - "экономическая безопасность" - это когда атакующему невыгодно обманывать систему, и именно в блокчейн проектах она используется вовсю. За каждый чих надо платить криптой, будь это распределнное хранение, вычисления, проверка подлинности и т.п. - а значит атакующему придется платить за любую активность. Этот способ не взлетел с эл. почтой, но получил новое рождение в блокчейне, где все комиссии и платежи легко встраиваются в алгоритм консенсуса.
В Proof Of Stake подавляющее большинство блоков "закрывают" те, у кого на счетах больше всего крипты. Экономическая безопасность Proof Os Stake заключается в том, что тем, у кого больше всего монет, наиболее невыгодно обманывать сеть, ибо в этом случае клиенты перестанут ей доверять, "курс" крипты упадет и максимальные потери понесут именно они. Поэтому самые богатые и являются самыми доверенными узлами сети, и именно они будут добавлять большинство(!) блоков в блокчейн. Но где децентрализация, спросите вы? Ключевой момент тут - слово "большинство". В реальном PoS майнеры так же ищут красивые хеши, но сложность поиска зависит от суммы или количества контролируемых майнером адресов с криптой. Каждый клиент может убедиться в этотм так "Вася закрыл блок вот этим хешем. У него есть 10 адресов старше 30 дней на которых суммарно больше 100 монет, поэтому сложность хеша должна быть такая-то (в 8 раз меньше чем у Пети, у которого 1 паршивый адресок с парой монет)". Поэтому в этой "лотерее" у Васи "больше билетов", и вероятность, что он первым закроет блок выше. Подтвердить своё владение адресами можно с помощью эл. подписи (майнер должен доказать, что у него есть все приватные ключи от всех адресов, подписав этим ключами данные в блоке).
Т.е. Петя не совсем остался без шансов, и ему может повезти подобрать "красивый" хеш и получить много денег за блок, но шансов у него намного меньше, чем у Васи. Поэтому майнинг, и майнинг в составе пула никто не отменял. Но теперь подбор блоков идет намного быстрее, и именно этот механизм позволяет создавть блокчейны с большим количеством транзакций в секунду.
Нельзя, конечно, пропустить и недостаток в безопасности PoS - если месяц назад Вася был криптомиллионером, а потом вывел всю крипту, Петя может попросить его продать ему ключи от всех Васиных адресов на которых БЫЛА крипта раньше. Там же сейчас ноль денег, и Вася может согласиться. Тогда Петя "отматывает" блокчейн назад, и при помощи этих "жирных" адресов быстренько генерирует новую версию блокчейна. Так что голый PoS в реальных проектах не работает, и либо снабжается подписями разработчиков (костыль), либо через каждые N блоков фиксируется с помощью PoW, либо и то и другое и третье что-нибудь. Ну а PoW - это самый честный метод - тупая математическая сложность блокирует саму возможность перестроения блокчейна.
К примеру Etherium (вторая по значимости крипта после биткоина) собирается переходить на PoS, о чём сейчас ведётся немало споров. Ну а Биткоин это чистый Proof of Work - и это есть хорошо, ибо "против лома нет приёма" :)