Blog_ru

Ethereum

2022-03-27 15:00 Фундаментал

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

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

Как работает Ethereum?


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

Смарт-контракты, выполняемые на Ethereum, инициируются транзакциями (от пользователей или других контрактов). Когда пользователь отправляет транзакцию на контракт, в каждый из нод в сети запускается код контракта и записывает вывод. Для этого используется виртуальная машина Ethereum (EVM), которая преобразует смарт-контракты в понятные компьютеру инструкции. А для масштабируемости Ethereum использует свои технологии ZK-Rollups и Optimistic Rollups.

Для обновления информации и состояния (все еще) используется майнинг, выполняемый с помощью алгоритма Proof of Work, очень похожего на алгоритм Биткоина.

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


Что такое газ в Ethereum?

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

Так же, как машина не может ехать без топлива, контракты не могут работать без газа. Для успешной работы контракта пользователи должны заплатить некоторое количество газа. Если его не хватит, контракт прекратит работу. 

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

Обычно газ стоит небольшую долю ETH. Для ее обозначения используется меньшая единица (гвей). Один гвей соответствует одной миллиардной части эфира. Цена за газ на прямую зависит от того насколько загружена сеть в данный момент и как правило колеблется от 10$-250$.

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


Как работает майнинг в Ethereum?


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

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

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

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


Главные недостатки и проблемы


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


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

Трилемма масштабируемости блокчейна


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

Трилемма блокчейна: масштабируемость (1), безопасность (2) и децентрализация (3).


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

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

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

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

Еще один недостаток Ethereum (и других криптовалют с консенсусом Proof of Work) заключается в том, что она очень ресурсоемкая. Чтобы успешно добавить блок в блокчейн, нужно майнить, а для этого необходимо быстро выполнять вычисления, что потребляет огромное количество электроэнергии.
Для устранения вышеуказанных ограничений был предложен основной набор обновлений, известных под общим названием Ethereum 2.0 


Что такое Ethereum 2.0?


Ethereum 2.0 — это решение, которое позволит масштабировать оригинальный блокчейн и сделать его более удобным для пользователей. Основная особенность обновления заключается в переходе сети на консенсус Proof-of-Stake (PoS), он заменит консенсус Proof-of-Work (PoW), на котором сейчас работает блокчейн.


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

Разработка идет всем ходом, так как Еthеrеum уже завершил свою тестовую сеть Кiln. Kiln был последней тестовой сетью Merge перед обновлением общедоступных тестовых сетей, и на прошлой неделе он незаметно перешел c Proof-of-Work нa Proof-of-Stake.

Еthеrеum по-прежнему доминирует в ландшафте Layer 1 даже после ралли SOLUNAVAX, поэтому значимость такого шага не следует недооценивать. Считается, что Proof-of-Stake сделает Ethereum на 99,95% более энергоэффективным, а это то в свою очередь приведет еще к большему распространению и популярности NFT.

Так же крайне важно, что выбросы Ethereum резко упадут после полного завершения перехода. С Proof-of-Stake выбросы будут приближаться к 1% от текущих показателей. 


Являются ли эфириум-транзакции приватными?


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


Как создаются новые эфиры?


Новые эфиры создаются посредством майнинга, ровно так же как и Биткойн. Майнинг является неотъемлемым элементом защиты и обновления блокчейна  Ethereum, так же он поощрять держателей нод, которые обеспечивают его безопасность



Кто создал эфириум?


В 2008 году неизвестный разработчик (или группа разработчиков) под псевдонимом Сатоши Накамото опубликовал whitepaper Биткоина. Это навсегда изменило представление людей о цифровых деньгах. Несколько лет спустя молодой программист по имени Виталик Бутерин смог развить эту идею и придумал способ ее применения к любому типу приложений. В конечном итоге концепция была воплощена в Ethereum.

В 2013 году в своем блоге Бутерин создал пост под названием Ethereum: The Ultimate Smart Contract and Decentralized Application Platform. В нем он описал идею создания блокчейн-сети в соответствии с полнотой по Тьюрингу в виде децентрализованного компьютера, который при наличии времени и ресурсов мог бы запускать любое приложение. 

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

Статья получилась длинная, но и крайне познавательная ;)


Благодарим за ваше внимание и до новых встреч!

Всегда ваш C.J.