Четверг , Май 18 2023
Домой >> Новости >> Руководство по разработке блокчейнов (Часть 1)

Руководство по разработке блокчейнов (Часть 1)

Криптовалюты, ICO, волшебные интернет-деньги – все это звучит очень привлекательно. И вы, возможно, хотите с головой окунуться во все это безумие. Но с чего начать?

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

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

Оно состоит из 10 частей:

  • Зачем учиться разработке блокчейнов
  • Необходимые условия
  • Теоретические основы Биткоина
  • Строим блокчейн
  • Ethereum и разработка смарт-контрактов
  • Безопасность смарт-контрактов
  • Переходим на профессиональную разработку
  • Реализуем свои проекты
  • Как ориентироваться в блокчейн-сообществе
  • Как получить работу
  • Зачем учиться разработке блокчейнов

    Прежде чем я отвечу на этот вопрос, позвольте кое-что уточнить: сейчас блокчейн крайне переоценен. Сегодняшние цены очень нестабильны, и с уверенностью можно сказать, что их обвал неизбежен. Подобное уже случалось раньше, и, скорее всего, произойдет снова. Но если вы собираетесь работать в этой области достаточно долго, то со временем вы перестанете обращать внимание на цены. Как сказал Эмин Гюн Сирер (Emin Gun Sirer), цена – это наименее интересный аспект криптовалют. Технологии же обладают огромной важностью, и они необратимо изменят наш мир.

    Я не могу с уверенностью сказать, стоит ли вам погружаться в эту область, но я могу перечислить 5 причин, которые побудили к этому меня самого:

  • Технология все еще находится на ранних стадиях развития.
  • Биткоин был изобретен 10 лет назад, но лишь в последние 2 года темп инноваций в этой сфере значительно ускорился, особенно с запуском Ethereum в 2015 году. Основная часть новых идей и компаний построены на базе Ethereum – технологии, которая сама еще является очень незрелой.

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

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

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

  • Большая часть инноваций происходит вне академических кругов.
  • Как мы знаем, Сатоши Накамото (Satoshi Nakamoto) не обладал ученой степенью. На данный момент нет ни одного высшего учебного заведения, которое бы предлагало серьезное изучение блокчейн-технологий. Авторами большей части инноваций становились энтузиасты, предприниматели и независимые разработчики. Почти все, что вам нужно знать, содержится в Белых книгах, записях блогов, публичных каналах Slack и программах с открытым кодом. Вам остается лишь засучить рукава и взяться за изучение всех этих материалов.

  • Спрос на талантливых сотрудников намного превосходит предложение.
  • Этой сфере банально не хватает разработчиков, и их невозможно быстро обучить. За каждого талантливого разработчика блокчейнов разворачивается нешуточная борьба, и многие проекты испытывают нехватку человеческих ресурсов. Даже лучшие компании не всегда способны предложить достаточное вознаграждение – слишком много на рынке других возможностей. Если вы обладаете нужными навыками, то вам легко будет найти работу.

  • Криптовалюты — это круто!
  • Где еще вы сможете разрабатывать научно-фантастические штуковины вроде защищенных криптографией децентрализованных денег? Мир криптографии сейчас напоминает дикий запад, и в этом есть свои плюсы и минусы. Ему явно не хватает прозрачности. Уверен, что в ближайшее время будут введены механизмы регулирования криптовалют. Но они, без сомнения, являются одной из самых продвинутых областей, в которой вы можете сейчас действовать.

    В своем недавнем интервью Наваль Равикант (Naval Ravikant) сказал:

    “Ключ к успеху заключается в том, чтобы предложить обществу то, что оно хочет, но не знает, как этого достичь. И вас не научат этому в школе, иначе этого «что-то» было бы уже достаточное количество”.

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

    Итак, вы готовы попробовать? Но давайте сперва обсудим, что вам нужно знать прежде, чем бросаться в бой.

    Необходимые условия

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

    Вот список тем, с которыми вам стоит познакомиться, в порядке убывания важности.

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

    Информатика

    Структуры данных

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

    Криптография

    Криптография – краеугольный камень криптовалют. Все криптовалюты для идентификации применяют криптографические алгоритмы с использованием открытых и закрытых ключей. Я бы порекомендовал начать их изучение с алгоритма RSA (он довольно простой и не требует серьезной математической подготовки), а затем переходить к ECDSA. Эллиптическая криптография требует понимания значительно более абстрактной математики. Знать все нюансы не столь важно, но надо понимать, что этот алгоритм используется в большинстве криптовалют, включая Биткоин.

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

    Распределенные системы

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

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

    Изучив это, вы сможете понять сложность решения задачи византийских генералов – основного требования безопасности публичных блокчейнов. Также вы, наверное, захотите узнать о PBFT, одном из первых масштабируемых алгоритмов, обеспечивающих решение задачи византийских генералов. На основе PBFT созданы большинство блокчейн алгоритмов коненсуса помимо proof-of-work. Вам опять-таки не нужно понимать все детали строения и работы PBFT – нужно лишь понять его основную идею и уровень безопасности.

    Кроме того, очень полезно будет знать основные методы распределения баз данных (по сути своей, блокчейны – это не что иное, как базы данных). Почитайте о шардинге (например, через консистентное хеширование), однонаправленной репликации и согласованных коммитах. Просмотрите информацию о распределенных хэш-таблицах (DHT), таких как Chord и Kademlia.

    Организация сетей

    Децентрализация блокчейнов в значительной степени происходит из их сетевой peer-to-peer топологии. То есть, блокчейны являются прямыми потомками P2P сетей.

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

    Публичные блокчейны обычно распространяют сообщения на основе gossip-протоколов лавинным методом. Полезно будет знать историю разработки архитектуры P2P сетей, от Napster и Gnutella до BitTorrent и Tor. Блокчейны стоят несколько обособленно, но их архитектура основывается на опыте использования сетей прошлых поколений.

    Экономика

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

    Теория игр

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

    В вашем арсенале должны присутствовать две ключевые концепции: равновесие Нэша и фокальные точки, так как они играют важную роль в криптоэкономическом анализе.

    Макроэкономика

    Криптовалюты – это не только протоколы, это еще и форма денежных средств. Именно поэтому они подчиняются законам макроэкономики (если их можно назвать законами). Криптовалюты регулируются различными монетарными политиками, а также предсказуемо реагируют на инфляцию и дефляцию. Вы должны понимать эти процессы и их влияние на накопление, потребление и т. д.

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

    Микроэкономика

    Криптовалюты тесно взаимосвязаны с рынками, и, как следствие, требуют понимания микроэкономики. У вас должно быть четкое понимание кривых спроса и предложения. Вы должны уметь рассуждать о конкуренции и альтернативным издержкам (они часто учитываются применительно к майнингу криптовалют). Для многих криптовалютных систем распределения актуальна теория аукциона.

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

    Итак, вы пересмотрели и подтянули свои базовые знания (а может быть, пропустили этот момент – никто ведь не смотрит). Давайте теперь переходить к разработке блокчейнов.

    (Продолжение следует)

    Будь в курсе! Подписывайся на Криптовалюта.Tech в Telegram

    Источник

    Смотрите также

    Анатолий Аксаков: В РФ могут легализовать криптовалюты под строгим контролем

    Глава комитета по финрынку Анатолий Аксаков сравнил с «игроманией» ажиотаж на криптовалютном рынке. Об этом …

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

    Adblock
    detector