Где есть системы, там есть и протоколы
Технология блокчейн появилась как революционное решение проблем, о которых люди не подозревали. Вместе с ним появилось множество терминов и понятий, которые остаются необъяснимыми и по сей день. Одним из таких терминов является протокол блокчейна - термин, который часто используется как взаимозаменяемый с блокчейн-сетями, хотя это не совсем одно и то же.
В этом посте мы разберем концепцию протокола блокчейна, его отличия от блокчейна как такового, а также некоторые ключевые моменты его работы и применения.
Что такое сеть блокчейн?
Блокчейн - это базовый слой всех криптовалют. Это децентрализованная сеть, которая обеспечивает быстрые, безразрешительные, анонимные и безопасные транзакции с одноранговыми цифровыми активами по всему миру. Сеть служит распределенной базой данных: все транзакции, когда-либо проведенные в блокчейне, открыты, анонимны, хранятся в блоках и могут быть просмотрены любым человеком.

Блокчейн питается от распределенной сети узлов - компьютеров, работающих для поддержания сети по всему миру. Узлы обычно работают в качестве майнеров (в сетях Proof of Work, таких как Bitcoin) или стейкеров/делегатов (как в сетях Proof of Stake, таких как Ethereum или Cardano). За свои усилия майнеры и стейкеры получают часть платы за транзакции, которые они помогают проверять.
Майнерам в сетях Proof-of-Work поручено расшифровать хэш - уникальный криптографический идентификатор - следующего блока транзакций. Для этого они используют сырые вычислительные мощности и, по сути, соревнуются в скорости вычислений. В сетях Proof-of-Stake это делается не путем вычислений, а путем владения большим количеством собственной валюты сети, что дает возможность решать, какие блоки будут утверждены следующими.
Пионером блокчейна как такового стал Биткойн, как и BTC, первая существующая криптовалюта. Задуманный неизвестным человеком под именем Сатоши Накамото, блокчейн Bitcoin был воплощен в жизнь довольно символично децентрализованной группой энтузиастов.
Криптовалюта Bitcoin служит топливом для сети, поскольку пользователи платят долю от своих транзакций в качестве комиссии за перевод.
Блокчейн Ethereum был построен на базе Bitcoin и расширил арсенал блокчейна смарт-контрактами. Смарт-контракты - это заранее закодированные алгоритмы, которые выполняются сами собой при выполнении определенного набора условий. Например, отправьте 200 ETH на адрес (X), как только с указанного адреса будет получен номер токена NFT (XYZ).
Смарт-контракты обеспечивают беспрецедентную гибкость при развертывании блокчейн-приложений и, по сути, являются основой всех современных DeFi. Смарт-контракты, пионером которых стала сеть Ethereum, подхватили и внедрили в большинство известных сегодня протоколов блокчейн.
Теперь, когда мы выяснили, что такое сеть блокчейн, давайте разберемся, что такое протокол блокчейн.
Протокол блокчейна - это, по сути, правила, регулирующие работу сети блокчейна. Это НЕ сеть блокчейн как таковая, а скорее набор правил, заложенных во все ее механизмы. Он определяет, когда, как и в каком объеме различные элементы сети могут или не могут выполнять определенные действия.

