В последние годы сектор финансового софта переживает бум. Причем развиваются не только около-банковские системы, а появляются и различные альтернативные решения. Одной из тем, вызвавших широкий общественный резонанс, стало появление и бурное развитие криптовалют. Помимо своей монетарной и сетовой составляющей, криптовалюты являются ещё и специализированным программным обеспечением. Кто же работает над их кодом, и как это делается?
Самая популярная криптовалюта на сегодня — это Биткойн. Однако по скорости внедрения инноваций в последнее время стал заметен ещё и криптовалютный проект “Dash” (бывший “Darkcoin”) (по капитализации — Анонимная криптовалюта №1). В команде “Dash” есть русскоязычный разработчик, и я уговорил его дать интервью.
Привет, UdjinM6. Спасибо, что согласился на интервью. Давай поговорим о криптовалютах в контексте процесса их разработки как программного обеспечения, без углубления в детали того, зачем они нужны и как функционируют.Привет. Спасибо за предложение, постараюсь ответить максимально доступно.
Пожалуйста, расскажи вкратце о себе и своей деятельности в команде “Dash”.
Я заинтересовался криптовалютами довольно поздно (в 2013 году) и исключительно в качестве нового спекулятивного инструмента с относительно простым способом входа. Тогда же пробовал и помайнить немного.
К слову, оба этих занятия завершились для меня серьезным финансовым минусом, но я начал больше интересоваться тем, как же все-таки это все работает, стал вникать в заложенную математику и алгоритмы, а также пробовать разный софт и участвовать в его доработке по мере сил.
Позже, в середине 2014 стали все громче звучать вопросы к Биткойн по поводу его анонимности. Эта тема меня заинтересовала и я обратил внимание на несколько альтернатив, одной из которых был Darкcoin. Мне показалась интересной идея и предложенная реализация, а также понравилось, что у Darkcoin дружелюбное сообщество и доступные для комментариев разработчики. Сейчас в команде я занимаюсь, в основном, разработкой «официального» кошелька, но иногда помогаю сторонним разработчикам по вопросам портирования какого-нибудь ПО, написанного для Биткойн, для работы с Dash, да и просто всем, кто пытается что-то сделать на базе Dash.
Чем разработка криптовалют отличается от разработки другого ПО?
Я бы выделил то, что за довольно короткое время появляется огромная масса исследований, различных материалов по теме, новых идей и зубодробительной математики. Нужно постоянно “держать руку на пульсе”. Также стоит отметить, что многие новые работы по криптографии доступны только на английском языке, а с учетом уже упомянутой выше математики вникать бывает довольно непросто.
Кто может стать разработчиком криптовалюты, какая для этого нужна квалификация?
Официальный клиент многих криптовалют написан на С++, но есть и такие, где основной кошелек написан на Python, наример. Также хорошо бы иметь неплохие познания в математике в целом и в теории вероятности/криптографии в частности, но их можно набрать и по мере погружения. Есть неплохой, на мой взгляд, обзорный курс у Khan Academy “Journey into cryptography” (
http://www.khanacademy.org/computing/computer-science/cryptography ). Также множество материалов доступно в виде разного рода докладов, презентаций и т.п. в свободном доступе.
Твоё окружение знает чем ты занимаешься? Как к этому относятся?
В курсе только несколько самых близких друзей. Для остальных я “сижу в интернете”.
Не тянет вернуться в офис на “нормальную” работу?
Пока есть финансовый запас с прошлой работы, а дальше посмотрим. Надеюсь, что мы все-таки делаем что-то нужное и Dash, как говорят, “взлетит”.
Русскоязычные разработчик – редкое явление в криптомире… Сложно было завоевать репутацию в сообществе?
На самом деле, я вовсе не стремился стать разработчиком какой-либо криптовалюты, просто было интересно и имелся некий опыт в программировании, управлении проектами и т.п. Сначала я в качестве обычного пользователя стал задавать много вопросов, смотреть подробнее код, разбираться в теме, а впоследствии и сам стал отвечать на вопросы других новичков. В то время Dash был на стадии релиз-кандидата и там довольно часто случались форки. Я пытался помочь, чем мог и примерно неделю я практически «жил» на официальном форуме и отвечал на многочисленные вопросы, помогал решать проблемы, выискивал баги. Я был очень назойлив и постоянно мучал Эвана и других разработчиков вопросами и своими предложениями по решению различных проблем. В итоге, я всем надоел члены сообщества стали предлагать включить меня в команду и через несколько дней я получил незатейливое сообщение примерно следующего содержания: «Неплохо! Хочешь присоединиться?»
Для тебя разработка “Dash” — это способ заработка или что-то другое?
На данный момент это способ “наносить пользу”, занимаясь чем-то интересным. Ну, и конечно, надежда завоевать мир, куда же без этого.
Какие инструменты ты используешь в своей работе?
Поскольку клиент написан под Qt, то соответственно большая часть времени проходит в Qt Creator. Остальное все в командной строке – git, vim и т.п.