Найбільша PHP конференція України, 1 червня: хто буде і чому варто відвідати?
×Закрыть

Карьера в IT: должность Blockchain-разработчик

Продолжаем серию «Карьера в IT»: на этот раз поговорим о разработке технологий Blockchain. Об этой предметной области нам рассказали специалисты из компаний BlockSoftLab, Dev-Pro и Titanium.

Особенности направления

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

Соответственно, Blockchain-разработчик создает программные приложения, которые будут выполняться узлами, входящими в цепочку блоков. Также он настраивает взаимодействие «классического» программного обеспечения, или DApp (Distributed application), с этими приложениями.

Судьба конкретного кода зависит от типа блокчейна, с которым необходимо взаимодействовать. Например, язык скриптов, который поддерживает Bitcoin, сильно ограничивает максимально допустимую сложность реализуемых алгоритмов. А потому по дружественности к программисту он скорее напоминает ассемблер, чем язык высокого уровня. Поэтому в таких случаях с помощью Blockchain фиксируют результаты работы клиентских программ и арбитраж между ними.

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

«Так как Blockchain-разработка имеет очень много ограничений, связанных с природой технологий, нам приходится постоянно объяснять заказчикам, что некоторый функционал не может работать так, как они предполагают» (Алекс Кучер, CTO Titanium).

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

«Работа Blockchain-разработчика отчасти похожа на работу системного программиста. Необходимо „выдавать“ оптимизированный код как по количеству операций, так и по используемому объему памяти. Соответственно, необходимо хорошо изучить, как работает Blockchain „под капотом“, чтобы при оптимизации учитывать не только количество операций, но и особенности их реализации на низком уровне» (Blockchain Developer в BlockSoftLab).

Задачи и обязанности

Главная задача Blockchain-разработчика — разработка цифровых «соглашений» (смарт-контрактов). Условия в них описываются программно, а полученный смарт-контракт располагается в цепочке блоков. Это предотвращает вмешательство в его работу или изменение его содержания. А значит, отвергается и возможность отклонения от правил, заложенных в «соглашении».

Предметная область продуктов зависит от направления проекта. К примеру, это может быть:

  • ПО для упрощения процесса взаимодействия пользователей с Blockchain;
  • доверенные арбитры в тендерах, где требуется исключить влияние человеческого фактора на выбор победителя;
  • программы для обеспечения прозрачности систем электронного управления или благотворительных фондов;
  • программы для поддержки расчетов на основе криптовалют;
  • экспертиза безопасности сторонних смарт-контрактов;
  • компьютерные игры.
«Кроме непосредственно смарт-контрактов мы также разрабатываем веб-страницы или мобильные приложения, через которые будет происходить взаимодействие с Blockchain. Для этого используем JavaScript, Java и Swift» (Игорь Ермаков, Blockchain Engineer в Dev-Pro).

Типичный рабочий день Blockchain-разработчика проходит по-разному в зависимости от этапа разработки продукта.

«На этапе проектирования большая часть времени у меня уходит на разработку архитектуры, участие в „мозговых штурмах“, определении инструментов и техник разработки, выделении и распределении задач. На этапе разработки 6-7 часов в 8-часовом рабочем дне занимает программирование. В оставшееся время я исследую новые технологии, участвую с командой в митингах, посещаю образовательные семинары. Во время тестирования мы создаем юнит-тесты для смарт-контракта и занимаемся мануальным тестированием интерфейса взаимодействия» (Blockchain Developer в BlockSoftLab).

Принцип работы технологии Blockchain (image source)

Преимущества и недостатки

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

«Каждый человек в какой-то момент жизни хочет заниматься чем-то полезным для общества и чувствовать вовлеченность в его развитие. Инструментарий, который можно разработать с помощью технологии Blockchain, способствует созданию гражданского общества и прозрачности власти, в том числе и в Украине, а также прозрачности сделок во взаимодействии людей друг с другом. Причем если в классических сделках некоторые вещи можно трактовать двусмысленно, то в программировании смарт-контрактов такие неоднозначности отсутствуют» (Blockchain Developer в BlockSoftLab).

«Привлекает прозрачность и неизменяемость данных. При открытом исходном коде и полном доступе к серверу, на котором он выполняется, его не взломать. Конечно, при условии, что программист не допустит ошибку» (Игорь Ермаков, Blockchain Engineer в Dev-Pro).

«Блокчейн предполагает собой обещание децентрализованного будущего, где не будет игроков, которые будут контролировать большую часть чего-либо. Эта специализация молодая, но многообещающая. Мне интересно, в какую сторону будет развиваться эта технология и что можно будет оптимизировать и децентрализовать с ее помощью» (Алекс Кучер, CTO Titanium).

