Найти в Дзене
Chernikov & Web3

Что такое блокчейн? Основы

В данной статье мы разберем с вами всъ о блокчейне – от истории, до технических аспектов. Простыми словами. Разбирая тему криптовалюты, которая представляет собой новую денежную систему 21-го века, нельзя не разобрать традиционную денежную систему, чтобы иметь понимание что именно пытается исправить криптовалюта, а что пока не может. Система денег, такая, какую мы знаем сейчас, появилась не так давно и претерпевала изменения. В рамках этой статьи мы начнем изучение истории денег с появления бумажных денег Первыми к бумажным деньгам пришли Китайцы, в 7-м веке до н. э. Бумажные деньги перехватила Европа в 17-м веке. Как это работало? Банкноты, по своему определению, являлись нотой банка, по которому банк был обязан уплатить предъявителю означенную сумму в полновесной золотой или серебряной монете. Фактически, это была расписка о передаче на хранение в банк монет. Правом эмиссии таких банковских векселей обладали многие коммерческие банки.
У стран были свои какие-то золотые запасы и ст
Оглавление

В данной статье мы разберем с вами всъ о блокчейне – от истории, до технических аспектов. Простыми словами.

Финансы

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

Бумажные деньги

Первыми к бумажным деньгам пришли Китайцы, в 7-м веке до н. э. Бумажные деньги перехватила Европа в 17-м веке. Как это работало? Банкноты, по своему определению, являлись нотой банка, по которому банк был обязан уплатить предъявителю означенную сумму в полновесной золотой или серебряной монете. Фактически, это была расписка о передаче на хранение в банк монет. Правом эмиссии таких банковских векселей обладали многие коммерческие банки.
У стран были свои какие-то золотые запасы и страна создавала денег столько, сколько у них было золота. Именно так мир постепенно начал переходить к золотому стандарту.

Золотой стандарт

В древние времена золото использовалось как средство обмена, так как оно было редким, красивым и долговечным. В Китае золото обращалось в виде кубиков в 1100 году до нашей эры, а в Вавилоне являлось мерой стоимости, как и серебро. В средние века золото и серебро стали основой денежных систем. Первым европейским банком был “Банк Святого Георгия”. Он финансировал крупных монархов, экспедиции и морскую торговлю, помимо этого он управлял государственным долгом Генуэзской республики, который возник после войны с Венецианской республикой. Банк Святого Георгия обеспечивал свои кредиты за счет государственных доходов, залогового имущества и монополий, таких как добыча соли. Его резервы включали золото, серебро и денежные средства, которые использовались для поддержания финансовой стабильности.
В 1717 году Великобритания де-факто ввела золотой стандарт. Исаак Ньютон установил фиксированный курс между золотом и серебром. Это стало началом перехода к золотому стандарту. Лишь спустя 99 лет, в 1816 году, Великобритания официально приняла золотой стандарт, утвердив его в законодательстве. Предположим, государство методом подсчета своих запасов золота и пониманием сколько денег они напечатали, решает:
давайте, к примеру, 1 доллар – 1 грамм золота. И получилось так, что мы приравняли некоторое количество долларов к некоторому количеству золота. По сути золотой стандарт – это система, при которой валюта страны привязана к определенному количеству золота, которое имеется у этой страны. В 1879 году началась история классического золотого стандарта, когда США приняли его у себя. Во время двух мировых войн европейские страны прятали свои золотые запасы подальше от войны, а именно в США. в какой-то момент в США было около 75% запасов золота. В 1944 году на Бреттон-Вудской конференции была изобретена новая финансовая система, в которой доллар был привязан к золоту (35$ за унцию или за 29,8 грамма), а другие валюты – к доллару. Это сделало его мировой резервной валютой. Но в какой-то момент система начала давать сбой. Страны, вроде Франции, требовали вернуть себе свое золото.
Золото, которое продавалось по фиксированному курсу в 35$ за унцию, начали торговать на Лондонской бирже по плавающей цене. Спекуляция – дешевле в США купи, продай дороже в Лондоне, а разницу себе. Как итог –
к середине 60-х количество долларов было больше, чем золотой запас США. После этого, в 1971 году президент США Ричард Никсон объявил о прекращении конвертации долларов в золото. Это событие, известное как «Никсоновский шок, положило конец Бреттон-Вудской системе и золотому стандарту. Именно тогда мир и начал переходить к фиатным валютамденьгам, которые не имеют внутренней ценности и не подкреплены физическими активами (например, золотом). Их ценность основана на доверии к государству, которое их выпускает.  То есть деньги, а следственно и экономика, которая напрямую от них зависит, по сути построены на вере людей государству.

Банковские переводы

