Перейти к основному содержанию
Change page

Введение в Ethereum

Последнее редактирование: @dovbyshbgd(opens in a new tab), 26 июня 2024 г.

Что такое блокчейн?

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

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

«Цепочка» («чейн») означает тот факт, что каждый блок криптографически ссылается на свой родительский объект. Другими словами, блоки соединяются друг с другом. Данные в блоке не могут быть изменены без изменения всех последующих блоков, что потребует согласия всей сети.

Каждый компьютер в сети должен согласовать каждый новый блок и цепочку в целом. Такие компьютеры называют «узлами». Узлы гарантируют, что все, кто взаимодействует с блокчейном, имеют одни и те же данные. Чтобы достигнуть этого распределенного соглашения, блокчейну требуется механизм консенсуса.

Ethereum использует механизм консенсуса, основанный на доказательстве владения. Любой, кто хочет добавить новые блоки в цепочку, должен использовать в стейкинге ЕТН — нативную валюту Ethereum — в качестве залога и запустить программное обеспечение валидатора. Эти «валидаторы» затем могут быть случайным образом выбраны, чтобы предложить блоки, которые другие валидаторы проверяют, и добавить их в блокчейн. Существует система вознаграждений и наказаний, которая сильно стимулирует участников быть честными и оставаться онлайн как можно больше.

Если вы хотите увидеть, как данные блокчейна хэшируются, а затем добавляются к истории ссылок на блоки, то обязательно посмотрите это демо(opens in a new tab) от Андерса Браунворта и сопровождающее видео ниже.

Посмотрите, как Андерс объясняет про хэши в блокчейнах.

Что такое Ethereum?

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

Во вселенной Ethereum есть единственный каноничный компьютер (называемый виртуальной машиной Ethereum, или EVM), с состоянием которого согласуется вся в сеть Ethereum. Каждый участник сети Ethereum (каждый узел Ethereum) хранит копию состояния этого компьютера. Кроме того, любой участник может транслировать запрос этому компьютеру на выполнение произвольных вычислений. Каждый раз, когда такой запрос транслируется, другие участники сети проверяют, подтверждают и производят («выполняют») вычисление. Это «выполнение» вызывает изменение состояния в EVM, которое фиксируется и распространяется по всей сети.

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

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

Что такое эфир?

Эфир (ETH) — это нативная криптовалюта Ethereum. Целью ЕТН является создание рынка для вычислений. Такой рынок обеспечивает участникам экономический стимул для проверки и выполнения транзакционных запросов и предоставления сети вычислительных ресурсов.

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

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

ЕТН также используется для обеспечения криптоэкономической безопасности сети тремя основными способами: 1) он используется в качестве средства поощрения валидаторов, которые предлагают блоки или заявляют о нечестном поведении других валидаторов; 2) он используется валидаторами в стейкинге в качестве залога на случай недобросовестного поведения: если валидаторы попытаются повести себя нечестно, их ЕТН могут быть уничтожены; З) он используется для взвешивания голосов за вновь предложенные блоки, подпитывая часть механизма консенсуса, отвечающую за выбор ответвления.

Что такое умные контракты?

На практике участники не пишут новый код каждый раз, когда хотят запросить вычисление в EVM. Вместо этого разработчики приложений загружают программы (многократно используемые фрагменты кода) в структуру EVM, а пользователи делают запросы на выполнение этих фрагментов кода с различными параметрами. Мы называем такие программы, загруженные и выполняемые сетью, умными (или «смарт-») контрактами.

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

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

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

Терминология

Блокчейн

Последовательность всех блоков, зафиксированных в сети Ethereum на протяжении всей ее истории. Он назван так, потому что каждый блок содержит ссылку на предыдущий блок, что помогает нам поддерживать порядок по всем блокам (и, тем самым, точность истории).

ETH

Эфир (ETH) — это собственная криптовалюта Ethereum. Пользователи платят ETH другим пользователям за выполнение их запросов на выполнение кода.

Подробнее об ETH

EVM

Виртуальная машина Ethereum — это глобальный виртуальный компьютер, состояние которого хранит (и с которым согласуется) каждый участник сети Ethereum. Любой участник может запросить выполнение произвольного кода в EVM; выполнение кода изменяет состояние EVM.

Подробнее об EVM

Узлы

Реальные машины, хранящие состояние EVM. Узлы взаимодействуют друг с другом для распространения информации о состоянии EVM и новых изменениях состояния. Любой пользователь также может запросить выполнение кода, передав запрос на его выполнение от узла. Сама сеть Ethereum представляет собой совокупность всех узлов Ethereum и их коммуникаций.

Подробнее об узлах

Аккаунты

Это место хранения ETH. Пользователи могут инициализировать аккаунты, вносить ETH на аккаунты и передавать ETH со своих аккаунтов другим пользователям. Аккаунты и балансы аккаунтов хранятся в большой таблице в EVM; они являются частью общего состояния EVM.

Подробнее об аккаунтах

Транзакции

«Запрос транзакции» — это формальный термин для запроса выполнения кода в EVM, а «транзакция» — это выполненный запрос транзакции и соответствующее изменение в состоянии EVM. Любой пользователь может транслировать запрос транзакции в сеть от узла. Чтобы запрос транзакции повлиял на согласованное состояние EVM, он должен быть проверен, выполнен и «передан в сеть» другим узлом. Выполнение любого кода вызывает изменение состояния в EVM; после фиксации это изменение состояния транслируется на все узлы в сети. Некоторые примеры транзакций:

  • Отправка X ETH из моего аккаунта в аккаунт Алисы.
  • Публикация кода умного контракта в состоянии EVM.
  • Выполнение кода умного контракта по адресу X в EVM с аргументами Y.

Подробнее о транзакциях

Блоки

Объем транзакций очень велик, поэтому транзакции «фиксируются» пакетами или блоками. Блоки обычно содержат от десятков до сотен транзакций.

Подробнее о блоках

Умные контракты

Многократно используемый фрагмент кода (программа), который разработчик публикует в структуре EVM. Кто угодно может запросить выполнение кода умного контракта, сделав запрос транзакции. Поскольку разработчики могут создавать произвольные исполняемые приложения в EVM (игры, торговые площадки, финансовые инструменты и т. д.) путем публикации умных контрактов, их часто также называют децентрализованными приложениями (или dapp).

Подробнее об умных контрактах

Дополнительные ресурсы

  • Белая книга Ethereum
  • Как вообще работает Ethereum?(opens in a new tab)Preethi Kasireddy (обратите внимание: этот ресурс по-прежнему ценен, но появился он до слияния, следовательно, он по-прежнему ссылается на механизм доказательства выполнения работы Ethereum, но сейчас Ethereum защищен с помощью доказательства доли владения)

Знаете ресурс сообщества, который вам пригодился? Измените эту страницу и добавьте его!

  • Руководство разработчика по Ethereum, часть 1 — знакомство с Ethereum для начинающих с использованием Python и web3.py

Была ли эта статья полезной?