Как создать блокчейн проект? — Крипто на vc. ru

 

Как создать блокчейн проект?

На наших глазах разворачивается Web 3.0 интернет, который будет сильно отличаться от того, что мы привыкли видеть последние 20 лет. Одной из ключевых отличительных особенностей Web 3.0 — это широкое использование блокчейн технологий.

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

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

Согласно данным Statista, на момент февраля 2022 существует уже более 10 000 разновидностей криптовалют. Для того, чтобы сделать свою криптовалюту в 2022 нужно предлагать нечто большее, чем децентрализацию или быстрые транзакции. Если посмотреть на ТОП криптовалют и отбросить BTC, занявший свое место на правах первопроходца, также привязанные к фиату стейблкоины, то мы увидим крипту, имеющую инфраструктурную ценность: Ethereum, BNB, Cardano, Solana и.т.д. Сейчас криптовалюте, чтобы быть успешной надо становиться нативным токеном платформы, построенной на блокчейне, на которой делаются децентрализованные приложения.

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

  • Крипто-кошелёк на смартфон.
  • Лаунчпад для сбора инвестиций стартапами.
  • Централизованная криптобиржа.
  • Децентрализованная криптобиржа.
  • NFT маркетплейс.
  • Крипто-магазин.
  • Телеграм-бот для работы с крипто.
  • Расширение к браузеру.
  • Play2Earn или Move-to-Earn игра, использующая NFT.
  • Децентрализованная социальная сеть.
  • Децентрализованная стриминговая платформа.

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

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

Front-end разработчики, Back-end разработчики. Например, если вы работаете c блокчейном Ethereum, то вам потребуются специалисты по Solidity, если вы собираетесь писать блокчейн с нуля могут пригодиться специалисты по C, C++, C#, Java и Python.

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

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

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

Как сделать свой блокчейн. Часть 1 — Создание, Хранение, Синхронизация, Отображение, Майнинг и Доказательная работа

Доброго всем! Мы тут потихоньку начали исследовать новое совсем для нас направление для обучения — блокчейны и нашли то, что оказалось интересным в рамках нашего курса по Python, в том числе. Чем, собственно, и хотим поделиться с вами.

Я могу узнать, когда у меня появился первый Bitcoin, из истории кошелька в моем аккаунте на Coinbase — входящая транзакция в 2012 году в подарок за регистрацию. Bitcoin в то время стоил около 6.50$. Если бы я сохранил те 0.1 BTC, на момент написания статьи это бы уже стоило более 500$. Если кому-то интересно, я продал их, когда Bitcoin стоил 2000$. Так что я получил только 200$ вместо ныне возможных 550$. Не стоило торопиться.

О существовании Bitcoin я знал, но особо не интересовался. Я видел взлеты и падения курса $/BTC. Я видел, как люди говорят, что за ним будущее, а видел статьи о его полной бессмысленности. Но личного мнения у меня не было — просто наблюдал со стороны.
Точно так же я почти не следил за блокчейнами. Но в последнее время мой отец несколько раз упоминал, что на CNBC и Bloomberg, которые он смотрит по утрам, часто рассказывают о блокчейнах, и он понятия не имеет, что это.

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

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

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

Я пишу пост по нескольким причинам: 1) Чтобы люди, прочитавшие его, смогли узнать больше о блокчейнах; 2) Чтобы я смог понять больше, объяснив код, а не просто написав его.
В этом посте я покажу способ хранения данных блокчейна и генерации начального блока, синхронизацию узла с локальными данными блокчейна, отображение блокчейна (что впоследствии будет использоваться для синхронизации с другими узлами), а затем, майнинг и создание валидных новых блоков. В первом посте не будет никаких других узлов. Никаких кошельков, пиров, важных данных. О них поговорим позднее.

В двух словах

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

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

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

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

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

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

Шаг 1 — Классы и Файлы

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

Чтобы создать первый блок, запустим этот простой код:

Отлично. Последний вопрос в этой части — где хранить данные в файловой системе. Это необходимо, если мы не хотим потерять локальные данные блока при отключении узла.
Я назову папку с данными ‘chaindata’, в какой-то степени подражая схеме папок Etherium Mist. Каждому блоку теперь присвоен отдельный файл, названный по его индексу. Нужно убедиться, что имена файлов содержат в начале достаточное количество нулей, чтобы блоки перечислялись по порядку.

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

Шаг 2 — Синхронизация блокчейна, локально

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

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

Шаг 3 — Отображение блокчейна

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

Для этого я использую Flask — у него низкий порог вхождения, и я решил, что он подходит для наших целей.

Ниже представлен код для отображения json блокчейна. Я проигнорирую импорты для экономии места.

Запустите этот код, зайдите на localhost:3000/blockchain.json и увидите текущий блок.

Шаг 4 — “Майнинг”, также известный как создание блока

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

Сатоши описывает это следующим образом в Bitcoin whitepaper. Учтите, что “timestamp сервер” назван “узлом”.

“Начнем описание нашего решения с timestamp сервера. Его работа заключается в хэшировании блока данных, на который нужно поставить timestamp, и открытой публикации этого хэша… Timestamp показывает, что в данный момент конкретные данные существовали и потому попали в хэш блока. Каждый хэш включает в себя предыдущий timestamp: так выстраивается цепь, где очередное звено укрепляет все предыдущие.”

Скриншот изображения, прикрепленного под описанием:

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

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

  1. Индекс, показывающий каким по счету является блок;
  2. Хэш предыдущего блока;
  3. Данные — просто случайные строки. Для bitcoin они называются Merkle root и содержат информацию о транзакциях;
  4. Timestamp майнинга этого блока.

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