Основой каждого блокчейна является набор протоколов, которые управляют каждым его шагом. Эти протоколы - столпы, которые поддерживают безопасность, связь и процедуры консенсуса в сети, гарантируя, что все работает как часы. При отсутствии центрального органа, контролирующего транзакции, эти протоколы играют ключевую роль в поддержании доверенной копии бухгалтерской книги и проверке транзакций с помощью метода консенсуса. После проверки они записываются в неизменяемые блоки.
Основные протоколы вокруг нас
Где есть системы, там есть и протоколы. Протокол - это основополагающий слой кода, который указывает чему-то, как функционировать. Конечно, протоколы не ограничиваются только криптовалютой. Они являются основой работы Интернета, регулируя передачу данных от одного компьютера к другому.
Многие вещи, которые мы сегодня считаем само собой разумеющимися, стали возможными и управляются сетевыми протоколами. К наиболее известным из них относятся TCP/IP: Transmission Control Protocol/Internet Protocol, используемый для соединения устройств через Сеть, и HTTP/HTTPS: Hypertext Transfer Protocol (HTTP), используемый для передачи данных между веб-серверами и клиентами.
Чем отличаются протоколы блокчейн?
Однако есть разница, когда речь идет о протоколах блокчейн. Это становится интереснее и сложнее, чем традиционная передача данных. Сеть блокчейн - это распределенная система организмов, принимающих решения, каждый из которых должен не просто следовать алгоритмам. Это означает, что набор правил должен быть согласован, соблюдаться и проверяться всеми узлами, входящими в сеть.
Вот здесь все становится немного сложнее. На самом деле существует 3 типа протоколов блокчейна:
- Сетевой протокол
- Протокол консенсуса
- Функция перехода в состояние
Каждый тип так же важен, как и другие, и все три типа должны быть соблюдены в точности, чтобы все шло гладко.
Сетевой протокол
Сетевой протокол устанавливает правила, по которым узлы сети могут (и не могут) взаимодействовать. Сюда входит то, как узлы обнаруживают и узнают друг друга, обмениваются информацией о блоках, транзакциях и других обычных вещах. Он содержит синтаксис, определяющий, как узлы должны расшифровывать сообщения друг друга.
Протокол консенсуса
Протокол консенсуса описывает, как узлы договариваются о том, какие транзакции считать действительными или недействительными. Как Вы, вероятно, знаете, каждый узел хранит полную копию всей сети на своих жестких дисках. Копия включает в себя каждый бит данных, когда-либо зарегистрированных в сети. Каждая копия обновляется в режиме реального времени по мере того, как подделываются новые блоки и подтверждаются новые транзакции.
Таким образом, когда узел отправляет новый блок для добавления в сеть, он отправляет не просто один блок - он фактически отправляет всю свою копию блокчейна на сегодняшний день. И задача каждого отдельного узла в сети - просканировать, оценить и (ин)валидировать каждую копию сети, представленную всеми остальными узлами. В таких Proof-of-Work сетях, как Bitcoin, только самая длинная цепочка блоков получает валидацию, что означает, что большинство узлов согласны с ее достоверностью. Как Вы можете себе представить, это чертовски много работы и требует примерно столько же вычислительной мощности.
В сети proof-of-stake валидаторы выбираются случайным образом из числа узлов, которые держат в своих кошельках большое количество собственных монет сети. Кто-то может приравнять такой подход к капиталистической монополии, но перспектива монополизации сети была решена заранее. Это включает в себя ограничение суммы, которую каждый узел может поставить на кон, количество транзакций, которые ему разрешено проверять, частоту этих проверок и т.д. Как бы то ни было, все пределы и ограничения изложены в протоколе.
Функция перехода состояния
Здесь все становится по-настоящему техничным.
Состояние - это, по сути, то, что сеть "считает" таковым в любой момент времени. Текущие "местоположения", отношения между и перемещения всех узлов, транзакций и блоков - все это составляет состояние сети.
Состояние сети меняется со временем, как и набор и баланс элементов в ней. Переход состояния должен быть зарегистрирован определенным образом, и сетевой протокол также следит за этим. По мере того, как узлы входят и выходят из сети, обмениваются информацией и изменяют структуру блокчейна, появляются новые возможности, а также новые сложности.
Состояние включает в себя все, что сеть может и не может делать в любой момент времени. Если условия A и B выполнены, то сеть способна делать X и Y не более. Если состояние определяется условиями C и D, то единственными возможными действиями будут W и Z. Этот сдвиг в логике имеет решающее значение для работы сети.

