Bài học 1

Технологический обзор Ethereum

1. Ethereum - это децентрализованная платформа смарт-контрактов, основанная на технологии блокчейн, использующая модель счета и Эфир в качестве средства обмена для транзакций. Смарт-контракты обладают такими характеристиками, как прозрачность и неизменяемость данных, получая удовольствие от децентрализованной и безопасной среды исполнения. 2. Ethereum сталкивается с проблемой масштабируемости, для решения которой сообщество разработчиков предложило различные решения, такие как сайдчейн, роллапы, технология шардинга и т.д., для достижения масштабируемости и повышения производительности.

Предисловие

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

Основной целью создания Ethereum было улучшение функциональных возможностей Биткойна, а не только как цифровой платежной системы. Основное различие между ними заключается в том, что Ethereum может хранить код, который может быть выполнен. Эта основная инновация также называется смарт-контрактами, что означает, что любой разработчик может писать исполняемые децентрализованные приложения (dApps) на блокчейне Ethereum для реализации различных бизнес-потребностей и социальных контрактов.

С появлением смарт-контрактов пользователи могут проводить безопасные, прозрачные и автоматизированные транзакции и совместную работу без необходимости в доверии или посредниках. Это расширило полезность и функциональность сетей blockchain.

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

В этом уроке Вы получите исчерпывающий обзор технологической эволюции Ethereum, узнаете, как Ethereum стал пионером в области blockchain, а также поймете проблемы масштабируемости, стоящие перед Ethereum, и соответствующие решения.

Обзор технологической архитектуры Ethereum

Ограничения предыдущих технологий

До появления Ethereum развитие блокчейна было сосредоточено в основном на цифровых валютах и платежных системах, использующих децентрализованные блокчейн-бухгалтерии для регистрации транзакций. Если взять в качестве примера Биткойн, то сеть Биткойн можно рассматривать как систему с переходами состояний, в которой используется модель Unspent Transactions Output (UTXO). UTXO относится к оставшемуся количеству токенов от транзакции, которое может быть использовано в другой транзакции. Его можно интерпретировать как оставшийся неизрасходованный остаток после того, как кто-то дал Вам некоторую сумму денег.

Каждый раз, когда майнер создает новый блок, он представляет собой изменение в состоянии сети Биткойн, поскольку новый блок содержит несколько действительных транзакций, которые потребляют некоторые существующие UTXO и создают новые UTXO. Эти новые UTXO становятся последним состоянием сети Биткойн, которое отражает количество и распределение Биткойна, находящегося у всех пользователей.

Предыдущее состояние + действительные транзакции в новом блоке = Текущее состояние

Переход состояния UTXO

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

  1. Не полный по Тьюрингу
    Хотя скриптовый язык Биткойна поддерживает широкий спектр функциональных возможностей, он не поддерживает все вычисления, в частности, в нем отсутствует поддержка циклов. Теоретически, любая операция цикла может быть достигнута путем многократного выполнения базового кода через несколько слоев операторов IF, но это приведет к очень низкой эффективности работы.

  2. Сложность определения стоимости
    Скрипты UTXO не могут тонко контролировать сумму, которую можно вывести. Например, пользователю А необходимо хеджировать ценовой риск, а пользователь Б выступает в качестве контрагента. Обе стороны вносят в контракт активы на сумму $1,000. По истечении 30 дней пользователь А получает обратно Биткойн стоимостью $1,000, а оставшаяся часть отправляется пользователю Б. Это потребует оракула для определения долларовой стоимости 1 Биткойна, что вынудит оракула хранить множество UTXO различного номинала.

  3. Отсутствие гибкости государства
    UTXO может быть либо потрачен, либо не потрачен. Трудно создавать опционные контракты, децентрализованные системы котировок, протоколы криптографических обязательств и другие приложения, требующие многоступенчатых состояний (например, "в использовании"). Поэтому UTXO можно использовать только для построения простых одноразовых контрактов, а не более сложных "stateful" контрактов в децентрализованных протоколах.

  4. Невозможность видеть данные блокчейна
    Модель UTXO не имеет возможности видеть данные блокчейна, такие как случайные числа, временные метки и хэш предыдущего блока. Это ограничение сдерживает развитие игровых и других типов dApps.

