Кто такой Сатоши Накомото? Как назвать свою криптовалюту? Какая криптопирамида самая прибыльная? Это вопросы, которые мы не стали обсуждать в юбилейном, двадцатом, выпуске подкаста «Сушите вёсла». А посвятили его разговору о технологии блокчейн и её проблемах с СТО компании Decurity Арсением Реутовым. Хитросплетения смарт-контрактов, Византийский консенсус, взлёт и падение рынка NFT, программисты новой эры — и это ещё не всё. «Сушите вёсла» — подкаст про разработку, аналитику, тестирование и всё, что связано с созданием ИТ-продуктов. Авторы — ведущий android-разработчик red_mad_robot Рома Чорыев и разработчик Артём Кулаков. Слушайте весь подкаст по ссылке или читайте короткую выжимку — ответы на шесть главных вопросов выпуска. 02:10 — про старт карьеры и начало работы с криптовалютами07:08 — про блокчейн для чайников — что это такое12:12 — про изменение сферы криптовалют за десять лет13:54 — про смарт-контракты15:01 — про ограничения на объём логики в смарт-контрактах17:30 — про ценообразование криптовалют21:01 — про консенсус Накамото и византийских генералов24:53 — про алгоритм Proof-of-Stake26:06 — про централизацию и децентрализацию28:37 — про безопасность стейблкоинов31:00 — про связь криптовалюты с долларом37:33 — про DeFi41:46 — про контролирующие органы и безопасность в сфере DeFi48:10 — про NFT01:09:00 — про программистов смарт-контрактов Дисклеймер: выпуск был записан летом 2022 года. Блокчейн — это цепочка блоков, где блок — некая структура, которая заключает в себе набор транзакций (действий). Обычно под транзакцией подразумевается перевод криптовалюты. Главное свойство блокчейна — использование криптографии для обеспечения стойкости и безопасности. Теоретически нельзя просто подменить ни одну транзакцию ни в одном блоке, а значит, нельзя изменить историю этих транзакций и чужие балансы.  Блокчейны — trustless, то есть не нужно доверять какому-то центральному звену, сама система обеспечивает отсутствие необходимости вообще кому-либо доверять.  Арсений Реутов, СТО Decurity Ещё одно свойство блокчейна — это децентрализация. Нет центрального звена, через которое проходят все транзакции. Каждый участник независим и хранит в себе копию всех данных цепочки. Некоторые алгоритмы, которые используются в основе блокчейна, используются также в банковской и других сферах для разных задач. Для тех, кто не хочет погружаться, а хочет понять равенство: это безопасно с точки зрения алгоритмов настолько же, насколько безопасна вся банковская инфраструктура. Артём Кулаков, разработчик Смарт-контракты — самая большая инновация в сфере блокчейна с момента появления биткоина. Разница в том, что в биткоине можно было просто переводить свои активы другому лицу, а с появлением смарт-контрактов можно запрограммировать абсолютно любую логику и вычислить что угодно. Есть и существенные ограничения. Первые смарт-контракты появились в блокчейне Ethereum — а Ethereum может пользоваться кто угодно. Поэтому, чтобы самой системе защититься от большого количества транзакций, есть другая система, которая вводит цену за исполнение операций в этой виртуальной машине эфира. Каждое действие — сложение, вычитание, запись в память, чтение из памяти — определённым образом оценивается. И есть определённый лимит, в который нужно уложиться. Если говорить про конкретные реализации, то есть виртуальная машина, которая исполняет эти программы, то есть смарт-контракты. Если переходить в мир Java и Kotlin, то её можно сравнить с JVM. Это такая же виртуальная машина со своими кодами, но в ней есть особенность — каждая операция стоит каких-то реальных денег. Арсений Реутов, СТО Decurity По принципам рыночной экономики — есть спрос и предложение, разница между ценой и стоимостью. Но на первый взгляд кажется, что у криптовалют нет стоимости. Стоимость — это когда можно оценить какой-нибудь бизнес по стоимости станков, зерна, чего-то реального, физического. В криптовалюте по факту нет связи с реальным миром, кроме алгоритма Proof-of-Work. Арсений Реутов, СТО Decurity Proof-of-Work по большей части обеспечивает стоимость, например, биткоина и нужен, чтобы обеспечить стабильные временные промежутки между блоками. Например, в биткоине это десять секунд — этот промежуток и обеспечивается алгоритмом Proof-of-Work. С технической точки зрения, Proof-of-Work — это вычисления хэша определённого вида, где условия к хэшу изменяются динамически, в зависимости от текущей сложности. Так, биткоин и все блокчейны, основанные на Proof-of-Work, транслируются в электроэнергию. Нужно потратить какое-то количество энергии, чтобы посчитать этот хэш и создать новый блок, — отсюда и возникает стоимость. Чем больше участников в сети, тем сложнее добыть новый блок, потому что они все борются за эмиссию новых биткоинов или другой криптовалюты. Так возникает повышенный спрос, растёт больше участников — и закономерно вырастет стоимость. Proof-of-Stake — это доказательство доли владения. Возможность быть майнером определяется только за счёт того, что у тебя есть некоторая доля в системе. Например, в эфире это в данный момент 32 эфира, то есть примерно 32 тысячи долларов. Но эта цена определяется спросом и предложением, и, как сейчас мы видим, стоимость падает. Поэтому, если стоимость упадёт до нуля, то и защита всей системы тоже сведётся к нулю. Арсений Реутов, СТО Decurity 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-токены имеют известных авторов или принадлежат большим компаниям. Например, самые известные на данный момент — это токены яхт-клуба 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 Но если вам это интересно, начинать осваивать сферу и учиться на разработчика смарт-контрактов точно ещё не поздно. Задача византийских генералов Основы блокчейна / Дрешер Даниэль Базовый блок — подкаст про блокчейн CryptoHack — изучение современной криптографии Bankless — подкаст и статьи о DeFi, NFT и Web3 Finematics — Youtube-канал, объясняющий DeFi-протоколы Immunefi — Web3 bug bounty Rekt — хроники взломов смарт-контрактов Decurity — компания Арсения Слушайте нас там, где удобно, — Mave, Apple, Google Podcasts, Яндекс.Музыка. Если появились вопросы про блокчейн, вы ничего не поняли или есть, что добавить, приходите в наш телеграм-чат — ведущие и эксперты всё объяснят и расставят по полочкам. Или просто заходите обсудить выпуск.