Разработка блокчейн решений

С чего мы начинаем разработку блокчейн-проекта

09 Августа, 2018

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

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

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

Как и при создании любого другого программного решения, блокчейн-разработка имеет определенные этапы, где Pre-Discovery, или пред-разработка (как мы ее называем) оказывает значительное влияние на весь ход проекта и его конечный результат.

Данная стадия включает в себя несколько важных задач, в которые входят сбор и анализ требований и пожеланий заказчика, подготовка технической спецификации и создание прототипа, представляющий собой доказательство правильности концепции (proof-of-concept).

Анализ требований к блокчейн-проекту

На начальной стадии разработки первостепенная задача заключается в “погружении” в требования заказчика. Понимание концепции — идеи и цели проекта — играет ключевую роль в создании решения, которое будет не только соответствовать ожиданиям клиента, но и принесет пользу его бизнесу.

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

В нашей компании сбор и анализ требований является неотъемлемой частью разработки качественных блокчейн-решений.

Техническая спецификация & Оценка проекта

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

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

Наши специалисты определяют функционал системы, анализируют идею проекта, описывают пользовательские сценарии, после чего предлагают разумные рекомендации (например, какие технологии лучше применять, включать ли в продукт только ключевые функции, то есть начинать с MVP разработки, или реализовать весь функционал в первой версии и т.д.).

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

Прототипирование блокчейн-решения

Имея на руках детальное техническое задание и четкое понимание проекта, мы приступаем к созданию прототипа блокчейн-решения.

На данном этапе мы принимаем во внимание такие факторы как взаимодействие компонентов решения, его интеграцию с другими системами (например, с электронным кошельком, социальными сетями), платформы, под которые оно будет разрабатываться и др.

На построение прототипа у нас уходит 3 дня. Как только он готов, мы показываем его нашему заказчику.

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

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

По завершении данного этапа вы получаете:

  • Детальную техническую спецификацию
  • Архитектуру проекта с докладом блокчейн-специалистов, включающим пользовательские сценарии и технологии, которые будут использоваться в разработке
  • Прототип, наглядно демонстрирующий функционирование блокчейн-системы, а также то, как она будет выглядеть для конечных пользователей

В нашей компании мы считаем, что правильный подход к разработке позволяет нам создавать качественные блокчейн-решения.

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

Ресурсы для изучения блокчейн-разработки с нуля

Блокчейн не ограничивается одними криптовалютами, и в этом материале мы собрали необходимый минимум для изучения блокчейн-разработки.

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

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

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

Далее вы узнаете о таких вещах, как разработка децентрализованного приложения на Ethereum, теория игр, криптография, альтернативные блокчейны.

Как работают блокчейн-технологии

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

Начните разбираться с этого видео:

Затем следующие два. Там есть и то, о чём вы уже знаете, и новая информация. Это поможет уложить в голове суть технологии.

Затем перейдите к изучению конкретной технологии − Ethereum. Есть мнение, что она наиболее перспективна, несмотря на то, что находится на втором месте по капитализации после Bitcoin. Это объясняют наличием команды разработки и большого комьюнити.

Разработка децентрализованного Ethereum-приложения − Dapp

Есть много разных технологий для создания смарт-контрактов, но Ethereum − доминирующая. Чаще всего контракты пишутся на языке Solidity. Начинать лучше с него же, потом можно перейти на другие, более функциональные языки.

Самый простой способ научиться Solidity-разработке − игра CryptoZombies. В процессе создания собственной игры с коллекционными крипто-предметами игрок учится писать смарт-контракты на Solidity. Она регулярно обновляется и учитывает последние Solidity-изменения.

В дополнение к CryptoZombies можно использовать следующие вещи:

  1. Серия Youtube-роликов для разработки dapp − объясняется всё максимально понятно, но есть минус: в систему были внесены некоторые изменения, так что могут вылезать ошибки синтаксиса. Это решается простым гуглением. А ещё с ошибками поможет справиться редактор Remix, но об этом позже.
  2. Курс Стефана Гридера − платный, но на него часто действует скидка, так что есть возможность пройти его за 10$. Контент качественный, с хорошими примерами.

После того, как покончите с Cryptozombies, неплохо бы научиться использовать Remix IDE для создания, отладки и развертывания контрактов. В этих файлах есть всё необходимое, чтобы начать.

Кроме того, следует разобраться с кошельками и клиентами Ethereum, протестировать браузерное расширение Metamask.

Уже после этого можно переходить к изучению более продвинутых вещей. Для начала почитайте документацию Solidity: там вы найдете примеры качественных децентрализованных приложений. Они также есть на Ethereum.org. Их можно копировать и проверять прямо в Remix IDE.

