Ethereum - это криптоплатформа следующего поколения для создания смарт-контрактов и децентрализованных приложений.
Цель Эфириума — объединив и доработав концепции скриптинга, альткойнов и мета-протоколов, позволить всем желающим создавать произвольные децентрализованные приложения, обладающие одновременно свойствами масштабируемости, стандартизации, feature-полноты, лёгкости разработки и совместимости. Эфириум добивается этого построением предельно базовой платформы: блокчейна со встроенным Тьюринг-полным языком программирования, позволяющим любому желающему писать смарт-контракты и децентрализованные приложения, где каждый сможет создавать собственные произвольные правила владения, форматы транзакций и произвольные функции изменения состояния. Реализация идеи известной криптовалюты Неймкойн (Namecoin) на этом языке занимает (это не шутка) две строки кода, а такие протоколы, как валюты и системы репутации, можно реализовать менее чем в двадцать строк. Смарт-контракты, криптографические "коробки", содержащие значение и открывающиеся только при определённых условиях, также могут быть построены поверх платформы Эфириум, причём со значительно большей функциональностью, чем та, что предложена в языке сценариев Биткойн, по причине Тьюринг-полноты языка Эфириум, его финансовой зрячести, блокчейн-зрячести и наличия промежуточных состояний (Эфириум лишён всех недостатков, описанных в предыдущем параграфе).
Эфириум-аккаунтыВ Эфириум состояние сделано из "аккаунтов"; каждому аккаунту соответствует его 20-байтовый адрес. Функции изменения состояния — переводы валюты или информации между аккаунтами. Эфириум-аккаунт содержит четыре поля:
nonce — счётчик, необходимый для того, чтобы каждая транзакция произошла ровно один раз
текущий баланс аккаунта (в ETH)
код контракта, связанного с аккаунтом (если контракт есть)
хранилище аккаунта (пустое по умолчанию)
"Эфир" (ether, ETH) — главное внутреннее "крипто-топливо" Эфириума, он же используется для уплаты комиссий. Возможны два способа ведения аккаунтов: контролируемый владельцем аккаунт (externally owned account) и аккаунт, контролируемый кодом связанного с ним контракта (контракт-аккаунт). Первый способ — это ровно то, что было в системе Биткойн: аккаунт, единственной опцией которого является пересылка денег (создание исходящей транзакции); путём создания и подписания транзакций с такого аккаунта можно пересылать сообщения. В случае контракт-аккаунта каждый раз, когда аккаунт получает входящее сообщение, активируется код контракта, который может открывать сообщению возможность писать в хранилище и считывать оттуда информацию, посылать другие сообщения и создавать другие контракты. (Слово "контракт", которое часто употребляется далее в этом тексте, является просто короткой формой для "контракт-аккаунт".)
Сообщения и транзакции"Сообщения" в Эфириум — нечто похожее на транзакции в Биткойн, но с тремя существенными отличиями. Во-первых, сообщение в Эфириум может быть создано как внешним источником (=человеком), так и контрактом, в то время как Биткойн-транзакция может быть создана только человеком. Second, there is an explicit option for Ethereum messages to contain data. В-третьих, получатель Эфириум-сообщения, если это контракт-аккаунт, имеет возможность "ответить" автору на него; этим Эфириум-сообщения похожи на обычные функции.
Термин "транзакция" в Эфириум означает подписанный пакет данных, содержащий сообщение, отправляемое контролируемым владельцем аккаунтом. Транзакции включают в себя получателя, электронную подпись отправителя, количество пересылаемого эфира и пересылаемую информацию, а также значения двух переменных STARTGAS и GASPRICE. Чтобы предотвратить экспоненциальное раздутие количества вычислительных операций кода и бесконечные циклы, отправитель каждой транзакции устанавливает предел количества вычислительных шагов, которые допускаются для исходного + всех порождённых сообщений. STARTGAS — это именно этот предел, а GASPRICE — комиссия, которая платится майнеру за каждый вычислительный шаг (по сути, предлагаемый отправителем курс GAS/ETH). Если при выполнении транзакции "газ заканчивается", изменения откатываются и происходит возврат к начальному состоянию системы, с одной, правда, оговоркой: комиссии, выплаченные майнерам за их вычисления, остаются у майнеров. Если выполнение транзакции прерывается при ненулевом количестве остающегося газа, этот газ пересылается обратно отправителю транзакции. Таким образом, авторы контрактов обеспечивают их выполнение количеством газа, вложенным ими в контракт (очень похоже на пополнение баланса мобильного телефона). Также есть специальный тип транзакций и специальный тип сообщений для создания контрактов; адрес контракта вычисляется на основе хэша nonce аккаунта и содержащейся в транзакции информации.
Важным следствием механизма сообщений является принцип равноправия Эфириум-аккаунтов, управляемых контрактом и человеком — контракт-аккаунты имеют весь тот же функционал, что доступен аккаунтам, управляемым человеком, включая возможность пересылать сообщения и создавать другие контракты. Это приводит к тому, что контракты могут даже, как люди, играть в сообществе разные роли одновременно: к примеру, членом децентрализованной организации (контракт) может оказаться гарант-аккаунт (второй контракт) между параноиком, использующим специально изготовленные стойкие к квантовому компьютеру подписи Лэмпорта (третий контракт) и лицом, использующим аккаунт с пятью ключами для безопасности (четвёртый контракт). Сила платформы Эфириум в том, что децентрализованной организации, равно как и гарант-контракту, не нужно заботиться о типе аккаунта того или иного агента, о том, человек это или контракт.
Более подробно -
https://github.com/snordenstorm/wiki/wiki/%5BRussian%5D-White-Paper#%D0%AD%D1%84%D0%B8%D1%80%D0%B8%D1%83%D0%BC-%D0%B0%D0%BA%D0%BA%D0%B0%D1%83%D0%BD%D1%82%D1%8B Официальный сайт -
https://ethereum.orgОбозреватель блоков:https://etherscan.io/charts/difficultyСписок всех пулов -
https://miningpoolstats.stream/ethereumБиржи -
https://coinmarketcap.com/currencies/ethereum/#marketsТермины-
https://github.com/snordenstorm/wiki/wiki/%5BRussian%5D-Glossary