Хедер Bitcoin значительно сложнее объединения строк. Он использует хэши данных и времени и завязан на то, как данные расположены в памяти. Но в нашем случае объединения строк достаточно.

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

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

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

Шаг 5 — Доказательство выполнения работы

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

Способ сделать это — установить требования к структуре хэша блока. Как и в случае с bitcoin, необходимо убедиться, что хэш начинается с определенного количества нулей, перед тем, как перейти к следующему. А для этого нужно добавить в хедер дополнительную информацию — случайно перебираемое число (nonce).

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

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

На этом все! Пока что. Осталось еще много вопросов и фичей в блокчейнах, которые я не объяснил.

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

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

Комментарии, вопросы, как всегда, приветствуются и тут, и на дне открытых дверей.

Что такое стартап на блокчейне

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

Что это такое

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

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

Как организовать

Порядок действий по запуску собственного стартапа на основе блокчейна:

  • Выбор сферы использования блокчейна. Проблема должна быть наболевшей для общества, а решение — полезным, тогда проект привлечет людей.
  • Набор опытной и энергичной команды. Без технического директора, программистов, дизайнеров, маркетологов стартап не создать и не продвинуть.
  • Подготовка документации. Обычно включает написание White Paper — технического документа, описывающего проблему, решение, особенности технологий, планы по ближайшему развитию.
  • Монетизацияblockchain-стартапа. Необходимо выбрать финансовую модель, которая наилучшим образом подойдет для конкретного типа проекта. Расходов много: зарплата специалистам, реклама, аренда помещения. Если стартап связан с криптовалютой, разумно провести ICO, но продаваемые токены должны быть функционально ценными и приносить пользу клиентам.
  • Продвижение стартапа. Блокчейн-стартапы продвигаются в блогах и социальных сетях. Цель необходимо сформулировать четко и понятно, показать достижимость планов. Избегать изобилия технических терминов, чтобы идея была понятна широкому кругу лиц, а не только профессионалам.

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

Создание идеи

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

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

Замыслы, связанные с криптовалютой

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

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

Для стартапа важно быть приспособленным к конкретному рынку. Яркий пример — индийская криптобиржа Bitcoin.co.id. Проект «выстрелил», потому что на тот момент рынок нуждался в таком стартапе.

Инновационное решение под названием Blockstream Satellite задалось целью дать возможность взаимодействовать с криптовалютами даже людям, у которых нет Интернета (это 60 % жителей планеты). Передача блоков идет при помощи спутников в космосе.

Решения в сфере строительства

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

  • перевод реестров информации на децентрализованную основу;
  • полное перемещение документооборота в Облако;
  • токенизация сделок (замена настоящих платежных средств виртуальными «токенами», генерируемыми в зависимости от конкретной сделки).

В США и Японии блокчейн-стартапы несколько лет применяются в строительстве, программа начинает приживаться в России. Внешэкономбанк совместно с Росреестром Российской Федерации собирается запустить пробный проект на тему регистрации и учета недвижимости.

Финансирование блокчейн стартапа

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

Три основных метода по сбору денег на развитие проекта:

  1. ICO. Инвесторы не получают ни доли в бизнесе, ни права голоса, а только виртуальные токены, которые впоследствии могут продать или использовать в рамках функционала платформы.
  2. Краудфандинг — инвесторы вкладывают средства взамен на будущие товары или услуги.
  3. Венчурные фонды. Помогают организовывать финансовые потоки. Сотрудничество ведется по договору.

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

Список и разбор лучших стартапов

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

10 лучших проектов 2018 года по мнению пользователей:

  • PATRON. Японская децентрализованная площадка, с помощью которой пользователи смогут повысить работоспособность социальных медиа в вопросе продвижения брендового контента. Основатель — Атсуши Хисатсуми.

  • TraDove. Система для организации международных денежных переводов между юридическими лицами (корпорациями). Предлагает прозрачные операции и мгновенный поиск интересных предложений. Основатели — бизнесмены из Alibaba, Facebook, LinkedIn.

  • Celsius. Блокчейн-платформа, представляющая услуги ссуд и кредитования. Пользователи смогут брать кредиты под 9 % годовых или вкладывать собственную криптовалюту, получая прибыль в 5 % годовых. Столь рискованный проект имеет серьезную цель — заменить традиционную банковскую систему.

  • Menlo One. Как Эфириум, Menlo One играет роль площадки для создания dApps (децентрализованных приложений). Алгоритм подключен более совершенный. Система многоуровневая, пользователи ставят оценки новым ICO, выбирают обнадеживающие, делают обзоры. Создатель — Мэтью Нолан из TED.

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

  • Buddy. Платформа, позволяющая разработчикам покупать приложения и создавать принципиально новые программы в онлайн и офлайн-среде. Есть солидный список партнеров и покупателей.
  • ADBIT и CIINCH Media — токены и платформа для их использования, созданные для автоматизации ручных процессов в создании традиционных СМИ (от газет и журналов до рекламных баннеров на улицах).

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

  • Goldilock. Стартап, цель которого — изменить структуру обеспечения безопасности информации в Сети. Организации и частные лица смогут хранить информацию без подключения к Интернету и дистанционно отдавать приказы, касающиеся безопасности.

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

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

Источник https://vc.ru/crypto/441644-kak-sozdat-blokcheyn-proekt

Источник https://habr.com/ru/company/otus/blog/342974/

Источник https://kurs-bitcoina.ru/blockchain-startap/