Приблизительное время чтения: 4 минуты
Криптовалюты и блокчейн на слуху начиная с 2017 года, когда российские СМИ решили освещать хайп вокруг роста цены на телевидении и в интернете. История повторяется заново в начале 2021 года, когда цена Биткоина и Эфириума снова бьет рекорды один за другим.
Удивительная история известного блокчейн-разработчика
Российский разработчик 1994 года рождения по имени Виталик Бутерин выигрывает в Калифорнии премию за разработку идеи новой криптовалюты Ethereum, которая должна была перекрыть все технические недостатки биткоина.
30 июля 2015 года Виталик и команда разработчиков запускает сеть Эфириума, который до сих пор является второй в мире криптовалютой по капитализации в мире. Его капитал на лето 2021 года оценивается в 1.4 млрд долларов США.
За последние годы популярность блокчейн технологий растет в геометрической прогрессии и рождаются десятки стартапов и новых будущих лидеров криптовалютного рынка. Для нормального конкурирования им необходимы блокчейн разработчики, который даже на сегодняшний день большой дефицит.
Языки программирования блокчейна
Самый главный вопрос, которым задаются – какой язык программирования используется при разработке децентрализованных приложений? Для освоения нужно владеть любым Backend-языком:
- Python – относительно новый язык, идеально подходящий для новичков в разработке. Имеет очень простой синтаксис и множество готовых решений в виде модулей.
- Java – многофункциональный язык программирования, имеет достаточно сложный синтаксис. Зато он не ограничен в функциональности написанного кода. Ему можно научиться с нуля, но для этого нужно много месяцев практики
- C++ или C# – тоже не простые языки и менее популярные. Тем не менее си шарп (C#) и опытный специалист по нему достаточно востребован в крупных компаниях и весьма прибыльных проектах.
- GO (GoLang) – этот язык придумали Google. Размеры их кода столкнулись с серьезными проблемами: ускорение компьютеров при той же скорости разработки, сильно вырос вычислительный масштаб.
- Solidity – похожий на JavaScript язык, используется при создании смарт-контрактов на базе Ethereum.
- Rust – предполагается как альтернатива С++ и Си шарп, но с большими отличиями. Больше подходит под написание ноды блокчейна. Используется в смарт-контрактах, например в Cardano с токеном ADA.

Обучение блокчейн программированию
Чтобы было легко кодить, как разговаривать на родном языке, нужно хорошо знать две вещи:
- Теоретические знания о технологии блокчейн, криптовалютах, смарта-контактах, безопасности и т.д. Этому можно научиться самостоятельно, читая статьи в интернете. Главное выстроить учебный план: что за чем нужно изучить, чтобы не было каши в голове. Об этом мы поговорим чуть позже.
- Навыки разработки на одном из подходящих вашим целям языке программирования. Тут обучение выстроить самостоятельно будет сложно, так как навыки состоят только из практики. Вы можете не узнать правильно ли вы решили поставленную в обучении задачу или нет. А даже если решили неправильно, но есть правильное решение – то не проделав этот путь вы будете повторять эту ошибку снова и снова.
Это можно сравнить с изучением английского языка: вы повторяете дома фразы, подглядывая немного бумажку. И вам кажется, что вы все выучили, но когда с вами начинают свободно разговаривать на английском, вы поймете что знать язык и разговаривать на нем – это разные вещи.
Тем не менее делаем вывод, что качественно обучиться блокчейн разработке самостоятельно мы можем! Но опыта нам будет не хватать на столько, что до уровня джуниор придется подтягиваться. Сделать свой проект будет крайне долго и сложно, да и без грамотного маркетинга и баунти-компании он вряд ли монетизируется. Но считается, что можно научиться программированию только на собственном проекте. Качественном и с перспективами развития.
Программа обучения на блокчейн разработчика
Эта программа содержит самые базовые навыки и знания для блокчейн специалиста. На практике вы должны уметь создавать смарт-контракты, ключи шифрования, ноды. Должны уметь работать с транзакциями и уметь защищаться от атак, ведь вы разрабатываете ПО для хранения миллионов долларов.
- Транзакции и блоки, состояния и свойства
- Создание пар ключей (открытый и закрытый), что такое поточное и блочное шифрование, цифровая подпись.
- Хеш-функции и защита их от атаки. Оракулы, MAC
- Протоколы шифрования RSA и Диффи-Хеллмана. Требования и назначение цифровых подписей на основании хеш-функций
- Взаимодействие узлов распределенной сети блокчейн, сетевые протоколы
- P2P-сети и их маршрутизация
- Распределенные хеш-таблицы, хранение данных в P2P
- Обмен данными у биткоина
- Архитектура узла блокчейна и работа подсистем.
- Организация транзакций в блоке, что такое мемпул и ноды
- Противодействием нечестным валидаторам смарт-контрактов и защита от кражи
- Протокол BFT. Он же задача о византийских генералах.
- Алгоритм PoW (он же майнинг), атака 51% на сеть блокчейна и проблема централизации
- Пересчет сложности майнинга
- Форки монет, соло майнинг и майнинг в пуле
- Алгоритм PoS
- Прочие алгоритмы консенсуса: DPoS, PoA, PoST
- Скрипты Bitcoin и стековая машина
- Умные контракты Ethereum, что такое GAS
- Практические навыки написания смарт-контрактов на эфире
- Скрытие подробностей транзакций
- Stealth-адреса и кольцевые подписи
- Анонимизация Monero и Zcash
- Шардинг и решения Ethereum 2.0, офчейн-протоколы
- Написание DeFi
Конечно, все эти материалы можно найти в открытом доступе и изучить, но тема не из самых простых. Нужен хороший наставник даже для ведения своего проекта. Но предложений на рынке обучений в области блокчейна не так много.
Где обучиться на Blockchain разработчика?
Из всех известных обучений мы нашли такие курсы – “Блокчейн-разработчик” от Geekbrains. Geekbrains славятся хорошей практической базой и интересными домашними заданиями. Но под этот курс нужны хотя бы базовые навыки на языках программирования из списка выше. Лекции у Гикбрейнс проходят онлайн – лучше их не пропускать, потому что там можно задавать вопросы по ходу лекции.
По окончании обучения вы получаете не какой-то сертификат, а удостоверение о повышении квалификации. Оно является официальным документом и прописано в статье 60 Федерального закона об образовании в Российской Федерации. Актуальную стоимость обучения можно посмотреть перейдя по кнопке под фотографией удостоверения.

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