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

Придумал Ethereum канадский программист с российскими корнями Виталик Бутерин. Когда Ethereum только появился, на дворе был 2013 год, а Бутерину исполнилось всего восемнадцать лет. Тем не менее его идея нашла живейший отклик в сообществе. Нашелся человек — Гэвин Вуд, который доказал возможность создания придуманной Бутериным системы и описал основные принципы ее работы в Ethereum Yellow Paper. Вместе с первыми участниками команды Ethereum они запустили краудфандинг и собрали инвестиций на 18 миллионов долларов в биткойнах — в обмен на 60 миллионов эфиров.

Чем же уникален Ethereum?

Каждая транзакция (сделка) в нем сопровождается так называемым умным контрактом — компьютерной программой, которая автоматически проверяет условия договора и выполняет прописанные в нем обязательства. Поскольку умный контракт, в отличие от обычного, исполняют не люди, а машины, его невозможно нарушить, обойти или отменить. В блокчейне «Этереума» хранятся не только состояния счетов, но и состояния программ после их выполнения в распределенной сети.

В рудиментарной форме умные контракты присутствуют и в Bitcoin, но создатель криптовалюты Сатоси Накамото намеренно ограничил их возможности. Для описания условий сделок в Bitcoin встроен язык программирования под названием Script. Он напоминает Forth, но не позволяет устраивать циклы, не сохраняет состояние между вызовами и лишен доступа к данным транзакции или блокчейна. Этого хватает только на самые простые задачи.

В Ethereum контракты чаще всего описывают на полноценном объектно ориентированном динамическом языке, который напоминает JavaScript. Код контракта исполняется при получении сообщений от пользователя или другого контракта. Он может принимать и отправлять деньги и работать с данными в постоянном хранилище, которое прилагается к каждой транзакции. В финале скрипт возвращает вычисленный результат отправителю сообщения.

Чтобы избежать злоупотребления ресурсами — проблемы, которая вынудила Сатоси лишить Script полноты по Тьюрингу, — в Ethereum предусмотрено «горючее» (gas). Его количество у создателя транзакции ограничивает максимальное число исполняемых команд. Это не дает создавать вредоносные контракты, которые погружают машины майнеров в бесконечный цикл.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


Check Also

Майнинговый червь Graboid распространяется через контейнеры Docker

Эксперты Palo Alto Networks обнаружили странного майнингового червя Graboid, для распростр…

7 комментариев

  1. Аватар

    strannik

    19.07.2016 at 12:44

    Наркомания какая-то, не то что бы расжевали, а наоборот то что было немного понятно — запутали 🙂

  2. Аватар

    clicker314

    21.07.2016 at 12:53

    Реально, очень похоже на надуманную проблему.

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

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

    Я что-то не понимаю смысла всей этой системы без подробного примера.

    • Аватар

      panogeek

      23.07.2016 at 17:15

      Как я понял — контракт на то и смарт, что как только Б выполнит работу — программа-контракт сама переведет ему бабос-эфир и закоммитит транзакцию в блокчейн, как только условие выполненности вернет true.

      • Аватар

        84ckf1r3

        15.08.2016 at 09:38

        Всё верно. Пункты контракта выполняются автоматически, человеческий фактор в этой системе сводится к минимуму.

  3. Аватар

    clicker314

    21.07.2016 at 12:54

    Виталик тему придумал, а я догнать не могу ))

  4. Аватар

    p1tbull

    23.06.2017 at 06:31

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

  5. Аватар

    koi-8s

    24.03.2018 at 10:27

    Не то слово надуманно. Остаётся вопрос ЗАЧЕМ это вот всё. Пока ответ один просится — заработать. Причём во-первых, производителям оборудования(уж это однозначно), а уж во-вторых — производителям электричества, а в-третьих — хомячкам, которые без понимания » майнят» … нечто… А вот какой полезный продукт получается на выходе — не понятно

Оставить мнение