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

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

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

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

Ржавитина, М. А. Обзор платформ для разработки смарт-контрактов / М. А. Ржавитина, Н. А. Мелков, А. С. Пак, А. Ю. Спиридонов. — Текст : непосредственный // Молодой ученый. — 2020. — № 27 (317). — С. 63-65. — URL: https://moluch.ru/archive/317/72330/ (дата обращения: 16.12.2024).



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

Ключевые слова: блокчейн, блокчейн-платформы, смарт-контракты.

Впервые концепция смарт-контракта была изложена в 1997 году Ником Сабо в труде Formalizing and Securing Relationships on Public Networks . Смарт-контракт — это набор обещаний, указанных в цифровой форме, включая протоколы, в рамках которых стороны выполняют эти обещания. Ник Сабо, обосновывая целесообразность использования смарт-контрактов, писал, что основная идея интеллектуальных контрактов заключается в том, что в программное обеспечение могут быть встроены многие виды договорных положений, что делает невозможным невыполнение условий контракта. Принципы проектирования умных контрактов вытекают из правовых принципов и экономической теории. Использование технологии блокчейн и смарт-контрактов обеспечивает высокий уровень безопасности данных в сети, исключает необходимость в посредниках, предоставляет возможность установки прав участников сети и ускоряет взаимодействие пользователей системы за счет автоматизации процедуры заключения сделок.

Платформы для разработки смарт-контрактов

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

Тип блокчейна. Существует публичный (public) и частный (private) блокчейны. Public Blockchain означает, что любой пользователь может участвовать в общедоступной цепочке блоков. Публичные цепочки блоков децентрализованы и они безопасны тем, что данные не могут быть изменены. Private Blockchain , наоборот, управляется одним объектом, а участвующим сторонам требуется разрешение на участие в сети.

Количество транзакций в секунду (TPS). Характеризует количество операций передачи данных, которые происходят в каждую секунду.

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

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

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

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

Проект Hyperledger Fabric начался в декабре 2015 года и был создан Linux Foundation. Это разрешенная инфраструктура блокчейнов, которая облегчает выполнение умных контрактов. Разработчики Hyperledger создали набор чрезвычайно полезных инструментов на основе Javascript, который позволяет создавать умные контракты намного проще и эффективнее с рядом других распространенных языков программирования, просто установив соответствующие модули. Hyperledger является разрешенной сетью, что означает, что все участники сети имеют известные идентификационные данные. Это позволяет создавать умные контракты с соблюдением закона о защите данных. Но у Hyperledger нет собственной системы токенов, то есть нет возможности разработать умные контракты, включающие необходимость перевода платежей.

EOS децентрализованная операционная система, созданная Block.one для работы и разработки интеллектуальных контрактов, при этом система чрезвычайно быстрая при минимальных операционных затратах и ​​платах для пользователей. EOS утверждает, что управляет миллионами транзакций в секунду благодаря своему механизму консенсуса DPOS (делегированное подтверждение ставок). Алгоритм повышает демократию сети и позволяет увеличить скорость транзакций и создания блоков, не ставя под угрозу децентрализованную структуру. EOS использует виртуальную машину Web Assembly, предназначенную для более быстрой загрузки, анализа и выполнения контракта, а также она позволяет создавать смарт-контракты на любом языке программирования, который может быть скомпилирован в WASM.

NEO, основанная Da Hongfei в 2014 году, предлагает возможности для создания децентрализованных приложений и умных контрактов. В отличие от других платформ, Neo использует децентрализованный алгоритм консенсуса византийской отказоустойчивости (dFBT). Этот механизм консенсуса оказался более энергоэффективным и позволяет совершать транзакции намного быстрее. NEO использует облегченную виртуальную машину в качестве интеллектуальной среды исполнения контрактов. Она ускоряет процесс и занимает небольшое количество ресурсов. Интеллектуальный контракт NEO может использоваться напрямую практически любым языком программирования высокого уровня. NEO предоставляет компиляторы и плагины для этих языков, которые используются для компиляции языков высокого уровня в наборы команд, поддерживаемые виртуальными машинами NEO.

