Криптономикон 2022, или Блокчейн для чайников

Юбилейный, двадцатый, выпуск подкаста «Сушите вёсла» мы посвятили разговору о технологии блокчейн и её проблемах с СТО компании Decurity Арсением Реутовым. Хитросплетения смарт-контрактов, Византийский консенсус, взлёт и падение рынка NFT, программисты новой эры — и это ещё не всё.

Криптономикон 2022, или Блокчейн для чайников

«Сушите вёсла» — подкаст про разработку, аналитику, тестирование и всё, что связано с созданием ИТ-продуктов. Авторы — ведущий android-разработчик red_mad_robot Рома Чорыев и разработчик Артём Кулаков.

Слушайте весь подкаст по ссылке или читайте короткую выжимку — ответы на шесть главных вопросов выпуска.

Тайминг

02:10 — про старт карьеры и начало работы с криптовалютами
07:08 — про блокчейн для чайников — что это такое
12:12 — про изменение сферы криптовалют за десять лет
13:54 — про смарт-контракты
15:01 — про ограничения на объём логики в смарт-контрактах
17:30 — про ценообразование криптовалют
21:01 — про консенсус Накамото и византийских генералов
24:53 — про алгоритм Proof-of-Stake
26:06 — про централизацию и децентрализацию
28:37 — про безопасность стейблкоинов
31:00 — про связь криптовалюты с долларом
37:33 — про DeFi
41:46 — про контролирующие органы и безопасность в сфере DeFi
48:10 — про NFT
01:09:00 — про программистов смарт-контрактов

Дисклеймер: выпуск был записан летом 2022 года.

Что такое блокчейн

Блокчейн — это цепочка блоков, где блок — некая структура, которая заключает в себе набор транзакций (действий). Обычно под транзакцией подразумевается перевод криптовалюты. Главное свойство блокчейна — использование криптографии для обеспечения стойкости и безопасности. Теоретически нельзя просто подменить ни одну транзакцию ни в одном блоке, а значит, нельзя изменить историю этих транзакций и чужие балансы.

Блокчейны — trustless, то есть не нужно доверять какому-то центральному звену, сама система обеспечивает отсутствие необходимости вообще кому-либо доверять.

Арсений Реутов, СТО Decurity

Ещё одно свойство блокчейна — это децентрализация. Нет центрального звена, через которое проходят все транзакции. Каждый участник независим и хранит в себе копию всех данных цепочки.

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

Артём Кулаков, разработчик

Что такое смарт-контракты и для чего они нужны

Смарт-контракты — самая большая инновация в сфере блокчейна с момента появления биткоина. Разница в том, что в биткоине можно было просто переводить свои активы другому лицу, а с появлением смарт-контрактов можно запрограммировать абсолютно любую логику и вычислить что угодно.

Есть и существенные ограничения. Первые смарт-контракты появились в блокчейне Ethereum — а Ethereum может пользоваться кто угодно. Поэтому, чтобы самой системе защититься от большого количества транзакций, есть другая система, которая вводит цену за исполнение операций в этой виртуальной машине эфира. Каждое действие — сложение, вычитание, запись в память, чтение из памяти — определённым образом оценивается. И есть определённый лимит, в который нужно уложиться.

Если говорить про конкретные реализации, то есть виртуальная машина, которая исполняет эти программы, то есть смарт-контракты. Если переходить в мир Java и Kotlin, то её можно сравнить с JVM. Это такая же виртуальная машина со своими кодами, но в ней есть особенность — каждая операция стоит каких-то реальных денег.

Арсений Реутов, СТО Decurity

Почему криптовалюты стоят больших денег: алгоритмы Proof-of–Work и Proof-of-Stake

По принципам рыночной экономики — есть спрос и предложение, разница между ценой и стоимостью. Но на первый взгляд кажется, что у криптовалют нет стоимости.

Стоимость — это когда можно оценить какой-нибудь бизнес по стоимости станков, зерна, чего-то реального, физического. В криптовалюте по факту нет связи с реальным миром, кроме алгоритма Proof-of-Work.

Арсений Реутов, СТО Decurity

Proof-of-Work по большей части обеспечивает стоимость, например, биткоина и нужен, чтобы обеспечить стабильные временные промежутки между блоками. Например, в биткоине это десять секунд — этот промежуток и обеспечивается алгоритмом Proof-of-Work.

С технической точки зрения, Proof-of-Work — это вычисления хэша определённого вида, где условия к хэшу изменяются динамически, в зависимости от текущей сложности. Так, биткоин и все блокчейны, основанные на Proof-of-Work, транслируются в электроэнергию. Нужно потратить какое-то количество энергии, чтобы посчитать этот хэш и создать новый блок, — отсюда и возникает стоимость. Чем больше участников в сети, тем сложнее добыть новый блок, потому что они все борются за эмиссию новых биткоинов или другой криптовалюты. Так возникает повышенный спрос, растёт больше участников — и закономерно вырастет стоимость.

Proof-of-Stake — это доказательство доли владения. Возможность быть майнером определяется только за счёт того, что у тебя есть некоторая доля в системе. Например, в эфире это в данный момент 32 эфира, то есть примерно 32 тысячи долларов. Но эта цена определяется спросом и предложением, и, как сейчас мы видим, стоимость падает. Поэтому, если стоимость упадёт до нуля, то и защита всей системы тоже сведётся к нулю.

Арсений Реутов, СТО Decurity

Что такое DeFi

DeFi, или Decentralized Finance, — то есть децентрализованные финансы, — это новое направление финансов, которое работает на блокчейне и позволяет без привлечения третьих сторон совершать массовые операции. Можно менять одну криптовалюту на другую без участия криптобирж, давать в долг, стейкать свои токены, реализовать опционы — то есть делать всё, что используется в традиционных финансовых инструментах. Реальные банки сегодня интересуются этой технологией — Morgan Chase, например, имеет подразделение по DeFi.

DeFi — это по факту децентрализованный банк. Обычному банку мы доверяем, он защищает наши средства, но при этом взимает комиссию, устанавливает свои правила, не даёт совершать переводы и так далее. Мы полностью во власти этого банка, не видим, какая у него логика на Backend, какие скрытые комиссии он забирает. В DeFi всё прозрачно, можно проаудировать любой смарт-контракт и, самое главное, нет операционных ограничений.

Арсений Реутов, СТО Decurity

Контролирующих органов в блокчейне нет, но есть институты вроде Комиссии по ценным бумагам и биржам (SEC), которые следят за развитием. Арсений рассказал о случае, когда SEC запретил торговлю определёнными токенами, посчитав их скамовыми (фиктивными токенами для доверчивых покупателей), и обязал децентрализованную криптобиржу Uniswap прекратить торговлю ими. Uniswap убрала эти токены из Frontend: написала JavaScript-код, который проверяет эти токены по блок-листу и не отображает их. Но это не лучшее решение: если человек разбирается в теме, то может отправить транзакцию напрямую в смарт-контракт и по-прежнему взаимодействовать с заблокированными токенами.

Можно сказать, что в сфере DeFi до сих пор Дикий Запад, то есть каждый может создавать свои криптовалюты. В DeFi каждый сам себе центробанк, то есть можно минтить (покупать впервые) любое количество валюты, и цена будет определяться спросом, а этого спроса можно достичь разными способами. Поэтому можно сказать, что вокруг скам, нужно быть очень осторожным.

Арсений Реутов, СТО Decurity

В смарт-контрактах существует множество уязвимостей, которые легко допустить, — особенно это касается языка Solidity, на котором пишутся смарт-контракты в эфире. И пока инструментарий не достиг того уровня, чтобы ещё на этапе разработки эти уязвимости предотвращать.

Хакеры находят специальные условия, с помощью которых они ломают логику и выводят токены из децентрализованных протоколов. Чтобы это удалось, нужно сначала изучить основы криптографии, затем прийти к особенностям языка, понять, как он работает, какие коды может скомпилировать. Затем нужно перейти уже к более высокому уровню — понимать логику DeFi-приложений. Особенность DeFi в том, что их можно переиспользовать, — они друг с другом взаимодействуют.

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

Арсений Реутов, СТО Decurity

NFT — будущее или хайп

