Платформы для разработки децентрализованных приложений на основе Blockchain | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №28 (266) июль 2019 г.

Дата публикации: 14.07.2019

Статья просмотрена: 950 раз

Библиографическое описание:

Крохин, М. О. Платформы для разработки децентрализованных приложений на основе Blockchain / М. О. Крохин. — Текст : непосредственный // Молодой ученый. — 2019. — № 28 (266). — С. 9-12. — URL: https://moluch.ru/archive/266/61597/ (дата обращения: 18.12.2024).



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

Ethereum

Ethereum — первая платформа для разработки децентрализованных приложений, стала своеобразным «золотым стандартом» для платформ следующего поколения [15]. Ethereum оказался во многом похож на Bitcoin, унаследовав при этом его основные недостатки (маленькая скорость транзакций и большое энергопотребление). Такое сходство обусловлено использованием одинакового механизма консенсуса — Proof — of — Work.

Плюсы:

– Открытость;

– Популярность;

– Простая интеграция с биржами;

Минусы:

– Сеть сильно подвержена перегрузкам;

– Ограничение производительности CPU;

– Невысокая скорость транзакций и большая энергозатратность, как следствие использования PoW;

– Масштабируемость;

– Элементы централизации и уязвимость;

– Умные контракты пишутся на узкоспециализированном языке Solidity [1];

NEM

New Economy Movement («Новое экономическое движение») — появилась в 2015 году и очень популярна в Японии и Малайзии. Обрабатывает до 4 тысяч транзакций в секунду, что позволяет успешно выдерживать рабочую нагрузку.

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

NEM работает на базе собственного механизма консенсуса — Proof of Importance. При осуществлении транзакции ей присваивается определенная степень приоритетности, которая определяется рядом факторов. Вот некоторые из них:

– Количество монет на счете пользователя;

– Сумма, которую пользователь хочет перевести;

– Прошлая активность данного пользователя;

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

Плюсы:

– Учитывает ошибки Ethereum;

– Популярность в Японии и Малайзии способствует огромному вкладу в развитие со стороны мировых криптогигантов;

– Собственный алгоритм консенсуса Proof of Importance;

– Низкая энергозатратность;

– Надежность — при создании блока система осуществляет самопроверку и, как следствие, это помогает решить проблему двойного расходования и ошибки при создании блока;

Минусы:

– При консенсусе задействован довольно большой объем сети;

HyperledgerFabric

Hyperledger Fabric — блокчейн с корпоративным доступом обладающий достаточно большой гибкостью, чем привлекателен для бизнеса. Термин «смарт-контракт» заменен в данной системе и заменен на чейнкод. Написан на языке Golang, но также поддерживает такие языки как Java и JavaScript.

Рис.11: Архитектура HLF

Для работы в сети требуется авторизация и права соответствующего уровня. Узлы в данной сети бывают следующих ролей [3]:

– Endorosing Peer — исполняет код контракта, возвращает результаты выполнения клиентскому приложению вместе со своей подписью;

– Ordering Service — формирование новых блоков распределенного реестра и создание очередности исполнения транзакций;

– Commiting Peer — содержит локальную копию реестра, добавляет новые блоки к реестру, перед этим проверяя их на валидность;

Endorsement Policy — правила проверки транзакции на валидность. Реестр состоит из двух частей — BlockChain (записи о всех изменениях объектов реестра) и WorldState (хранит текущие объекты реестра).

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

Преимущества:

– Модульная архитектура;

– Гибкая настройка прав пользователей;

Недостатки:

– Возможность построения только приватных систем;

– Нестабильность;

Stellar

Stellar Smart Contracts обладают рядом отличий относительно смарт-контрактов написанных на платформе Ethereum. Они не являются поными по Тьюрингу и могут быть реализованы, как соглашение между несколькими сторонами. Одно из главных отличий в том, что 100 000 транзакций будут стоить всего 1 цент. SSC могут быть написаны на любом языке: официально доступны языки JavaScript, Golang, Java, но существуют и пользовательские SDK для языков Ruby, Scala, Python, C++ и других.

SSC по своей сути является композицией связанных транзакций, которые выполняются с учетом различных ограничений. Далее приведены примеры возможных ограничений [4]:

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

Атомарность и пакетирование. Какие операции выполняются совместно и какие условия для закрытия контракта необходимы;

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

–Временные границы транзакций. Задает ограничения на период действительности транзакции.

Преимущества:

– Быстрые транзакции;

– Хорошая производительность;

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

Недостатки:

– Сложная интеграция с биржами;

Заключение

В рамках данной статьи были получены следующие результаты:

– Рассмотрены основные блокчейн платформы;

– Выявлены их конкурентные преимущества и недостатки;

Литература:

  1. Что такое криптовалюта Эфириум простыми словами? URL: https://tehnoobzor.com/cryptolife/ethereum/2603-chto-takoe-kriptovalyuta-efirium-prostymi-slovami.html#plyusy-i-minusy-sistemy-ethereum (online, accessed 29.04.19)
  2. NEM (cruptocurrency) URL: https://en.wikipedia.org/wiki/NEM_(cryptocurrency) (online, accessed 29.04.19)
  3. Hyperledger Fabric для Чайников — URL: https://habr.com/ru/company/ibm/blog/444874/ (online, accessed: 26.04.19)
  4. Stellar Smart Contracts — URL: https://www.stellar.org/developers/guides/walkthroughs/stellar-smart-contracts.html (online, accessed 29.04.19)
Основные термины (генерируются автоматически): NEM, SSC, CPU, HLF, SDK, Малайзия, недостаток, платформа, создание блока, Япония.


Похожие статьи

Протокол TACACS+

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

Общие компоненты при кроссплатформенной разработке для web-и мобильных приложений с использованием react и react-native

С появлением таких библиотек, как ReactJS и React-Native от компании Facebook изменился ландшафт разработки web и мобильных приложений. Основная идея заключается в том, что, выучив один подход (библиотеку), ее можно использовать везде как для web- та...

Сравнение потоков Java и Kotlin Coroutines в контексте Android-разработки

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

Снижение затрат на программное обеспечение с использованием массива GNU\Linux

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

Реализация управления конфигурацией сетевого оборудования с использованием Ansible: интерфейс управления

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

Развитие сетевой инфраструктуры на основе технологии программно конфигурируемых сетей и виртуализации сетевых функций

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

Параллельное программирование в Java

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

Масштабирование ресурсов с использованием Kubernetes

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

Мастерчейн-технологии в системе функционирования банка

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

Анализ уязвимостей среды контейнеризации

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

Похожие статьи

Протокол TACACS+

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

Общие компоненты при кроссплатформенной разработке для web-и мобильных приложений с использованием react и react-native

С появлением таких библиотек, как ReactJS и React-Native от компании Facebook изменился ландшафт разработки web и мобильных приложений. Основная идея заключается в том, что, выучив один подход (библиотеку), ее можно использовать везде как для web- та...

Сравнение потоков Java и Kotlin Coroutines в контексте Android-разработки

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

Снижение затрат на программное обеспечение с использованием массива GNU\Linux

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

Реализация управления конфигурацией сетевого оборудования с использованием Ansible: интерфейс управления

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

Развитие сетевой инфраструктуры на основе технологии программно конфигурируемых сетей и виртуализации сетевых функций

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

Параллельное программирование в Java

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

Масштабирование ресурсов с использованием Kubernetes

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

Мастерчейн-технологии в системе функционирования банка

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

Анализ уязвимостей среды контейнеризации

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

Задать вопрос