Хорошо, то, что деньги построены на доверии к экономике, мы поняли. Давайте разберемся как работают банковские переводы.
За пример возьмем два российских банка – Т-Банк и Сбер. Для перевода между банками в РФ есть
Система быстрых платежей (СПБ).
Предположим у тебя Сбер и есть 100₽. Ты хочешь их перевести своему другу, у которого Т-Банк. Все деньги, которые лежат на вашем банковском счете, принадлежат банку. Поэтому банк в любой момент может взять и заблокировать ваши средства. Это отступление было важно для понимания переводов.
Так вот, вы делаете запрос в Сбер на перевод 100₽ на определенный номер телефона. Сбер делает запрос в СБП. СБП проверяет, есть ли получатель с таким номером телефона и банком. Если есть – то СБП передает запрос в Т-Банк и тот отображает 100₽ на счету вашего друга.
Проблема этой схемы в трех посредниках, которые на любом этапе могут взять и заблокировать ваши средства.

Принцип работы переводов по СБП (ориентировочный)
Принцип работы переводов по СБП (ориентировочный)

Вклады и кредиты

Разобравшись с переводами, давайте разберемся с двумя китами, с фундаментом банковской системы – вкладами и кредитами.
Предположим, что вы захотели положить 10.000₽ под 20% годовых. Вы переводите эти деньги банку и он их хранит у себя и может распоряжаться ими как угодно. Что я под этим подразумеваю? Предположим, на следующий день кто-то захочет взять в кредит 10.000₽ с 20% годовых. Банк, чтобы дать деньги человеку, будет использовать деньги со вкладов. То есть он может использовать
вложенные вами деньги, чтобы выдать деньги должнику.  А если вы захотите забрать свои деньги, а должник кредит не вернёт? Верно – банк будет использовать деньги других вкладчиков. На крайний случай – будет использовать свои резервы.

-3

Тем, кто знаком с устройством финансовой пирамиды, могло показаться, что банковская система является пирамидой. Как финансовая пирамида, так и банковская система зависит от притока новых средств, как банкам, так и пирамидам нужно по сути ДОВЕРЯТЬ, а также обе системы могут рухнуть при отсутствии притока новых средств. Но это неправильное сравнение, так как банковская система отличается тем, что она основана на реальных экономических процессах, регулируется государством и имеет механизмы обеспечения устойчивости.

Госдолг США

И что мы имеем в финансовой системе сейчас? Правильно – просто верим в фиатную валюту. Не более. Ее крах – очень маловероятен и стремится к нулю, так как, условно, дефолт США – уничтожит всю мировую экономику. Дефолт – это признание государства банкротом, когда оно не может выплачивать свои долги странам, которым оно задолжало, а как вы, наверное знаете, госдолг США огромен. Но стоп. Что вообще из себя представляет госдолг США? Давайте взглянем на эту диаграмму, которую я сделал, исходя из информации о том, из чего состоит госдолг США. Госдолг делится на публичный и внутригосударственный

Структура государственного долга США. Как вы можете заметить – только 25% из этих долгов США задолжали другим странам
Структура государственного долга США. Как вы можете заметить – только 25% из этих долгов США задолжали другим странам

75% госдолга США – это внутригосударственный долг, по сути, самим себе.
Как появляется госдолг? Когда у правительства заканчиваются деньги, оно выпускает государственные облигации, чтобы покрыть дефицит бюджета. Как? Государственные облигации – это долговые ценные бумаги. Они могут быть как номинальными, то есть в конце срока действия облигации тебе возвращается та же сумма, что ты и положил, и процентная, когда ты положил, к примеру, 10000$ под 2% годовых и в конце года тебе должны вернуть 10200$.
Давайте представим картину: правительству США понадобился
1 трлн.$, чтобы покрыть дефицит бюджета, к примеру, в инфраструктуре, и оно выпускает облигации на эту сумму. Далее облигации покупаются либо иностранными или частными инвесторами, либо Федеральной Резервной системой. Правительство продало все облигации и получает эту сумму, чтобы покрыть дефицит. Но стоп, вот вы покрыли дефицит в 1 трлн, но теперь вам надо вернуть этот триллион, так еще и с процентами, инвесторам. То есть нужны новые инвесторы, которые придут и вложат свои деньги, чтобы вы покрыли долг старым? Так это же пирамида! И вы абсолютно правы. Только вот важный нюанс. Правительство с того, что потратило, к примеру, на инфраструктуру, собирает налоги, с которых может выплачивать что-то инвесторам. Но ведь денег может не хватить, так почему система пока устойчива? Потому что США имеет сильнейшую в мире экономику и является надежным заемщиком, несмотря на огромный госдолг. А возвращаясь в диаграмме, я напомню, что 75% госдолга США – это долг самим себе. А признать себя банкротом, когда ты должен сам себе – невозможно. Ну вы же не признаете себя банкротом, если взяли у родителей в долг 100₽ и не смогли их вернуть? Тут такая же система.

