Виртуальная машина Ethereum (EVM) — Что это такое?

2 года назад 0

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

EVM (Ethereum Virtual Machine) – это единый глобальный 256-битный “компьютер”, в котором все транзакции хранятся локально на каждом узле сети и исполняются с относительной синхронностью. Это глобально доступная виртуальная машина, состоящая из множества отдельных компьютеров.

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

Если вам кажется экономически невыгодным существование целой EVM со всеми ее узлами, реплицирующими одинаковые транзакции и слепо поддерживающими одинаковое состояние между тысячами отдельных компьютеров, важно иметь надлежащее основание для сравнения с тем, как сегодня работают информационные технологии в области финансового обслуживания. EVM – это образец простоты и эффективности по сравнению с ними! Что еще более важно, вся эта работа не проводится впустую. 

EVM – это собирательная эмуляция, запущенная на тысячах машин, которые – на своем уровне – могут использовать любую из операционных систем (Windows, Linux, ethOS и macOS).

Что делает Виртуальная машина Ethereum (EVM)?

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

Как все это работает?

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

Любые задачи, которые могут быть выполнены компьютерами, можно выразить в виде программ на Solidity, что делает их теоретически полными по Тьюрингу. Это означает, что вся распределенная сеть, каждый узел, выполняет каждую программу, исполняемую на платформе. Когда один пользователь загружает смарт-контракт через свой узел Ethereum, он включается в последний блок и распространяется по сети, где сохраняется на каждом другом узле в сети.

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

Несмотря на все внешние признаки, это эффективный способ балансировать глобальный реестр надежным образом. Важно помнить, насколько много денег, мощностей и человеческой энергии расходуется на каждый банк по всему миру, чтобы наладить его собственную уникальную IT-систему или набор из систем для каждого из его направлений деятельности. В банковской системе, базирующейся на Ethereum, все пользователи (корпорации или клиенты) получают прямой доступ к похожей на Fedwire системе бесплатно, имея возможность программировать транзакции. Поскольку протокол является свободным и опенсорсным, любой может запустить узел и подключиться к сети. К сожалению, последние разъяснения по системе Fedwire зачастую остаются без упоминания о криптовалютах, хотя это важный контекст в плане понимания преимуществ крупных публичных блокчейнов.

Вы можете найти актуальную, написанную сообществом, документацию проекта Ethereum в “Homestead Documentation Initiative”: http://ethdocs.org/en/latest

Эта документация создана не под редакцией фонда Ethereum, но она стала популярным ресурсом за счет понятного объяснения технических концепций. За более глубокими техническими пояснениями и для просмотра предложений по улучшению Ethereum (“Ethereum Improvement Proposals”, EIPs), обратитесь к вики Ethereum здесь.

источник

Нам очень интересно ваше мнение! Оставьте свой комментарий пожалуйста!