Красный октябрь блокчейн-революции

Количество материалов по блокчейну просто зашкаливает: онлайн-курсы, вебинары по ICO, новые криптовалюты, инвестиции и многое другое. В этом разобраться сложно даже тому, кто пытался майнить на домашних тачках в середине десятых. А новичкам-разработчикам проще отвернуться, чем начать работать в этом направлении.
В сентябре Binary District в Digital October запустил собственный курс Blockchain Developer, направленный исключительно на разработчиков. Инсайдеры утверждают, что это серьезный, даже суровый интенсив, дающий неплохие результаты. Проверим?
Блокчейн — это не только постоянные ICO и криптовалюты, но в первую очередь (и это очевидно) новая сфера работы для программистов. Однако определиться с направлением, оценить возможности разработки собственного блокчейн-проекта и решать конкретные задачи практически негде.
По словам организаторов проекта Blockchain Developer от Binary District, найти хорошие курсы, в частности, оффлайн, для разработчиков Blockchain в России не так и просто. В основном — одна-две вводные лекции или разрозненные занятия по отдельным темам, митапы и тому подобное. А целостной подачи программы с азов до конкретных разработок проектов нет. Их курс позиционируется как хардкорный, программистский, нацеленный на практику и консультации разработчиков в их собственных проектах.
У нас разные курсы, разные аудитории. Blockchain-Weekend — это общее погружение в блокчейн для любых случаев, для начинающих. Там рассказывают о технологии со всех сторон: не только техническая часть, но и юридические, экономические аспекты и так далее. Blockchain-Business — для руководителей, более интерактивного формата, с меньшим количеством людей, с возможностью общения. И мы давно хотели сделать курс именно для разработчиков. В первую очередь, наверное, даже для нас самих, потому что сильно не хватает разработчиков в сфере блокчейна.
Дмитрий Мешков, основатель ERGO Platform, исследователь в IOHK
Жесткого отбора для слушателей курса первого набора не было. Первое, на что обращаешь внимание — возраст и уровень подготовки студентов: есть как совсем молодые лица, так и пожилые технари. Устройства с собой приносят разношерстные: у кого-то ядерная смесь *nix систем, у части — Windows, но доминирует Macbook.
По словам создателей, курс изначально планировался для Scala-разработчиков. Но мы встретили не только их, но и специалистов из других областей. В основном это представители компаний, которые присматриваются к технологии блокчейна, хотят реализовать прототипы или уже реализуют какие-то заказы с использованием технологии блокчейн. Но есть среди студентов и те, кто никогда не вел таких проектов и пришел познакомиться с технологией— HR’ы или руководители проектов. Они ищут кадры в свою команду. И в этом нет ничего неожиданного — блокчейн сейчас на пике популярности, а строчка в резюме «работаю с блокчейном» легко добавляет 50% к зарплате и особое внимание HR’ов. При этом специалисты по персоналу тоже вовлечены в курс, выполняют задания и внимательно слушают лекторов.
tild3837-6564-4362-a234-666430303166__20
Некоторые студенты имеют свои идеи блокчейн-проектов. Кто-то уже начал разработку, но им не хватает опыта и экспертизы. Кто-то только на стадии идеи и пытается понять, применима ли технология блокчейн к тому, что они задумали. А кто-то пришел для общего развития: про блокчейн много говорят, и на первый взгляд бесконечно далекие от темы люди тоже хотят узнать, что это такое.
Я работаю в сфере автомобильной промышленности, занимаюсь управлением проектами. Пришел на курс, потому что интересуюсь новыми технологиями. Больше года назад увлекся направлением, связанным с IT-индустрией, выучил некоторые языки программирования, прохожу разные курсы. О блокчейне много информации в интернете, но достаточно поверхностной. Все говорят, как это здорово, что это взрыв, за этим будущее. Но детали, почему это так и как это конкретно применяется, никто особо не раскрывает. Поэтому решил разобраться, как это работает.
Алексей
Я работаю в компании LAToken. Это новый стартап. Мы запустились совсем недавно. Сфера деятельности компании связана с блокчейном. На курс я записался еще до трудоустройства, потому что эта технология мне самому была интересна. До этого проектов на блокчейне у меня не было.
Амир
Я занимаюсь разработкой программного обеспечения. Это отчасти свой, отчасти корпоративный проект, который связан с блокчейном. Я пришел к нему пришел пару лет назад, когда узнал про платформу Ethereum. В этом году решил конкретизировать свои знания в области блокчейна и инженерии, поэтому выбрал этот курс. Пожалуй, это единственный более или менее серьезный, расширенный курс, не просто однодневное мероприятие.
Илья
Я много лет занимаюсь программированием в разных предметных областях, долгое время работала в области связи. Сейчас я работаю в ВУЗе. Один из моих студентов показал, что он делает. Говорит: «Вот блокчейн. Это круто». Мне понравилось. Я стала разбираться в его работе. Зашла на страничку, где опубликованы результаты его труда, его руководителя. Попала на конференцию Genesis. Потом так сильно увлеклась, что пришла на эти курсы.
Юлия
Я работаю на одном из блокчейн-проектов, имею небольшой опыт в трейдинге, в том числе в области криптовалют. На курс пришел, потому что здесь даются более глубокие и, я считаю, важные, даже научные познания в области блокчейна. Я стал лучше понимать, как устроен биткоин и другие криптовалюты. Также здесь очень хорошая кодинг-экспертиза, дают покодить, дают задания, объясняют.
Андрей
Я работаю в R&D-отделе «Альфа-банка», но еще меньше недели. До этого работал в компании-туроператоре. Мы там делали систему персонализации. На курсы пришел, чтобы получить вдохновение, узнать темы, которые потом смогу более глубоко изучить. Здесь даются фундаментальные знания, по крайней мере, на занятиях до сегодняшнего дня. Именно сегодня — первое практическое занятие. До этого раскрывались в целом темы криптографии, устройства разных частей и систем блокчейна, типа пулов, того, как устроены майнеры внутри. Но, получив базовые знания о том, на что можно обратить внимание, я планирую сам продолжить этим заниматься.
Дамир
Но вот что объединяет всех студентов вне зависимости от уровня знаний — вовлеченность в процесс и увлеченность темой. Активность очень высокая: лектора, в нашем случае — Сергея Толмачева, еще до выступления выдергивают на консультации, с ним активно чатятся в телеграм-канале, обсуждают домашнее задание и реализации своих проектов.
А проекты у студентов действительно есть.
Реальные проекты (и никаких криптовалют)
Илья Дружинин
У меня исследовательский проект по созданию альтернативы web-браузерам. Модульная платформа, которая объединяет основные пользовательские модели поведения в интернете в интерфейсе одного десктопного приложения.

Грубо говоря — вместо Skype\Telegram\прочих программ для работы в интернете\браузере + сотен сайтов в браузере вы открываете одно приложение, которое объединяет всю необходимую функциональность.

Это распределенное приложение, каждый клиент — это узел сети, который взаимодействует с такими же узлами сети. Собственно, тут и есть место блокчейну. Всё взаимодействие пользователей, которое необходимо сохранить в обязательном порядке и потом подтвердить на достоверность (балансы, покупки, голосования и т.д.), записывается в блокчейн.

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

tild3537-3439-4066-a234-303538376638__1.
Амир
Технология была интересна с прикладной точки зрения: как совместить ее с реальным кейсом для реального мира, встроить в продукты, в сервисы, которые могут быть интересны конечному пользователю в повседневной жизни. Например, у меня бэк из тревел-индустрии. Отрасль очень несовершенна по своей структуре, потому что там многое делается через посредников. Из-за этого турист переплачивает. У меня созрело решение этой проблемы. Мне хотелось создать инструмент для бронирования гостиниц и прочих туристических услуг, что позволило бы экономить до 40 процентов на каждом бронировании отдельно взятому туристу. И блокчейн — это решение.
tild6666-3831-4162-a332-613566396363__2.
Юлия
Мой проект — про обмен информацией между датчиками.
Это могут быть датчики, которые стоят на аппаратуре, распределенные на большой территории. Для разброса этих датчиков приходится запускать квадрокоптеры. Но все зависит от того, какие именно датчики используются, могут ли они в принципе обмениваться информацией без опроса этой летающей штуки.

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