Блокчейн технологии

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

История

Впервые концепт протокола, похожего на блокчейн, был описан в 1982 году криптографом Дэвидом Чаумом. Его называют крестным отцом криптовалюты. В предложенной системе хранилища излагается план достижения консенсуса между узлами, объединения истории консенсуса в блоки и неизменной временной маркировки данных в цепочке. Чуть позже мы разберем с вами все эти непонятные, на данный момент, термины.
В 1991-м году была описана криптографически защищенная цепочка блоков. Суть заключалась в том, чтобы временные метки документов нельзя было подделать. Если проще – что внесено в блокчейн, то там и останется. Неизменным.
31 октября 2008 года, интернет пользователь с ником Сатоси Накомото (по сей день неизвестно кто скрывается под этим никнеймом) написал документ:
“Bitcoin: A Peer-to-Peer Electronic Cash System”. Уже из самого названия видно, что он говорит об электронной кассовой системе.
В самом документе Сатоши критикует традиционную финансовую систему – есть за что. Вот ключевые поинты:

- Интернет-коммерция в большинстве случаев опирается на финансовые учреждения, выступающие в роли доверенных посредников для проведения электронных платежей. Такая схема хорошо работает для большинства транзакций, но в ее основе лежит доверие
- Необходима платежная система, основанная на криптографии, а не на доверии, которая позволила бы любым двум участникам осуществить перевод средств напрямую, без участия посредника. Традиционное решение заключается в проверке центральным доверенным лицом (или эмитентом) каждой транзакции.

И его в целом можно понять. Давайте вспомним путь, который проходят деньги при переводе от одного человека к другому. Три посредника, двое из которых могут запросто заблокировать твои средства, если посчитают это нужным. Что же предложил, этот неизвестный по сей день Сатоши Накомото? Сатоши Накамото предлагает систему, где деньги принадлежат только тебе, а переводы происходят быстро, дёшево и безопасно. Это как наличные, но в цифровом мире, и без необходимости доверять кому-то ещё. Говоря чуть более сложным языком – Сатоши предлагает полностью децентрализованную систему электронных денег, которая позволяет людям переводить деньги друг другу напрямую, без банков, правительств или других посредников.
Но как это работает? Как можно переводить деньги без доверия к посредникам и при этом быть уверенным, что никто не обманет систему? Ответ кроется в технологии, которую Сатоши использовал для создания
Bitcoin, — блокчейн. Ура! Мы перешли к определению блокчейна!

Что такое блокчейн?

Давайте представим электронный журнал, который невозможно взломать. В него преподаватели выставляют вам оценки, а вы можете их отслеживать. Давайте даже пофантазируем и представим, что в этом журнале вы можете видеть отметки своих неповторимых и самых любимых одногруппников. И сразу отмечу, что в нашем чудесном журнале, страница – это оценки всех студентов за один день. Преподаватель выставляет вам оценку и информация об этом рассылается другим компьютерам, например, что преподаватель выставил существующую оценку, или проверяют с помощью какого-то чудесного алгоритма, что студент действительно сдал работу и получил свою заслуженную оценку. Как только другие компьютеры проверили выставление этой оценки – они сразу же выставляют ее на страницу, которую могут отслеживать в реальном времени абсолютно все студенты.
Итак, только что я вам описал суть работы блокчейна. Теперь давайте сопоставим термины с нашим журналом и пойдем все разбирать досконально.

- Электронный журнал – это блокчейн
- Оценки – это
транзакции (например – перевод Bitcoin кому-то)
- Преподаватели –
участники сети, которые создают транзакции
- Компьютеры –
узлы сети, которые проверяют и записывают данные
- Страница –
блок
- Все страницы журнала –
цепочка блоков, в нашем примере – история всех оценок всех студентов

Давайте теперь пойдем по порядку
Блокчейн – это непрерывная цепочка блоков. А если быть еще более точнее и душнее, это технология, которая позволяет создавать децентрализованные системы, включая электронные деньги. То есть отсюда мы делаем вывод, что блокчейн – это не криптовалюта и не деньги. Это инструмент создания систем
Чтобы разрушить это представление, я приведу реальный пример. В 2018 году в Западной Вирджинии, в США, прошли первые выборы с использованием блокчейна, которые не могли быть подвержены фальсификации, так как чтобы оставить свой голос, нужно было пройти идентификацию личности, оставить голос, блокчейн бы сверил – есть ли этот человек в базе избирателей и если был, то его голос учитывался.
Продолжим. Чем в мире блокчейна является транзакция?
Транзакция – запись о передаче чего-либо. Представим антиутопичный мир Оруэлла, в котором за вами следит большой брат, но он разбирается в блокчейне, куда записывает ваши действия. Вы решили своему другу дать ручку в долг до конца пары. Это транзакция, и она записана в блокчейн. Абсолютно каждый может увидеть, что ты дал своему другу ручку. В целом, теоретически, опираясь на концепт такого инструмента, как блокчейн, большой брат в него может записывать абсолютно любые ваши действия, вплоть до полного вашего распорядка дня. На практике, к нашему счастью, пока такое не реализовано, но концепция блокчейна дает такую возможность. После параллели с большим братом, у меня лично, появился вопрос. Немного не этично выкладывать в публичный доступ все действия человека. А реален ли приватный блокчейн и не будет ли он противоречить своей изначальной концепции о децентрализации и публичности? Приватные блокчейны действительно существуют, о них мало кто знает. И сама суть приватного блокчейна, действия в котором нельзя отследить, и который не является децентрализованным, противоречит концепции, что описывал Сатоши Накомото.
Вернемся к определениям из нашего электронного журнала. Преподаватель, который выставлял оценку, является у нас
участником сети. Участник сети – это любой пользователь, который выполняет хоть какие-то действия в блокчейне – от перевода криптовалюты другу, до контроля за блокчейном. В примере с журналом у нас учитель и компьютеры – это участники сети, которые вносят какие действия и как-то взаимодействуют с блокчейном. Только вот компьютеры объединяются в узлы сетей, которые проверяют и хранят информацию обо всех транзакциях, в нашем случае – информацию о каждой выставленной оценке каждому студенту
Блоком же являлась у нас страница оценок всех студентов за один день. Каждый блок – это, своего рода, страница, на которой записано несколько транзакций. Каждый блок содержит:

- Данные (в нашем примере – список оценок за день)
-
Уникальный код, или же хэш (идентификатор, который связывает этот блок с предыдущим)
-
Хэш предыдущего блока – связь с предыдущим блоком (в нашем случае страницей)

Давайте я вам просто приведу пример с хэшами.
Допустим преподаватель выставляет оценки за первый учебный день с новым журналом, тогда хэш предыдущего блока –
0000 (так как это первая страница, у нее нет предыдущих). Далее учитель выставляет оценки за второй день и уже хэш предыдущего блока ABCD, за третий день выставил, хэш предыдущего EFGH, и так далее. Каждый новый блок содержит хэш предыдущего блока, что создает цепочку блоков, отсюда кстати и название. цепочка – chain, и так и получается слово blockchain.

-5

В чем вообще уникальность и безопасность этой системы? Данные, которые хранятся в блоках, защищены криптографией и их нельзя отменить. Криптография – это метод сокрытия или шифрования данных. Давайте чуть более просто. Представьте, что каждый блок – это конверт с печатью. Если кто-то попытается вскрыть его и изменить запись внутри, печать сломается, и все поймут, что конверт вскрывали.
Для шифрования данных используются
закодированные алгоритмы, хэши и подписи. Криптография, не смотря на название, используется не только в блокчейнах. На ней основаны бесчисленные интернет-приложения, работающие по протоколу безопасной передачи гипертекста (HTTPS), безопасная текстовая и голосовая связь.
Что же, базовые понятия структуры блокчейна разобраны, теперь можно перейти к более глубокому погружению

Основы блокчейна

-6

На этой картинке приведен пример блокчейна, который записывает данные о переводах. Квадрат – это блок, то, что записано в нем – транзакции. Сверху хэш предыдущего блока, снизу – хэш текущего блока. Блоки соединены в цепочки с помощью линий, которые являются цепочкой, связывая блоки в цепочки блоков. Тут я бы хотел разобрать эти линии поподробнее, присмотреться к ним. В них скрыто кое что интересное, что я не отобразил на этой схеме.
Эти линии создают новые блоки. Мы еще чуть позже поговорим подробнее 
валидаторах и майнерах. Пока кратко.
Валидатор – человек или устройство, который проверяет и подтверждает транзакцию и добавляет новый блок в блокчейн. Майнер – это человек или компьютер, которые решают сложные математические задачи для добавления нового блока в блокчейн. Заметили? Оба этих человека, или устройства, добавляют новый блок в блокчейн. Эта линия – результат работы майнеров или валидаторов, которые проверяют и подтверждают транзакцию и используют свои ресурсы для добавления нового блока.
А сколько всего блоков может быть, мог появиться у вас вопрос? Я вам и отвечу – неограниченное количество.Стоп, можете сказать вы мне, но ведь существует ограниченное количество биткоинов, его эмиссия – 21 000 000 биткоинов. Верно, я не ошибся, когда сказал про неограниченность блоков. Блоки будут создаваться бесконечно, даже если эмиссия ограничена, для обработки транзакций. Ограничение эмиссии влияет только на количество создаваемых монет, но не на количество блоков. Об этом еще более подробно мы поговорим, когда будем разбирать алгоритмы консенсуса.
Давайте вернемся к примеру с электронным журналом. Помните компьютеры, которые проверяли достоверность выставленной оценки? Это, по сути, и были валидаторы/майнеры. Но в чем особенность? Из объединенных майнеров или валидаторов получается узел сети, или же нода.
Нода – это группа компьютеров, работающие вместе. Каждый компьютер из этой ноды хранит копию блокчейна и проверяет транзакции, а в нашем примере с журналом: каждый компьютер хранит его копию и проверяет выставленные оценки.

