Файл: Конспект лекций по дисциплине прикладные компьютерные технологии Направление подготовки 09. 03. 01 Информатика и вычислительная техника.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 20.03.2024
Просмотров: 78
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Блокчейн-платформы
Для создания бизнес-приложения можно воспользоваться одной из платформ:
-
EmcSSH. Эта платформа рассматривает систему как глобальную базу ключей для обеспечения прав доступа к данным и материалам. Ключи эти быстро заменяются. Метод подходит для организации работы большого количества серверов, компьютеров, банкоматов и т. д. Пользователь может получить свой ключ доступа на всех терминалах; -
EmcSSL. Ещё одна блокчейн-платформа, что это такое в этом случае? Это единая база хранения подписей, сертификатов и цифровых отпечатков юзеров и компаний. При авторизации пользователя в системе аутентификация осуществляется на основании этих данных; -
Emc InfoCard – пространство для применения информационных визиток в электронной форме в связке с сертификатами юзеров SSL; -
EmcTTS – система записи, размещения и публикации документов с предоставлением доступа к ним по личному ключу; -
Emc DPO – основа системы доказательства и закрепления авторских либо имущественных прав на материальные и творческие активы; -
Atom Atom Emc используется для создания и подписания контрактов без посредников и каких-либо привлечений третьих лиц; -
Emc DNS – сервис для организации и выдачи имён доменов, и закрепления их за пользователями; -
Ethereum – об этой платформе, знают все, кто слышали про блокчейн. Она очень многофункциональна, но работать на ней сложно.
В зависимости от того, какие цели преследует создание системы выбирается наиболее удобный и заточенный под эту цель, сервис.
Языки программирования для блокчейна-проетов смарт-контрактов
-
Ethereum и Solidity. Solidity — язык программирования для смарт-контрактов Ethereum, который появился одновременно с релизом этой блокчейн-платформы в 2015 году. Создатели Solidity Кристиан Райтвизнер и Гевин Вуд сделали Solidity похожим на JavaScript и спецификацию для него ECMA-262, чтобы он был легко доступен широкому кругу разработчиков. В связи с чем в данный момент их количество превышает 200 000 человек. Те разработчики, которые знают один из современных языков программирования, например C#, C++, Python и выше упомянутый JavaScript, могут освоить Solidity достаточно быстро. Однако Solidity все-таки несколько отличается от других языков программирования, поэтому новички совершают ошибки при написании кода. Так, смарт-контракты на блокчейне Ethereum исполняются с помощью собственной виртуальной машины EVM (Ethereum Virtual Machine), которая появилась вместе с запуском Ethereum в 2015 году и имеет ряд багов и уязвимостей. Например, EVM может хранить только ограниченное число хешей блоков, что позволяет обмануть крипто-казино, которое работает по принципу генератора случайных чисел на блокчейне Ethereum. -
C, C++ и C#. C — один из старейших и самых популярных языков программирования в мире. С — компилируемый статически типизированный язык общего назначения, запущенный в 1972 году сотрудником Bell Labs Деннисом Ритчи. Данный язык оказал существенное влияние на развитие индустрии программного обеспечения, а его синтаксис стал основой для таких языков программирования, как C++, C#, Java и Objective-C. Что касается C++, то именно на нем был написан исходный код Bitcoin. И хотя для написания смарт-контрактов в cети Ethereum он используется нечасто, зато именно с помощью C++ пишутся большинство смарт-контрактов для EOS. На нем также написан XRP Ledger — децентрализованный криптографический регистр, который хранит информацию о XRP. Также на C++ с JavaScript планирует переходить блокчейн-платформа NEM. C# — это объектно-ориентированный язык программирования, разработанный Microsoft в 2000 году. В данный момент имеет более 2 млн разработчиков по всему миру. С помощью C# созданы блокчейн-платформы Stratis и NEO. Правда, у последнего, как и у Ethereum, есть клиенты и для других языков программирования: Python, Java и Go. -
Java. Этот относительно молодой язык программирования появился в 1995 году и с тех пор уже успел войти в тройку самых популярных в мире. Он является программной средой для выполнения сценариев EVM Ethereum, также на нем работает базовая сеть блокчейна NEM. -
JavaScript. Этот мультипарадигмальный язык используют 9.7 млн программистов по всему миру. При разработке JavaScript основной целью было создание языка, похожего на Java, но при этом легкого для использования не-программистами. Языком JavaScript не владеет какая-либо компания или организация. На сегодня наиболее широкое применение JavaScript находит в веб-браузерах, являясь языком сценариев, которые делают веб-страницы интерактивными. Что касается блокчейна, то на JavaScript написан SDK для создания dApps на сайдчейне Lisk, также его можно использовать для написания смарт-контрактов Ethereum. -
SQL. Этот язык программирования создан IBM в 1974 году. Он очень популярен в веб-разработке и на данный момент им владеет более 7 млн разработчиков. Изначально SQL был основным способом работы пользователя с базой данных, который был предназначен для описания, изменения и извлечения данных. -
Однако со временем SQL усложнился и стал приобретать черты, свойственные современным языкам программирования. На этом языке написаны и исполняются смарт-контракты для блокчейн-платформы Aergo. -
Golang (Go). Go — компилируемый многопоточный язык программирования, основанный на открытом коде языка C и разработанный внутри компании Google. Работа над ним началась в 2007 году, однако официально язык был представлен только в ноябре 2009 года. Язык разрабатывался для высокоэффективных программ, работающих на современных распределенных системах и многоядерных процессорах. Запуск Go рассматривался игроками рынка как попытка создать замену С/С++. Сегодня блокчейн-платформа Hyperledger Fabric использует этот язык программирования, а сообщество разработчиков Go насчитывает около 800 000 человек. -
Waves и Ride. Крупнейшая в Восточной Европе блокчейн-платформа Waves в июне запустила свой собственный язык программирования — Ride. Этот язык предназначен для создания смарт-контрактов и децентрализованных приложений. В Waves Ride утверждают, что новое решение будет легким в освоении и эксплуатации, а это значит, что оно поможет программистам уменьшить количество ошибок. Другое преимущество Ride, о котором говорит CEO Waves Александр Иванов, заключается в понижении порога входа в блокчейн для разработчиков-новичков. -
Fift. Один из самых ожидаемых в мире блокчейнов, TON, использует для создания смарт-контрактов язык программирования Fift. Он имеет много общего с языком программирования Forth, который появился около 50 лет назад, и в синтаксисе он в некоторой степени похож на Lisp. Однако этот язык совершенно недружелюбен к программистам, которые пишут на JavaScript или Python. Этот язык оптимизирован под виртуальную машину TON, чтобы уменьшить затраты мощностей блокчейн-сети на исполнение смарт-контрактов. При этом Fift необходим только для написания смарт-контрактов и их исполнения в мастерчейне TON (базовый блокчейн), а для написания смарт-контрактов для воркчейнов (сайдчейнов) блокчейна TON могут использоваться и другие языки программирования. -
Secure ECMAScript, или SES, — язык для смарт-контрактов, основанный на JavaScript. Запуск SES был анонсирован блокчейн-стартапом Agoric в июле 2018 года и будет доступен для пользователей после того, как Cosmos выпустит свой протокол для взаимодействия блокчейнов (Inter-blockchain communications protocol). Ключевая идея SES базируется на работе Google в рамках проекта Caja и на архитектуре системы безопасности Locker Service от компании Salesforce. Оба продукта позволяют разработчикам работать со сторонним кодом в безопасной среде. -
Kadenamint — новая версия языка программирования Pact. Данный язык программирования предназначен для работы с блокчейн-сетью платформы Kadena — дочерней компании JPMorgran. Основатель Kadena Стюарт Поупджой сообщил, что в рамках партнерства компания создает адаптированную под Cosmos версию своего языка Pact. Поупджой надеется, что сотрудничество с Cosmos даст разработчикам больше возможностей для работы с блокчейном Kadena, ведь, по мнению главы блокчейн-компании, Pact в разы превосходит язык Solidity от Ethereum
В мире существуют сотни блокчейн-платформ и десятки языков программирования для них. На сегодня продолжается непрерывная конкурентная борьба за привлечение разработчиков между участниками рынка. И, в отличие от других проектов, у Cosmos есть конкурентное преимущество — эта платформа предоставляет свои сервисы для любых блокчейн-разработчиков, а не только тех, кто работает с одной определенной платформой.
Смарт контракты
Умные контракты позволяют обмениваться деньгами, собственностью, акциями или другими активами, не прибегая к услугам посредников.
Для того, чтобы заключить обычную сделку, нужно пойти к юристу или нотариусу, заплатить и дождаться оформления документов. Умные контракты работают как торговые автоматы: вы просто бросаете в автомат (то есть в реестр) биткоин, и хранившийся у третьего лица контракт, водительские права или любая другая услуга, которую вы заказывали, падает на ваш счет. Кроме того, в отличие от традиционных соглашений, умные контракты не только содержат информацию об обязательствах сторон и штрафах за их нарушение, но и сами автоматически обеспечивают выполнение всех условий договора.
Умный контракт (англ. Smart contracts) — электронный алгоритм, описывающий набор условий, выполнение которых влечет за собой некоторые события в реальном мире или цифровых системах. Для реализации умных контрактов требуется децентрализованная среда, полностью исключающая человеческий фактор, а для возможности использования в умном контракте передачи стоимости требуется криптовалюта.
В определенный момент эта программа подтверждает выполнение условия контракта и автоматически определяет, должен ли указанный актив перейти к одному из участников сделки или немедленно вернуться к другому участнику (а может быть, условия несколько сложнее). Все это время документ хранится и дублируется в децентрализованном реестре, что обеспечивает его надежность и не позволяет ни одной из сторон менять условия соглашения.
Если рассматривать смарт-контракты при использовании в разных сферах жизнедеятельности, то можно выделить ряд важных преимуществ. Среди плюсов:
-
независимость — больше не нужно прибегать к услугам посредников для заключения сделок; -
безопасность — смарт-контракт находится в распределенном реестре, его условия нельзя изменить; -
экономия — избавляясь от посредников, стороны умного контракта могут сотрудничать на более выгодных условиях; -
отсутствие издержек — в случае выполнения условий контракты, стороны сразу обмениваются активами.
Умные контракты нельзя назвать идеальным инструментом для построения взаимоотношений между людьми. У них тоже есть несколько недостатков. Среди минусов:
-
правовой статус — для работы умных контрактов, используется криптовалюта, а ее пока не принимают в качестве официального финансового инструмента; -
ошибки — для составления умного контракта нужно прописывать всевозможные условия и варианты развития сделок, чем сложнее процесс, тем труднее создать смарт-контракт; -
отсутствие понимания — большинство пользователей пока слабо понимают, что собой представляют смарт-контракты.
Несмотря на вышеперечисленные недостатки, умные контракты имеют высокий потенциал закрепиться в нашей жизни в будущем. Они станут все чаще использоваться по мере того, как вещи будут подключаться к интернету.
Заключить смарт контракт можно используя платформы:
-
Ethereum: Открытая блокчейн-платформа, которая лучше всего подходит для написания умных контрактов и работы с ними. Вы можете составить любую программу, однако за вычислительные ресурсы платформы надо будет заплатить монетами ETH. -
NXT: Это открытая блокчейн-платформа с ограниченным числом образцов умных контрактов. Вы можете использовать только то, что там есть; написать свой код нельзя. -
Bitcoin: Отличный блокчейн для транзакций с биткоинами, но возможности для работы с документами там ограничены. -
Side Chains: Другое название для блокчейнов, параллельных Bitcoin, которые предоставляют несколько большие возможности для работы с контрактами.
Технология Блокчейн имеет свои проблемы, но даже в текущих условиях она значительно превосходит централизованные системы, которые используются банками, государствами и другими структурами. Уже сейчас ряд передовых стран занимается разработкой устройств смарт-контрактов, чтобы в будущем использовать их в разных сферах жизнедеятельности.
Лекция №7
Основные понятия, принципы и применение кейсы технологий погружения. Дополненная реальность: основные понятия, принципы, ограничения и применение. Виртуальная реальность: основные понятия, принципы, ограничения и применение
Составляющие полного погружения
-
Первый и самый важный момент — это визуальная картинка. Все привыкли, что погружение в виртуальную реальность происходит с помощью шлемов виртуальной реальности. Как правило, HTC Vive, Oculus Rift, Gear VR, PS VR и прочих шлемов, которые сейчас есть на рынке. -
Второй важный момент — это звук. Без звука в виртуальную реальность невозможно погрузиться на данный момент, поскольку картинка должна полностью сочетаться со звуком. Для того, чтобы пользователь, находясь в виртуальной реальности, смог позиционировать себя в пространстве и знать, где он находится. -
Следующий, еще более важный момент — это тактильная связь или haptic. В западной терминологии он называется haptic feedback — “обратная тактильная связь”. -
Симуляция вкуса. -
Симуляция запаха. -
Положение человека в пространстве.
Это 6 составляющих, которые позволяют человеку полностью погрузиться в VR. Рассмотрим подробнее обратную тактильную связь (haptic). Это технология, позволяющая получать тактильную информацию через осязание. Это довольно сложная технология, на данный момент на рынке есть несколько вариаций ее реализации, которые позволяют по-разному передавать чувство прикосновения, ощущения и так далее.
VR, AR, MR
Виртуальная реальность (VR), дополненная реальность (AR) и смешанная реальность (MR) - это мощные технологии, которые позволяют заменить реальную жизнь на восприятие виртуальной жизни, искусственным образом стимулируя наши чувства и обманывая наше тело в принятии другой версии реальности. Виртуальная реальность способна воздействовать на все органы чувств и тем самым сделать восприятие виртуального мира максимально естественным. Однако, максимальный объем информации, воспринимаемый человеком (от 80% до 90%), поступает от органов зрения, и поэтому основная задача систем виртуальной, дополненной и смешанной реальностей это формирование естественного изображения виртуального мира на сетчатке глаза человека.
Технология виртуальной реальности формирует виртуальный мир, который не имеет ничего общего с окружающим нас реальным пространством. Визуально мы воспринимаем только виртуальный мир. Этот мир окружает нас со всех сторон. Мы можем менять направление взгляда, поворачивать голову и тело, двигаться и визуально ощущать все эти изменения. Т.е. мы полностью погружаемся в виртуальный мир, разрушить естественность восприятия могут только рассогласования визуального восприятия с другими органами чувств. Например, мы можем налететь на реальную стену, которой нет в виртуальном мире, или упасть на ровном полу, спускаясь с виртуальной лестницы. Поэтому возможность рассогласования виртуального и реального миров это основная проблема технологии виртуальной реальности. Технология виртуальной реальности предполагает достаточно пассивное восприятие виртуального мира, когда не возникает необходимости контакта с реальным миром. Одним из таких применений является видео 360, которое позволяет человеку смотреть кино, находясь внутри сцены. Другой пример – это компьютерные игры, в которых игрок не должен выходить за рамки определенного пространства.
Аналогично технологии виртуальной реальности технология смешанной реальности формирует виртуальный мир, но этот виртуальный мир естественным образом накладывается на реальный, смешивая виртуальные и реальные объекты в единое целое. Виртуальные объекты располагаются в реальном пространстве и человек уже не теряется в виртуальном пространстве, поскольку оно обладает ограничениями реального мира. Человек может свободно передвигаться в пространстве, не боясь налететь на реальные объекты или упасть с виртуальной лестницы. Естественным применением систем смешанной реальности является средство «улучшения» реального мира, т.е. виртуальное прототипирование, когда мы расширяем реальный мир объектами, которые мы бы хотели там видеть, но по ряду причин, например, затраты на изготовление, мы не можем туда их поместить. Это особенно актуально при работах связанных с проектированием, когда в имеющееся пространство надо оптимальным образом вписать новые объекты. Например, можно выбрать и расставить мебель в пустом помещении, провести анализ архитектурного проекта, представить вариант ландшафтного дизайна и т.п.
Технология дополненной реальности стоит некоторым особняком от технологий смешанной и виртуальной реальностей. Ее главная цель – информирование человека об окружающей обстановке и предоставление всей необходимой информации об окружающих объектах (как визуальной, так и звуковой). Системы дополненной реальности могут использоваться как автономно, например, индикаторы на лобовом стекле автомобилей, самолетов, вертолетов, так и совместно с системами виртуальной и смешанной реальностей как дополнительные информационные системы и элементы интерфейса. Системы дополненной реальности первыми нашли свое коммерческое применение. Это были информационные системы нашлемных индикаторов и индикаторов на лобовом стекле, которые выводили всю необходимую информацию о полете непосредственно перед глазами и помогали пилоту ориентироваться в пространстве, не отвлекаясь на чтение информации с приборных панелей. В дальнейшем эти технологии были интегрированы в более компактные системы очков дополненной и смешанной реальностей. Как правило системы дополненной реальности снабжаются дополнительными датчиками, необходимыми для анализа окружающего пространства. Например, датчик, распознающий штрих код, может сразу вывести всю информацию о товаре перед глазами человека.