{"id":13583,"url":"\/distributions\/13583\/click?bit=1&hash=e33bc0d3a37a74826169363c867d3f9f74deaa73040cb6145c82841335993467","title":"\u041d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c \u042f\u043d\u0434\u0435\u043a\u0441\u0430 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442 \u0432\u0438\u0434\u0435\u043e \u0432 \u043f\u0440\u044f\u043c\u043e\u043c \u044d\u0444\u0438\u0440\u0435","buttonText":"\u041a\u0430\u043a?","imageUuid":"135b72ce-4b43-5240-a9ca-242ab0616d40","isPaidAndBannersEnabled":false}
Крипто
Егор Абрамов

Взгляд венчурного инвестора на Блокчейн | 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 комментарий
Робинзон Амаглобели

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

Ответить
Развернуть ветку
Читать все 1 комментарий
null