После того как вы начнёте хорошо разбираться в Solidity и смарт-контрактах, перейдите к приложениям с открытым исходным кодом, Crypto Kitties, например (код контракта можно увидеть на любом Ethereum-адресе через etherscan.io).

Ещё можно изучить следующие инструменты:

Теория игр

Теория игр во многом составляет принцип решения проблем с помощью блокчейна. Изучить основы теории можно с помощью The Great Courses Plus. У них есть месячная подписка и две пробных недели (можно уложиться и всё изучить). Просмотрев 24 получасовых лекций у вас появится четкое понимание того, что и как.

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

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

  • Coursera Cryptography I − бесплатно, если вы не планируете получать сертификат
  • Глава по криптографии из книги «Ethereum Mastery»

Какие подкасты слушать

  • Software Engineering Daily, Blockchain − хорошо справляются с объяснением сложных тем, работают с лидерами блокчейн-тусовки
  • CryptoDisrupted − рассказывают об интересных блокчейн-проектах

На что ещё обратить внимание, кроме Ethereum

Сообщество Ethereum, безусловно, наиболее крупное, а значит и разбираться с принципами работы технологии проще всего. Тем не менее было бы упущением не рассказать о других инновационных проектах:

  • Lisk − блочная цепь на JavaScript.
  • EOS − проект многосерийного блокчейн-предпринимателя, направлен на устранение недочётов Ethereum вроде масштабирования и безопасности.
  • Interchain Protocols − решения, созданные для упрощения транзакций между цепями блоков и масштабирования. Примеры − Cosmos, Polkadot, Interledger.
  • Hyperledger − работает над продвижением технологий межсетевых блок-цепей.
  • Holo − технология, решающая проблемы централизации при сохранении масштабируемости.

Следим за перспективами

Если хотите быть в курсе действительно важных изменений, а не новостей для манипуляции рынком, следует ознакомиться с данными источниками:

Заключение

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

Понравились материалы для изучения блокчейн-разработки? Другие статьи по теме:

Источник: Ресурсы для изучения блокчейн-разработки на freeCodeCamp

Разработка блокчейн решений

Разработка блокчейн приложений, проектов и решений

Содержание

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

На данный момент все ещё нету достаточного количества опытных блокчейн разработчиков из за относительной новизны технологии.

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

Будет полезно:  Блокчейн для чайников видео

Готовые проекты

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

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

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

Отзывы о компании

Обычно если заказчик доволен выполненным проектом он не будет оставлять отзыв о компании, так как в этом нет особого смысла. Если заказчик не доволен, он скорее всего оставит негативный отзыв, однако дойдёт ли он до аудитории — вопрос спорный. Если недовольных заказчиков много, вы можете попробовать найти негативные отзывы на сторонних сервиса, таких как Bitcointalk, GitHub, LinkedIn.

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

Не стоит пренебрегать данным процессом, вы должны всегда помнить, что разработка блокчейн приложения — дело сложное и выбрав плохого разработчика зря потратите свои средства и нервы.

Область знаний

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

Код блокчейна пишется на множестве стандартных языков программирования, включая C ++, C #, Python, JavaScript, Java, Golang, Node.JS и Perl. Даже смарт-контракты, ориентированные на виртуальную машину Ethereum (EVM), написаны в Solidarity, могут содержать элементы, написанные на других языках, например, VB.Net.

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

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

  1. Blockchains.
  2. Cryptocurrencies.
  3. Ethereum Virtual Machine (EVM).
  4. Ethereum Blockchain As a Service (EBaaS).
  5. Software-as-a-service (SaaS).
  6. Platform-as-a-service (Paas).
  7. Distributed ledgers.
  8. Consensus methods.
  9. Decentralized technologies.
  10. Internet of Things (IoT).
  11. P2P networks.
  12. Data security.
  13. Cybersecurity.
  14. Web technologies.

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

Допустим, после этого вопроса вы поняли, что блокчейн разработчик обладает небольшим количеством знаний для успешной разработки вашего dapp приложения, можно задать себе 2 вопроса: сможет ли разработчик обеспечить успешную разработку вашего приложения и имеет ли он вообще опыт в подобной сфере блокчейн разработки? Если вы ответили хотя бы на один вопрос нет, вам стоит вычеркнуть этого кандидата из своего списка, сотрудничество с такой компанией может принести вам одни убытки.

Опыт разработчиков

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

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

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

Понимание ваших целей

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

Хорошая компания блокчейн разработчиков рассматривает разработку dapp приложения через призму бизнес-задач клиента. Главная задача – не просто создать dapp приложение, а разработать инструмент для получения определенных бизнес преимуществ.

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

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

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

Соответстветствие тенденциям

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

Объективность расчётов

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

Компания