Модель счета в Ethereum

Чтобы устранить недостатки Биткойна в приложениях смарт-контрактов, Ethereum отказался от модели UTXO и принял модель счета, подобную личным банковским счетам, где база данных регистрирует баланс каждого счета и автоматически обновляет его при каждой транзакции.

В Ethereum существует два типа счетов: счета, принадлежащие внешним пользователям и контролируемые закрытыми ключами, и счета-контракты, контролируемые кодом смарт-контракта. Эфир служит средством обмена в сети Ethereum.

  • Счета
    Каждый счет в Ethereum имеет уникальный 20-байтовый адрес, подобный номеру счета на Вашем банковском счете. Счета могут хранить Эфир или данные и могут передавать Эфир или посылать сообщения друг другу посредством транзакций.
  • Контракты
    Контракты подобны торговым автоматам. Когда Вы посылаете Эфир контракту, он выполняет содержащийся в нем код и выполняет определенные операции на основе логики, заданной кодом. Контракты могут хранить данные, выполнять код, посылать сообщения и взаимодействовать с другими контрактами.
  • Ether
    Ether - это родная криптовалюта Ethereum, которую можно использовать для оплаты за газ в сети Ethereum. Вы можете передавать Эфир посредством транзакций, аналогично осуществлению банковского перевода, и использовать его для приобретения услуг или продуктов в рамках контрактов.

Интеллектуальные контракты

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

Смарт-контракты могут использоваться для разработки различных типов dApps, превращая сеть Ethereum, по сути, в глобальный компьютер общего доступа. Любой человек может получить доступ к данным, редактировать и работать с различными типами приложений на этом компьютере в соответствии со своими потребностями.

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

Однако такой подход сопряжен с ограничениями и рисками, такими как потеря данных, фальсификация и перебои в обслуживании. Появление смарт-контрактов обеспечивает беспрецедентную безопасность, верифицируемость и устойчивость к цензуре традиционных приложений. В частности, смарт-контракты Ethereum имеют несколько ключевых отличий по сравнению с обычными веб-приложениями и программным обеспечением на стороне клиента:

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

Виртуальная машина Ethereum

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

EVM работает в изолированной среде, не подверженной внешним помехам и не влияющей на базовое оборудование. Он работает путем компиляции кода смарт-контрактов, обычно написанного на языке Solidity, в набор инструкций байткода, называемого байткодом EVM. Затем EVM выполняет эти инструкции шаг за шагом.

Выполнение EVM приводит к изменению состояния блокчейна, например, к передаче токенов, хранению данных или запуску событий. Для того чтобы вредоносный код смарт-контракта не вызывал бесконечных циклов или сбоев в работе сети Ethereum, каждая инструкция потребляет определенное количество газа. Если газа недостаточно, операция не может быть выполнена.

Плата за газ

Комиссия за газ относится к комиссии за транзакцию, уплачиваемой в Эфирах (ETH) в сети Ethereum за выполнение смарт-контрактов или передачу токенов. Она используется для вознаграждения майнеров, которые поддерживают работу сети. Стоимость платы за газ зависит от сложности транзакции и уровня перегруженности сети и обычно измеряется в Gwei (1 Gwei = 0,000000001 ETH).

Трейдеры могут устанавливать свою собственную цену на газ (цену за единицу газа) и лимит газа (максимальное количество газа, которое они готовы заплатить), чтобы регулировать скорость и стоимость своих сделок.

Формула расчета платы за газ в Ethereum выглядит следующим образом:
Цена газа * Лимит газа = Плата за газ.

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

Согласно EIP-1559 (Ethereum Improvement Proposal), цена на газ включает базовую плату, которая динамически корректируется в зависимости от спроса на сеть и размера блока. Транзакции с ценами на газ, установленными выше базовой платы, гарантированно будут обработаны, а ETH будут сожжены для уменьшения предложения токенов в сети Ethereum.

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

Благодаря газовому механизму Ethereum, вычислительные ресурсы и пространство для хранения данных в сети блокчейн могут быть соответствующим образом оценены, что может предотвратить выполнение смарт-контрактами бесконечных ошибочных циклов или атаки со стороны злоумышленников.

Майнинг