Среди недостатков — незрелость технологии и высокая цена ошибки.

«Пока что основной минус — молодость технологий и инструментов. Значительная их часть еще даже не дошла до продакшена и находится в фазах тестирования. Во-первых, это порождает наличие ошибок в архитектурах продуктов. Во-вторых, из-за периодических изменений в инструментах учебный материал или инструкция к какой-то библиотеке часто совсем не соответствует фактическому положению вещей. Это повышает стресс во время разработки и ставит под угрозу сроки выполнения задания.
Также разработка требует постоянного внимания к требованиям ИБ. В случае с Blockchain продукт уже невозможно будет изменить после запуска. А значит, не получится и исправить ошибку или ликвидировать уязвимость патчем» (Blockchain Developer в BlockSoftLab).

«Поскольку технология молода, инструменты, которые используются для ее разработки, еще не полностью отлажены. Поэтому иногда могут возникать проблемы, пути решения которых не очевидны. Также, поскольку не все заказчики понимают лимитированность и специфичность этой технологии, иногда бывает трудно объяснить, почему она работает так или иначе» (Алекс Кучер, CTO Titanium).

«Пожалуй, недостаток заключается в том, что полученные навыки сложно или невозможно применить в других сферах» (Игорь Ермаков, Blockchain Engineer в Dev-Pro).

Как стать Blockchain-разработчиком

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

Разобраться с сутью технологии Blockchain поможет статья «Bitcoin: A Peer-to-Peer Electronic Cash System» by Satoshi Nakamoto, а также работы Nick Szabo: «Advances in Distributed Security» и «Formalizing and Securing Relationships on Public Networks». О «криптовалютной» стороне технологии можно почитать «Cryptocash, cryptocurrencies, and cryptocontracts» by Neal Koblitz and Alfred Menezes.

«Как стать Blockchain-разработчиком? Прежде всего, выберите платформу, под которую интересно разрабатывать (EOS, Ethereum, Neo, Nem). Затем почитайте White Paper, Yellow Paper выбранной платформы, разберитесь, как в ней работают смарт-контракты (для Ethereum, например, разобраться с EVM). Наконец, изучите язык программирования под выбранную платформу (например, для Ethereum — Solidity, для EOS — C++)» (Игорь Ермаков, Blockchain Engineer в Dev-Pro).
«Я советую начать с Solidity — языка программирования для Ethereum. Напишите тестовый проект, который будет содержать код на Blockchain и подключение к нему через какую-нибудь веб-страницу. Что касается источников информации, я советую изучить подборки The Crowdsourced Ethereum Reading List и Crypto Canon» (Алекс Кучер, CTO Titanium).
«Рекомендую читать техническую документацию той технологии Blockchain, под которую предполагается разработка. Например, для разработки под Bitcoin необходимо изучить документацию и следить за перечнем изменений в технологии. Для разработки под Ethereum есть мощный справочный ресурс по используемому там языку смарт-контрактов. Следить за новинками и учебными материалами помогут группы и каналы в мессенджерах. Я читаю Solidity Club и Cryptology Club» (Blockchain Developer в BlockSoftLab).
LinkedIn

57 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Senior Blockchain DevOps Release Manager
Provide envirovment to build new cryptocurrency (servers and clients) as code
You able set premining in git pipeline variable

А я почему-то думал что блокчейн-разработчик — это тот, кто разрабатывает блокчейн, а не пишет контракты.

Chel pohodu mnogo na bitke poteryal i teper’ ves’ blockchain obsiraet!!

Тем временем где-то в далёкой предалёкой галактике...

Neo-Nazis Bet Big on Bitcoin (And Lost)

интересное, спасибо
не понимаю, почему у людей пригорает

Тому що 10 років пройшло, бабло злите на кокс та топ шлюх, а продукту та і не має.

Для комплиментарности не хватает статьи «разработчик кнопочки ОК и Cancel, дальнейшая карьера».

эх вы молодёжЪ не помните уже были времена когда MessageBox с иконкой и кнопками был высокими технологиями падаваны реально не могли разобраться как такое может быть как это вообще можно настроить кнопку ОК ну ок осилил а дальше...

«ок и кансел» говоришь!? ха!

«ок и кансел» говоришь!? ха!

Ну это уже уровень 12-15, не всё сразу! MB_OKCANCEL %)

