Разработчики Cardano запускают новый блокчейн-проект с открытым кодом

Cardano сможет ли свергнуть с трона Биткоин?

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

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

Создание блокчейн-проекта

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

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

Система выглядит как банк блоков, объединенных по линейному принципу. Блок объединяет такие моменты:

  • [index] – номер, который присваивается блоку;
  • [timestamp] – индивидуальная метка времени;
  • [transaction] – содержимое транзакции;
  • [proof] – значение доказательства работы;
  • [previous hash] – хеш-сумма, соответствующая предыдущему блоку;
  • [hash] – хеш-сумма настоящего блока.

Содержание транзакции включает имя отправителя и получателя, а также количество токенов.

Архитектура целой системы получится несложная. Каждый новый блок, связываясь с предыдущим, образует цепочку. Отличается только начальное звено (genesis-блок) с номером, соответствующим нулю, нормальной меткой времени, рандомным значением, заменяющим хеш-сумму впереди идущего блока и значением [proof].

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

Создание на платформе блокчейна

Проекты на платформе блокчейна

Разработать свое приложение на платформе блокчейн возможно тремя способами в зависимости от цели.

Первый способ – воспользоваться сервисом блокчейн, то есть осуществить создание продукта на основе готового блокчейна (Ethereum, Hyperledger Fabric, Cardano). Более простой и продуктивной является Ethereum. Эта готовая сеть со своими серверами и майнерами не требует больших усилий от разработчика. На формирование продукта уйдет около двух недель, за каждое пользование будет взиматься комиссия.

Второй способ – создание собственного аналога готового Ethereum. За основу берется база open-source блокчейн-платформы. Ее нужно адаптировать под собственную идею, подчинить ее целям и задачам. На разработку надо потратить около двух месяцев. В итоге получается уникальный продукт. Этот способ экономит ресурсы и время на разработку проекта, не надо платить комиссии за транзакции, но придется самостоятельно поддерживать инфраструктуру.

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

Создание блоков в блокчейне

Блоки в системе блокчейна

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

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

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

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

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

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

Затраты на создание блокчейн-проекта

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

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

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

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

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

Одна операция в эфириуме включает следующие параметры:

  • задача и количество Газа, необходимое для ее выполнения;
  • затраты на процесс оплаты в ЕТН и USD;
  • количество задач, из которых состоит 1ЕТН и 1 USD;
  • общее число задач в каждом блоке;
  • общее число блоков, необходимых для завершения задачи.