До слияния Ethereum в сентябре 2022 года и Ethereum, и Bitcoin полагались на механизм консенсуса Proof of Work (PoW) для обеспечения нормальной работы своих блокчейн-сетей.

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

Постоянно пытаясь вычислить хэш-значение, майнеры имели возможность найти хэш-значение, удовлетворяющее требованиям. Затем майнеры могли объединить ожидающие транзакции в блок и транслировать этот блок во всю сеть для проверки и подтверждения. Если блок был подтвержден, майнер получал вознаграждение за блок и комиссионные за транзакцию.

После обновления Ethereum 2.0, Ethereum принял механизм консенсуса Proof of Stake (PoS) для майнинга. Узлы, подтверждающие транзакции, должны внести определенную сумму Эфира в качестве залога, чтобы конкурировать за право производить новые блоки.

Цель стакинга - наложить на узлы экономические риски, чтобы узлы, атакующие сеть, сократили свои стакинг-активы, что приведет к потерям. Это служит сдерживающим фактором против злонамеренного поведения. Чем больше Эфира ставит узел, тем выше вероятность получения права на производство новых блоков.

Узлы, отвечающие за производство блоков, должны упаковывать ожидающие транзакции, генерировать новые блоки и транслировать их в сеть для проверки и подтверждения. Если блок подтверждается, узел получает вознаграждение за блок и комиссионные за транзакции, а также определенную прибыль в зависимости от суммы поставленных активов.

Механизм майнинга играет важнейшую роль в сети Ethereum, что в первую очередь отражается в следующих аспектах:

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

  2. Сохранение децентрализации блокчейна
    Механизм майнинга может помешать какому-либо одному предприятию или организации контролировать всю сеть Ethereum, поскольку майнинг требует значительных вычислительных мощностей (в настоящее время вместо них используются токены), и злоумышленникам потребуются значительные ресурсы для получения контроля. Это обеспечивает децентрализацию сети и предотвращает монопольный контроль со стороны какого-либо физического или юридического лица

  3. Предоставление стимулов для участия
    Mining позволяет участникам зарабатывать вознаграждения, внося ресурсы. Это стимулирует пользователей к участию в строительстве и эксплуатации сети, обеспечивая тем самым ее бесперебойное функционирование.

По сравнению с PoW-майнингом, PoS-майнинг требует значительно меньше вычислительных ресурсов и энергопотребления, что делает его более подходящим для удовлетворения потребностей сети Ethereum в развитии и масштабируемости.

Области применения Ethereum

Смарт-контракты Ethereum позволили реализовать множество важных приложений, включая:

  1. DeFi (Decentralized Finance)
    DeFi - одно из самых успешных применений смарт-контрактов Ethereum. Он использует смарт-контракты для создания ряда децентрализованных финансовых протоколов, таких как MakerDAO, Compound, Uniswap и др. Эти протоколы позволяют предоставлять такие финансовые услуги, как кредитование, торговля, страхование, управление активами и т.д.

  2. NFTs (Non-Fungible Tokens)
    NFTs - это цифровые активы, основанные на смарт-контрактах Ethereum, обеспечивающие уникальность и неделимость благодаря функциональности смарт-контрактов. НФТ находят применение в различных областях, таких как искусство, музыка, игры, виртуальная недвижимость и т.д.

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

  4. Эмиссия токенов
    Стандарт ERC-20 в Ethereum определяет эмиссию и торговлю токенами, позволяя создавать собственные токены, которыми можно торговать в сети Ethereum.

  5. Децентрализованное хранилище
    На платформе Ethereum также существует несколько распределенных протоколов хранения файлов, основанных на смарт-контрактах. Например, протокол Swarm позволяет пользователям хранить файлы в сети распределенным образом, что делает их более безопасными и надежными.

  6. Облачные вычисления
    Существует также несколько децентрализованных вычислительных платформ, основанных на смарт-контрактах на платформе Ethereum, например, Golem и iExec. Эти платформы позволяют пользователям арендовать вычислительные ресурсы для выполнения различных приложений, добиваясь, таким образом, более эффективной вычислительной техники и обработки данных.

  7. Цифровая идентификация
    EIP-4361 представляет стандартизированную структуру для входа в систему с помощью Ethereum, позволяя пользователям входить в dApps, используя свои Ethereum-адреса вместо традиционных имен пользователей и паролей. Этот механизм аутентификации повышает уровень конфиденциальности и безопасности пользователей, одновременно снижая участие посредников. \
    Помимо вышеупомянутых приложений, смарт-контракты Ethereum могут обеспечить широкий спектр других вариантов использования, таких как игры, социальные сети, управление цепочками поставок и т.д. Благодаря программируемости смарт-контрактов сценарии применения на платформе Ethereum продолжают расширяться, предлагая значительный потенциал для будущего развития.