-7
Пример с Google Docs: Представьте документ, который синхронизируется у всех в реальном времени. Если кто-то попытается изменить прошлую запись, система скажет: Не согласовано!

Ноды зачастую состоят из большого количества валидаторов.  Зачем вообще нужны ноды? Ноды проверяют транзакцию и создают новые блоки. Чуть подробнее об этом мы поговорим при разборе алгоритмов консенсуса.
Вот я так часто упоминаю термин
хэш, но я так и не пояснил что это за термин такой. Хэш – это уникальная строка символов, которая получается по окончании обработки данных с помощью математических функций (хэш-функций). У хэша есть фиксированная длина, вне зависимости от размера входных данных. Относительно простой пример хэша – отпечаток пальца. Палец одного человека имеет свой отпечаток, свой хэш, а палец другого человека, даже если отпечатки очень схожи, в любом случае имеет другой хэш, свой уникальный. Вообще что такое эта ваша хэш функция? Это специальный алгоритм, который “сворачивает” входные данные в строку. В нашем примере с электронным журналом, хэш-функция превращает список всех оценок всех студентов в одном блоке (на одной странице журнала) в хэш. А зачем? Ну в данном примере с оценками, которые ограничены, условно, цифрами между 2 и 5 смысла может и нет, хотя если в одном блоке будет 100 оценок, то эффективнее со стороны памяти будет превратить их в, условно, 16-символьный хэш. А если у вас в блоке информация о переводах, то гораздо эффективнее будет превратить данные о каждой транзакции в 16-символьный хэш, нежели хранить каждую транзакцию полностью расписанной.

Алгоритмы консенсуса

Данная тема выделена в отдельную главу, так как в ней есть что обсудить и про что рассказать. Сам термин консенсус означает способ разрешения конфликтов при принятии каких-то решений. Представим простую ситуацию, что вы с другом спорите – идти на последнюю пару, или нет? Вы настаиваете за то, чтобы идти, друг же наоборот – говорит что-то из серии: да зачем оно надо, раньше вернемся домой и поиграем в CS:GO. Но тут вы говорите, что на паре можно решить контрольную работу и получить автомат, убедив друга пойти с вами. Прекрасно – вы достигли консенсуса, вы решили спор при принятии решения о посещении пары.
Но это общее понятие самого слова
“консенсус”. А что же такое консенсус, а если быть точнее – алгоритмы консенсуса в блокчейне? У каждого блокчейна есть свой протокол. Протокол – это некий свод правил и действий, который описывает передачу данных между блоками и внутри них. Благодаря блокчейн-протоколу обеспечивается безопасность транзакций. Алгоритм консенсуса – это механизм, который проверяет верность тех или иных правил, то есть он проверяет, что транзакция верна и протокол соблюден. Чтобы вам было проще понять суть этих слов, приведем простой пример, вновь связанный с принятием решений в компании друзей.
У нас имеются
участники – это друзья, которые желают выбрать место для вечерней встречи. Основное правилоу них: решение будет принято в случае того, если большинство выберет один вариант. Процесс принятия решения будет таким:

- Каждый предлагает свой вариант;
- Все голосуют за понравившиеся им вариаты;
- Если один вариант наберет больше голосов, чем другие, то решение будет принято и все пойдут туда;

А теперь проведу аналогию с блокчейном. Участники – это ноды сети. Правилом является алгоритм консенсуса (один из нескольких, скоро расскажу о видах). Процесс принятия решения:

- Ноды проверяют транзакции на соответствие правилам сети;
-
Ноды голосуют за добавление блока с транзакциями в блокчейн;
- Если большая часть нод соглашается, что блок валидный, то есть соответствует правилам, то он
добавляется в цепочку. Консенсус же достигается тогда, когда большинство участников сети подтверждает корректность блока;

Proof of Work