Stellar — это платежная сеть, созданная в июле 2014 года Джедом Маккалебом. Контракты, предоставленные Stellar, не являются полными по Тьюрингу, что означает, что он предназначен выполнять только простые функции для базовых приложений. Тем не менее, для разработки базовых приложений и токенов Stellar является наиболее простым решением, не требующем много времени. Смарт-контракты могут быть написаны на любом языке, для которого сообщество Stellar предоставит API, например, JavaScript, Python, Golang, PHP.

Таблица 1

Таблица платформ для разработки смарт-контрактов

Платформа

Тип блокчейна

TPS

Алгоритм

консенсуса

Тьюринг- полнота

Языки программирования

Cardano

public

1000

PoS

да

Solidity, Plutus

EOS

public

50000

dPos

да

C, C++, а также Go, Rust

Ethereum

public

25

PoW

да

Solidity

Hyperledger Fabric

private

20000

PBFT

да

Go, Java, JavaScript

Lisk

private

10000

DPoS

да

JavaScript

Nem

private

4000

POI

да

JavaScript

NEO

public

10000

dBFT

да

C#, Java, Kotlin, Python

Stellar

public

1000

SCP

нет

JavaScript, Python, Golang

Qtum

public

100

PoS

да

Solidity

Waves

private

500

PoS

нет

Ride

Ripple

public

70000

RPCA

да

Любой

Вывод

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

Литература:

  1. Michael Brenner, Kurt Rohloff, Joseph Bonneau, Andrew Miller, Peter Y. A. Ryan, Vanessa Teague, Andrea Bracciali, Massimiliano Sala, Federico Pintore, Markus Jakobsson. Financial Cryptography and Data Security.// Apress. –– 2017
  2. Mohammad Ayoub Khan, Mohammad Tabrez Quasim, Fahad Algarni, Abdullah Alharthi. Decentralised Internet of Things: A Blockchain Perspective. // Apress. –– 2020
  3. Szabo Nick. Formalizing and Securing Relationships on Public Networks // First Monday. –– 1997.
  4. Smart Contract platforms –– Access mode: https://hashrating.com/ (online; accessed: 2020–07–01).
Основные термины (генерируются автоматически): NEO, EOS, контракт, TPS, разработка смарт-контрактов, платформа, участник сети, язык программирования, API, высокий уровень.


Ключевые слова

блокчейн, смарт-контракты, блокчейн-платформы

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

Инструменты и способы снижения уязвимости безопасности смарт-контрактов

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

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

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

Разработка интеллектуальных средств поддержки веб-порталов и веб-сервисов

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

Преимущества и риски внедрения смарт-контрактов и блокчейна в строительном секторе

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

Исследование производительности ASP.NET-приложений

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

Сравнение производительности фронтэнд-фреймворков React, Angular, Vue.js и Svelte

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

Блокчейн как основа будущих корпоративных информационных систем

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

Контейнеризация в системах обработки данных

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

Ключевые аспекты проектирования прототипа платформы для дистанционного обучения

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

Востребованные технологии для разработки микросервисов

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

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

Инструменты и способы снижения уязвимости безопасности смарт-контрактов

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

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

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

Разработка интеллектуальных средств поддержки веб-порталов и веб-сервисов

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

Преимущества и риски внедрения смарт-контрактов и блокчейна в строительном секторе

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

Исследование производительности ASP.NET-приложений

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

Сравнение производительности фронтэнд-фреймворков React, Angular, Vue.js и Svelte

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

Блокчейн как основа будущих корпоративных информационных систем

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

Контейнеризация в системах обработки данных

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

Ключевые аспекты проектирования прототипа платформы для дистанционного обучения

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

Востребованные технологии для разработки микросервисов

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

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