Что такое Ethereum?

Ethereum – это децентрализованная блокчейн-платформа, которая создает одноранговую сеть для безопасного выполнения и проверки специального кода под названием «смарт-контракты». Смарт-контракты позволяют участникам заключать сделки напрямую друг с другом без доверенного центрального органа. Записи таких транзакций неизменны, могут быть проверены и безопасно распределяются по всей сети, что сохраняет за участниками полные права владения и возможность видеть данные транзакций. Транзакции отправляются и принимаются аккаунтами Ethereum, которые создают пользователи. Отправитель должен подписать транзакцию и потратить специальную криптовалюту Ether, которая действует в сети Ethereum, на обработку этой транзакции в сети.

Слияние

15 сентября 2022 года в 06:42:42 UTC на блоке 15537393 было завершено слияние, в результате которого Ethereum перешел от Proof of Work (PoW) к Proof of Stake (PoS). Узлы Ethereum Mainnet Управляемого блокчейна Amazon работают на сети Ethereum PoS.

Слияние повышает консенсус Ethereum с уровня PoW до уровня PoS благодаря объединению основной сети Ethereum с системой Beacon Chain Proof of Stake. Это обновление, которое повысило устойчивость Ethereum за счет снижения энергопотребления, выполнялось в рамках программы текущих обновлений Ethereum Foundation, направленных на повышение масштабируемости, безопасности и устойчивости. Эта программа описана здесь.

Преимущества разработки на основе Ethereum

Ethereum предлагает чрезвычайно гибкую платформу для создания децентрализованных приложений с использованием собственного языка сценариев Solidity и виртуальной машины Ethereum. Разработчики децентрализованных приложений, которые развертывают смарт-контракты в сети Ethereum, смогут воспользоваться богатой экосистемой готовых инструментов для разработчиков и хорошо проверенных передовых методов, которые постепенно формировались по мере развития протокола. Зрелость платформы также повышает качество взаимодействия с типичным пользователем приложений Ethereum: существующие кошельки MetaMask, Argent, Rainbow и многие другие предлагают простые интерфейсы для взаимодействия с блокчейном Ethereum и развернутыми в нем смарт-контрактами. Большая пользовательская база Ethereum мотивирует новых разработчиков развертывать свои приложения в этой сети, что еще больше укрепляет Ethereum как основную платформу для децентрализованных приложений, например для DeFi и NFT. В будущем обратно совместимый протокол Ethereum 2.0, который сейчас разрабатывается, предоставит еще лучше масштабируемую сеть для создания децентрализованных приложений с более высокими требованиями к пропускной способности транзакций.

Сравнение разработки на базе Ethereum и Hyperledger Fabric

  Ethereum Hyperledger Fabric
Публичная или частная Публичная Частная
Разрешения Без разрешений С разрешениями
Управление Децентрализованное Федеративное
Механизм консенсуса Доказательство выполнения работы Присоединяемый BFT
Языки смарт-контрактов Solidity, Vyper Go, Java, Javascript (Node.js)
Частные транзакции Нет Да
Идеальные варианты использования Токенизация (стейблкоины, NFT), DeFi, урегулирование публичных транзакций Обмен данными B2B, урегулирование транзакций, невозможность отказа от обязательств

Примеры использования

Децентрализованные финансы (DeFi)

DeFi – это сеть финансовых приложений, построенная на основе сетей блокчейна. Она отличается от привычных финансовых систем тем, что является открытой и программируемой, работает без централизованного органа управления и позволяет разработчикам предлагать новые модели платежей, инвестиций, кредитования и торговли. Используя смарт-контракты и распределенные системы, клиенты могут легко создавать безопасные децентрализованные финансовые приложения. Например, компании DeFi уже предлагают продукты, позволяющие предоставлять и брать кредиты по принципу «равный равному», получать проценты от владения криптовалютами, торговать на децентрализованных биржах и многое другое. В качестве примеров популярных платформ DeFi можно упомянуть Compound, Aave, UniSwap и MakerDAO.

NFT (невзаимозаменяемые токены)

NFT – это уникальные и неделимые цифровые токены, которые используются для подтверждения происхождения редких активов, как цифровых, так и материальных. Например, художники могут использовать NFT для токенизации своих работ, чтобы зафиксировать их уникальность и свои авторские права. Информация о праве собственности хранится и поддерживается в сети блокчейна. Также NFT набирают популярность в игровой индустрии, поскольку обеспечивают совместимость между игровыми платформами. Например, первым проектом NFT на базе Ethereum стал CryptoKitties, который позволил клиентам собирать коллекционные предметы с цифровыми котиками, фиксируемые через NFT. Карточная игра Gods Unchained предоставляет игрокам реальное владение игровыми предметами через механизм NFT. NFT набирают популярность, поскольку все больше компаний стремятся токенизировать активы и предоставлять пользователям защищенную от несанкционированного доступа информацию о происхождении принадлежащих им активов.

Вопросы и ответы

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

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

Что такое аккаунт Ethereum?

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

Что такое транзакция в Ethereum?

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

Как я могу оплатить транзакции в Ethereum?

Вы можете оплачивать транзакции с помощью Ether. Оплата транзакций в Ether выполняет две основные цели. Во-первых, не позволяет злоумышленникам перегружать сеть бесполезными транзакциями. Во-вторых, мотивирует других пользователей предоставлять ресурсы для подтверждения транзакций (майнинг). Каждая транзакция в Ethereum представляет собой серию выполняемых в сети операций (например, перенос Ether с одного аккаунта на другой или сложные изменения состояний в смарт-контрактах). Каждая из операций имеет определенную стоимость, которая выражается в газе, своеобразной валюте для исчисления комиссий в Ethereum. Этот газ выплачивается в Ether, и большинство комиссий измеряется в единице измерения меньшего номинала, gwei [1 Ether = 1 000 000 000 gwei (10^9)]

Где я могу приобрести Ether и где его хранить?

Вы можете купить Ether за фиатную валюту на криптовалютной бирже, например Coinbase или Kraken. Ether связывается с вашим аккаунтом в Ethereum. Чтобы получить доступ к аккаунту и использовать Ether, вы должны знать адрес аккаунта и кодовую фразу или закрытый ключ для него.

Как Ethereum применяется для приложений?

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

Что означает подписание транзакции?

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

Как развернуть смарт-контракт в Ethereum?

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

Что такое хардфорк в Ethereum?

Хардфорк – это изменение базового протокола Ethereum, которое создает новые правила для улучшения протокола и не имеет обратной совместимости. Всем клиентам Ethereum необходимо обновиться; в противном случае они застрянут в несовместимой цепочке, следуя старым правилам.

Если вы заинтересованы в создании приложений на Ethereum, посетите нашу страницу документации. Чтобы связаться с командой Amazon Managed Blockchain, посетите нашу страницу связи.