Начнем с самого первого алгоритма консенсуса – Proof of Work, или доказательство выполненной работы. В вышеупомянутом whitepaper bitcoin, Сатоши Накомото так описал суть алгоритма:

Суть заключается в поиске такого значения, чей хэш (например, SHA-256) начинался бы с некоторого числа нулевых битов. Требуется выполнить объем работы, экспоненциально зависящий от числа нулей, но для проверки найденного значения достаточно вычислить лишь один хэш.

Но что это вообще значит? Суть проста – нужно найти такое число, хэш которого начинается с определенного количества нулей. Чем больше нулей требуется в начале хэша, тем сложнее найти подходящее число. Но если кто-то уже нашёл это число, то проверить его можно быстро – достаточно просто один раз посчитать хэш.

Представь, что ты играешь в лотерею:
1. Тебе нужно найти число, которое даёт выигрыш – это как раз
поиск нужного хэша;
2. Ты просто перебираешь билеты, пока не найдёшь нужный – это процесс
майнинга;
3. Как только ты нашёл билет с выигрышем, любой может быстро проверить его по номеру – это
аналог быстрого вычисления хэша для проверки;
Немного исторической справки. Изначально концепт Proof of Work был описан в 1993 году в работе “Pricing via Processing, Or, Combatting Junk Mail, Advances in Cryptology”, идея была следующей:

Чтобы получить доступ к общему ресурсу, пользователь должен вычислить некоторую функцию: достаточно сложную, но посильную; так можно защитить ресурс от злоупотребления

Сам термин алгоритма Proof of Work официально появился в 1999 году благодаря статье “Proofs of Work and Bread Pudding Protocols”.

Сам же Сатоши Накомото взял идею Proof of Work, которая решала тогда следующую задачу: “Найти такое значение x, что хеш содержал бы N старших бит”. Но чтобы майнерам не было слишком просто, Сатоши добавил к ней механизм изменяющейся сложности – увеличение или уменьшение требуемого числа нулей в зависимости от суммарной мощности сети. Что? Вернемся к названию статьи, в которой появился термин PoW: Bread Pudding Protocols. Поэтому приведем пример работы по задумке Сатоши:
Представь, что у тебя ингредиенты и ты хочешь сделать пудинг. Но есть условие:
- Рецепт говорит, что тебе
нужно перемешивать ингредиенты в случайном порядке, пока не получится идеальный пудинг (например, определённая текстура).
-
Ты не знаешь заранее, сколько перемешиваний потребуется – ты просто пробуешь разные варианты, пока не получится нужный результат.

Аналогия с Proof-of-Work:

1. Перемешивание ингредиентов = Перебор значений, пока не найдём нужный хэш.
2. Требование "идеального пудинга" =
Условие, что хэш должен начинаться с N нулей.
3. Чем больше требование к текстуре (чем больше нулей), тем дольше процесс =
Механизм сложности.
4. Кто-то первый добился нужного результата – его проверяют, и всё готово =
Майнер нашёл блок, сеть проверила.

Но что же в этой аналогии связано с Сатоши, что своего он в нее привнес?
Он добавил
механизм изменяющейся сложности. Объясню на примере с данной аналогией:
- Если много поваров делают пудинг слишком быстро –
рецепт усложняется (то есть нужно больше перемешиваний. На примере proof of work – необходимо найти больше нулей)
- Если поваров мало –
рецепт упрощается (необходимо меньше перемешиваний. На примере proof of work – необходимо меньше нулей)
В Bitcoin эта система работала, по сути, именно так как:
- Если майнеры находят блоки слишком быстро –
сложность возрастает;
- Если майнеры слишком медленно находят блоки –
сложность падает;

