:RU: Введение в децентрализованные приложения

Перевод статьи An Introduction to Decentralized Applications | by Cardano Foundation | cardanorss | Medium

image

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

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

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

Что такое децентрализованные приложения?

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

Смарт контракты позволяют DApps взаимодействовать с блокчейном и выполнять транзакции без необходимости привлечения третьих лиц. Как утверждает директор по образованию IOHK Lars Brünjes (Ларс Брюньес) в своей книге “Plutus: написание надежных смарт контрактов”, сила смарт контракта заключается в его способности служить в качестве доверенного лица. Стороны, заключающие сделки с помощью смарт контракта, могут переводить средства непосредственно в программу, не рискуя тем, что одна из сторон станет “плохим игроком” или злоупотребит этими средствами.

Иногда термины “DApp” и “смарт контракт” используются взаимозаменяемо, и это технически правильно. Однако обычно подразумевается, что DApps имеют некоторую форму интерактивного пользовательского интерфейса (UI) или интерфейса web 3.0, что облегчает взаимодействие с приложением для обычного пользователя или нетехнического пользователя. С другой стороны, смарт контракт может быть написан и развернут разработчиками без специального пользовательского интерфейса или front-end интерфейса.

Чтобы лучше понять это различие, давайте рассмотрим процессный поток для простого гипотетического DApp, который мы будем называть "Cardano Critters”. Игра с блокчейн коллекционированием Cardano Critters использует незаменяемые токены, или NFT, для создания уникальных и редких активов, которые выполняют определенную функцию в виртуальном игровом мире, а также имеют некоторую внутреннюю ценность в качестве коллекционного актива.

Чеканка монет (создание актива), торговля и выпуск NFT Cardano Critter будут обрабатываться через смарт контракт, который в этом случае будет взаимодействовать с основным блокчейном Cardano.

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

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

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

Функциональное программирование для надежных смарт контрактов

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

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

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

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

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

Вполне логично, что DApps и смарт контракты также должны соответствовать этим же стандартам и быть написаны на надежных функциональных языках программирования, таких как Haskell, или конкретно на языках на основе Haskell, таких как Plutus и Marlowe на Cardano, что мы и рассмотрим ниже.

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

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

Если вы хотите узнать больше о необходимости надежных и функциональных смарт контрактов, посмотрите эту презентацию старших научных сотрудников IOHK, профессора Phillip Wadler (Филиппа Вадлера) и профессора Simon Thompson (Саймона Томпсона), а также технического архитектора IOHK Manuel Chakravarty (Мануэля Чакраварти) на виртуальном саммите Cardano 2020: Shelley Edition.

Платформа Plutus и Marlowe DSL — примите участие уже сегодня

На Cardano смарт контракты и DApps будут реализованы через платформу Plutus, а для финансовых контрактов - через доменный язык Marlowe (DSL).

Платформа Plutus позволит авторам смарт контрактов легко писать и развертывать смарт контракты, а также создавать DApps. Платформа Plutus включает в себя комплект разработки программного обеспечения Plutus Haskell (SDK), который будет включать библиотеки и инструменты разработки для написания приложений смарт контрактов в Haskell. Смарт контракты, написанные на платформе Plutus, будут содержать логику, которая в конечном итоге позволит им работать на ядре Plutus, развертываемом на блокчейне Cardano.

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

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

// От переводчика: для получения дополнительных переведенных на русский язык статей о Cardano посетите русскоязычный раздел на форуме Cardano. Видеоролики о Cardano на русском можно найти на YouTube канале нашего замечательного амбасадора Тимура Сахабутдинова. Хотите поговорить или задать вопрос о Cardano по-русски? Приглашаем вас в наше уютное сообщество в Telegram . Оставайтесь на связи, все только начинается!