{"id":14275,"url":"\/distributions\/14275\/click?bit=1&hash=bccbaeb320d3784aa2d1badbee38ca8d11406e8938daaca7e74be177682eb28b","title":"\u041d\u0430 \u0447\u0451\u043c \u0437\u0430\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u044b \u0430\u0432\u0442\u043e?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"f72066c6-8459-501b-aea6-770cd3ac60a6"}

Взгляд венчурного инвестора на Блокчейн | 11: что такое Ethereum

Если Bitcoin это децентрализованный Центральный Банк, то Ethereum – это распределенный компьютер. Гигантский, с сотнями тысяч процессоров, но с вычислительной мощностью на уровне 1970 годов. Как и зачем это все нужно – читайте в статье.

Впервые идея нового блокчейна Ethereum была предложена Виталиком Бутериным, российско-канадским разработчиком и ученым, родом из Коломны. Изначальная статья White paper была опубликована в 2013 году, за 2 года до запуска проекта, который состоялся в 2015.

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

В Биткоине сложно программировать

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

Хотя в протоколе Биткоина все же возможно добавлять короткие скрипты, но их функционал сильно ограничен. Сам Бутерин описал это так:

  • Неполнота. Язык скриптов в протоколе Биткоина позволяет запрограммировать далеко не любую задачу. Основное недостающее звено в языке – это циклы. В скриптах Биткоина запрещено использовать зацикливание. А без этого не получится запрограммировать хоть сколько-нибудь сложный алгоритм. Это сделано специально – для того, чтобы хакеры не запускали в сеть бесконечные циклы, которые могли бы ее сильно замедлить и в итоге – полностью уничтожить.

  • Нельзя менять объем транзакции. Скрипт в Биткоине сделан так, что результатом его работы может быть либо «Да» либо «Нет». Таким образом, можно либо потратить все деньги транзакции, либо не тратить вообще. Это создает очень неприятное ограничение и требует создания «костылей» для реализации реальных задач.

  • Нет доступа к блокчейну. У скриптов в Биткоине есть доступ только к текущей транзакции. Посчитать, например, свой баланс вы не сможете. Также нет доступа к метаданным блока – например к Nonce, timestamp, хэшу предыдущего блока и тп.

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

Ethereum – создан чтобы вычислять

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

  • Циклы

  • Доступ ко всем данным блокчейна

  • Возможность управления любыми параметрами блокчейна

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

Газ – кровеносная система сети

Помимо Эфира в блокчейне Ethereum еще одна штука – Gas или Газ (от английского Gasoline – бензин, топливо). Любая транзакция требует затрат Газа, а цена Газа выражается в Эфирах, но это не одно и то же. С первого взгляда непонятно, зачем понадобилось введение такой сущности, как Газ. Ответ кроется в изначальной задаче – реализовать внутри блокчейна полноценный язык программирования. И нужно это как раз для борьбы с зацикливаниями и в целом – с хакерами.

По правилам Ethereum любое вычислительное действие стоит Газа. Есть целые большие таблицы «прайсы», в которых указана стоимость операций.

Вот часть реальной таблицы. Операция сложения двух чисел «стоит» 3 Газа, умножения – уже 5. А вот сложные операции, такие как «Узнать свой баланс» могут стоить дорого – сотни и тысячи Газа.

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

Но помимо борьбы с мошенниками у концепции Газа есть и другая миссия: вынудить программистов писать как можно более эффективный код. Ведь блокчейн «не резиновый» и в отличие от настольных ПК не может позволить себе «крутить» неэффективные криво написанные программы. Необходимость платить Газ = реальные деньги за каждое лишнее вычисление в программе заставляет разработчиков фокусироваться на качестве своего кода.

Ethereum – распределенный компьютер

Ethereum был создан как улучшенная версия блокчейна Биткоина. Он приспособлен для того, чтобы запускать программы любой сложности и производить вычисления. Поэтому Ethereum – это распределенный компьютер. При этом очень слабый компьютер. Сегодня сеть позволяет делать 15-20 транзакций в секунду, а ее вычислительная мощность примерно равна 0.19 MIPS («million instructions per second»).

Это соответствует вычислительной мощности процессора Intel 4004, выпущенного в 1970-ых. Про это хорошо написано вот в этой статье. Тем не менее, блокчейн Ethereum развивается и уже в 2022 году ожидается прорыв с точки зрения его скорости работы и вычислительных возможностей: рост с 15 вплоть до 100 000 транзакций в секунду.

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

0
1 комментарий
Робинзон Амаглобели

Спасибо, интересная статья!

Ответить
Развернуть ветку
-2 комментариев
Раскрывать всегда