Краткое описание Ethrereum

Краткое описание Ethrereum

Loading

Краткое описание Ethereum

\n\n

Ethereum на сегодняшний день является самым смелым последователем Bitcoin. И если когда речь идет о биткоинах, то становится понятно, что они – первая попытка децентрализации финансовой системы, с правилами, установленными не банками, государственными органами, и алгоритмами, то с Ethereum все зашло намного дальше, так как речь идет об альтернативной правовой системе, не нуждающейся в судах либо юристах.
\nИдея Ethereum принадлежит канадскому программисту Виталику Бутерину, который является выходцем из России. Появление Ethereum произошло в 2013 году, когда его создателю было 18 лет. Однако данная идея сразу же получила широкую огласку и популярность. Гэвин Вуд стал тем человеком, который увидел неограниченные возможности в системе Бутерина, а также отобразил принципы ее работы в Ethereum Yellow Paper. В результате первого краудфандинга произошел обмен 18 млн у.е. в биткойнах на 60 миллионов эфиров.

\n\n

Уникальность Ethereum

\n\n

При проведении каждой транзакции обязательным является так называемый умный контракт, в роли которого выступает компьютерная программа, проверяющая условия договора на автоматической основе. Также программа отвечает за то, чтобы все прописанные условия соблюдались в неукоснительном порядке. Умный контракт уникален, так как его исполнением занимаются машины, а не обычные люди, а значит, обойти, изменить либо нарушить его не представляется возможным. Блокчейн Ethereum хранит всю необходимую информацию.
\nБезусловно, так называемые умные контракты присутствуют и в биткоин, однако их возможности сильно ограничены из-за создателя Сатоси Накамото. Все условия по сделкам Биткоин прописаны языком программирования Script. Он аналогичен Forth, однако с его помощью нельзя обустроить циклы. Также не сохраняется состояние между вызовами, и нет доступа к данным по транзакциям либо блокчейну. Такой функционал достаточен для выполнения разве что самых простых задач.
\n
\nКонтракты Ethereum описаны на динамическом, объектно ориентированной языке, который схож с JavaScript. В тот момент, когда от другого контракта либо от другого пользователя приходит сообщение, происходит выполнение кода. Существует специальное хранилище, прилагающееся к каждой транзакции, в котором существует возможность по приему и отправке денег, а также по работе с данными. В конце отправитель сообщения получает вычисленный результат, который возвращается скриптом.
\nСатоши столкнулся с такой проблемой, как злоупотребление ресурсами, из-за чего он лишил Script Тьюринг-завершенности. И для того, чтобы избежать схожей проблемы, в Ethereum предусмотрено «горючее» (gas), которым ограничено число команд, максимум которых может быть исполнен. Таким образом, не создаются вредоносные контракты, из-за которых машины майнеров погружаются в бесконечный цикл.

\n\n

Преимущества Ethereum

\n\n

На Ethereum стоит смотреть как на платформу, которая обеспечивает гарантированные вычисления. Что касается других традиционных схем, то по сравнению с ними у Ethereum есть ряд неоспоримых достоинств:
\n- возможность выполнения авторизации пользователя с помощью криптографических подписей;
\n- устойчивость к DDoS-атакам;
\n- отсутствие единой точки отказа сети;
\n- логика изменения состояний и транзакций, которая является полностью настраиваемой;
\n- децентрализованная распределенная база данных, в которой в открытом доступе хранится история всех действий сети.
\nEthereum на сегодняшний день очень популярен, уступая лишь Bitcoin. Финансовым конгломератом JPMorgan Chase, который входит в «большую четверку» американских банков, технология признана очень перспективной. Ethereum даже был использован корпорациями IBM и Microsoft при создании ряда проектов.

\n\n

Ключевые понятия

\n\n

Устройство Ethereum является достаточно сложным. Для тех, кто никогда ранее не сталкивался с криптовалютами в целом система является непростой для понимания. И для того чтобы определиться с базовыми понятиями, стоит каждое из них рассмотреть по отдельности.
\nБлокчейн является распределенной базой данных. Она содержит всю необходимую информацию, которая касается транзакций, которые были проведены участниками системы. Для хранения информации используются так называемые «цепочки блоков», и каждый из этих блоков является местом хранения определенного числа транзакций. Для связи блоков друг с другом используют «цепочку». Блокчейн является названием для разных вещей, и потому слово используется по-разному в зависимости от контекста;
\n- как протокол;
\n- для описания принципа построения системы;
\n- для распределения децентрализованного доверенного реестра;
\n- как база данных;
\n- в качестве одноразовой сети, участники которой являются равноправными, и взаимодействуют в заданном порядке, также используя экономические стимулы.
\n
\nНода является компьютером для установки клиента сети. Изначально здесь происходит проверка транзакций. А после того как процесс завершен, выполняется запись в блокчейн. Нода используется как место для хранения блокчейна от начала и до конца. Сейчас ведется работа над легким клиентом, с помощью которого клиентская программа могла бы работать без необходимости копирования всего блокчейна.
\n
\nМайнер, в свою очередь, является нодой, выполняющей сразу несколько задач. Это и обработка транзакций, и запись блоков в блокчейн. Майнеры решают математические задачи, и ищут хеш, который бы удовлетворял ряду условий. Майнер, которому удалось найти блок, получает токены, и естественно, что это прекрасно стимулирует участников системы к поддержке ее работы. Когда блок сформирован и все участники получили обновленную информацию, запись не может быть изменена. С помощью математического алгоритма обеспечивается защита от мошенничества. Ресурс ethernodes.org позволяет воочию увидеть статистику добычи эфира.
\nВалютами Ethereum является газ, эфир, ETH. Криптовалют существует множество, однако в отличие от них эфир считается не альтернативой обычным валютам, а виртуальным топливом, которое позволяет вести учет использования ресурсов децентрализованной сети. Естественно, что система привлекает недобросовестных пользователей, действия которых могут парализовать работу майнеров и полных нод. Для того чтобы этого избежать, автор должен научиться создавать максимальное число шагов в процессе вычисления. К каждому контракту прикреплено определенное количество ЕТН. В случае превышения данного лимита происходит прекращение вычисления, а также осуществляется откат произведенных изменений. Продажа эфира производится на биржах криптовалют, при этом капитализация токенов ЕТН уже достигла миллиарда долларов.
\nС конца прошлого года произошел рост курса «эфира» более, чем в 10 раз. Однако потом произошла история с The DAO, из-за чего он упал.
\n
\nEthereum Virtual Machine, EVM является частью протокола Ethereum, которой производится обработка транзакций и управлением состояниями. EVM с точки зрения практичности является автономным гигантским компьютеров, содержащим миллионы объектов под названием аккаунтов. Они позволяют производить управление внутренней базой данных, а также выполнять код, осуществляя взаимодействие друг с другом. Ethereum White Paper и документацию к последнему релизу Ethereum Homestead Release дают этому более подробное описание.
\n
\nУмными контрактами называются компьютерные протоколы. Они позволяют значительно облегчить, проверить, а также обеспечить соблюдение контрактов. У них есть пользовательский интерфейс, а также может быть эмулирована логика по договорным положениям. Такие контракты создают гораздо более надежные условия для безопасности, снижая издержки по заключению договоров. Умный контракт является самоисполняемым.
\n
\ndapps являются децентрализованными приложениями, которые реализуются на базе смарт-контрактов. Если смотреть на данные приложения с точки зрения традиционной разработки, то они выглядят непривычно.

\n\n

Целевая аудитория Ethereum

\n\n

Реализаций Ethereum существует множество, и они представлены на C++, Go, Python, Rust, Java, Haskell. Однако самым популярным решением сегодня является Geth на языке Go.
\nСледующим этапом после установки клиента является синхронизация блокчейна, а также взаимодействие с сетью из консоли. В то же время, графический клиент Mist browser гораздо более удобен для начала. После первого запуска необходимо создать аккаунт и синхронизировать блокчейн.
\n
\nОсобенности написания смарт-контрактов
\nСмарт-контракты пишутся на многих языках, самым популярным среди которых является Solidity.
\nВозможно скомпилировать контракт в байт-код EVM, используя компилятор solc либо компилятор онлайн. С помощью Mist browser возможно деплоить контракты в сеть, используя исходный код на Solidity или байт-код EVM.
\n
\nФреймворки для работы многочисленны. Изучение Truffle, Embark и dapple позволит лучше разобраться в теме вопроса, и определиться с решением, которое в наибольшей степени соответствует решению поставленных задач.
\nПри разработке веб-приложений для взаимодействия с умными контрактами используется определенный стек с web3.js и Meteor. Также существуют модули, при использовании которых доступ к многочисленным функциям гораздо более простой и приятный.

\n\n

\n