Проблемы масштабируемости, с которыми сталкивается Ethereum

Ethereum пожертвовал некоторой степенью производительности в погоне за децентрализацией и безопасностью. Из-за технических ограничений время генерации блока в Ethereum составляет примерно 12-15 секунд, при этом размер каждого блока ограничен 15 МБ. В результате Ethereum может обрабатывать только около 15 транзакций в секунду.

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

Для улучшения масштабируемости Ethereum сообщество разработчиков предложило различные решения, включая сайдчейны, роллопы, технологию шардинга и перенаправление трафика на другие EVM-совместимые блокчейн-сети для снижения перегруженности.

Заключение

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

Однако быстрый рост Ethereum высветил проблему низкой масштабируемости. Поэтому решение проблемы масштабируемости стало первоочередной задачей для удовлетворения растущих потребностей пользователей.

В следующем уроке мы изучим различные решения для масштабирования и их применение в экосистеме, включая сайдчейн, роллапы и различных конкурентов EVM. Мы также проанализируем их соответствующие преимущества и недостатки, обеспечив Вам лучшее понимание текущего состояния развития и будущих тенденций технологии blockchain.

Основные моменты

  • Ethereum - это децентрализованная платформа смарт-контрактов, основанная на технологии блокчейн, которая использует модель счета.
  • Эфир служит средством обмена в сети Ethereum и используется для оплаты транзакций и покупки услуг или продуктов в рамках контрактов.
  • Смарт-контракты на Ethereum программируются с помощью языка Solidity и могут реализовывать различную бизнес-логику и правила транзакций.
  • Виртуальная машина Ethereum (EVM) используется для выполнения кода смарт-контрактов и изменения состояния блокчейна.
  • Каждая инструкция в Ethereum потребляет определенное количество газа. Без достаточного количества газа операции не могут быть выполнены.
  • Смарт-контракты Ethereum обладают такими характеристиками, как прозрачность данных, неизменяемость, фиксированная и предсказуемая программная логика, децентрализованная и безопасная среда исполнения, а также взаимодействие с затратами и задержками.
  • Масштабируемость - одна из основных проблем, которую в настоящее время необходимо решить в Ethereum, и сообщество разработчиков предложило различные решения, включая сайдчейн, ролловеры, технологию шардинга и т.д.
  • У Ethereum есть собственная криптовалюта под названием Ether (ETH), которая используется для оплаты транзакций и вознаграждения майнеров. В настоящее время в ней используется механизм консенсуса Proof of Stake (PoS).
  • Смарт-контракты Ethereum открыли возможности для многих важных приложений, включая DeFi, NFT, DAO, эмиссию токенов, децентрализованное хранение данных и облачные вычисления.
  • Стремясь к децентрализации и безопасности, Ethereum в некоторой степени пожертвовал производительностью и столкнулся с проблемами масштабируемости. Существующие решения включают сайдчейн, роллапы, технологию шардинга и перенаправление трафика в другие блокчейн-сети, совместимые с EVM.





🎥・Основное видео


Нет

📄・Связанные статьи


Что такое Ethereum?


Что такое UTXO?


Что такое смарт-контракты?


Что такое EVM (Ethereum Virtual Machine?)


Что такое газовый сбор?


Что такое алгоритм консенсуса в блокчейне?

Tuyên bố từ chối trách nhiệm
* Đầu tư tiền điện tử liên quan đến rủi ro đáng kể. Hãy tiến hành một cách thận trọng. Khóa học không nhằm mục đích tư vấn đầu tư.
* Khóa học được tạo bởi tác giả đã tham gia Gate Learn. Mọi ý kiến chia sẻ của tác giả không đại diện cho Gate Learn.
Danh mục
Bài học 1

