share
Где есть системы, там есть протоколы.
Технология блокчейн возникла как передовое решение проблем, о существовании которых люди даже не подозревали. Вместе с ней появилось множество терминов и концепций, которые до сих пор остаются непонятыми. Один из таких терминов — протокол блокчейна — часто используется взаимозаменяемо с блокчейн-сетями, хотя это не совсем одно и то же.
В этом посте мы разберем понятие протокола блокчейна, его отличия от самого блокчейна, а также некоторые из его ключевых механизмов работы и применений.
Что такое сеть блокчейна?
Блокчейн — это базовый слой всего крипто. Это децентрализованная сеть, которая позволяет осуществлять быстрые, разрешенные, анонимные и безопасные транзакции с цифровым активом от одного участника к другому по всему миру. Сеть служит распределенной базой данных: все транзакции, когда-либо совершенные на блокчейне, являются открытыми, анонимными, сохранены в блоках и могут быть просмотрены любым.
![](https://icoda.io/wp-content/uploads/2023/08/protocol8.png)
Блокчейн работает на основе распределенной сети узлов — компьютеров, работающих для поддержки сети по всему миру. Узлы обычно работают в качестве майнеров (в сетях Proof of Work, таких как Bitcoin) или стейкеров/делегаторов (как в сетях Proof of Stake, например, Ethereum или Cardano). За свои усилия майнеры и стейкеры получают долю от комиссий за транзакции, которые они помогают проверить.
Майнеры в сетях Proof-of-Work обязаны расшифровывать хеш — уникальный криптографический идентификатор — следующего блока транзакций. Для этого они используют вычислительные мощности и, по сути, соревнуются в скорости вычислений. В сетях Proof-of-Stake это делается не путем вычислений, а путем удержания большого количества внутренней валюты сети и, таким образом, имея право голоса в том, какие блоки следует утвердить следующими.
Сам блокчейн был разработан на основе Bitcoin, также как и BTC, первая криптовалюта, существовавшая когда-либо. Задуманный неизвестным лицом по имени Сатоси Накамото, блокчейн Bitcoin был воплощен в жизнь символически децентрализованной группой энтузиастов.
Криптовалюта Bitcoin служит топливом для сети, поскольку пользователи оплачивают часть своих транзакций в качестве комиссии за перевод.
Блокчейн Ethereum был создан на основе Bitcoin и расширил арсенал блокчейна с помощью смарт-контрактов. Смарт-контракты — это заранее закодированные алгоритмы, которые выполняются сами собой, когда достигается определенный набор условий. Например, отправить 200 ETH на адрес (X), как только номер токена NFT (XYZ) будет получен с этого адреса.
Смарт-контракты обеспечивают беспрецедентную гибкость в развертывании приложений блокчейна и являются, по сути, основой всех сегодняшних DeFi. Созданные благодаря сети Ethereum, смарт-контракты стали популярны и были реализованы в большинстве известных сегодня протоколов блокчейна.
Теперь, когда мы установили, что такое сеть блокчейна, давайте разберемся, что такое протокол блокчейна.
Протокол блокчейна в основном — это правила, регулирующие работу сети блокчейна. Это НЕ сама сеть блокчейна, а скорее набор правил, заложенных во все ее механизмы. Он определяет, когда, как и в какой степени различные элементы сети могут или не могут выполнять определенные действия.
![Blockchain Protocols and Their Working](https://icoda.io/wp-content/uploads/2023/08/protocol7.png)
Основой каждого блокчейна является набор протоколов, которые управляют каждым его движением. Эти протоколы являются столбами, поддерживающими безопасность, связность и процедуры консенсуса сети, обеспечивая бесперебойную работу. Без центрального органа, контролирующего транзакции, эти протоколы являются ключевыми участниками в поддержании доверенной копии реестра и верификации транзакций через метод консенсуса. После верификации они записываются в неизменяемые блоки.
Основные протоколы вокруг нас
Где есть системы, там есть протоколы. Протокол — это фундаментальный слой кода, который сообщает, как что-то должно функционировать. Конечно, протоколы не ограничиваются криптовалютами. Они являются основой того, как работает интернет, управляя передачей данных от одного компьютера к другому.
Многие вещи, которые мы сегодня принимаем как должное, были включены и управляются сетевыми протоколами. Самые известные из них включают TCP/IP: Протокол управления передачей/Протокол интернета, используемый для подключения устройств к Интернету, и HTTP/HTTPS: Протокол передачи гипертекста (HTTP), используемый для передачи данных между веб-серверами и клиентами.
Что делает блокчейн-протоколы особенными?
Однако, когда речь идет о блокчейн-протоколах, есть разница. Это становится более интересным и сложным, чем традиционная передача данных. Блокчейн-сеть — это распределенная система принятия решений, каждый участник которой должен делать больше, чем просто следовать алгоритмам. Это означает, что набор правил должен быть согласован, наблюдаем и проверен всеми узлами, составляющими сеть.
Вот где начинается небольшая сложность. Существует три типа блокчейн-протоколов:
- Протокол сети
- Протокол консенсуса
- Функция перехода состояния
Каждый из этих типов одинаково важен, и все три должны быть строго соблюдены, чтобы всё работало гладко.
Протокол сетевого взаимодействия
Протокол сетевого взаимодействия устанавливает правила, согласно которым узлы сети могут (и не могут) общаться. Это включает в себя способы обнаружения и идентификации друг друга узлами, обмен информацией о блоках, транзакциях и других важных аспектах. Он содержит синтаксис, определяющий, как узлы должны расшифровывать сообщения друг друга.
Протокол консенсуса
Протокол консенсуса определяет, как узлы соглашаются о том, какие транзакции считать допустимыми или недопустимыми. Как вы, возможно, знаете, каждый узел хранит полную копию всей сети на своем жестком диске. Копия включает каждый бит данных, когда-либо зарегистрированный в сети. Каждая копия обновляется в реальном времени при создании новых блоков и проверке новых транзакций.
Таким образом, когда узел отправляет новый блок для добавления в сеть, он не отправляет только этот блок — на самом деле он отправляет свою полную копию блокчейна на текущий момент. И задача каждого узла в сети — просматривать, оценивать и (не)подтверждать каждую копию сети, представленную всеми другими узлами. В сетях с доказательством работы, таких как Bitcoin, только самая длинная цепь блоков проходит проверку, что означает, что большинство узлов согласны с ее допустимостью. Как вы можете себе представить, это требует огромного объема работы и занимает много вычислительной мощности.
В сетях с доказательством доли, валидаторы выбираются случайным образом сетью из узлов, у которых в кошельках большие суммы собственной криптовалюты сети. Некоторые могут сравнивать такой подход с капиталистическим монополизмом, но перспектива монополизации сети была предотвращена заранее. Это включает в себя ограничение количества, которое каждый узел может делегировать, количество транзакций, которые он может проверять, частоту этих проверок и т. д. В любом случае, ограничения и ограничения прописаны в протоколе.
Функция перехода состояния
Вот где дела становятся действительно техническими.
Состояние — это по сути то, что сеть «думает» о ситуации в данный момент. Текущие «местоположения», взаимоотношения и движения всех узлов, транзакций и блоков — все составляет состояние сети.
Состояние сети изменяется с течением времени, а также набор и баланс элементов в нем. Функция перехода состояния должна быть зарегистрирована определенным образом, и протокол сети следит за этим. По мере того как узлы входят и покидают сеть, обмениваются информацией и изменяют структуру блокчейна, возникают новые возможности, а также новые сложности.
Состояние включает в себя все, что сеть может и не может делать в данный момент. Если условия A и B выполнены, то сеть может делать X и Y не больше. Если состояние определено условиями C и D, то единственными возможными действиями будут W и Z. Это изменение логики крайне важно для работы сети.
![A blockchain protocol need to be followed by all the nodes of the network](https://icoda.io/wp-content/uploads/2023/08/protocol2.png)
Каждая описанная выше часть служит кусочком троичной головоломки, называемой Проверенным Состоянием. При вводе информации о транзакциях в Протокол Сетевого Взаимодействия она там проверяется или отбрасывается. Если информация подтверждается, она затем переходит к Протоколам Согласования, которые выступают в роли пропускного пункта. Он позволяет данным войти в состояние сети, если данные согласуются с данными других узлов.
Если данные приняты, они затем передаются в функцию Перехода Состояния, где они становятся новым Проверенным Состоянием сети. Проверенное Состояние — это практическая граница, которая определяет, что на самом деле «происходит» после добавления блока в цепочку. Это может включать изменение баланса определенного кошелька или запуск смарт-контракта.
Может ли Узел Отклониться От Протокола?
Может ли узел не подчиняться протоколу, и если да, что происходит? Как уже упоминалось, для проверки блоков все узлы должны проверять всю информацию, представленную другими узлами в сети. Для этого протокол блокчейна должен быть строго соблюден. Если один узел не следует за ним, то он просто не сможет сотрудничать с другими узлами и, следовательно, не сможет получить вознаграждение. Это означает, что в блокчейне нет места для разногласий, делая его состояние в основном тоталитарным.
Однако иногда блокчейн насильственно или намеренно разделяется на две части, что называется вилкой. Разделение происходит именно потому, что некоторые узлы представляют данные, противоречащие данным остального распределенного реестра.
![A blockchain only keeps blocks agreed upon by all nodes of the network](https://icoda.io/wp-content/uploads/2023/08/protocol6.png)
В нормальных условиях сеть не будет беспокоиться о причинах неполадок с данными — она просто отключит узел от остальной части сети, оставив его без поддержки. Таким образом, потенциально вредоносные узлы отключаются от воздействия на сеть. Возможно, что большинство всех «неправильных» копий каждого блокчейна до сих пор хранятся где-то в настоящее время.
Однако вилки могут быть также и хорошим явлением. Блокчейн сеть не может просто «обновить» свое текущее состояние. Каждое новое проверенное состояние — это полноценная новая копия сети.
![A blockchain network can split into two, sometimes creating new networks along the way](https://icoda.io/wp-content/uploads/2023/08/protocol5.png)
Вы, возможно, слышали, что каждое крупное обновление блокчейна называется Fork. Таким образом, когда блокчейну требуется обновление, его специально разделяют на новую копию разработчики. Предыдущая версия сохраняется как наследие, в то время как новая копия становится настоящей.
Понимание протокола Bitcoin
Давайте немного поглубже вникнем в то, что управляет протоколом блокчейна. В качестве примера давайте рассмотрим сеть Bitcoin.
Биткоины не передаются, как куски золота. Когда вы отправляете или получаете BTC, вы фактически не «получаете» или «даете» биткоины. Фактически каждая новая транзакция регистрирует цифровую подпись. Эта подпись содержит хэш — уникальный криптографический идентификатор предыдущей транзакции — и открытый ключ получателя. Таким образом, каждая транзакция защищена криптографическим доказательством, которое нельзя изменить или подделать.
![The structure of transaction in the Bitcoin blockchain](https://icoda.io/wp-content/uploads/2023/08/protocol4.png)
Основная озабоченность покупателей и продавцов в онлайн-среде заключается в том, что в какой-то момент они могут стать жертвами финансового мошенничества. Это может произойти в форме фишинга или открытого фальсификации транзакций. Существует также проблема двойного расходования и даже простого вмешательства в систему в поисках неправомерной выгоды. Поскольку блокчейн не подчиняется центральному управлению, все вопросы безопасности транзакций полностью ложатся на плечи протокола.
Разработчики Bitcoin решили эти проблемы и ввели механизмы, такие как цифровые подписи и криптографическое доказательство, чтобы смягчить их. Таким образом, протокол Bitcoin позволяет проверять блоки только в том случае, если криптографическое доказательство соответствует тому, что присутствует в других узлах.
Сервер временных меток и система Proof-of-Work
Двойное расходование — это серьезная проблема в блокчейне. Это ситуация, когда пользователь пытается потратить одну и ту же цифровую валюту дважды. Это может произойти из-за цифровой природы валюты, что потенциально упрощает ее копирование или репликацию без обнаружения.
Предположим, у пользователя есть 1 BTC, и он пытается потратить его дважды, отправляя его на два различных адреса. В традиционной платежной системе система обнаружила бы попытку двойного расходования и отклонила бы транзакцию. Однако в децентрализованной сети блокчейна это предотвращается системой proof-of-work и алгоритмом консенсуса, который гарантирует, что каждая транзакция является действительной и не была потрачена ранее.
![A timestamp is attached to each block](https://icoda.io/wp-content/uploads/2023/08/protocol3.png)
Для обеспечения этого протокол Bitcoin реализовал сервер временных меток, который присваивает уникальную временную метку каждому хэшу транзакции. Система proof-of-work учитывает каждую временную метку и отклоняет любые транзакции с хэшем, совпадающим с теми, которые уже зарегистрированы в системе.
Каждый новый блок, созданный в сети Bitcoin, содержит привязанный к нему доказательство работы. Это доказательство также называется Nonce или Number Only Generated Once. Оно служит криптографическим доказательством того, что майнер потратил некоторые вычислительные ресурсы на проверку блока и был успешным.
Однако бывают и плохие блоки, содержащие данные, противоречащие тому, что было добыто другими узлами. В случае обнаружения плохого блока он извлекается и дополнительно проверяется на наличие несоответствий. Если он признается действительным, блок добавляется в сеть как обычно. В противном случае — он отбрасывается.
Крупнейшие протоколы до сих пор
Сказанное говорит о том, что каждая крупная сеть следует своему собственному протоколу, разработанному специально для ее механизма консенсуса. Сеть Bitcoin работает на протоколе Bitcoin, Ethereum — на протоколе Ethereum и так далее.
Ниже представлены наиболее известные протоколы блокчейна на сегодня:
Polkadot (DOT)
Polkadot — это передовой протокол блокчейна, который революционизировал взаимодействие между различными блокчейнами, обеспечивая безпрепятственное общение и обмен данными с помощью смарт-контрактов. Его уникальный механизм консенсуса Nominated Proof of Stake (NPoS) предлагает высоко защищенную и масштабируемую платформу с ультра-быстрым средним временем формирования блока всего в 6 секунд и низкими комиссиями за транзакции, в среднем составляющими 0,10-0,20 доллара.
Заметные проекты: Kusama, ChainX, Moonbeam, Chainlink, Reef Finance
Avalanche (AVAX)
Avalanche — это открытая платформа с открытым исходным кодом, которая стала символом надежды для энтузиастов децентрализованных финансов (DeFi) и разработчиков блокчейна по всему миру. Его передовой механизм консенсуса Avalanche позволяет обеспечивать высокую пропускную способность и быстрое завершение, делая его одним из наиболее масштабируемых и быстрых блокчейнов на рынке. Аваланч характеризуется средним временем формирования блока всего в 2 секунды и комиссиями за транзакции, в среднем не превышающими 1 доллар.
Заметные проекты: Pangolin, Trader Joe, Benqi, Lydian Lion, SushiSwap
Polygon (MATIC)
Polygon — это масштабируемое решение следующего поколения для Ethereum, которое решает проблемы масштабируемости и комиссий за транзакции. Его механизм консенсуса Proof-of-Stake (PoS) быстро подтверждает финансовые транзакции, среднее время формирования блока составляет 2-3 секунды, что значительно быстрее, чем у Ethereum. Средняя комиссия за транзакцию на Polygon составляет 0,002 доллара, что делает его идеальным выбором для разработчиков, строящих экономически эффективные децентрализованные приложения.
Заметные проекты: Aave, Quickswap, Curve Finance, Polymarket, Zapper
Solana (SOL)
Solana — это высокопроизводительная блокчейн-платформа, которая взорвала рынок блокчейнов благодаря своему механизму консенсуса Proof-of-History (PoH). Благодаря высокой пропускной способности и быстрой финальности, среднее время формирования блока на Solana составляет 0,4-0,8 секунды, а средняя комиссия за транзакцию — 0,00025 доллара, что делает ее невероятно быстрой и доступной блокчейн-платформой.
Заметные проекты: Raydium, Serum, Mango Markets, Audius, Bonfida
Binance Smart Chain (BSC)
Binance Smart Chain — это блокчейн-платформа, которая изменила правила игры благодаря своей совместимости с Ethereum Virtual Machine (EVM) и способности запускать децентрализованные приложения. Ее совместимость также делает ее привлекательным вариантом для разработчиков, желающих перенести свои приложения с Ethereum на более эффективную и экономичную платформу.
Заметные проекты: PancakeSwap, Venus, Spartan Protocol, BakerySwap, Autofarm
Где искать решения для разработки блокчейна
В ICODA у нас многолетний опыт в области разработки блокчейна и создания работающих блокчейн-продуктов. Если у вас есть проект по разработке программного обеспечения для блокчейна, мы готовы помочь. Независимо от того, нужен вам токен или DApp, DEX или рынок NFT, или вы просто хотите понять, как решения в области разработки блокчейна могут быть полезны для вашего бизнеса — вы попали по адресу. Свяжитесь с нами сейчас, чтобы получить краткий план и начать работу в ближайшее время.