Каждая часть, описанная выше, служит кусочком триединой головоломки, называемой Верифицированным государством. По мере того, как информация о транзакциях попадает в протокол Networking, она подтверждается или отбрасывается там. Если он подтвержден, то переходит к протоколам консенсуса, которые служат в качестве привратника. Она позволяет данным попадать в состояние сети, если они согласуются с данными других узлов.
Если данные приняты, они передаются в функцию перехода состояния, где становятся новым подтвержденным состоянием сети. Состояние верификации - это практический рубеж, определяющий, что на самом деле "происходит" после добавления блока в цепочку. Это может включать изменение баланса определенного кошелька или запуск смарт-контракта.
Может ли узел отклониться от протокола?
Может ли узел нарушить протокол, и если да, то что произойдет? Как уже говорилось, проверка блоков требует, чтобы все узлы проверяли все данные, предоставленные другими узлами в режиме онлайн. Для этого протокол блокчейна должен быть соблюден до мелочей. Если один узел не подчиняется - значит, он просто не сможет сотрудничать с другими узлами и, следовательно, не сможет получить выгоду. Это означает, что в блокчейне нет места разногласиям, что делает его государство по сути тоталитарным.
Однако иногда блокчейн принудительно или преднамеренно разделяется на две части, что называется форком. Форкинг происходит именно потому, что некоторые узлы предоставляют данные, противоречащие данным остальных узлов распределенной бухгалтерской книги.

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

Возможно, Вы слышали, что каждое крупное обновление блокчейна называется форком. Таким образом, когда блокчейн нуждается в обновлении, разработчики намеренно создают новую копию. Версия до обновления сохраняется как наследие, а новая версия становится настоящей.
Понимание протокола Биткойна
Давайте немного углубимся в то, какие вещи регулирует протокол блокчейн. В качестве примера возьмем сеть Bitcoin.
Биткойны не передаются по рукам и ногам, как куски золота. Отправляя и получая BTC, Вы на самом деле не "получаете" и не "дарите" биткоины. На самом деле происходит так: каждая новая транзакция регистрирует цифровую подпись. Подпись содержит хэш - уникальный криптографический идентификатор предыдущей транзакции - и открытый ключ получателя. Таким образом, каждая транзакция защищена криптографическим доказательством, которое невозможно изменить или подделать.

Главное опасение покупателей и продавцов в Интернете заключается в том, что в какой-то момент ими могут воспользоваться и они станут жертвами финансового мошенничества. Это может происходить в форме фишинга или откровенно поддельных транзакций. Существует также проблема двойных расходов, а также простого вмешательства в систему в поисках нечестной прибыли. Поскольку блокчейн не управляется центральным органом, все заботы о безопасности транзакций полностью ложатся на плечи протокола.
Разработчики Биткойна учли эти опасения и ввели такие механизмы, как цифровые подписи и криптографические доказательства, чтобы смягчить их. Таким образом, протокол Биткойна позволяет подтверждать только те блоки, криптографическое доказательство которых совпадает с доказательством, имеющимся на других узлах.
Сервер временных меток и система доказательства работы
Двойные расходы - это огромная проблема в блокчейне. Это сценарий, в котором пользователь пытается потратить одну и ту же цифровую валюту дважды. Это может произойти из-за цифровой природы валюты, что потенциально облегчает копирование или тиражирование валюты без обнаружения.
Предположим, у пользователя есть 1 BTC, и он пытается потратить его дважды, отправив на два разных адреса. В традиционной платежной системе система обнаружила бы попытку двойной траты и отклонила бы транзакцию. Однако в децентрализованной сети блокчейн это предотвращается благодаря системе доказательства работы и алгоритму консенсуса, которые гарантируют, что каждая транзакция действительна и не была уже потрачена.