Технологический обзор Ethereum

1. Ethereum - это децентрализованная платформа смарт-контрактов, основанная на технологии блокчейн, использующая модель счета и Эфир в качестве средства обмена для транзакций. Смарт-контракты обладают такими характеристиками, как прозрачность и неизменяемость данных, получая удовольствие от децентрализованной и безопасной среды исполнения. 2. Ethereum сталкивается с проблемой масштабируемости, для решения которой сообщество разработчиков предложило различные решения, такие как сайдчейн, роллапы, технология шардинга и т.д., для достижения масштабируемости и повышения производительности.

Предисловие

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

Основной целью создания Ethereum было улучшение функциональных возможностей Биткойна, а не только как цифровой платежной системы. Основное различие между ними заключается в том, что Ethereum может хранить код, который может быть выполнен. Эта основная инновация также называется смарт-контрактами, что означает, что любой разработчик может писать исполняемые децентрализованные приложения (dApps) на блокчейне Ethereum для реализации различных бизнес-потребностей и социальных контрактов.

С появлением смарт-контрактов пользователи могут проводить безопасные, прозрачные и автоматизированные транзакции и совместную работу без необходимости в доверии или посредниках. Это расширило полезность и функциональность сетей blockchain.

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

В этом уроке Вы получите исчерпывающий обзор технологической эволюции Ethereum, узнаете, как Ethereum стал пионером в области blockchain, а также поймете проблемы масштабируемости, стоящие перед Ethereum, и соответствующие решения.

Обзор технологической архитектуры Ethereum

Ограничения предыдущих технологий

До появления Ethereum развитие блокчейна было сосредоточено в основном на цифровых валютах и платежных системах, использующих децентрализованные блокчейн-бухгалтерии для регистрации транзакций. Если взять в качестве примера Биткойн, то сеть Биткойн можно рассматривать как систему с переходами состояний, в которой используется модель Unspent Transactions Output (UTXO). UTXO относится к оставшемуся количеству токенов от транзакции, которое может быть использовано в другой транзакции. Его можно интерпретировать как оставшийся неизрасходованный остаток после того, как кто-то дал Вам некоторую сумму денег.

Каждый раз, когда майнер создает новый блок, он представляет собой изменение в состоянии сети Биткойн, поскольку новый блок содержит несколько действительных транзакций, которые потребляют некоторые существующие UTXO и создают новые UTXO. Эти новые UTXO становятся последним состоянием сети Биткойн, которое отражает количество и распределение Биткойна, находящегося у всех пользователей.

Предыдущее состояние + действительные транзакции в новом блоке = Текущее состояние

Переход состояния UTXO

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

  1. Не полный по Тьюрингу
    Хотя скриптовый язык Биткойна поддерживает широкий спектр функциональных возможностей, он не поддерживает все вычисления, в частности, в нем отсутствует поддержка циклов. Теоретически, любая операция цикла может быть достигнута путем многократного выполнения базового кода через несколько слоев операторов IF, но это приведет к очень низкой эффективности работы.

  2. Сложность определения стоимости
    Скрипты UTXO не могут тонко контролировать сумму, которую можно вывести. Например, пользователю А необходимо хеджировать ценовой риск, а пользователь Б выступает в качестве контрагента. Обе стороны вносят в контракт активы на сумму $1,000. По истечении 30 дней пользователь А получает обратно Биткойн стоимостью $1,000, а оставшаяся часть отправляется пользователю Б. Это потребует оракула для определения долларовой стоимости 1 Биткойна, что вынудит оракула хранить множество UTXO различного номинала.

  3. Отсутствие гибкости государства
    UTXO может быть либо потрачен, либо не потрачен. Трудно создавать опционные контракты, децентрализованные системы котировок, протоколы криптографических обязательств и другие приложения, требующие многоступенчатых состояний (например, "в использовании"). Поэтому UTXO можно использовать только для построения простых одноразовых контрактов, а не более сложных "stateful" контрактов в децентрализованных протоколах.

  4. Невозможность видеть данные блокчейна
    Модель UTXO не имеет возможности видеть данные блокчейна, такие как случайные числа, временные метки и хэш предыдущего блока. Это ограничение сдерживает развитие игровых и других типов dApps.