На что необходимо обратить внимание при общении с представителем компании на расстоянии? Смотрим следующий чеклист:

  1. Скорость реакции на ваши сообщения. Оперативность очень сильно ценится в ИТ-индустрии. Очень важно, с какой скоростью вам ответили на первое и последующие сообщения. Если это день — все нормально, позже — не хватает кадров или не налажена система коммуникации с клиентами. Безусловно, такая оценка может быть строго субъективной, однако таким образом вы получите первое впечатление о блокчейн разработчике. Точно так же вы можете оценить активность в Facebook: как часто появляются новые посты, есть ли комментарии и ответы на них, если, конечно, у них вообще создана страница в Facebook. Если страницы нет — это уже заставляет задуматься.
  2. Видеосвязь. Отобрав несколько компаний, свяжитесь с ними по видео-чату. Посмотрите, кто с вами будет общаться. Очень важно попросить показать рабочее пространство. Это очень многое проясняет: размер бизнеса, количество сотрудников, занятость и наличие соответствующего оборудования. Если у них люди на аутсорсе — не страшно. Но предпочтение стоит отдать тем, у кого есть постоянный штат разработчиков, работающих под одной крышей.
  3. Количество вопросов. Если менеджер компании разработчика задает вам достаточно много вопросов — это довольно хорошо. Это свидетельствует о том, что он желает полностью ознакомиться с вашей задачей и прочими нюансами будущего сотрудничества. Если во время вашей конференции также будет присутствовать проект-менеджер или кодер — еще лучше.
  4. Вклад разработчиков в развитие открытого исходного кода. Оцените вклад компании-кандидата в открытую разработку. Биткоин, эфир и множество других криптовалют имеют открытый код, а потому кодеры со всего мира часто объединяются в команды по улучшению того или иного блокчейна, либо разработки какой-то технологии.
  5. Методология, которая будет использоваться при разработке вашего проекта.

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

Разумеется, участие в Open Source необязательно, но если оно есть и в значимых проектах, которые используются миллионами пользователей, — это большой плюс для такой компании.

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

Будет полезно:  Блокчейн круиз

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

Безопасность

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

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

Интеграция с устаревшими приложениями

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

Как правило, существует две проблемы относящиеся к устаревшими системам:

  1. Интеграция с существующими приложениями.
  2. Знание того какие части нужно заменить.

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

Производительность.

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

Важный вопрос

Самый важный вопрос: будет ли конечный итог соответствовать вложенным в разработку деньгам? Когда у вас строго ограниченный бюджет, вполне очевидно, что вы остановите выбор на той компании, которая предоставляет более дешёвые услуги. Цена — это то на что люди с ограниченным бюджетом обращают внимание в первую очередь.

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

Разработка блокчейн проектов – основные шаги

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

В октябре 2017 года на GitHub – платформе, объединяющей более 24 миллионов пользователей, около 86 тысяч проектов так или иначе были связаны с блокчейн технологией. Несмотря на такую многочисленность, в среднем только 8% из них остаются на плаву через год после запуска. Это свидетельствует о том, что интерес у разработчиков к технологии растет, однако только избранным проектам удается создать действительно устойчивое решение, которое способно выжить на начальных этапах разработки и двигаться вперед.

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

Найдите свою нишу

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

Разработайте свой уникальный Workflow

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

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

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

Выберите новый либо существующим блокчейн

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

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

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

Сделайте выбор между частным и публичным блокчейном

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

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

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

Выберите подходящий механизм консенсуса

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

Наиболее широко используемым протоколом является Proof-of-Work, который используется в биткоине. Когда определенный пользователь (узел) генерирует новый блок и хочет добавить его в цепочку блоков, другие члены сети могут легко проверить, целесообразно ли добавлять этот блок либо нет. Если все в порядке, то в сети появляется новый блок, и все участники соглашаются с тем, что содержащаяся в нем информация действительна.

Помимо Proof-of-Work, вы можете отдать предпочтение:

  • Proof-of-Stake
  • Delegated Proof-of-Stake
  • Proof-of-Authority

Выберите подходящую платформу

Чтобы проанализировать, какая платформа соответствует вашим потребностям, вы можете начать с поиска тех, которые имеют самую большую капитализацию на рынке:

Все рейтинговые платформы, кроме Ripple, являются общедоступными и основаны на протоколе Proof-of-Work. Это не значит, что вы обязаны выбрать один из них — это просто означает, что выбор таких платформ намного шире.

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

Решите, нужны ли вам смарт-контракты

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

Выбираем блокчейн для своего бизнес-проекта: какое решение наиболее целесообразно

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

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

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

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

Когда блокчейн оправдан?

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

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

Блокчейн применим, когда есть некоторое количество участников, взаимодействие между которыми происходит в полностью недоверенной среде (например, группа конкурирующих между собой компаний, частные лица или филиалы большой компании). Главное — это распределение рисков безопасности между всеми участниками.