Следующей темой, которую обсудили в выпуске, стали NFT. NFT — это токены, цепочку создания которых можно проследить и таким образом удостовериться, что он принадлежит конкретному человеку, а самое главное, что его создал конкретный автор. Популярные — а значит, и дорогостоящие — NFT-токены имеют известных авторов или принадлежат большим компаниям. Например, самые известные на данный момент — это токены яхт-клуба Bored Ape. Они широко освещались в СМИ, а американские рэперы Снуп Дог и Эминем выпустили клип в коллаборации с ними.

Для художников это новый способ заявить о себе и заработать, потому что с помощью обычных галерей у обычных художников мало шансов как-то пробиться. Сейчас появляется множество новых лиц в искусстве, о которых мы не знали, но они стали известными благодаря NFT.

Арсений Реутов, СТО Decurity

Кроме хайпа, есть и прикладная польза — но в основном в области игр и развлечений. Например, NFT позволяет перенести физические карточки для игры Magic: The Gathering в блокчейн, при этом даёт полные права на владение ими — их можно продавать, покупать, давать в долг. Всё это также программируется в смарт-контрактах.

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

NFT — это просто оболочка: можно обернуть, например, квартиру, и продать её как NFT. Так, существует проект, который продаёт недвижимость в Детройте с использованием смарт-контрактов: можно купить дом или часть дома с помощью своей криптовалюты и получать пассивный доход от аренды.

Арсений Реутов, СТО Decurity

Популярность NFT снизилась в связи с текущей экономической ситуацией. Люди вкладываются в более стабильные и понятные активы, а из высокорискованных инструментов инвесторы стараются выходить. Но, по мнению гостя, история NFT ещё будет развиваться: продолжаются эксперименты, получает развитие Game Finance, NFT пробуют сочетать не только с картинками, но и с музыкальными произведениями.

Поэтому кажется, что будущее определённо есть, — как у NFT, так и у блокчейна. Многие государства не только присматриваются, но и активно внедряют эти технологии: электронное гражданство Эстонии работает на базе блокчейна, а Сальвадор вообще почти полностью перешёл на биткоин.

Арсений Реутов, СТО Decurity

Про программистов смарт-контрактов

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

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

Арсений Реутов, СТО Decurity

Другие языки программирования тоже используются в блокчейнах — например, Rust и WebAssembly. Они более совершенные, но и более сложные. По словам Арсения, в разработке смарт-контрактов гораздо более высокие требования к качеству кода — нужно не только тестировать, но ещё делать формальную верификацию. Отчасти поэтому пока мы не видим массового использования технологии блокчейна, в частности смарт-контрактов.

Даже пять лет назад Ethereum говорил о том, что они в скором времени перейдут на Proof-of-Stake, будет шардинг и множество новых вещей. Но по факту за эти пять лет всё ещё нет Ethereum 2.0, мы пишем на Proof-of-Work, поэтому развитие не такое быстрое, как предполагалось.

Арсений Реутов, СТО Decurity

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

Полезные материалы

Слушайте нас там, где удобно, — Mave, Apple, Google Podcasts, Яндекс.Музыка.

Предыдущие выпуски подкаста «Сушите вёсла»

Если появились вопросы про блокчейн, вы ничего не поняли или есть, что добавить, приходите в наш телеграм-чат — ведущие и эксперты всё объяснят и расставят по полочкам. Или просто заходите обсудить выпуск.

55
2 комментария

А ну быстро исправлять это безобразие))!
"Proof-of-Work по большей части обеспечивает стоимость, например, биткоина и нужен, чтобы обеспечить стабильные временные промежутки между блоками. Например, в биткоине это десять секунд — этот промежуток и обеспечивается алгоритмом Proof-of-Work."

1
Ответить

В описании proof-of-work допущены критические ошибки:

1)Алгоритм консенсуса не обеспечивает стоимость. Он обеспечивает консенсус. Биткойн спокойно может опуститься в цене ниже себестоимости добычи (что уже было). Эфир перешёл с этого алгоритма на другой, но почему-то не подешевел.

2) стоимость Биткойна никак не связана с числом участников сети.

Про пруф оф стейк написано вообще неправильно. И этот алгоритм тоже не зависит от стоимости. Эфир не станет безопаснее если будет стоить по миллиону и не станет небезопасным если провалится до бакса. Математический алгоритм работает независимо от цены.

1
Ответить