статья немного не полная. тут делается упор только на публичную часть блокчейна аля Ефир и ему подобные, но совершенно опущен момент ентерпрайз домена — как главный пример — supply chains. Упоминание платформ Hyperledger, Corda вообще нет, хотя они являются лидерами в своей области. Даже на данном этапе уже стоит выделять направление, в котором хочет развиваться разработчик — публичные открытые блокчейны, или приватные с контролем доступа. Плюс — написание смарт контрактов не всегда основная роль разработчика, конфигурация сети, настройка доступов, как и где хостятся ноды и прочее — тоже ложится на плечи блокчейн эксперта, так как расчитывать что девопсы знают как это деплоить не приходится.

В цитатах указаны компании, о которых до последнего времени не было слышно. Но опущены лидеры рынка аля SoftServe, Epam, Ciklum.

Искали спикеров среди компаний, которые тут публикуют вакансии

Я хлопець простий як тільки хтось ломиться в лічку з пропозиціями з

Blockchain
Blockchain
Blockchain
Blockchain
Blockchain
Blockchain
Blockchain

. Я просто видаляю цю персону з контактів й блокую.

бильшэ ада!

Ждем следующих статей на тему карьеры в ИТ: блокчейн и QA . и блокчейн HR

Досі не існує жодного продукту на базі блокчейну, який не стосувався би криптовалют/спекуляцій на криптовалютах (тобто не був блокчекйном заради блокчейну), натомість приносив користь людям і був прибутковим.

Блокчейн-стартапи існують тільки тому, що VC готові вкладати гроші в баззворди. По факту, ніякі смарт контракти досі не набули широкого застосування, так само як і всілякі системи голосування/верифікації інформації в розподілених системах.

Хочеш витрачати роки життя на те щоб палити венчурні гроші без жодної користі? Ставай блокчейн-розробником!

Діскасс.

Яким боком там блокчейн?

ще недавно там говорили про смартконтракти і заходив він на ринок через ico

Звичайний посередник з нерухомості, яким чином там смартконтракти допоможуть?
На сайті жодної згадки про блокчейни, я спецом пошукав.

але це вже не важливо бо походу вони зав’язали з цим

Що доводить те що практичного застосування смартконтракти та блокчейни не знайшли і потрібні лише для того щоб забрати гроші в інвесторів.

Это уже смешно, обсуждать бесполезность блокчейна. Он уже давно используется в банковских структурах (quorum, ripple, corda и тд.). Логистические компании... Даже кадастровый реестр Украины использует блокчейн. Просто вы от сми слышите в основном про хайповые проекты и про всякие провалившиеся ico и криптовалюты. Не все сразу, блокчейн еще молодая технология.

Логистические компании

Де, які?

Даже кадастровый реестр Украины использует блокчейн

Ліл, просто ліл.

modum.io/company/aboutus
Swiss Post внедряют модум например
Wallmart делает систему поставки на хайперледжер
Вы должны понимать что это не делается быстро для больший компаний. Почему мы до сих пор не ездим на авто с автопилотом?
Проще всего сказать лил все херня и верстать дальше лендинг пейджи :)

Вы должны понимать что это не делается быстро для больший компаний.

Топ самостріл. Який сенс впроваджувати блокчейн всередині корпорату? Які проблеми це вирішує?

Почему мы до сих пор не ездим на авто с автопилотом?

Тому що в вас немає бабла на теслу. Норм пацанчики їздять.

в США начинают больше и больше применять Blockchain. Тот же вышеупомянутый Walmart неплохо урезал расходы при помощи Blockchain. AmericanExpress, Alibaba, IBM. Вот еще список. www.forbes.com/...​-blockchain/#26574e992b5b

Так что

Ліл, просто ліл.

тут как раз не в тему. Крупные ребята уже в процессе

вышеупомянутый Walmart неплохо урезал расходы при помощи Blockchain

Яким чином? Яку проблему вони вирішували? Чому ту саму проблему не можна було вирішити за допомогою постгресу?

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

в сети полно текста об этом

Одна стаття датована вереснем 2018 року, все інше — перепечатки без технічних подробиць.

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

Ясно.

Про оракулів знаєте?

Владимир, я не задался целью вас переубеждать или агитировать за Блокчейн. Если вы считаете что это говно, вы имеет право так думать, наверняка есть на то причины которые вы не раскрываете. Я не буду искать вам научные ответы и цифры чтобы вы вдруг поменяли свое мнение. Мне по сути по барабану. То что я вижу находясь тут в США, это «говно» очень в спросе и активно применяется большими дядями, и находясь рядом когда большие дяди греют руки тоже не замерзнешь. Технология есть, ее применяют, она приносит денег. Значит имеет право на существование. Никто не принуждает ее использовать. PHP тоже отлично себя чувствует не смотря на все попытки компиляторщиков его обосрать.