Модель счета в Ethereum

Чтобы устранить недостатки Биткойна в приложениях смарт-контрактов, Ethereum отказался от модели UTXO и принял модель счета, подобную личным банковским счетам, где база данных регистрирует баланс каждого счета и автоматически обновляет его при каждой транзакции.

В Ethereum существует два типа счетов: счета, принадлежащие внешним пользователям и контролируемые закрытыми ключами, и счета-контракты, контролируемые кодом смарт-контракта. Эфир служит средством обмена в сети Ethereum.

  • Счета
    Каждый счет в Ethereum имеет уникальный 20-байтовый адрес, подобный номеру счета на Вашем банковском счете. Счета могут хранить Эфир или данные и могут передавать Эфир или посылать сообщения друг другу посредством транзакций.
  • Контракты
    Контракты подобны торговым автоматам. Когда Вы посылаете Эфир контракту, он выполняет содержащийся в нем код и выполняет определенные операции на основе логики, заданной кодом. Контракты могут хранить данные, выполнять код, посылать сообщения и взаимодействовать с другими контрактами.
  • Ether
    Ether - это родная криптовалюта Ethereum, которую можно использовать для оплаты за газ в сети Ethereum. Вы можете передавать Эфир посредством транзакций, аналогично осуществлению банковского перевода, и использовать его для приобретения услуг или продуктов в рамках контрактов.

Интеллектуальные контракты

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

Смарт-контракты могут использоваться для разработки различных типов dApps, превращая сеть Ethereum, по сути, в глобальный компьютер общего доступа. Любой человек может получить доступ к данным, редактировать и работать с различными типами приложений на этом компьютере в соответствии со своими потребностями.

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

Однако такой подход сопряжен с ограничениями и рисками, такими как потеря данных, фальсификация и перебои в обслуживании. Появление смарт-контрактов обеспечивает беспрецедентную безопасность, верифицируемость и устойчивость к цензуре традиционных приложений. В частности, смарт-контракты Ethereum имеют несколько ключевых отличий по сравнению с обычными веб-приложениями и программным обеспечением на стороне клиента:

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

Виртуальная машина Ethereum

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

EVM работает в изолированной среде, не подверженной внешним помехам и не влияющей на базовое оборудование. Он работает путем компиляции кода смарт-контрактов, обычно написанного на языке Solidity, в набор инструкций байткода, называемого байткодом EVM. Затем EVM выполняет эти инструкции шаг за шагом.

Выполнение EVM приводит к изменению состояния блокчейна, например, к передаче токенов, хранению данных или запуску событий. Для того чтобы вредоносный код смарт-контракта не вызывал бесконечных циклов или сбоев в работе сети Ethereum, каждая инструкция потребляет определенное количество газа. Если газа недостаточно, операция не может быть выполнена.

Плата за газ

Комиссия за газ относится к комиссии за транзакцию, уплачиваемой в Эфирах (ETH) в сети Ethereum за выполнение смарт-контрактов или передачу токенов. Она используется для вознаграждения майнеров, которые поддерживают работу сети. Стоимость платы за газ зависит от сложности транзакции и уровня перегруженности сети и обычно измеряется в Gwei (1 Gwei = 0,000000001 ETH).

Трейдеры могут устанавливать свою собственную цену на газ (цену за единицу газа) и лимит газа (максимальное количество газа, которое они готовы заплатить), чтобы регулировать скорость и стоимость своих сделок.

Формула расчета платы за газ в Ethereum выглядит следующим образом:
Цена газа * Лимит газа = Плата за газ.

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

Согласно EIP-1559 (Ethereum Improvement Proposal), цена на газ включает базовую плату, которая динамически корректируется в зависимости от спроса на сеть и размера блока. Транзакции с ценами на газ, установленными выше базовой платы, гарантированно будут обработаны, а ETH будут сожжены для уменьшения предложения токенов в сети Ethereum.

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

Благодаря газовому механизму Ethereum, вычислительные ресурсы и пространство для хранения данных в сети блокчейн могут быть соответствующим образом оценены, что может предотвратить выполнение смарт-контрактами бесконечных ошибочных циклов или атаки со стороны злоумышленников.

Майнинг