Будет полезно:  Что такое блокчейн простыми словами подробно

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

Поэтому один из основных критериев для применения блокчейна касается безопасности: «Требуется ли вашему проекту функционирование в полностью недоверенной среде и полное распределение рисков безопасности?»

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

Если же вы готовы пожертвовать многим ради безопасности сети, и хорошо спланировали защиту административных функций, то следующим вопросом будет: «Вы готовы оплачивать каждую транзакцию?»

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

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

Следующий критерий: «Есть ли в бизнес-модели взаиморасчеты и передача прав владения некоторой информацией от одного участника другому?»

Блокчейны — это сети, в которых права владения цифровой информацией передаются от одного блокчейн-аккаунта к другому. Самый простой вид информации — это число, поэтому данные в блокчейнах напоминают банковские балансы. Один идентификатор — одно число. Блокчейн защищает «балансы» и способы их передачи между разными адресами.

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

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

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

Если вам нужно только принимать платежи в криптовалютах, создайте адрес для платежей и решите юридические вопросы. Если же для проекта необходимо автоматизировать более сложные сделки — возможно разместить смарт-контракты в одной из публичных сетей (о них ниже), либо запустить собственный блокчейн.

  • Публичные блокчейны

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

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

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

  • Свой блокчейн

Альтернативой публичным блокчейнам являются блокчейны, запущенные собственными силами. Для запуска, помимо собственного кода блокчейна, необходимо подготовить или сделать форк: web-сервисы для просмотра блокчейна (типа Etherscan), клиентский софт (кошельки), различные инструменты и интерфейсы, документацию.

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

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

Поэтому, решившись на собственный блокчейн, нужно трезво оценивать свои силы.

Существующие решения

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

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

  • Ethereum-based networks

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

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

Ethereum более удобен, чем биткоин: в пару кликов вы сможете проводить очень сложные сделки.

Если у вас мало транзакций, а пользователям необходима высокая степень безопасности криптоактивов, то публичный Ethereum — ваш выбор.

  • EOS-based networks

EOS — быстрый публичный блокчейн, наиболее развитый из использующих консенсус типа «Delegated Proof-of-Stake». EOS позволяет писать системы смарт-контрактов любой сложности, имеет удобную систему аккаунтов и голосования за валидаторов.

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

Также как и экосистема Ethereum, EOS — это большой комплекс готового ПО, которое уже было протестировано в реальных условиях. В EOS все разработано на языке C++, поэтому можно довольно быстро найти хороших разработчиков.

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

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

HL создавался с учетом потребностей корпоративных клиентов, поэтому некоторые преимущества публичных сетей у него отсутствуют. Тем не менее, использование распределенного реестра может быть оправдано: компании пробуют применять Hyperledger для сервисных операций с редким и критически важным оборудованием, специализированной логистики и организации внутреннего документооборота.

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

  • Parity Substrate & Cosmos SDK

Parity Substrate — это фреймворк-конструктор блокчейнов, который позволяет быстро и легко собрать свой блокчейн (в терминологии Polkadot — парачейн) и запустить его со своими валидаторами и логикой.

Архитектурно парачейн можно рассматривать как блокчейн с одним, сколь угодно большим и многофункциональным смарт-контрактом, который можно обновлять и дорабатывать.

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

Cosmos SDK — это сходный с Parity Substrate комплекс ПО для построения собственных блокчейнов с произвольной логикой на базе консенсуса Tendermint.

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

Использование решений типа Substrate или Cosmos SDK — наиболее быстрый и надежный способ сделать свой собственный блокчейн.

  • Другие блокчейны

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

Тем не менее новые решения часто позволяют решить важные проблемы блокчейнов (Near Protocol, NuCypher, Coda). Если проект релевантен вашей бизнес-логике — возможно, имеет смысл положиться на его команду и код.

Заключение

Выбор блокчейна сегодня ограничивается тремя основными блокчейнами и их форками: Ethereum, EOS и Hyperledger, а также конструкторами Substrate и Cosmos. Если проекту требуется выход в публичные сети, то выбор сужается до двух вариантов: Ethereum и EOS. Это не так мало, так как оба решения имеют множество форков, обладающих более широким функционалом.

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

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

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

Подписывайтесь на новости ForkLog в Telegram: ForkLog Feed — вся лента новостей, ForkLog — самые важные новости и опросы.

Подписаться на новости Forklog

Свободное копирование и распространение материалов с сайта ForkLog разрешено только с указанием активной ссылки на ForkLog как на источник. Указание ссылки также является обязательным при копировании материалов в социальные сети или печатные издания.

Журнал ForkLog — информационный ресурс о криптовалютах, блокчейне и децентрализованных технологиях. Мы работаем для вас с 2014 года.
© 2020

Ссылка на основную публикацию