Блокчейн Ethereum
Введение
В современном мире все чаще в обиходе речи фигурируют такие слова как криптовалюта и Блокчейн, но мало кто понимает, что это такое на самом деле. В данной статье мы обсудим что такое Блокчейн в частности и рассмотрим работу одного из самых популярных - Блокчейн Ethereum.
Что такое Блокчейн ?
Блокчейн или Blockchain (от англ. block — «блок» и chain — «цепочка») - это технология хранения данных. В большинстве своем, данные, попавшие в Блокчейн, неизменяемые, то есть, попав туда однажды, данные больше никогда не претерпевают изменения. Данная особенность осуществляется криптографией. Вообще Blockchain переводится как цепочка блоков, так что сейчас мы подробнее рассмотрим что подразумевает под собой Блок и цепочка. Блок - упорядоченные данные в определенном формате. Пока для простоты можно считать, что Блок это просто какая-то информация. Цепочка - это значит, что каждый последующий блок связан с предыдущим криптографически.
Прежде чем мы поэтапно разберемся как работает Блокчейн, ознакомимся с HASH функцией и поймем как работают пары открытого и закрытого ключей
Что такое HASH функция?
На сайте https://andersbrownworth.com/blockchain/hash у нас есть удобный интерфейс для понимания того, что такое HASH функция SHA256. Мы не будем углубляться в математические понятия HASH функции, достаточно лишь знать, что она похожа на некую воронку, в которую что не брось, будь то огромная машина или маленький карандаш, на выходе из воронки получим набор из 64 шестнадцатеричных символом.
Например, если мы ничего не бросим, то на выходе все равно будет что-то, в частности - 64 шестнадцатеричных символа
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Важной особенность HASH функции является то, что, говоря на языке программирования, она является чистой функцией, то есть сколько бы раз мы не пытались посчитать HASH для одних и тех же входных данных, на выходе всегда будет одно и то же значение. В частности для поля Data(Данные) равной маленький карандаш
, сколько бы раз мы не пытались посчитать HASH, на выходе всегда получим одни и те же 64 шестнадцатеричных символа 4f1218512a4551025f0b0c4feda2dcfb5afb1311774f52e535947904b05839ef
Публичные и приватные ключи
Логика работы HASH функции весьма проста, но сейчас разберем что такое приватные и публичные ключи. Концепция асимметричной криптографии (также известной как криптография с открытым ключом) основана на приватном и публичном ключах. В отличие от симметричной системы, где один ключ и шифрует, и расшифровывает, здесь используется пара ключей, математически связанных друг с другом. На странице https://andersbrownworth.com/blockchain/public-private-keys/keys вы можете посмотреть пример открытого и закрытого ключей. Но для чего нужны эти ключи? В рамках Блокчейна:
- Секретный ключ - с его помощью, на основе данных, мы создаем подпись этих же данных.
- Публичный ключ - с его помощью, на основе подписи данных, мы можем удостовериться в их подлинности, то есть мы можем быть уверенны, что они не изменялись.
Главное свойство этих ключей состоит в том, что можно легко получить публичный ключ из приватного, но абсолютно невозможно сделать наоборот. В симуляции, на странице https://andersbrownworth.com/blockchain/public-private-keys/signatures, вы можете протестировать работу создания подписи с помощью приватного ключа и ее проверки с помощью публичного ключа.
* В Ethereum используется асимметричная криптография на основе эллиптических кривых (Elliptic Curve Cryptography - ECC), конкретно — стандарт secp256k1.
Основа Блокчейна
Пока мы знаем, что Блокчейн - некоторая форма хранения неизменяемых данных, а также, что Блок - какие-то данные, а Цепочка обозначает криптографическую связь текущего блока с предыдущим. Пришло время углубиться.
Понимание Блока
Добавим некоторую конкретику. Одними из данных, в настоящее время, в Блокчейнах являются транзакции. Транзакции - отдельная тема, про которую мы еще поговорим, но пока рассмотрим самую простую транзакцию - перевод со счета А на счет Б.
Примерно так может выглядеть простейший пример Блока. Поле Block содержит номер Блока в Цепочке, поле Tx содержит список транзакций, в нашем примере это просто список переводов откуда, куда и сколько. Мы уже знаем что такое HASH функция, так вот поле Hash содержит посчитанное HASH значение данных, в нашем примере этими данными являются номер блока - значение поля Block и список транзакций - значение поля Tx. Hash поле начинается с четырех нулей, но пока мы не будем обращать на это внимание))
Изменение любого поля, будь то номер транзакции или количества денег, переведенное, к примеру, от Darcy к Bingley приведет к изменению Hash значения. В нижеприведенной картинке мы как раз изменили количество денег, переведенное от Darcy к Bingley и блок стал НЕДЕЙСТВИТЕЛЬНЫМ, ведь реальное HASH значение уже не совпадает с тем, что указано в поле Hash
После пересчета HASH значения и добавления его в поле Hash, Блок стал Действительным
Понимание Цепочки
Пока мы рассмотрели что такое Блок, но Блокчейн - это совокупность Блоков, связанных между собой криптографической "Цепью". Так что воспользуемся симуляцией с сайта https://andersbrownworth.com/blockchain/tokens для понимания логики работы Блокчейна.
На рисунке у меня два блока, на сайте их больше, но и этого будет достаточно для описания работы. Как мы можем видеть, в этих Блоках появились дополнительные поля Nonce и Prev, а это значит, что теперь поле Hash высчитывается не только на основе полей Block и Tx, а также учитываются поля Nonce и Prev, то есть уже на основе четырех полей считается конечный HASH Блока.
Мы остановимся на Prev, ведь именно это поле является "Цепью" и криптографически связывает текущий блок с предыдущим. Обратим внимание на поле Hash первого Блока и поле Prev второго Блока - они совпадают, в этом и состоит идея "Цепи" - Каждый Блок содержит в себе данные о конечном HASH значении предыдущего Блока.
Первый Блок в Блокчейне называется Генезис блоком, он создается разработчиками вручную, так как он первый то его значение Prev равно 0, про Генезис блок мы еще поговорим. Второй и последующие Блоки уже создаются автоматически.
Основываясь уже на изложенных материалах в текущей статье делаем вывод:
Компрометация любого из Блоков приведет к тому, что он станет НЕДЕЙСТВИТЕЛЬНЫМ, так как его фактическое HASH значение не будет совпадать со значением поля Hash, но даже изменив значение поля Hash на правильное, окажется, что значение поля Prev следующего Блока уже не будет совпадать с конечным значением поля Hash текущего Блока.
Именно так и обеспечивается неизменяемость данных, когда либо помещенных в Блокчейн, ведь если данные изменятся, то мы с легкостью сможем это обнаружить и наказать злоумышленника.
Функционирование Блокчейна
Сейчас мы структурно понимаем как работает Блокчейн на одном устройстве, но в голове сразу возникает вопрос, а что если злоумышленник не только изменит интересующий его Блок, но также изменит и все последующие Блоки, правильно пересчитав Hash значения? Ответ прост, его Блокчейн и данные в нем будут считаться правильными!
Казалось бы, зачем нам тогда нужна такая уязвимая система хранения "неизменяемых" данных, но все изменится, если таких систем станет много, каждая такая отдельно взятая система называется узлом сети. Так же мы добавим правила, протоколы взаимодействия между узлами сети, стимулы для добросовестного ведения Блокчейна, а также систему наказаний и штрафов для тех, кто решит скомпрометировать данные в Блокчейне. Эта совокупность идей, протоколов и стимулов, которые позволяют набору узлов согласовывать состояние Блокчейна называется Механизмом консенсуса.
Блокчейн обладает двумя свойствами:
- Децентрализация - ни один узел не обладает полным контролем над сетью, то есть все узлы в сети равноправны
- Распределенность - каждый узел сети имеет идентичную копию Блокчейна.
Теперь мы можем расширить понятие Блокчейна. Блокчейн - это распределенная децентрализованная система хранения неизменяемой информации. Системой обычно выступает сеть компьютеров, на которых запущено определенное программное обеспечение. Для общего согласия узлов о состоянии Блокчейна используются Механизмы консенсуса.
В Ethereum до The Merge (Слияния) использовался протокол консенсуса на основе доказательства выполнения работы (PoW - Proof-of-Work). После слияния Ethereum перешел на новый протокол консенсуса на основе подтверждение доли (PoS - Proof-of-Stake). В эру Proof-of-Work были майнеры, в Proof-of-Stake на смену им пришли валидаторы, про валидаторов расскажем чуть позже.
Подробнее про слияние, протоколы консенсуса и майнеров мы расскажем в другой статье.
Углубляемся в Блокчейн Ethereum
Прежде чем мы продолжим, стоит дополнить определение данных, которые хранятся в Блокчейне Ethereum. Пока мы знаем, что в Блокчейне хранятся транзакции, но в Блокчейне Ethereum хранится гораздо больше, чем просто история переводов монеток. В дополнение к транзакциям там хранится Состояние системы. Состояние системы - это важная часть Блокчейна Ethereum . Если представить Блокчейн как базу данных, то Состояние — это ее актуальный "мгновенный снимок" на данный момент времени. Он нужен, чтобы не пересчитывать все транзакции с самого начала (с Genesis-блока) для ответа на простой вопрос: "Какой сейчас баланс у этого аккаунта?". Если тяжело понять, то запомните, что Состояние состоит из множества записей обо всех существующих аккаунтах
Узлы и клиенты в Ethereum
Ethereum — это распределённая сеть компьютеров (известных как узлы), на которых запущено программное обеспечение, способное проверять блоки и данные о транзакциях. Чтобы превратить компьютер в узел Ethereum, на нём должно быть запущено программное обеспечение. Существует три типа программного обеспечения:
- Клиент для выполнения транзакций (также известный как Execution Engine, EL-клиент или ранее как Eth1-клиент) прослушивает новые транзакции, транслируемые в сети, выполняет их в EVM(Ethereum Virtual Machine)* и хранит последнюю версию Состояния и базу данных всех текущих данных Ethereum.
- Клиент консенсуса (также известный как Beacon Node, клиент CL или ранее клиент Eth2) реализует алгоритм консенсуса Proof-of-Stake, который позволяет сети достигать согласия на основе проверенных данных от клиента исполнения.
- Существует также третья часть программного обеспечения, известная как «валидатор», которую можно добавить к клиенту консенсуса, чтобы узел мог участвовать в обеспечении безопасности сети.
EVM (Ethereum Virtual Machine) - это виртуальная машина Ethereum, для исполнения смарт-контрактов, про нее и смарт-контракты мы расскажем позже.
Если на узле запущено только первое и второе программное обеспечение, то он просто является узлом.
Существует несколько типов узлов:
- Полный узел - хранят только локальную копию относительно свежих данных (обычно это последние 128 блоков), что позволяет удалять более старые данные для экономии места на диске. Они участвуют в валидации блоков, обслуживании сети и предоставлении данных с Блокчейна по запросу.
- Архивные узлы — это полные узлы, которые проверяют каждый блок, начиная с генезиса, и никогда не удаляют загруженные данные. Эти данные представлены в терабайтах, что делает архивные узлы менее привлекательными для обычных пользователей, но может быть удобно для таких сервисов, как обозреватели блоков, поставщики кошельков и аналитики блокчейна.
- Легкий узел - Предназначен для устройств с ограниченными ресурсами (мобильные телефоны, браузерные кошельки). Этот узел хранит заголовки Блоков. Эти заголовки содержат сводную информацию о содержимом блоков. Любая другая информация, которая требуется лёгкому узлу, запрашивается у полного узла. Так что теперь мы понимаем, что свойство Распределенности в Блочейне Ethereum чуть-чуть размыто
Также есть еще один тип узлов - Валидаторы. Только они имеют право на создание и предложение нового Блока. Чтобы стать валидатором нужно запустить, помимо первого и второго программного обеспечения, третье - клиент-валидатор. Также нужно отправить минимум 32 ETH в депозит или присоединиться к пулу с меньшей суммой.
Валидатор = Полный узел + Клиент валидатора + 32 ETH в стейкинге.
Активный валидатор начинает участвовать в консенсусе: предлагает новые блоки и голосует (attest) за те блоки, которые считает валидными, За честную работу валидаторы получают вознаграждение в ETH. За попытку обмануть сеть их средства из депозита штрафуются. Многие моменты были упущены, но теперь мы примерно понимаем структуру узлов в Блокчейне Ethereum.
Аккаунты в Ethereum
Мы уже знаем как работают Приватные и Публичные ключи, сейчас поймем как это используется в Блокчейне Ethereum. В Ethereum связка приватного и публичного ключа является фундаментом всей системы безопасности, владения и идентификации. Это не просто инструменты шифрования, а механизм, который превращает владение цифровой информацией (ключом) во владение реальными активами и идентичностью в сети.
Мы уже видели пример транзакции, он выглядит так, но в Блокчейне мы не используем имена, мы используем адреса аккаунта.
Аккаунт Ethereum — это объект с балансом в эфирах (ETH), который может отправлять сообщения в сети Ethereum. Аккаунты могут управляться пользователем или быть развёрнутыми в виде смарт-контрактов, про смарт-контракты мы расскажем чуть позже.
Когда вы создаете аккаунт в Блокчейне, допустим с помощью Metamask, у вас автоматически генерируется приватный ключ и на пару ему публичный. Приватный ключ используется для подписи транзакций, то есть доказательства того, что именно вы ее осуществляете, подробнее о подписи транзакций мы расскажем чуть позже, пока достаточно знать, что без подписи любой бы мог отправить запрос с переводом ETH от вашего аккаунта на свой. Публичный же ключ используется для создания адреса и проверки того, что именно вы отправили транзакцию.
Рассмотрим как генерируется адрес аккаунта, управляемого пользователем.
Для получения адреса аккаунта, публичный ключ проходит через HASH функцию Keccak-256, в следствие чего у нас получается 64 шестнадцатеричных символа. Дальше из этих 64 символов берутся последние 40 шестнадцатеричных символа - к этому набору символов добавляется в начало префикс 0x - получаем всем известный адрес Ethereum кошелька, состоящий из 42 шестнадцатеричных символов, например, 0x742d35Cc6634C0532925a3b844Bc454e4438f44e
, то есть адрес кошелька - производная от публичного ключа.
Вот так выглядит пример обновленной транзакции, где имена заменены на адреса(здесь произвольные адреса, не схожие с адресами сети Ethereum).
Приватный ключ следует хранить в тайне и никому его не раскрывать. Тот кто владеет приватным ключом, владеет средствами. К слову, вы легко можете посмотреть свой приватный ключ в настройках Metamask, только никому его не говорите! В большинстве случаев, чтобы не запоминать приватный ключ - непонятный набор шестнадцатеричных чисел, многие кошельки выдают вам Seed Phrase - секретную фразу, обычно состоящую из 12, 18, 24 слов, выбранных из специального стандартизированного списка слов.
* Аккаунт — это не кошелёк. Кошелек — это интерфейс или приложение, которое позволяет вам взаимодействовать с вашим аккаунтом Ethereum.
* Зайдя на свой кошелек Metamask мы можем увидеть количество ETH (эфира) на аккаунте, но как Metamask узнает это количество? Он отправляет запрос на RPC узел - полный узел (или архивный узел), который предоставляет интерфейс для взаимодействия с Блокчейном Ethereum. Это "ворота" в сеть для тех, кто не хочет или не может запускать свой собственный полный узел, дальше RPC узел мог бы просмотреть все Блоки и транзакции в них, чтобы посчитать конечное значение ETH на аккаунте, но, как мы уже выяснили, чтобы этого не делать существует Состояние - актуальный "мгновенный снимок" данных об аккаунтах
Критовалюта ETH и GAS
Криптовалюта - средство обмена, обеспеченное реестром на основе Блокчейна.
Эфир (ETH) — это криптовалюта, которая используется для многих целей в сети Ethereum. По сути, это единственная приемлемая форма оплаты комиссий за транзакции (подробнее об этом чуть позже), а после The Merge (Слияния) эфир стал необходим для подтверждения и предложения блоков в основной сети - речь идет о залоге в 32 ETH. Поскольку стоимость многих транзакций в сети Ethereum невелика, у эфира есть несколько номиналов, которые можно использовать в качестве более мелких расчётных единиц. Из этих номиналов особенно важны Wei и gwei.
Wei — это наименьшая возможная единица измерения эфира, все расчёты производятся в Wei. Wei = 10^-18*ETH
Gwei - сокращение от giga-wei, часто используется для обозначения стоимости газа в Ethereum. Gwei = 10^-9*ETH
Gas (Газ) — это единица измерения вычислительных ресурсов, необходимых для выполнения определённых операций в сети Ethereum.
Поскольку для выполнения каждой транзакции в сети Ethereum требуются вычислительные ресурсы, за эти ресурсы нужно платить, чтобы сеть Ethereum не была уязвима для спама и не зависала в бесконечных вычислительных циклах. Плата за вычисления взимается в виде комиссии за газ. Комиссия за газ — это количество газа, необходимое для выполнения операции, умноженное на стоимость единицы газа. Комиссия платится независимо от того, состоится транзакция или провалится. Общее количество выплачиваемого газа делится на два компонента: base fee
(базовая комиссия) и priority fee
(приоритетная комиссия, чаевые), именно priority fee
достается Валидатору.
Величина base fee
устанавливается протоколом — вы должны оплатить газ как минимум в этом количестве, чтобы ваша транзакция считалась действительной. Значение priority fee
— это чаевые, которые вы прибавляете к базовой комиссии, чтобы сделать транзакцию привлекательной для валидаторов, а они в свою очередь стремились включить ее в следующий блок как можно раньше.
Так как в сети выполняется много транзакций, то для выполнения вышей транзакции Валидатор должен ее выбрать, значение priority fee
как раз позволяет это сделать.
Транзакции в Ethereum
Наконец мы дошли до транзакции, сейчас мы рассмотрим что это такое и рассмотрим жизненный цикл транзакции.
Транзакции — это криптографически подписанные инструкции от аккаунтов. Аккаунт инициирует транзакцию для обновления Состояния сети Ethereum. Самая простая транзакция — это перевод ETH с одного аккаунта на другой, при которой меняется число ETH на счетах этих двух аккаунтов, то есть изменяется Состояние сети Ethereum.
Не все транзакции меняют Состояние сети Ethereum, есть читающие транзакции - например, спрашивая у RPC узла, какая сейчас рекомендованная цена газа для быстрого включения в блок.
Мы знаем что такое Gas - так вот транзакции, которые изменяют Состояние Ethereum, требуют затрат на Gas, и наоборот, транзакции, не меняющие Состояние, не требуют затрат на Gas.
Разберем пример простой транзакции - перевод с одного аккаунта на другой. Предположим вы решили отправить криптовалюту на другой аккаунт, используя Metamask.
Посмотрим как это работает под капотом.
- Как только вы решили отправить криптовалюту, Metamask создает транзакцию, и добавляет к ней подпись, которая создается на основе Hash значения этой транзакции, и вашего приватного ключа. Таким образом Metamask подписывает вашу транзакцию и отправляет ее по всей сети Ethereum.
- Дальше каждый полный узел, будь то Валидатор или просто узел, получив вашу транзакцию, проверяет ее. Для этого он извлекает из транзакции исходные данные и подпись, дальше, также как и Metamask, он высчитывает Hash значение исходных данных. После, используя высчитанное Hash значение и значение подписи он восстанавливает публичный ключ, зная публичный ключ, он прогоняет его через HASH функцию Keccak-256, чтобы получить адрес Ethereum. Если полученный адрес совпадает с адресом отправителя, указанным в транзакции, — подпись верна! Если нет — транзакция немедленно отвергается.
- Но для включение вашей транзакции в новый Блок и в последующем в Блокчейн, она должна быть выполнена Валидатором, чтобы Валидатор не спамили невалидными транзакциями, а также, чтобы отблагодарить его за предоставленную нам вычислительную мощность мы платим Gas.
Регулировка ETH
Чеканка — это процесс создания нового ETH (эфира) в реестре Ethereum. Базовый протокол Ethereum создает новый ETH (эфир), а пользователь не может его создать. Эфир чеканится в качестве вознаграждения за каждый предложенный Валидатором Блок .
Помимо создания ETH (эфира), за счет вознаграждения за предложенный Валидатором Блок, ETH (эфир) может быть уничтожен в процессе, называемом «сжиганием». Когда ETH (эфир) сжигается, он навсегда выводится из обращения. Сжигание ETH (эфира) происходит при каждой транзакции в Ethereum. Когда пользователи платят за транзакции, base fee
(базовая комиссия), установленная сетью в зависимости от спроса, уничтожается. Когда нагрузка на сеть большая, то base fee
(базовая комиссия) увеличивается и общая сумма сжигаемого ETH становится еще больше, и наоборот, при наименьшей загрузке сети base fee
(базовая комиссия) уменьшается, что приводит к уменьшению сжигаемого ETH.
Например, Валидатор, создавший блок, получает свою фиксированную награду (например, ~0.1 ETH за предложение блока + чаевые), а количество ETH, сожженного в этом блоке только из базовых комиссий, допустим, 0.5 ETH.
Итого: количество сожженного эфира (0.5 ETH), превышает количество ETH, созданного в качестве награды валидатору (0.1 ETH + 0.05 ETH чаевых = 0.15 ETH).
Чистый результат для экономики ETH:Новые ETH (эмиссия) - Сожженные ETH (базовая комиссия) = 0.15 - 0.5 = -0.35 ETH
Владение активами
В главе про аккаунты мы утверждали, что тот кто владеет приватным ключом, владеет активами, хотелось бы разъяснись это выражение. Дело в том, что мы не владеем активами в привычном нам понимании, мы владеем правом на их распоряжение.
Допустим, зайдя на свой кошелек Metamask мы можем увидеть количество ETH (эфира) на аккаунте, полученное с RPC узла, но мы не владеем этим ETH, мы владеем правом на их распоряжение, приватный (скрытый, секретный) ключ как раз и является этим правом.
Так же рассмотрим Генезис Блок - самый первый блог, которые разработчики создают вручную, а также разрешим маленький парадокс. Возможно, некоторые из вас заметили противоречие, которое возникает в самом зарождении Блокчейна. Чтобы получить свои первые ETH, нужно чтобы кто-то их вам отправил. Но чтобы кто-то мог их вам отправить, у него уже должны быть ETH, которые, в свою очередь, ему тоже кто-то должен был отправить, ведь при первоначальном создании аккаунта ETH на счете нет.
Данные парадокс решается как раз с помощью Генезис Блока. Первоначальное распределение ETH было предопределено и запрограммировано в самом первом блоке цепи — Генезисе (Блоке 0). Этот блок был создан вручную разработчиками сети и в нём было прописано начальное состояние для строго определённого списка адресов, которые участвовали в первоначальном размещении (краудсейле) или были отведены под развитие проекта. Таким образом, ETH появились на этих адресах не в результате майнинга или стейкинга, а в результате инициализации состояния сети.
Смарт-контракты и EVM
Смарт-контракты сложная тема, которая заслуживает отдельной статьи, но пока дадим легкое определение. Смарт-контракт - это компьютерная программа, написанная на специальных языках программирования, таких как Solidity или Vyper, которая работает внутри Блокчейна Ethereum.
Представьте себе торговый автомат: вы бросаете монетку (вносите криптовалюту), выбираете товар (взаимодействуете с контрактом) и автомат автоматически выдает вам товар и сдачу. Вам не нужно доверять продавцу — вы доверяете бездушному механизму, который запрограммирован честно.
EVM (Ethereum Virtual Machine или Виртуальная Машина Ethereum) - это программа (программное обеспечение), которое входит в состав клиента для выполнения транзакций (См. Узлы и клиенты в Ethereum), то есть ее копия запущена на каждом узле сети Ethereum. Эта программа предназначена для выполнения кода смарт-контрактов. Код смарт-контрактов (на Solidity/Vyper) компилируется в байт-код — набор простых инструкций (opcodes), которые понимает и выполняет EVM.
EVM как раз нужен для того, чтобы гарантировать одинаковое выполнение инструкций смарт-контракта на каждом из узлов. В зависимости от кода смарт-контракта, EVM может как изменять Состояние и требовать газ, так и оставить Состояние неизменным и не требовать газ вовсе.
* Смарт-контракт является аккаунтом, таким же как и ваш аккаунт в Metamask, за некоторыми оговорками, а также имеет свой скомпилированный байт-код. Так вот для вызова кода смарт-контракта, на него нужно отправить транзакцию. Так как во время выполнения кода смарт-контракта тратится вычислительная мощность, то комиссия за газ превышает, привычную нам, комиссию за простую транзакцию - перевод со счета А на счет Б. Чем сложнее код смарт-контракта, тем больше комиссия за газ.
L-2 Решения Ethereum
Те, кто когда-нибудь переводил ETH (эфир), допустим в Metamask, знают, какой большой бывает комиссия. Именно для решения этой проблемы были созданы L2-решения — технологии второго уровня, которые работают поверх основного блокчейна Ethereum. L2 обрабатывают тысячи транзакций у себя, а в Ethereum записывают только итоговый результат.
Популярными L-2 решениями являются Arbitrum & Optimism & Polygon
Основные преимущества L-2 решений:
- Перевод стоит центы вместо долларов
- Скорость как в традиционных приложениях
- Безопасность основного блокчейна Ethereum
Заключение
Блокчейн сложная тема, а разбор логики работы Блокчейна Ethereum подавно. Многие тонкости в данной статье были исключены или не учтены, но я надеюсь, что хоть чуть-чуть, но помог вам разобраться с тем, что такое Блокчейн и он как устроен.
Комментарии