Если вы каким-либо образом изучали криптовалюты или блокчейн, вы, вероятно, встречали такие термины, как протоколы первого и второго уровня. Вам интересно, что это за слои и почему они существуют? Давайте обсудим архитектуру уровня блокчейна в этой статье.
Технология Blockchain представляет собой уникальное сочетание нескольких современных технологий - криптографии, теории игр и т. д. - с широким спектром возможных приложений, таких как криптовалюты. Кодирование и декодирование данных - это математическая и вычислительная дисциплина, известная как криптография. Изучение математических моделей стратегического взаимодействия между рациональными лицами, принимающими решения, известно как теория игр. Блокчейн устраняет посредников, снижает затраты и повышает эффективность, обеспечивая прозрачность и безопасность.
Без надзора со стороны центрального органа технология распределенного реестра (DLT) хранит информацию, подтвержденную криптографией, среди группы пользователей, которые согласились с помощью заранее определенного сетевого протокола. Сочетание этих технологий способствует укреплению доверия между людьми или сторонами, у которых в противном случае не было бы мотива для этого. Они позволяют сетям блокчейнов безопасно обмениваться данными и ценностями между пользователями.
Из-за отсутствия централизованного управления блокчейны должны быть очень безопасными. Они также должны быть чрезвычайно масштабируемыми, чтобы обрабатывать увеличивающееся количество пользователей, транзакций и других данных. Уровни возникли из требования масштабируемости одновременно с сохранением первоклассной безопасности.
Фраза «масштабирование» в технологии блокчейн относится к увеличению пропускной способности системы, которая измеряется в транзакциях в секунду. С повсеместным внедрением криптовалют в повседневную жизнь уровни блокчейна теперь необходимы для улучшения сетевой безопасности, ведения записей и других функций.
Количество транзакций, обрабатываемых системой за секунду, называется «пропускной способностью». В то время как сеть электронных платежей Visa VisaNet может обрабатывать более 20 000 транзакций в секунду, основная цепочка биткойнов (BTC) не может обрабатывать более семи транзакций в секунду.
Блокчейн - это первый уровень децентрализованной экосистемы. Второй уровень - это сторонняя интеграция, используемая вместе с первым уровнем для увеличения количества узлов и, как следствие, пропускной способности системы. В настоящее время внедряются многие технологии блокчейнов второго уровня. Смарт-контракты используются в этих решениях для автоматизации транзакций.
Разработчики блокчейнов пытаются расширить сферу управления блокчейнами, поскольку Биткойн становится все более значительной силой в коммерческом мире. Они надеются сократить время обработки и увеличить TPS за счет разработки уровней цепочки блоков и оптимизации масштабируемости второго уровня.
Трилемма цепочки блоков относится к широко распространенному мнению, что с точки зрения децентрализации, безопасности и масштабируемости децентрализованные сети могут обеспечить только два из трех преимуществ в любой момент времени.
Ученые-компьютерщики разработали теорему согласованности, доступности и толерантности к разделению (CAP) в 1980-х годах, чтобы выразить, возможно, наиболее значительную из этих трудностей. Теорема CAP утверждает, что децентрализованное хранилище данных, такое как блокчейн, может одновременно удовлетворять только двум из трех упомянутых выше гарантий.
Эта теорема превратилась в трилемму блокчейна в контексте текущих распределенных сетей. Широко распространено мнение, что инфраструктура публичных блокчейнов должна приносить в жертву безопасность, децентрализацию или масштабируемость.
В результате святым Граалем технологии блокчейн является создание сети с непревзойденной безопасностью в широко децентрализованной сети, а также управление пропускной способностью транзакций в масштабе Интернета.
Прежде чем углубляться в динамику трилеммы, давайте определим масштабируемость, безопасность и децентрализацию в общих чертах:
Масштабируемость блокчейна означает его способность обрабатывать больший объем транзакций.
Безопасность означает способность защищать данные в блокчейне от различных типов атак и защиту блокчейна от двойного -расходы.
Децентрализация - это тип сетевого резервирования, который гарантирует, что сеть не контролируется меньшим количеством объектов.
Чтобы выполнить транзакцию, сеть должна сначала согласовать ее действительность. Соглашение может занять некоторое время, если в системе много участников. В результате мы можем показать, что масштабируемость обратно пропорциональна децентрализации, когда параметры безопасности идентичны.
Предположим, что два блокчейна с подтверждением работы имеют одинаковую степень децентрализации и считают безопасность хешрейтом блокчейна. Время подтверждения уменьшается по мере увеличения скорости хэширования, а масштабируемость увеличивается по мере повышения безопасности. В результате масштабируемость и безопасность пропорциональны постоянной децентрализации.
В результате блокчейн не может оптимизироваться для всех трех желаемых функций одновременно, что вынуждает его идти на компромиссы. Ethereum - это последний пример действующей трилеммы. Платформа Ethereum пережила бум использования из-за роста приложений децентрализованного финансирования (DeFi) этим летом. Ethereum может вырасти только до определенного момента.
Из-за возросшего спроса комиссии за транзакции выросли до такой степени, что некоторые люди не могут взаимодействовать с блокчейном. Увеличение комиссии Ethereum является примером трилеммы, поскольку мы видим, что Ethereum не масштабировался без ущерба для безопасности или децентрализации.
Эфириум уделял основное внимание децентрализации и безопасности с ограничением количества транзакций в секунду (масштабируемость). Чтобы побудить майнеров расставлять приоритеты в своих транзакциях, пользователи платили более высокие комиссии. Точно так же децентрализация и безопасность имеют приоритет над масштабируемостью в Биткойне.
Ни для кого не секрет, что масштабируемость таких блокчейнов, как Биткойн и Эфириум, в настоящее время ограничена. Поэтому мировое сообщество стартапов, корпораций и технологов лихорадочно работает над решениями первого и второго уровней для решения трилеммы блокчейна.
Блокчейн-сети первого уровня разработаны для обеспечения скорости, безопасности и расширения. Второй уровень относится к усовершенствованиям технологий и продуктам, которые можно использовать для расширения масштабируемости существующих сетей блокчейнов. Достижение идеального баланса между двумя уровнями может изменить правила игры для внедрения блокчейнов и расширения децентрализованных сетей.
Разработчики подходят к проблеме с разных точек зрения. Увеличенный размер блока в Bitcoin Cash (BCH) был попыткой улучшить масштабируемость Биткойна. Однако нет никаких свидетельств того, что он становится все более популярным.
Биткойн пытается решить эту проблему, добавляя слой к существующему уровню цепочки блоков. Решения второго уровня будут объединять многочисленные транзакции вместе и запрашивать блокчейн базового уровня только время от времени, согласно идее, лежащей в основе решений для масштабирования. Ethereum использует гибридный подход, при котором сегментирование масштабирует блокчейн базового уровня, а сообщество ожидает нескольких решений второго уровня для дальнейшего повышения пропускной способности.
В случае распределенной сети с архитектурой блокчейна каждый участник сети поддерживает, авторизует и обновляет новые записи. Набор блоков с транзакциями в определенном порядке представляет собой структуру технологии блокчейн. Эти списки могут быть сохранены в виде плоского файла (в формате txt) или простой базы данных. Архитектура блокчейна может принимать публичные, частные или консорциумные формы.
Многоуровневая архитектура блокчейна подразделяется на шесть уровней.
Контент блокчейна хранится на сервере в центре обработки данных где-то на этом прекрасном земном шаре. Клиенты запрашивают контент или данные с серверов приложений во время просмотра веб-страниц или использования любых приложений, что известно как архитектура клиент-сервер.
Теперь клиенты могут подключаться к одноранговым клиентам и обмениваться данными. Одноранговая (P2P) сеть - это большая группа компьютеров, которые совместно используют данные. Блокчейн - это одноранговая сеть компьютеров, которая вычисляет, проверяет и записывает транзакции упорядоченным образом в общий реестр. В результате создается распределенная база данных, в которой хранятся все данные, транзакции и другие соответствующие данные. Узел - это компьютер в P2P-сети.
Структура данных цепочки блоков выражается в виде связанного списка блоков, в которых упорядочиваются транзакции. Структура данных блокчейна состоит из двух основных элементов:указателей и связанного списка. Связанный список - это список связанных блоков с данными и указателями на предыдущий блок.
Указатели - это переменные, которые относятся к позиции другой переменной, а связанный список - это список связанных блоков с данными и указателями на предыдущий блок. Дерево Меркла - это двоичное дерево хешей. Каждый блок содержит корневой хэш дерева Меркла и такую информацию, как хэш предыдущего блока, временная метка, одноразовый номер, номер версии блока и текущая цель сложности.
Для систем блокчейнов дерево Меркла обеспечивает безопасность, целостность и неопровержимость. Система блокчейн построена на деревьях Меркла, криптографии и консенсусных алгоритмах. Поскольку он является первым в цепочке, генезис-блок, то есть первый блок, не содержит указателя.
Для защиты безопасности и целостности данных, содержащихся в цепочке блоков, транзакции подписываются цифровой подписью. Для подписи транзакций используется закрытый ключ, и любой, у кого есть открытый ключ, может проверить подписавшего. Цифровая подпись обнаруживает манипуляции с информацией. Поскольку зашифрованные данные также подписываются, цифровые подписи обеспечивают единство. В результате любые манипуляции сделают подпись недействительной.
Данные не могут быть обнаружены, так как они зашифрованы. Его нельзя снова подделать, даже если он пойман. Личность отправителя или владельца также защищена цифровой подписью. В результате подпись юридически связана с ее владельцем и не может быть проигнорирована.
Сетевой уровень, обычно называемый уровнем P2P, отвечает за связь между узлами. Обнаружение, транзакции и распространение блоков обрабатываются сетевым уровнем. Слой распространения - это другое название этого слоя.
Этот уровень P2P гарантирует, что узлы могут находить друг друга и взаимодействовать, распространять и синхронизировать, чтобы поддерживать сеть цепочки блоков в легитимном состоянии. P2P-сеть - это компьютерная сеть, в которой узлы распределены и разделяют рабочую нагрузку сети для достижения общей цели. Транзакции блокчейна выполняются узлами.
Уровень консенсуса необходим для существования блокчейн-платформ. Уровень консенсуса - самый необходимый и критический уровень в любой цепочке блоков, будь то Ethereum, Hyperledger или другой. Уровень консенсуса отвечает за проверку блоков, их упорядочение и гарантию того, что все согласны.
Смарт-контракты, цепной код и децентрализованные приложения (DApps) составляют уровень приложения. Протоколы прикладного уровня далее подразделяются на прикладной и исполнительный уровни. Уровень приложений включает в себя программы, которые конечные пользователи используют для связи с сетью цепочки блоков. Сценарии, интерфейсы прикладного программирования (API), пользовательские интерфейсы и фреймворки - все это его части.
Сеть блокчейнов служит внутренней технологией для этих приложений, и они взаимодействуют с ней через API. Смарт-контракты, базовые правила и цепной код - все это часть уровня исполнения.
Хотя транзакция перемещается с уровня приложения на уровень выполнения, она проверяется и выполняется на семантическом уровне. Приложения отдают инструкции уровню исполнения, который выполняет транзакции и обеспечивает детерминированный характер цепочки блоков.
Нулевой уровень цепочки блоков состоит из компонентов, которые помогают сделать цепочку блоков реальностью. Это технология, которая позволяет функционировать Биткойну, Эфириуму и другим блокчейн-сетям. Компоненты уровня 0 включают Интернет, оборудование и соединения, которые обеспечат бесперебойную работу уровня 1.
Это базовый уровень, и его безопасность основана на неизменности. Сеть Ethereum или первый слой - это то, на что люди ссылаются, когда говорят об Ethereum. Этот уровень отвечает за процессы консенсуса, языки программирования, время блока, разрешение споров, а также правила и параметры, которые поддерживают базовую функциональность сети блокчейн. Он также известен как уровень реализации. Биткойн - это пример блокчейна первого уровня.
Эти решения для масштабирования повышают пропускную способность сети при совместном использовании. Однако с растущим числом пользователей блокчейна, кажется, что первый уровень не работает. На блокчейне первого уровня все еще используется архаичный и неуклюжий процесс согласования доказательств выполнения работы.
Хотя этот подход более безопасен, чем другие, он ограничен своей скоростью. Майнеры должны решать криптографические алгоритмы, используя вычислительную мощность. В результате в долгосрочной перспективе требуется больше вычислительной мощности и времени. Кроме того, рабочая нагрузка на блокчейн первого уровня увеличилась по мере роста числа пользователей. В результате скорость обработки и производительность снизились.
Proof-of-Stake - это альтернативный консенсус, который примет Ethereum 2.0. Этот консенсусный подход удостоверяет новые блоки данных транзакций на основе залогового обеспечения участников сети, что приводит к более эффективной процедуре.
Шардинг - это решение для масштабирования нагрузки на блокчейн первого уровня. Проще говоря, сегментирование разделяет задачу проверки и аутентификации транзакций на более мелкие и более простые в управлении фрагменты. В результате рабочая нагрузка может быть распределена по сети, чтобы использовать вычислительные возможности большего числа узлов. Поскольку сеть обрабатывает эти сегменты параллельно, несколько транзакций могут обрабатываться как последовательно, так и одновременно.
Перекрывающиеся сети, расположенные поверх базового уровня, известны как решения L2. Протоколы используют второй уровень для увеличения масштабируемости за счет удаления некоторых взаимодействий с базового уровня. В результате смарт-контракты на основном протоколе блокчейна имеют дело только с депозитами и снятием средств и гарантируют, что транзакции вне сети соответствуют правилам. Биткойн Lightning Network является примером блокчейна второго уровня.
Итак, в чем разница между блокчейном первого и второго уровней? Блокчейн - это первый уровень децентрализованной экосистемы. Второй уровень - это сторонняя интеграция, используемая вместе с первым уровнем для увеличения количества узлов и, как следствие, пропускной способности системы. В настоящее время внедряются многие технологии блокчейн второго уровня.
Протоколы второго уровня стали очень популярными в последние годы, и они оказались наиболее эффективным подходом к решению проблем масштабирования, в частности, в сетях PoW. Различные решения для масштабирования второго уровня описаны в разделах ниже.
Вложенный блокчейн
Вложенный блокчейн второго уровня работает поверх другого. По сути, первый уровень устанавливает параметры, а второй уровень выполняет процедуры. На одной основной цепочке может быть несколько уровней цепочки блоков. Считайте это типичной бизнес-структурой.
Вместо того, чтобы поручить одному человеку (например, менеджеру) всю работу выполнять, он делегировал задачи подчиненным, которые затем отчитывались перед руководством, когда они были завершены. В результате рабочая нагрузка менеджера снижается, а масштабируемость улучшается. Например, проект OMG Plasma Project работает как блокчейн второго уровня для протокола первого уровня Ethereum, что обеспечивает более дешевые и быстрые транзакции.
Каналы состояния
Канал состояний улучшает общую емкость и скорость транзакций, облегчая двустороннюю связь между блокчейном и внешними транзакционными каналами с помощью различных подходов. Чтобы проверить транзакцию по каналу состояния, майнер не должен сразу подключаться.
Вместо этого это смежный с сетью ресурс, защищенный с помощью механизма мультиподписи или смарт-контракта. Конечное «состояние» «канала» и все присущие ему переходы отправляются в базовую цепочку блоков, когда транзакция или пакет транзакций завершается на канале состояний.
Примеры государственных каналов включают Bitcoin Lightning и сеть Raiden Ethereum. В компромиссе трилеммы государственные каналы отказываются от некоторой децентрализации в обмен на повышенную масштабируемость.
Сайдчейны
Сайдчейн - это транзакционная цепочка, которая работает вместе с блокчейном и используется для массовых массовых транзакций. У боковых цепей есть свой метод консенсуса, который можно настроить для скорости и масштабируемости, а служебный токен часто используется как часть механизма передачи данных между боковыми и основными цепями. Основная функция основной сети - обеспечение общей безопасности и разрешение споров.
В нескольких важных аспектах сайдчейны отличаются от каналов состояния. Начнем с того, что транзакции боковой цепи не являются частными между участниками; вместо этого они открыто публикуются в бухгалтерской книге. Кроме того, нарушения безопасности в сайдчейнах не влияют на основную цепь или другие сайдчейны. Создание сайдчейна с нуля требует значительного количества времени и усилий.
Накопительные пакеты
Накопительные пакеты - это решения для масштабирования цепочки блоков второго уровня, которые выполняют транзакции за пределами сети первого уровня, а затем загружают данные из транзакций в цепочку блоков второго уровня. Уровень 1 может обеспечивать безопасность сверток, поскольку данные находятся на базовом уровне.
Пользователи получают выгоду от накопительных пакетов, поскольку они помогают увеличить пропускную способность транзакций, открытое участие и снизить затраты на газ.
Уровень приложения часто называют уровнем три или L3. Проекты L3 действуют как пользовательский интерфейс, маскируя технические аспекты канала связи. Приложения L3 - это то, что придает блокчейнам их реальную применимость, как объясняется в многоуровневой структуре архитектуры блокчейна.
Проблемы, с которыми сталкивается распределенное хранилище данных, из которых возникли блокчейны, были переданы блокчейнам. Чтобы лучше понять эти трудности и связанные с ними проблемы, для их группировки был придуман термин «трилемма блокчейна».
Хотя слово «трилемма» осталось, трилемма блокчейна - всего лишь предположение. Предполагается, что эта гипотеза верна на основании ранних данных, но она не была ни доказана, ни опровергнута. Необходимо провести дополнительные исследования, даже несмотря на то, что решения первого и второго уровней уже имели некоторый успех.
Одной из причин, по которой массовое внедрение криптовалюты в блокчейн-бизнесе сейчас невозможно, является масштабируемость. По мере роста спроса на криптовалюту возрастает и необходимость расширения протоколов блокчейн. Поскольку оба уровня блокчейна имеют свой собственный набор ограничений, конечным решением будет разработка системы, которая сможет решить трилемму масштабируемости.
Первый уровень важен, поскольку он служит основой для децентрализованных систем. Проблемы масштабируемости базового блокчейна решаются с помощью протоколов второго уровня. К сожалению, большинство протоколов третьего уровня (DApps) в настоящее время работают только на первом уровне, минуя второй уровень. Неудивительно, что эти системы работают не так хорошо, как нам хотелось бы.
Приложения третьего уровня важны, потому что они помогают разрабатывать реальные варианты использования блокчейнов. Однако они не будут иметь такой же ценности, как их базовый блокчейн, в отличие от унаследованных сетей.