До слияния Ethereum в сентябре 2022 года и Ethereum, и Bitcoin полагались на механизм консенсуса Proof of Work (PoW) для обеспечения нормальной работы своих блокчейн-сетей.

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

Постоянно пытаясь вычислить хэш-значение, майнеры имели возможность найти хэш-значение, удовлетворяющее требованиям. Затем майнеры могли объединить ожидающие транзакции в блок и транслировать этот блок во всю сеть для проверки и подтверждения. Если блок был подтвержден, майнер получал вознаграждение за блок и комиссионные за транзакцию.

После обновления Ethereum 2.0, Ethereum принял механизм консенсуса Proof of Stake (PoS) для майнинга. Узлы, подтверждающие транзакции, должны внести определенную сумму Эфира в качестве залога, чтобы конкурировать за право производить новые блоки.

Цель стакинга - наложить на узлы экономические риски, чтобы узлы, атакующие сеть, сократили свои стакинг-активы, что приведет к потерям. Это служит сдерживающим фактором против злонамеренного поведения. Чем больше Эфира ставит узел, тем выше вероятность получения права на производство новых блоков.

Узлы, отвечающие за производство блоков, должны упаковывать ожидающие транзакции, генерировать новые блоки и транслировать их в сеть для проверки и подтверждения. Если блок подтверждается, узел получает вознаграждение за блок и комиссионные за транзакции, а также определенную прибыль в зависимости от суммы поставленных активов.

Механизм майнинга играет важнейшую роль в сети Ethereum, что в первую очередь отражается в следующих аспектах:

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

  2. Сохранение децентрализации блокчейна
    Механизм майнинга может помешать какому-либо одному предприятию или организации контролировать всю сеть Ethereum, поскольку майнинг требует значительных вычислительных мощностей (в настоящее время вместо них используются токены), и злоумышленникам потребуются значительные ресурсы для получения контроля. Это обеспечивает децентрализацию сети и предотвращает монопольный контроль со стороны какого-либо физического или юридического лица

  3. Предоставление стимулов для участия
    Mining позволяет участникам зарабатывать вознаграждения, внося ресурсы. Это стимулирует пользователей к участию в строительстве и эксплуатации сети, обеспечивая тем самым ее бесперебойное функционирование.

По сравнению с PoW-майнингом, PoS-майнинг требует значительно меньше вычислительных ресурсов и энергопотребления, что делает его более подходящим для удовлетворения потребностей сети Ethereum в развитии и масштабируемости.

Области применения Ethereum

Смарт-контракты Ethereum позволили реализовать множество важных приложений, включая:

  1. DeFi (Decentralized Finance)
    DeFi - одно из самых успешных применений смарт-контрактов Ethereum. Он использует смарт-контракты для создания ряда децентрализованных финансовых протоколов, таких как MakerDAO, Compound, Uniswap и др. Эти протоколы позволяют предоставлять такие финансовые услуги, как кредитование, торговля, страхование, управление активами и т.д.

  2. NFTs (Non-Fungible Tokens)
    NFTs - это цифровые активы, основанные на смарт-контрактах Ethereum, обеспечивающие уникальность и неделимость благодаря функциональности смарт-контрактов. НФТ находят применение в различных областях, таких как искусство, музыка, игры, виртуальная недвижимость и т.д.

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

  4. Эмиссия токенов
    Стандарт ERC-20 в Ethereum определяет эмиссию и торговлю токенами, позволяя создавать собственные токены, которыми можно торговать в сети Ethereum.

  5. Децентрализованное хранилище
    На платформе Ethereum также существует несколько распределенных протоколов хранения файлов, основанных на смарт-контрактах. Например, протокол Swarm позволяет пользователям хранить файлы в сети распределенным образом, что делает их более безопасными и надежными.

  6. Облачные вычисления
    Существует также несколько децентрализованных вычислительных платформ, основанных на смарт-контрактах на платформе Ethereum, например, Golem и iExec. Эти платформы позволяют пользователям арендовать вычислительные ресурсы для выполнения различных приложений, добиваясь, таким образом, более эффективной вычислительной техники и обработки данных.

  7. Цифровая идентификация
    EIP-4361 представляет стандартизированную структуру для входа в систему с помощью Ethereum, позволяя пользователям входить в dApps, используя свои Ethereum-адреса вместо традиционных имен пользователей и паролей. Этот механизм аутентификации повышает уровень конфиденциальности и безопасности пользователей, одновременно снижая участие посредников. \
    Помимо вышеупомянутых приложений, смарт-контракты Ethereum могут обеспечить широкий спектр других вариантов использования, таких как игры, социальные сети, управление цепочками поставок и т.д. Благодаря программируемости смарт-контрактов сценарии применения на платформе Ethereum продолжают расширяться, предлагая значительный потенциал для будущего развития.