tild3266-3731-4239-a539-313236636163__3.
У многих студентов есть свои наработки, которые они будут развивать уже после завершения курса. Помимо теоретических и практических занятий, они активно консультируются с лекторами о своих проектах и получают практическую помощь. Большинство спикеров — практики, с опытом в блокчейн-разработке, на контакт идут охотно и помогают новичкам не только в отведенные два часа.
От практики к теории и обратно
На лекции тихо: первое серьезное практическое занятие с домашним заданием. Первые полчаса Сергей увлеченно рассказывает про алгоритм atomicswap, позволяющий переводить криптовалюты друг другу без возможности обмана. Он рисует блок-схемы, объясняет принцип работы AtomicSwap по классическому примеру Алисы и Боба, активно пишет и, что главное, поясняет код. Через час перерыв: сразу переварить двухчасовую лекцию сложно всем. И вновь Сергея обступают со всех сторон.
tild3736-3535-4535-a662-313630663735__20
Как выяснилось позже, Сергей в тот день провел собеседование с одним из перспективных студентов. Сейчас студент, Петр Железняков, и Waves обсуждают детали и проект, над которым он будет работать. Петр — опытный Scala-разработчик, не только активно выполнял домашние задания курса, но и сделал тестовое для устройства на работу.
tild3730-6534-4864-b064-313733333261__20
Задание — написать программу, которая сопоставляет и исполняет ордера на бирже. Подробнее можно прочитать и ознакомиться с исходниками здесь: https://github.com/petermz/matcher
tild6639-6135-4666-a137-633337646634__20
По итогам курса слушатели могут трудоустроиться у партнеров: Ergo, Waves и других
К нам пришли разработчики, которые хотят найти хорошее место работы, поучиться тому, что им интересно. Есть у нас и открытые вакансии, но мы присматриваемся ко всем перспективным студентам. К примеру, одного из них мы даже наняли на более высокую должность, несмотря на то, что вакансии не было.
Сергей Толмачев, Scala Backend Blockchain Developer в Waves Platform
Как оказалось, мы попали на одно из самых сложных практических занятий. В прошлый раз Сергей рассказывал о принципах работы биткоин-скриптов, студенты писали небольшие контракты в биткоине, делали алгоритм для выплаты денег по предъявлению одного из двух паролей, одного из двух сообщений, хэш которого равен заранее заданному. Это занятие было посвящено реализации контракта Atomix VOB. Это достаточно интересная концепция обмена монетками между разными блокчейнами без доверия кому-то.
tild3331-3438-4662-a561-353030633934__20
Преподавателям здесь интересно не меньше, чем студентам
Это классическая проблема. Например, мы хотим совершить обмен: я вам даю биткоин, вы мне лайткоин. Мы можем договориться о курсе, но никто не захочет первым совершать перевод. Потому что если я первым вам отдам свой биткоин, вы можете его забрать и уйти. Для этого используют escrow services — третье лицо, которому мы оба доверяем. Но что делать, если такого лица нет? Существуют протоколы для безопасного обмена, чтобы никто никого ни в какой момент обмануть не мог.

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

