22 сентября, 2023

Как стать блокчейн-разработчиком

 

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

Блокчейн-разработчик – где нужен и чем занимаются

 

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

  • разработка и контроль смарт-контрактов;
  • разработка децентрализованных сервисов;
  • разработка серверных решений и / или новых сетей по протоколам Blockchain 

От навыков разработчика, интересов и целей зависит специализация:

  1. Архитектор (Core Blockchain Developer) – занимается построением архитектуры, подбирает способы проектирования систем, создает конструкции протокола консенсуса. 
  2. Разработчик программного обеспечения (Blockchain Software Developer) – использует созданную архитектуру и протоколы в разработке конкретного софта.
  3. Инженер по смарт-контрактам – проводит аудит и разрабатывает смарт-контракты, помогает встроить смарт-контракты в логику приложений и бизнеса
  4. “Белый хакер” — анализирует бизнес-потоки и безопасность, определяет уязвимости в протоколах и смарт-контрактах, проводит сквозное тестирование бизнес-процессов.

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

Зачем становиться блокчейн-разработчиком  

Несколько фактов о специализации из ежегодного отчета The Blockchain Academy

  1. Знание блокчейна возглавило топ-10 хард скилов, которые ищут работодатели у соискателей – анализ Linkedin.
  2. Рынок предложений вакансии разработчик блокчейна за 2020 год вырос в 33 раза.
  3. Рост мирового спроса растет на 300–500% ежегодно.
  4. Больше всего работодатели ищут специалистов в таких городах, как Нью-Йорк, Сан-Франциско, Лондон, Берлин, Сингапур, Гонконг и Буэнос-Айрес.
  5. США – первая в мире страна по количеству рабочих мест, связанных с блокчейн, далее идут Великобритания и Индия.

По результатам собственного опроса PwC, в 2020-м блокчейн- программированием занимались 84% компаний из опрошенных. Большая часть из них предлагает блокчейн-разработчику обучение уже на рабочем месте. Это означает, что рынок трудоустройства динамичный, а работодатели готовы вкладывать средства в обучение специалистов. 

В 2021-м Freelancer.com определил нишу блокчейна первой в рейтинге быстрорастущих по числу предложений от работодателей. За год число вакансий увеличилось на 59%.

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

Как стать блокчейн-разработчиком: база знаний и скилов

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

  1. Математика. Шифрование в большой мере основано на теории чисел и абстрактной алгебре. Эти же знания пригодятся в асимметричной криптографии (с открытым ключом). Для симметричной – комбинация теории вероятностей и модульная арифметика. Для криптографических протоколов понадобится – логическое мышление и знание свойств примитивов (низкоуровневых алгоритмов). Рекомендуем начать с классического учебника “Шнайер Б. Прикладная криптография.”
  2. Сетевые протоколы. Это установленный набор правил, который определяет процесс передачи данных между различными устройствами в одной сети. Они позволяют подключенным устройствам обмениваться данными, независимо от различий в их внутренних процессах, структуре и дизайне. Важно понимать как функционируют распределенные реестры, одноранговые сети, топологии и маршрутизация. Для общего изучения и этих, и дальнейших пунктов, посмотрите открытые лекции MIT (https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-858-computer-systems-security-fall-2014/video-lectures/lecture-13-network-protocols/
  3. Децентрализованные базы данных. Владение знаниями в этой сфере исключительно важно, поскольку в блокчейне данные распределены по узлам и хранятся не на едином сервере, а в нескольких местах. Также придется изучить структуру данных: связанные списки, узлы, массив, блоки, бинарные деревья поиска, хэш-таблицы, графики и пр.
  4. Протоколы блокчейна – правила, определяющие, как данные могут передаваться между различными системами. Протоколы определяют способ структурирования данных, чтобы их можно было принять в систему, и устанавливают меры предосторожности для предотвращения нанесения ущерба злоумышленниками. Важно начать с протоколов Bitcoin и Ethereum. Это два фундаментальных блокчейна, на основе которых образовалось множество других имплементаций и улучшений.
  5. Смарт-контракты – программы, которые обеспечивают выполнение транзакций в блокчейне. Работают по заранее заданному алгоритму, объективно и защищены от внешнего вмешательства (кроме заранее заложенного в код). 
  6. Web 3.0 – концепция децентрализованного интернета, где данные управляются по заранее заданным правилам и не принадлежат централизованных репозиториям, а у пользователя будет больше свободы от регуляторов.
  7. Работа блокчейн-платформ. В первую очередь изучите работу Bitcoin, Ethereum. Кроме того,  спросом пользуются: Tron, Polkadot, Cosmos, Solana, Cardano, EOS, и другие.
  8. Основы безопасности. Классически, в блокчейн используется византийский отказоустойчивый консенсус (Задача Византийских Генералов) для непрерывной записи и обмена информацией между пользователями. Решаемые проблемы: cap теорема, Sybil attack, pow vs pos. 
  9. Криптография – основа блокчейн проектов. Обеспечивает шифрование, целостность сообщений, работу блочных шифров и хэш-функций. Сюда же относят и знания RSA (Rivest – Shamir – Adleman) и ECDSA (криптография с эллиптической кривой).
  10. Криптономика – экономика крипто-компании. Здесь нет банковской системы и ЦБ, который бы разъяснял, куда двигается сектор. Поэтому придется самостоятельно разбираться в оценке активов, монетарной политике и теории игр.
  11. Языки программирования. 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, а клиентов еще больше (внизу только из официального списка https://ethereum.org/en/developers/docs/nodes-and-clients/)

 

Обучение блокчейн-программированию: самостоятельно или на курсах?

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

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

Новички могут воспользоваться складами кодов (репозиториями). Крупнейший – GitHub. Это хостинг IT-проектов и совместной разработки с более 65 млн зарегистрированных программистов. 

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

Важно! Негатив обучающих курсов – высокая вероятность получить теоретические знания и опыт лектора, которые не применимы на практике. Более эффективный формат курсы+самообучение.

 

В качестве теоретической базы и руководств для начинающих разработчиков для обучения блокчейн программированию может использоваться следующая литература:

  • «Книга Сатоши», Фил Шампани;
  • «Освоение биткоина», Андреас Антонопулос;
  •  «Блокчейн-революция», Дон и Алекс Тапскотт;
  • «Основы биткоинов и блокчейна», Энтони Льюис;
  • «Блокчейн. Схема новой экономики», Мелани Свон. 

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

Сколько в среднем зарабатывают блокчейн-разработчики

По данным Linkedin, на сайтах США по поиску работы для фрилансеров размещено 33,7 тыс. объявлений о поиске специалиста блокчейн разработки. Большая часть из них ориентирована на full-stack разработчиков с опытом работы 3 – 5 лет по специальности. Их зарплата в среднем составляет $112 000 в год, премия – около $4 000. Новичкам стоит ориентироваться на сумму в районе $93 000. Минимальная ставка сотрудника без опыта – $34 000 в год.

В Азии средний доход составляет $87 500, в Европе – $73 300. Показатель для тех, кто работает удаленно – $123 750.

Если у вас есть идеи, вопросы или желание поделиться собственным уникальным опытом о том, как вы стали блокчейн-разработчиком, пишите в наш чат https://t.me/trustee_wallet, или оставляйте комментарии здесь!

Поделиться

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *