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

Некоторые направления, по которым вы можете пойти

Можно выбрать другие направления, но перечисленные выше являются наиболее распространенными.

Смарт-контракты

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



Самый известный язык Ethereum для создания контрактов - Solidity. Он больше всего связан с JavaScript или C. Он широко используется, прост в освоении и часто задается в предложениях о работе. Solidity в основном основан на майнинге и криптовалютах, плюс все общедоступно и запрещено. Для создания децентрализованных приложений (Dapps) Solidity можно использовать в качестве серверной части Ethereum. Существует также еще один более известный язык Ethereum - Serpent, больше похожий на Python.

Chaincode написан на Golang и Node.js, в будущем будут поддерживаться другие языки. Он используется в Hyperledger Fabric (будет объяснено в следующем разделе), он более гибкий, чем язык закрытых смарт-контрактов, такой как Solidity. «Chaincode работает в защищенном контейнере Docker, изолированном от подтверждающего однорангового процесса. Chaincode инициализирует и управляет состоянием реестра посредством транзакций, отправляемых приложениями ».

Подробнее о Chaincode читайте в этой статье.

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

По сути, это база данных, которая совместно используется, реплицируется и обновляется каждым участником (узлом) в сети. Центрального администратора нет. Он может быть частным или общедоступным, с разрешениями или без них, и могут быть различные механизмы консенсуса. Каждый участник обрабатывает каждую транзакцию и составляет большинство для достижения консенсуса. Когда это достигается, бухгалтерская книга обновляется, и у всех есть ее копия. После этого транзакцию нельзя изменить. Распределенные реестры (DL) динамичны и обладают возможностями и свойствами, которые выходят далеко за рамки традиционных реестров.

Реализация блокчейн-структуры IBM Hyperledger Fabric (HLF) задается почти в каждом предложении о работе, которое я видел в LinkedIn. Этот список рассылки является частным и имеет разрешения. Также в HLF нет комиссии за транзакцию, потому что нет связанной криптовалюты. Частный блокчейн идеально подходит для компаний, которые хотят использовать технологию блокчейна, но не хотят раскрывать ценные данные общественности и конкурентам.

Большим плюсом HLF является то, что существует модульность, поэтому есть возможность выбора из большего количества механизмов консенсуса для использования. Двумя наиболее известными являются византийский отказоустойчивый (BFT) и отказоустойчивый (FT). Например, если вы хотите обрабатывать более 1000 транзакций в секунду, вам подойдет FT. Но если вы хотите, чтобы все было гладко, пока присутствуют вредоносные узлы, то BFT будет более предпочтительным.

R3’s Corda, также DL, на самом деле не является блокчейном, но имеет много функций блокчейна. В этой статье от ConsenSys они объясняют:

«Архитектурная структура R3 Corda опирается на узловую структуру, которая зависит от подмодулей, называемых нотариусами, которые помогают поддерживать достоверность сети, аналогично структурам валидаторов на других платформах, которые абстрагируют функцию консенсуса. Узлы сопровождаются реляционными базами данных, которые добавляются в структуры данных, позволяющие выполнять запросы с использованием SQL. Обмен транзакциями ограничен подпротоколами, называемыми потоками ».

Выбор между Corda и HLF для разработки зависит от варианта использования. Corda в основном ориентирована на банковских клиентов, где у HLF более широкий круг клиентов (некоторые из них - рынки капитала, юриспруденция, здравоохранение и логистика).

Платежные протоколы

Первым доступным протоколом оплаты блокчейна (также может называться криптовалютой) был биткойн. Далее следуют Litecoin, Ethereum, а затем и более полезные криптовалюты, такие как Ripple и Stellar. С прошлого года Биткойн стал дороже и медленнее с транзакциями по сравнению с более новыми проектами.

Ripple (центр разработчиков) использует консенсус доказательства правильности (PoC) (объяснение можно найти здесь). Stellar (руководство для разработчиков) использует собственный Stellar Consensus Protocol (SCP), который подробно описывается здесь. Самая большая разница между ними - получение прибыли (Ripple) и некоммерческая деятельность (Stellar).

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

Сам блокчейн

Вы также можете разработать свой собственный блокчейн с самостоятельно выбранным консенсусом (например, PoW, PoS, pBFT, SCP). Самый известный блокчейн - это блокчейн Биткойн, написанный на C ++ с консенсусом Proof of Work (PoW). С PoW самый быстрый майнер решает блок и проверяется другими узлами после того, как будет достигнут консенсус и майнер получит за это вознаграждение. Другими общими языками для разработки блокчейна являются GoLang и Java, но вы можете использовать любой язык, какой захотите. Итак, если вы знакомы с одним из этих языков, у вас уже есть прочная база для начала разработки блокчейна.

Помимо понимания языков программирования вам также необходимо знать:

Где ты можешь научиться

Удэмы и edX

«Udemy - это глобальная площадка для обучения и преподавания онлайн, где студенты осваивают новые навыки и достигают своих целей, изучая обширную библиотеку из более чем 65 000 курсов, проводимых опытными преподавателями».

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

«Основанная Гарвардским университетом и Массачусетским технологическим институтом в 2012 году, edX является центром онлайн-обучения и поставщиком MOOC, предлагающим учащимся во всем мире высококачественные курсы от лучших университетов и институтов мира».

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

"YouTube"

На Youtube вы можете найти достаточно видеороликов о блокчейне, смарт-контрактах и ​​т. Д. Не все является хорошим материалом, но есть несколько людей, которые действительно могут четко объяснить и хорошо разбираются в этой теме. Один из них - Сирадж Раваль. Я смотрел много его контента о блокчейне, он очень мотивирует и дает хорошие рекомендации.

Проектная документация

Практически по каждому проекту, который я видел, действительно много документации. Лично я предпочел пройти курс и со всем ознакомиться. Через некоторое время, когда я почувствовал себя более комфортно, я просмотрел документацию, чтобы получить более подробные сведения о конкретном проекте. Это всегда очень полезный материал.

Спрос на разработчиков

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

Запросы на талантливых специалистов по блокчейну по требованию стремительно растут. В прошлом году рынок талантов-фрилансеров Upwork показал, что блокчейн стал самым быстрорастущим навыком из более чем 5000 навыков с точки зрения выставления счетов фрилансерам - рост по сравнению с прошлым годом более чем на 35000 процентов. Эти запросы охватывают консультационные услуги ICO, инженерные проекты и общие консультации по блокчейну . - TechCrunch

Где вы можете поделиться своими знаниями о блокчейне?

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

Мой личный интерес

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

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

Взлеты и падения отрасли могут заставить вас почувствовать себя живым, основные тенденции указывают в нужном направлении, и есть деньги, которые можно заработать. Сделайте решительный шаг и войдите в пространство блокчейнов ». - Дэйв Кайпуст в Стоит ли вам изменить свою карьеру и войти в пространство Blockchain?

Спасибо за чтение! Если у вас есть комментарии, дайте мне знать. Некоторые из моих проектов и вкладов: