Перейти к основному контенту
Change page

Техническое введение в Эфириум

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

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

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

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

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

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

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

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

Blockchain 101: a visual demo

A demonstration of how blockchain technology works, covering hashing, blocks, chains, distributed ledgers, and tokens to make blockchain concepts tangible and intuitive.

Смотреть с расшифровкой 

Что такое Эфириум?

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

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

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

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

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

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

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

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

ETH также используется для обеспечения криптоэкономической безопасности сети тремя основными способами: 1) он используется как средство для вознаграждения валидаторов, которые предлагают блоки или выявляют нечестное поведение других валидаторов; 2) он стейкается валидаторами, выступая в качестве залога против нечестного поведения — если валидаторы попытаются вести себя недобросовестно, их ETH может быть уничтожен; 3) он используется для взвешивания «голосов» за недавно предложенные блоки, что учитывается в части механизма консенсуса, отвечающей за выбор форка.

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

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

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

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

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

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

Блокчейн

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

ETH

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

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

EVM

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

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

Узлы

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

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

Аккаунты

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

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

Транзакции

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

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

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

Блоки

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

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

Смарт-контракты

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

Подробнее о смарт-контрактах

Что дальше

Большинство читателей изучают документацию по порядку, но кратчайший путь зависит от того, что вы пытаетесь создать:

Дополнительная литература

Лучше воспринимаете визуальную информацию?

Эта серия видеороликов предлагает подробное изучение фундаментальных тем:

Ethereum basics: intro

An introductory lecture on Ethereum fundamentals, covering what Ethereum is, how it differs from Bitcoin, and the core concepts that underpin the Ethereum network.

Смотреть с расшифровкой 

Плейлист «Основы Эфириума» (opens in a new tab)

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