Проблемы масштабируемости, с которыми сталкивается Ethereum

Ethereum пожертвовал некоторой степенью производительности в погоне за децентрализацией и безопасностью. Из-за технических ограничений время генерации блока в Ethereum составляет примерно 12-15 секунд, при этом размер каждого блока ограничен 15 МБ. В результате Ethereum может обрабатывать только около 15 транзакций в секунду.

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

Для улучшения масштабируемости Ethereum сообщество разработчиков предложило различные решения, включая сайдчейны, роллопы, технологию шардинга и перенаправление трафика на другие EVM-совместимые блокчейн-сети для снижения перегруженности.

Заключение

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

Однако быстрый рост Ethereum высветил проблему низкой масштабируемости. Поэтому решение проблемы масштабируемости стало первоочередной задачей для удовлетворения растущих потребностей пользователей.

В следующем уроке мы изучим различные решения для масштабирования и их применение в экосистеме, включая сайдчейн, роллапы и различных конкурентов EVM. Мы также проанализируем их соответствующие преимущества и недостатки, обеспечив Вам лучшее понимание текущего состояния развития и будущих тенденций технологии blockchain.

Основные моменты

  • Ethereum - это децентрализованная платформа смарт-контрактов, основанная на технологии блокчейн, которая использует модель счета.
  • Эфир служит средством обмена в сети Ethereum и используется для оплаты транзакций и покупки услуг или продуктов в рамках контрактов.
  • Смарт-контракты на Ethereum программируются с помощью языка Solidity и могут реализовывать различную бизнес-логику и правила транзакций.
  • Виртуальная машина Ethereum (EVM) используется для выполнения кода смарт-контрактов и изменения состояния блокчейна.
  • Каждая инструкция в Ethereum потребляет определенное количество газа. Без достаточного количества газа операции не могут быть выполнены.
  • Смарт-контракты Ethereum обладают такими характеристиками, как прозрачность данных, неизменяемость, фиксированная и предсказуемая программная логика, децентрализованная и безопасная среда исполнения, а также взаимодействие с затратами и задержками.
  • Масштабируемость - одна из основных проблем, которую в настоящее время необходимо решить в Ethereum, и сообщество разработчиков предложило различные решения, включая сайдчейн, ролловеры, технологию шардинга и т.д.
  • У Ethereum есть собственная криптовалюта под названием Ether (ETH), которая используется для оплаты транзакций и вознаграждения майнеров. В настоящее время в ней используется механизм консенсуса Proof of Stake (PoS).
  • Смарт-контракты Ethereum открыли возможности для многих важных приложений, включая DeFi, NFT, DAO, эмиссию токенов, децентрализованное хранение данных и облачные вычисления.
  • Стремясь к децентрализации и безопасности, Ethereum в некоторой степени пожертвовал производительностью и столкнулся с проблемами масштабируемости. Существующие решения включают сайдчейн, роллапы, технологию шардинга и перенаправление трафика в другие блокчейн-сети, совместимые с EVM.





🎥・Основное видео


Нет

📄・Связанные статьи


Что такое Ethereum?


Что такое UTXO?


Что такое смарт-контракты?


Что такое EVM (Ethereum Virtual Machine?)


Что такое газовый сбор?


Что такое алгоритм консенсуса в блокчейне?

Tuyên bố từ chối trách nhiệm
* Đầu tư tiền điện tử liên quan đến rủi ro đáng kể. Hãy tiến hành một cách thận trọng. Khóa học không nhằm mục đích tư vấn đầu tư.
* Khóa học được tạo bởi tác giả đã tham gia Gate Learn. Mọi ý kiến chia sẻ của tác giả không đại diện cho Gate Learn.