Как стать блокчейн-разработчиком
- Luda Kukuetu
2024-05-09
7 мин
- 12
5 099
Криптовалюты стали инновационным прорывом последнего десятилетия, в связи с чем особую востребованность получила профессия блокчейн-разработчика. В данной статье мы расскажем, как стать таким специалистом, можно ли обучиться самостоятельно и сколько зарабатывают как новички, так и профессионалы.
Блокчейн-разработчик – где нужен и чем занимаются
Блокчейн-разработчик работает с децентрализованными сервисами и криптографическими инструментами, а также занимается написанием смарт-контрактов на базе блокчейна. Существует несколько направлений профессии:
-
разработка и контроль смарт-контрактов;
-
разработка децентрализованных сервисов;
-
разработка серверных решений и/или новых сетей по протоколам Blockchain.
От навыков разработчика, интересов и целей зависит специализация:
-
Архитектор (Core Blockchain Developer) – занимается построением архитектуры, подбирает способы проектирования систем, создает конструкции протокола консенсуса.
-
Разработчик программного обеспечения (Blockchain Software Developer) – использует созданную архитектуру и протоколы в разработке конкретного софта.
-
Инженер по смарт-контрактам – проводит аудит и разрабатывает смарт-контракты, помогает встроить смарт-контракты в логику приложений и бизнеса.
-
“Белый хакер” – анализирует бизнес-потоки и безопасность, определяет уязвимости в протоколах и смарт-контрактах, проводит сквозное тестирование бизнес-процессов.
Также, каждый разработчик еще немного бизнес-аналитик, так как ему приходится взаимодействовать с продакт овнерами или пользователями системы для составления корректной задачи внедряемого блокчейн-решения.
Зачем становиться блокчейн-разработчиком
Несколько фактов о специализации из ежегодного отчета The Blockchain Academy:
-
Знание блокчейна возглавило топ-10 хард-скилов, которые ищут работодатели у соискателей.
-
Рынок предложений вакансии разработчиков блокчейна увеличивается ежегодно.
-
Рост мирового спроса растет на 300–500% ежегодно.
-
Больше всего работодатели ищут специалистов в таких городах, как Нью-Йорк, Сан-Франциско, Лондон, Берлин, Сингапур, Гонконг и Буэнос-Айрес.
-
США – первая в мире страна по количеству рабочих мест, связанных с блокчейном, далее идут Великобритания и Индия.
По результатам собственного исследования PwC, технологии блокчейн могут увеличить объем мировой экономики на 1,76 триллиона долларов США к 2030 году.
Для человека, который ищет работу в профессии – это отличный повод зайти на рынок, когда тот динамично развивается. Можно успеть получить знания от первопроходцев и освоить востребованную специализацию.
Как стать блокчейн-разработчиком: база знаний и скилов
Нет ни единой, статичной базы знаний, ни универсальной программной платформы (фреймворка), которые необходимы для освоения профессии. Для успешного старта советуем изучить следующее:
-
Математика. Шифрование в большой мере основано на теории чисел и абстрактной алгебре. Эти же знания пригодятся в асимметричной криптографии (с открытым ключом). Для симметричной – комбинация теории вероятностей и модульная арифметика. Для криптографических протоколов понадобится – логическое мышление и знание свойств примитивов (низкоуровневых алгоритмов). Рекомендуем начать с классического учебника “Шнайер Б. Прикладная криптография.”
-
Сетевые протоколы. Это установленный набор правил, который определяет процесс передачи данных между различными устройствами в одной сети. Они позволяют подключенным устройствам обмениваться данными, независимо от различий в их внутренних процессах, структуре и дизайне. Важно понимать как функционируют распределенные реестры, одноранговые сети, топологии и маршрутизация. Для общего изучения и этих, и дальнейших пунктов, посмотрите открытые лекции MIT.
-
Децентрализованные базы данных. Владение знаниями в этой сфере исключительно важно, поскольку в блокчейне данные распределены по узлам и хранятся не на едином сервере, а в нескольких местах. Также придется изучить структуру данных: связанные списки, узлы, массив, блоки, бинарные деревья поиска, хэш-таблицы, графики и пр.
-
Протоколы блокчейна – правила, определяющие, как данные могут передаваться между различными системами. Протоколы определяют способ структурирования данных, чтобы их можно было принять в систему, и устанавливают меры предосторожности для предотвращения нанесения ущерба злоумышленниками. Важно начать с протоколов Bitcoin и Ethereum. Это два фундаментальных блокчейна, на основе которых образовалось множество других имплементаций и улучшений.
-
Смарт-контракты – программы, которые обеспечивают выполнение транзакций в блокчейне. Работают по заранее заданному алгоритму, объективно и защищены от внешнего вмешательства (кроме заранее заложенного в код).
-
Web 3.0 – концепция децентрализованного интернета, где данные управляются по заранее заданным правилам и не принадлежат централизованных репозиториям, а у пользователя будет больше свободы от регуляторов.
-
Работа блокчейн-платформ. В первую очередь изучите работу Bitcoin, Ethereum. Кроме того, спросом пользуются: Tron, Polkadot, Cosmos, Solana, Cardano, и другие.
-
Основы безопасности. Классически, в блокчейн используется византийский отказоустойчивый консенсус (Задача Византийских Генералов) для непрерывной записи и обмена информацией между пользователями. Решаемые проблемы: CAP теорема, Sybil attack, PoW vs PoS.
-
Криптография – основа блокчейн проектов. Обеспечивает шифрование, целостность сообщений, работу блочных шифров и хэш-функций. Сюда же относят и знания RSA (Rivest – Shamir – Adleman) и ECDSA (криптография с эллиптической кривой).
-
Криптономика – экономика крипто-компании. Здесь нет банковской системы и ЦБ, который бы разъяснял, куда двигается сектор. Поэтому придется самостоятельно разбираться в оценке активов, монетарной политике и теории игр.
-
Языки программирования. Solidity, JavaScript, Python, Go, Rust и C ++ используются разработчиками, каждый имеет свою специфику.
Блокчейн – какой язык программирования используется
C#, C++, Java, Python и Go – базовые и самые популярные языки программирования для блокчейна.
Solidity – единственный контракто-ориентированных язык программирования, предназначенный для написания полных смарт-контрактов на платформе Ethereum. Другие пришли в блокчейн из базового программирования.
Самых используемые языки программирования:
-
Java – универсальный и, как результат, популярный язык программирования. Используется разработчиками основных команд для создания высокопроизводительных клиентов и инструментов в корпоративных и финансовых секторах. На нем написаны IOTA, NEM, Hyperledger Fabric и NEO;
-
C++ – объектно-ориентированный язык общего назначения. Его используют платформы Bitcoin, Ethereum, Ripple, Monero, EOS, Stellar и QTUM. Позволяет использовать уже готовые библиотеки и криптографию на максимально безопасном уровне. Обеспечивает производительность, эффективность использования памяти и полный контроль;
-
Go (GoLang) – скомпилированный многопоточный язык программирования на основе C с открытым исходным кодом, разработанный Google в попытке создать замену C/C++. Обеспечивает одновременную работу разных процессов. Быстрый, простой в обслуживании и эффективный. Эффективен для распределенных систем, поскольку он может одновременно обрабатывать несколько частей цепочки блоков. Используется в Ethereum, Dero, Hyperledger Fabric и GoChain;
-
Python – второй по популярности язык программирования. Сравнительно легкий в изучении. Его рекомендуют для блокчейна, используемого в IoT (Интернете вещей);
-
Solidity – JavaScript-подобный объектно-ориентированный язык для разработки смарт-контрактов. Является кроссплатформенным, но на практике используется преимущественно на Ethereum. К тому же, это один из четырех языков для EVM (Виртуальной Машины Эфириума).
-
Rust – мультипарадигмальный искусственный язык, обеспечивает производительность и безопасность, в частности безопасность параллелизма. Синтаксически похож на C++, но более строгими формальными верификациями и защитой от “выстрела в ногу”. Может быть как языком написания ноды блокчейна или системного клиента, так и языком смарт-контрактов (долгожданные контракты Cardano).
Один и тот же блокчейн протокол может быть реализован на нескольких языках программирования, так есть ноды для Ethereum, написанные на Go (geth) и Rust, а клиентов еще больше (внизу только из официального списка)
Обучение блокчейн-программированию: самостоятельно или на курсах?
Выше мы уже выяснили, что для того, чтобы стать блокчейн-разработчиком, необходимо быть программистом.
Что касается блокчейн-разработки, исходные коды, в основном, открыты для свободного доступа. Они могут использоваться в качестве базы знаний для специалистов, которые уже изучили языки программирования, но пока нарабатывают практику в блокчейн-разработке.
Новички могут воспользоваться складами кодов (репозиториями). Крупнейший – GitHub. Это хостинг IT-проектов и совместной разработки с более 100 млн зарегистрированных программистов.
Чтение кода без погружения в тематику дает поверхностные знания. Это займет больше времени, в основном на подбор нужной информации. В целях быстрого и более эффективного обучения можно подобрать курсы блокчейн-разработчиков.
В качестве теоретической базы и руководств для начинающих разработчиков для обучения блокчейн программированию может использоваться следующая литература:
-
«Книга Сатоши», Фил Шампани;
-
«Освоение биткоина», Андреас Антонопулос;
-
«Блокчейн-революция», Дон и Алекс Тапскотт;
-
«Основы биткоинов и блокчейна», Энтони Льюис;
-
«Блокчейн. Схема новой экономики», Мелани Свон.
Также следите за тем, что происходит в Интернете. Подпишитесь на новости официальных платформ, посещайте форумы разработчиков и криптосообщества, покупайте криптовалюту. Так вы сможете разобраться как работают криптокошельки и проходят простейшие транзакции. Для этого воспользуйтесь удобным, мультивалютным криптокошельком Trustee.
Сколько в среднем зарабатывают блокчейн-разработчики
По данным Linkedin, на сайтах США по поиску работы для фрилансеров размещено 33,7 тыс. объявлений о поиске специалиста блокчейн разработки. Большая часть из них ориентирована на full-stack разработчиков с опытом работы 3-5 лет по специальности. Их зарплата в среднем составляет $112 000 в год, премия – около $4 000. Новичкам стоит ориентироваться на сумму в районе $93 000. Минимальная ставка сотрудника без опыта – $34 000 в год.
В Азии средний доход составляет $87 500, в Европе – $73 300. Показатель для тех, кто работает удаленно – $123 750.