Интервью с Рафалом Келбусом - блокчейн разработчиком #ChainMeNow

Chain me now!
16.04.2021

Если бы блокчейн был человеком - какими бы особенностями он обладал? Сколько зарабатывают программисты в сфере блокчейн? Приглашаем вас на интервью с Рафалом Келбусом.

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

Начнем с никнейма Rav3nPL (Никнейм, который Рафал использует на всех форумах. с англ. Ворон). Что за история? Как все началось? 

Этот никнейм я использовал еще до создания "bitcoin", и это появилось из микса слов... Меня зовут Рафал, в игровых автоматах я записывался как RAV (ra-fał), а затем вдохновился фильмом "Ворон", а так как "Raven" был уже занят, я превратил E в 3 и, наконец, добавил PL.

Как началась твоя история в программировании? Почему вы выбрали именно это направление? 

Уже с детства я увлекался компьютерами, сначала игровыми автоматами, потом Atari на школьных компьютерах (XT, AT...) и дискеты, название которых я даже не помню (смеётся). Сначала писал в assambler, Basic, Turbo Pascal, Logo... Позже для себя начал писать ASP.NET/c# , играя в Foldit я много писал в LUA. Когда я начал свое приключение с BTC, я начал использовать C++, Python и Solidity. Я не привязан к одному языку, отношусь к ним как к инструменту/ограничению от существующих решений, и цель состоит в том, чтобы объяснить компьютеру, что он должен делать. 

Какой язык программирования вы считаете наиболее простым в использовании? Какой из них самый сложный? Почему?

Мне не нравится JS (потому что даже не может сделать сложение), и PHP будет хорош для нескольких следующих версий. Java мне не нравится. В настоящее время я до сих пор чувствую себя лучше всего на c# и Solidity, но, как я уже говорил - язык - это всего лишь инструмент. В век всеобщего доступа к информации не составляет проблемы написать многие вещи на разных языках - нужно знать возможности и ограничения (а иногда и логику языка), а не синтаксис.

Почему вы выбрали работу с блокчейн?

 Можно сказать, что не искал работу, а она нашла меня. Более 15 лет я работал в автосервисе, где помимо обслуживания клиентов я занимался всеми компьютерами, сетью, серверами, компьютерной диагностикой и электроникой. Когда появился BTC, я начал активно участвовать в форумах.bitcoin.pl и facebook, и через несколько лет выяснилось, что мало кто понимает криптовалюты на таком же уровне, как и я. Я выступал на конференциях, и меня заметили - потом пригласили к сотрудничеству в Polish Blockchain Technology Accelerator, и так началась моя новая карьера.

С какими трудностями и проблемами сталкивается разработчик блокчейна? Что уникального в этой отрасли?

Большинство проблем создаются... пользователями. Сама технология может быть " неуязвимой ", но что, если люди предоставляют хакерам удаленный доступ к компьютеру, личные ключи или мнемонику? Со стороны программирования это все выглядет по разному - есть одни проблемы, если мы пишем блокчейн "с нуля", и еще другие, если мы модифицируем существующие решения. Можно также программировать "около блокчейна", писать фронты для приложений или сайтов, которые используют блокчейн - и здесь тоже будет все по-другому. В принципе, никогда не бывает рутины - постоянно развиваются решения, появляются обновления и новые функции, и не всегда все совместимо с предыдущими версиями. Хорошим примером является эволюция Solidity и его компилятора - через несколько месяцев нельзя использовать один и тот же код, нужно его обновлять, улучшать, иногда переписывать кусок кода - ведь появилась новая возможность, повышающая производительность кода. Обычно есть чем заняться.

Над какими проектами работаешь?

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

Как начать карьеру программиста в этой отрасли? Какие навыки пользуются наибольшим спросом?

В этой отрасли хватит место практически для всех - от низкоуровневых (c/c++) для коммуникационных протоколов, и базы данных (нужно где-то хранить блокчейн), до мобильных и веб-приложений. Нужно иметь голову на плечах и "думать как блокчейн". В бк есть уникальные вещи, и попытка использовать их часто бессмысленна или не приносит никакой прибыли проекту. Нужно искать оптимальное решение проблемы, а не пытаться продвигать решение, не имеющее отношения к задаче.

Вкратце объясните разницу между монетой и токеном? 

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

Image caption
Обращают ли работодатели в этой нише внимание на образование?

Думаю, это зависит от работодателя. Опыт и фактические навыки, вероятно, более важны, чем бумага.

Какие навыки важнее всего? Почему?

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

Трудно ли найти работу программиста в этой отрасли? Где искать?

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

На какой доход могут рассчитывать разработчики в этой отрасли? От чего это зависит?

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

Что бы Вы посоветовали "юным" разработчикам, которые хотят работать в этой нише?

Читать. Очень много. На Github у нас коды, на bitcoin.org у нас руководство для разработчиков - оно база, не зная этого, не стоит начинать. Если кто-то стремится к ETH / Soliduty - также вся документация. Это не просто руководства по составлению контрактов, а материалы по языку и протоколу. Вы должны начать от низа (протокол) и идти вверх (приложение).

Каковы потенциальные угрозы для блокчейна? Насколько надежна технология?

Это зависит. Публичные блокчейны полагаются на свой консенсус, в случае BTC и ETH это все еще PoW. При большой вычислительной мощности, используемой для PoW, атаки практически невозможны, а при наличии десятков тысяч копий этой цепочки по всему миру, только глобальное отключение электричества или национальная блокада интернета поставили бы под угрозу целостность технологии. Биткоину уже более 10 лет и до сих пор не найдено слабых мест в используемых алгоритмах, система работает практически непрерывно. Квантовые компьютеры до сих пор остаются песней будущего, и для них существуют гораздо лакомые цели чем BTC. Слабое звено - это человек, пользователь. Его гораздо легче " взломать", чем технологию.

Сколько необходимо мониторов для комфортной работы?

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

Объясните в двух словах, что такое  майнинг криптовалют.

Для Биткоина (и всех PoW) это слепой поиск. У нас есть простое условие - хэш заголовка блока (block header) должен быть числом меньше текущей цели, заданной алгоритмом. Для выполнения этого условия мы модифицируем заголовок до некоторой степени. Чем быстрее мы сможем модифицировать и проверять результат хэша - тем больше вычислительной мощности у нас будет, и в то же время шанс найти такой заголовок, который, в конце концов, удовлетворяет условию. Каждая майнер работает над своей версией блока (и, таким образом, имеет свой заголовок), и поиски продолжается - до тех пор, пока кто-то первым попадет в "golden nonce".

Возможно ли отменить неправильно выполненную транзакцию на блокчейне?

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

Какой процент от вашей работы - это инновации (создание чего-то нового - функций, продуктов), а сколько это обслуживание и исправление ошибок? Как выглядит твой рабочий день?

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

Что бы ты спросил у Сатоши Накомото, если бы встретил его?

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

Если бы блокчейн был человеком - какими бы чертами характера он обладал? (минимум 3 )

О: Жестокий - что сделано, то сделано. Правдивый - не лжет, ничего не скрывает. Честный - не обманешь и не обманывает.

Вопрос&Ответ

Image caption

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

Close