Дмитрий Мешков, основатель ERGO Platform, исследователь в IOHK
Возвращаемся на места. Вторую половину лекции-практикума Дмитрий посвящает реализации алгоритма CoinSwap, в конце которой предлагает каждому ученику самостоятельно дописать часть кода. Спустя 10 минут демонстрирует правильный ответ на гитхабе. В качестве домашнего задания усложняет алгоритм: если на лекции студенты совершали транзакции с двумя разными криптовалютами (Bitcoin и LiteCoin), дома нужно добавить третью.
tild3335-3235-4061-b164-313964323465__20
А студентам интересно не меньше, чем преподавателям
Лекция закончилась и нам захотелось выяснить, что думают студенты: насколько полезная программа курса, «повезло» ли нам с занятием или на прошлых тоже были интересно рассказанные темы. Удивительно, но самой сложной темой для всех стала криптография, а не технология блокчейн как таковая.
Что вы думаете о курсе?
Положительные. Но, конечно, хочется больше: не 2 часа, а 5, 6, 7.
Илья
Исключительно позитивные впечатления, потому что те цели и задачи, которые я перед собой ставил, в этом курсе реализуются.
Амир
Первое занятие проводил Мешков. Чувак вообще огонь! Рассказывает очень интересно, тему знает, так что первые впечатления у меня были крайне положительные.
Дамир
Всё нравится. Единственное, что, конечно, из-за большой учебной (и неучебной) нагрузки мне очень тяжело успевать делать практические задания с необходимой скоростью. Кроме того, у меня случилась авария, сдох ноутбук в самый неподходящий момент.
Юлия
Что оказалось самым сложным и интересным?
Я бы не сказал, что было что-то суперсложное. Пожалуй, тема криптографии и все, что с этим связано, потому что там нужен серьезный матаппарат. Трудности были, потому что на Scala не пишу. Я программист, работаю на Python и JavaScript, сейчас интересуюсь другими функциональными языками. Но главная цель у меня была не на Scala программировать, а понимать, в чем суть технологии и как ее внедрять в реальный кейс. Ведь решать задачи с помощью блокчейна можно не только на Scala.
Амир
Интересное и самое сложное — исследовательские атаки на блокчейн, написание кода на незнакомом мне доселе языке (который я, кстати, до сих пор еще не сделал). Хотя, думаю, будут темы не менее интересные.
Илья
Самым сложным мне показался раздел, который затрагивает вопросы криптографии и всего, что с ней связно, теория криптографии. Потому что там непростая математика, нужно много времени, чтобы все это усвоить.
Юлия
Майнинг сразу нескольких цепочек параллельно, насколько я знаю, его ещё никто не сделал.
Дамир
tild6332-6663-4339-a661-616130356263__20
Полноценный курс должен состоять как из теории, так и из практики. Слова студентов совпали с расписанием: все шло по накатанной: начинали изучать криптографию, а затем перешли к блокчейну, криптовалютам. Мы были на первом полноценном практическом занятии, которое разработано по просьбе студентов: хотелось перейти от слов к делу.
Полезны ли эти курсы?
Заданий много. Курс достаточно гибкий. Если ты хочешь писать код, ты будешь писать его. Если тебе интересна только теория, можешь изучать, не обязательно эти задания на практике выполнять. Делаешь хорошо — посмотрят, помогут с ответами. Если ты не умеешь писать, это тоже не страшно. Я ограничиваюсь выполнением практических заданий, которые дают. И нужна дополнительная литература, тем более, что я не очень уверенно себя чувствую именно в плане написания кода. Параллельно я учу Java и Scala, Python уже освоил.
Алексей
Когда я только пришла сюда, я думала, что если все транзакции хранятся с начала времен, то в принципе блокчейн можно использовать как некую базу данных и управлять этими данными. У меня не было четкого понимания, что это такое на самом деле и для чего лучше может быть использована технология.
Юлия
Пока это больше фундаментальные знания по блокчейну, по смарт-контракту мы только сейчас начали разбираться. Но то, что смарт-контракты мы должны подробно разобрать, заявлено в программе. Первая половина курса была теоретической, наверное, чтобы выровнять знания участников. Несмотря на то, что это курс для разработчиков, также пришли совершенно разные люди из бизнеса, аналитики. Следующий набор будет более жестким.
Дамир
Организаторы адаптируют программу под набранных людей: собирают анкеты и бэкграунд слушателя, его ожидания и цели. Это трансформируется в программу. Учитывая, что январский набор хотят сделать исключительно для разработчиков, стоит ожидать еще больше практических заданий и разработки проектов.
Чего не хватало на лекциях?
Мне хочется больше глубоких научных статей. Здесь информация дается достаточно сжато и в больших объемах, надо успевать все усвоить. Может быть, для кого-то это плюс, но мне хочется чуть-чуть помедленнее, потому что я еще и работаю.
Андрей
С криптовалютами все понятно: они разные, у них разная специфика, разные моменты реализации. Но как можно применять блокчейн за пределами криптовалют, более широко? Хотя сейчас все в интернете есть, все доступно, но непосредственно успешных кейсов мало знаю.
Алексей
Возможно, больше прикладных кейсов, как использовать технологию в реальном мире. Задачки типа атомарного свопа мне очень нравятся, потому что я сразу представляю, как это реализовать в бизнесе. Например, кейс, который мы обсуждали сегодня, очень круто подходит для обмена операциями на бирже.
Амир
В первой части было много теории, практики не хватало. Но сейчас она началась очень активно, так что теперь я даже не знаю, чего еще хотеть. Все классно.
Дамир
Запись на новый курс уже открыта. По словам организаторов, отбор будет более жестким, чтобы приходили квалифицированные специалисты, с которыми можно выполнять интересные практические задания.
Одним из основных требований станет высокий уровень программирования, желательно на безопасных языках. Сейчас набирает популярность использование функциональных языков программирования блокчейна, поскольку хоть писать на них, может быть, сложнее, но они намного строже верифицированы на уровне компилятора и анализаторов кода.
tild3735-6662-4333-b834-393639343061__im
Если знаете, что это и откуда — пишите в комментариях
Чтобы понимать технологию блокчейна, не обязательно быть программистом. Вы можете разрабатывать стратегии поведения участников, майнинга, протоколы поверх блокчейна. Открыт большой класс задач, надо просто приходить и делать. Основное пожелание к слушателям от организаторов и лекторов: приходить с большим интересом. По их практике, даже если кому-то не хватило бэкграунда, но хочется заниматься — все достижимо. Многие студенты говорили, что им сложно и они не справятся, но после первых же попыток что-то реализовать, после общения с преподавателями появлялось желание и улучшились знания.
Общались ли вы с преподавателем дополнительно, помимо лекций?
Тelegram-чат очень помогает. Я туда выкладывала ссылки на ресурсы, которые сама находила, смотрела, что выкладывают ребята с курса. Конечно, все комментарии, презентации, то, что выкладывают организаторы, преподаватели, очень помогает готовиться к занятиям, расширять кругозор, готовиться к учебе.
Юлия
В основном все общение было в рамках лекции и в Telegram. Там отличная поддержка, на любые вопросы ответят.
Илья
Для меня это первый курс очно. Здесь я окунулся в среду разработчиков, есть с кем пообщаться, почерпнуть дополнительные знания, обменяться опытом. С ребятами, с которыми сидим на лекции, общаемся, есть чат, обмениваемся вопросами, можно кому-то лично написать, подскажут. Естественно, и преподаватели подскажут, но по мелочам их не будешь беспокоить, тем более что преподаватели днем работают, как и мы.
Алексей
Что можете посоветовать в будущем слушателям курса? Какие знания надо иметь, чтобы попасть сюда?
В первую очередь надо хотя бы чуть-чуть пописать на Scala. Курс строится на основе технологий, на которых написан Waves. И самые интересные домашние задания связаны с платформой Waves, она написана на Scala. Намного проще будет, если вы сами в блокчейне чуть-чуть поковыряетесь. Например, создать кошелек в тестовой сети, попереводить деньги, поиграть с каким-то смартконтрактом в тестнете. Это облегчит занятия, будет намного проще понять и улавливать суть занятий.