Чтобы обеспечить это, в протоколе Биткойн реализован сервер временных меток, который прикрепляет уникальную временную метку к хэшу каждой транзакции. Система proof-of-work учитывает каждую временную метку и отклоняет любые транзакции, хэш которых совпадает с уже зарегистрированными в системе.
Каждый новый блок, созданный в сети Биткойн, имеет прикрепленный к нему proof-of-work. Доказательство также называется Nonce или Number Only Generated Once. Он служит криптографическим доказательством того, что майнер потратил некоторое количество вычислительных мощностей на проверку блока и добился успеха.
Однако есть и плохие блоки, содержащие данные, противоречащие тем, что были добыты другими узлами. В случае обнаружения плохого блока, он извлекается и подвергается дальнейшей оценке на предмет несоответствий. Если блок признан действительным, он будет добавлен в сеть, как обычно. Если нет - его выбрасывают.
Протокольные большие дела на сегодняшний день
При этом каждая крупная сеть следует своему собственному протоколу, разработанному специально для ее механизма консенсуса. Сеть Bitcoin работает на протоколе Bitcoin, Ethereum - на протоколе Ethereum и т.д.
Ниже представлены наиболее известные на сегодняшний день протоколы блокчейн:
Polkadot (DOT)
Polkadot - это новаторский блокчейн-протокол, который произвел революцию во взаимодействии между различными блокчейнами, обеспечив бесперебойную связь и обмен данными с помощью смарт-контрактов. Уникальный механизм консенсуса Nominated Proof of Stake (NPoS) обеспечивает высокую безопасность и масштабируемость платформы с ультрабыстрым средним временем блокировки всего 6 секунд и низкими комиссиями за транзакции, составляющими в среднем $0,10-0,20.
Примечательные проекты: Кусама, ChainX, Moonbeam, Chainlink, Reef Finance
Avalanche (AVAX)
Avalanche - это платформа с открытым исходным кодом, которая стала маяком надежды для энтузиастов децентрализованных финансов (DeFi) и разработчиков блокчейна по всему миру. Его передовой механизм консенсуса Avalanche обеспечивает высокую пропускную способность и быстрое завершение работы, что делает его одним из самых масштабируемых и быстрых блокчейнов на рынке. Avalanche может похвастаться средним временем блокировки в 2 секунды и комиссиями за транзакции, которые в среднем составляют менее $1.
Примечательные проекты: Pangolin, Trader Joe, Benqi, Lydian Lion, SushiSwap
Полигон (MATIC)
Polygon - это решение следующего поколения для масштабирования второго уровня, которое решает проблемы масштабируемости и комиссии за транзакции в Ethereum. Его механизм консенсуса Proof-of-Stake (PoS) быстро подтверждает финансовые транзакции, при этом среднее время блокировки составляет 2-3 секунды, что намного быстрее, чем у Ethereum. Со средней комиссией за транзакцию в $0,002, Polygon - идеальный выбор для разработчиков, желающих создавать экономически эффективные децентрализованные приложения.
Примечательные проекты: Aave, Quickswap, Curve Finance, Polymarket, Zapper
Солана (SOL)
Solana - это высокопроизводительная блокчейн-платформа, которая захватила индустрию блокчейна благодаря своему механизму консенсуса Proof-of-History (PoH). Высокая пропускная способность и быстрое завершение работы Solana, со средним временем блокировки 0,4-0,8 секунды и средней комиссией за транзакцию $0,00025, делают ее невероятно быстрой и доступной блокчейн-платформой.
Примечательные проекты: Raydium, Serum, Mango Markets, Audius, Bonfida
Интеллектуальная цепочка Binance (BSC)
Binance Smart Chain - это блокчейн-платформа, которая изменила игру благодаря совместимости с Ethereum Virtual Machine (EVM) и возможности запускать децентрализованные приложения. Его совместимость также делает его привлекательным вариантом для разработчиков, желающих перенести свои приложения с Ethereum на более эффективную и экономичную платформу.
Примечательные проекты: PancakeSwap, Venus, Spartan Protocol, BakerySwap, Autofarm
Где искать решения для разработки блокчейна
В компании ICODA мы обладаем многолетним опытом в области услуг по разработке блокчейна и создания работающих продуктов на основе блокчейна. Если у Вас есть проект по разработке программного обеспечения для блокчейна, мы готовы помочь. Если Вам нужен токен или DApp, запуск DEX или NFT marketplace, или Вы просто пытаетесь понять, как решения по разработке блокчейна могут принести пользу Вашему бизнесу - Вы пришли в нужное место. Свяжитесь с нами прямо сейчас, чтобы получить краткий план и начать работу в ближайшее время.