Но стоп. Мы так и не разобрали развернутое определение майнеров. Кто это такие? Что они делают кроме того, что расходуют все электричество страны и не дают простым людям купить видеокарту за нормальные деньги?
Концепт Proof of Work изначально создан был
не для людей, а для компьютеров, которые имеют сильную вычислительную мощность. Чтобы проводить эти вычислительные процессы – необходимы мощные видеокарты. Майнер – это человек, который имеет сильные вычислительные мощность для поиска значений. Процесс Proof of Work включает в себя попытку найти хеш заголовка блока (часть блокчейна, которая содержит ссылку на предыдущий блок и суммированное значение транзакций, в него включенных), который будет по своему значению соответствовать текущему уровню сложности.
Проще говоря,
PoW – процедура, которая позволяет всем нодам договориться о единой версии блокчейна, а также подтвердить данные о новых транзакциях в новом блоке. Кроме того, она отвечает за эмиссию новых монет в блокчейне. Майнинг – часть алгоритма PoW.
Proof-of-Work, по сути, породил индустрию
майнинга биткоина и стал импульсом к разработке специализированного оборудования — ASIC, поскольку вычислительные ресурсы, расходуемые на хеширование блоков, огромны и намного превышают мощности крупнейших суперкомпьютеров.
В то же время не обошлось и без пресловутой
«обратной стороны медали»: достаточно быстро PoW превратился в монстра, пожирающего электричество в гонке за прибыльностью.
Мощность майнингового оборудования
постоянно растет, увеличивается и число участников этой отрасли. В результате увеличивается суммарное энергопотребление. Однако повышается и энергоэффективность майнеров, а доля биткоина в глобальном потреблении электричества остается невысокой.
Наверное, у вас мог возникнуть вопрос:
а как майнеры понимают что им надо искать? Ну как майнеры понимают что они ищут и что они ищут, к примеру, в Bitcoin? Это интересно, по крайней мере мне. Поэтому это мы разберем чуть поподробнее.
Будем разбирать именно Bitcoin, потом приведу примеры простые, чтобы вам было более понятно то, что я сейчас озвучу. Майнеры в Bitcoin  не просто ищут хаотичные числа, а решают задачу –
найти валидный хэш для нового блока. Они ищут такое число, при котором SHA-256 от заголовка блока даст хэш, начинающийся с нужного кол-ва нулей. Стоп, что такое SHA-256?
SHA-256
– криптографическая хэш-функция, превращающая любые входные данные в уникальный 64-символьный хэш. Вот прям понятно сразу стало, да? Давайте приведу пример.
Представим, что у вас есть цель:
найти хэш, в котором будут первые 3 цифры – нули. Ваш алгоритм должен подбирать всевозможные хэши из одних данных. И пока не подберется такой хэш – вы не решили задачу. Но стоп, данные же одни и те же, значит и хэш всегда будет таким же, разве нет? Верно, поэтому к исходным данным добавляется число nonce, которое расшифровывается как "число, которое использовалось однажды". Чуть ниже я привел пример кода на Python для нахождения хэша вводных данных с условием, что хэш начинается на 00:

Понадобилось 152 попытки, чтобы найти такой хэш. А из чего состоят вводные данные для поиска хэша? Из шаблона блока, который состоит из: 
- Хэша предыдущего блока
- Меркл-корня. Меркл-корень – это хэш от всех транзакций из одного блока
- Времени создания блока
- Цепи сложности. Цепь сложности показывает сколько нулей должно быть в начале хэша
- Nonce. 
Понадобилось 152 попытки, чтобы найти такой хэш. А из чего состоят вводные данные для поиска хэша? Из шаблона блока, который состоит из:  - Хэша предыдущего блока - Меркл-корня. Меркл-корень – это хэш от всех транзакций из одного блока - Времени создания блока - Цепи сложности. Цепь сложности показывает сколько нулей должно быть в начале хэша - Nonce. 

Мы разобрали Proof of Work (PoW) – один из самых первых алгоритмов консенсуса, который позволил биткоину и другим криптовалютам работать без централизованного контроля.

Этот механизм стал основой для создания биткоина, но со временем начал вызывать споры. Высокие затраты на оборудование и электричество привели к поиску альтернативных решений, и одно из них – отказ от вычислений, породившее алгоритм консенсуса Proof of Stake (PoS).

Proof of Stake

Что из себя представляет этот алгоритм? В отличии от Proof of Work, суть которого была такой: кто первый найдет правильный хэш, тот и создаст блок, в Proof of Stake шанс на создание нового блока получает тот, у кого больше монет. Звучит, как какое-то неравенство?

Да, на первый взгляд может показаться, что Proof of Stake (PoS) создает систему, в которой богатые становятся еще богаче. Но давай разберемся глубже: на самом деле, этот механизм делает блокчейн не только более энергоэффективным, но и более безопасным и доступным.

Во-первых, PoS убирает необходимость в огромных вычислительных мощностях, которые требуются для майнинга в Proof of Work (PoW). Это снижает нагрузку на окружающую среду и делает процесс подтверждения транзакций гораздо дешевле.

Во-вторых, участники сети (валидаторы) не просто соревнуются за награду, а вкладывают свои монеты в систему, что делает их напрямую заинтересованными в ее стабильности. Если они попытаются обмануть сеть, они рискуют потерять свои средства. Это уменьшает вероятность атак и делает систему более защищенной.

Наконец, Proof of Stake делает блокчейн более децентрализованным, поскольку теперь для участия в подтверждении транзакций не нужны дорогие фермы или специализированное оборудование – достаточно владеть частью монет. Это открывает доступ к участию в сети более широкому кругу пользователей и способствует демократизации криптовалют.