С подписью транзакции особо самому не позаниматься, потому что вещь не распространенная, но должен быть этот минимум.

Дамир
Вопрос в том, зачем это нужно. У меня была конкретная цель. Мне надо было понимать блокчейн, потому что я хочу применить его в реальной жизни. У меня не было ни сильного мат.аппарата, ни бэка на Scala. Я понимал, что этот курс может дать мне ответы на многие вопросы. Самое главное — понимать, зачем все это.
Амир
Если люди не программисты, стоит хотя бы немного изучить языки программирования. Будет классно, если у них будет достаточно свободного времени, чтобы этим заниматься.
Илья
Если они будут уметь работать на Scala, будет очень легко, если на Java или на С++, тоже нормально. Ну и здравый смысл, техническая подкованность общая заинтересованность и нацеленность на результат — и все будет нормально.
Юлия
Быть готовыми самостоятельно искать дополнительную информацию, что-то параллельно учить. Потому что то в одном, то в другом месте проблемы возникают часто. Наверное, это свойственно вообще профессии программиста, надо постоянно находиться в поиске. Есть вопросы и надо самостоятельно найти ответы.
Алексей
Как вы совмещали работу? Насколько это сложно?
3 часа сна.
Илья
Наш разговор подошел к концу. Студенты и преподаватели собираются домой. Впереди — завершение курса в формате открытого 48-часового блокчейн-хакатона с неплохим призовым фондом. Для многих это хороший шанс проявить себя, объединиться с коллегами-студентами и получить дальнейшую поддержку от блокчейн-разработчиков и исследователей для развития собственных проектов.
Курсы Binary District в Digital October — годная штука. Вместо пустых разговоров и обещаний светлого блокчейн-будущего студенты и преподаватели вместе создают его. Знания и навыки здесь дают актуальные. А у слушателей точно есть желание и получать, и использовать эти знания на практике. Посмотрим, что они создадут.

© Habrahabr.ru