Если вы считаете что это говно

Нє ну чо, на крипті люди он бабла підняли.

Я не кажу що технологія погана.

Я кажу що продуктів на цій технології, крім крипти — немає.

А содержание IBMовского облачка им досталось нахаляву.

Тот же вышеупомянутый Walmart неплохо урезал расходы при помощи Blockchain.

Потому что руки из жопы растут.

Before moving the process to the blockchain, it typically took approximately 7 days to trace the source of food. With the blockchain, it’s been reduced to 2.2 seconds. That substantially reduces the likelihood that infected food will reach the consumer.

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

Потому что руки из жопы растут.

Походу хтось непогано відмив бабло на наймі «блокчейн-консультантів».

Распил бабла вместе с IBM.

Потому что руки из жопы растут.

может быть, у Украинских коллег они еще от туда даже не показались тогда

Ай-не-не

en.wikipedia.org/...​_custom_software_projects

Нашим ФОПам ше срати і срати до таких епічних факапів.

Факап — это у тех кто деньги давал, а у тех кто брал всё в шоколаде %)

мне нравятся подписки «Technical aspects outsourced» (к) (тм)

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

4+ years JavaScript
6+ years C
4+ Years SQL
2+ years C++
4+ years AIX

я тоже читал этот прецедент и главная фишка оного что все «эксперты блокчейн» (кроме исключений но на то и исключения к тому же которые без кавычек) чисто технически даже не представляют как он чисто технически устроен и какую именно чисто техническую проблему вообще решает.

т.е. прямо спросить «эксперта блокчейна» ок волмарт блокчейн кто держит ноды? какой информацией обмениваются? что пишут в блок? зачем вообще волмарту распределённая система доверительных контрактов если он сам один свои собственные контракты подписывает?

но на самом деле это обычная ж. с «экспертами» чисто технически там «блокчейн» это дело второстепенное на его месте может быть например ИИ ML CUDA и даже си++ ))

ЗЫ: взять тот же ж руст ))

est’ mnogo primerov primeneniya blockchain v education i tourism. Naprimer www.fit.fraunhofer.de/...​kchain-for-education.html ili www.youtube.com/watch?v=xp16S51uQUs

est’ mnogo primerov

Ці приклади гроші заробляють? Не заробляете грошей — булщит для VC.

Naprimer www.fit.fraunhofer.de/...​kchain-for-education.html

Це навіть смішно обговорювати.

Application processes: an applicant shares selected certificates with a potential employer; the employer can instantly verify the authenticity of these certificates.

А зараз типу емплоєр не може піти на сайт якогось оракла або майкрософта та перевірити чи точно Ігнат Абрамович отримував сертифікат в 1981 році? Чим «блокчейн» тут краще централізованого сховища, якщо організація, що видає сертифікати — це оракул (в термінах блокчейну)?

www.youtube.com/watch?v=xp16S51uQUs

Довго дивитися, але судячи з того що там показують людей які показують поверпоїнти, то це черговий маректинговий булщит.

mnogo primerov primeneniya

Пишіть англійською, Tak BaC npoI_I_I,e noHiMaTb 6y∂eT.

vot TUI kak raz i primenyaet blockchain kak data base dlya optimizacii bed capacities na raznih rinkah. A Frauenhofer provodit issledovaniya i postepenno implementiruet eto LIVE

v Germanii na samom dele eshe mnogo organizaciy rabotaut nad temoy Blockchain in education. Tut je osnvnoy prikol shto informaciya na 100% ne falshivaya. Sicherheit und Vertrauen!!!

Tut je osnvnoy prikol shto informaciya na 100% ne falshivaya.

Дядь, про оракулів читали?

da ne pro sertifikati vidannie ORacle idet rech, a o diplomah iz VUZOV

Дядь, я тобі про блокчейнівські оракули а не про контору Oracle.

Вся твоя едукейшен фігня ламається о проблему «оракулів». Я не особливо вникав в те що там було написано, але якщо суть в тому що університет видає диплом і його хеш вбудовує в блокчейн то я навіть не знаю що можна сказати про такий «прорив» в застосуванні блокчейну. Натягують сову на глобус.

TUI kak raz i primenyaet blockchain kak data base dlya optimizacii bed capacities na raznih rinkah

ну ох-еть теперь.

Чим це краще постгресу?

Зовсім не експерт в блокчейні, не агітую «за» чи «проти», але от чисто випадково щойно попалась на очі така от стаття:
lviv1256.com/...​s-do-shkil-na-blokcheyni

В этой новости прекрасно всё :)

Подписаться на комментарии