Из интересного: Идея Proof of Stake была предложена 11 июля 2011 года на популярном форуме Bitcointalk пользователем QuantumMechanic. Сила сообщества, которое поддержало эту идею, вылилась в самый экологичный и децентрализованный способ создания блоков.

Стоп стоп. Я вот тут красиво рассказываю про экологичность и децентрализацию, а суть работы с примерами не объяснил. Сейчас все поясню

Представь, что у нас есть группа друзей, которые хотят решить, кто будет записывать важные события в общий дневник. В системе Proof of Work это выглядело бы так: каждый друг берет сложный математический пример и пытается его решить как можно быстрее. Кто первый справился – тот и записывает событие в дневник, а остальные просто потратили время и силы зря.

Теперь представим Proof of Stake. Здесь никто не решает сложные примеры, а вместо этого каждый кладет на стол монетки (ставит их на кон). Чем больше монет у человека, тем выше его шанс быть выбранным для записи события в дневник. Но важный момент: если он попробует обмануть, его монеты могут забрать.

То есть в Proof of Stake не нужно бегать наперегонки, тратя кучу энергии, – просто доверяем тому, кто вложил больше.

Теперь давайте перенесем эту аналогию на реальный блокчейн, например Ethereum. Здесь вместо друзей — участники сети, а вместо монеток — криптовалютные токены ETH. Но как именно это работает? Давайте разберемся.

Как Proof of Stake работает в Ethereum?
Ранее я уже упомянул блокчейн Ethereum. Это первый блокчейн, построенный на смарт-контрактах Канадско-Российским программистом и претендентом на Нобелевскую Премию в области экономики – Виталиком Бутерином. До 2022-го года блокчейн Ethereum для создания блоков использовал алгоритм Proof of Work, но в 2022-м решили перейти на Proof of Stake. Давайте разберем поподробнее как работает PoS в Ethereum

1. Стейкинг (Staking)

В Ethereum участники, которые хотят участвовать в процессе создания блоков, должны "заблокировать" определенное количество ETH в специальном смарт-контракте. Это называется стейкинг. Минимальная сумма для стейкинга в Ethereum – 32 ETH ($86.000). Эти ETH выступают в роли твоих "монеток", которые ты кладешь на стол, чтобы доказать свою заинтересованность в честной работе сети. За стейкинг ETH участники получают от 4.5 до 7.4% APR. APR – годовая процентная ставка. Это можно сравнить с депозитом в банке. Кладя деньги в банк на депозит, как мы говорили в начале лекции, банк использует деньги для выдачи кредитов, а потом возвращает вам деньги с процентами. Здесь система примерно такая же. Но только монеты со стейкинга блокчейн не использует для выплат кому-то. Монеты замораживаются на кошельке, поэтому они не могут участвовать в обороте. Но эти монеты используются в алгоритме PoS для создания новых блоков, именно с создания блока получает вознаграждение пользователь.

2. Валидаторы (Validators)

Участники, которые заблокировали свои ETH, становятся валидаторами. Их задача – проверять транзакции и предлагать новые блоки. Валидаторы выбираются случайным образом, но шанс быть выбранным зависит от количества ETH, которое они заблокировали. Чем больше ETH у валидатора, тем выше его шанс быть выбранным.

3. Создание блока

Когда валидатор выбран, он собирает транзакции из мемпула (очереди транзакций), проверяет их на корректность и формирует новый блок. После этого блок добавляется в блокчейн, а валидатор получает вознаграждение в виде новых ETH.
Если более простым языком. Представим очередь в магазине на кассе. Это мемпул. Кассир является валидатором. Он получает продукты, пробивает их, складывает в пакет. Если оплата у покупателя прошла успешно, то он отдает ему пакет (новый блок) а сам получает вознаграждение (зарплату).

4. Механизм согласия (Consensus)

Чтобы блок был окончательно добавлен в блокчейн, другие валидаторы должны подтвердить его корректность. Это называется "достижение консенсуса". Если большинство валидаторов согласны, что блок валиден, он добавляется в цепочку. Если кто-то пытается обмануть (например, добавить поддельные транзакции), его ETH могут быть "сожжены" (уничтожены) или заблокированы.

Что происходит, если валидатор пытается обмануть? В Proof of Stake есть механизм наказания за нечестное поведение, который называется "слэшинг" (slashing). Если валидатор пытается обмануть систему (например, предлагает два разных блока одновременно или подтверждает неверные транзакции), его ETH могут быть частично или полностью конфискованы. Это серьезный стимул для всех участников соблюдать правила.

Завершение

Статья не самых маленьких объемов, но, как по мне, это "базовый минимум", который должен знать каждый, кто погружается в мир криптовалют и блокчейна. Спасибо за прочтение, подписывайтесь на мой канал в Telegram: Chernikov & Web3