Создание смарт-контракта для голосования с использованием технологии блокчейн

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 12.12.2018
Размер файла 498,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.Allbest.Ru/

Размещено на http://www.Allbest.Ru/

Размещено на http://www.Allbest.Ru/

РЕФЕРАТ

Курсовая работа содержит 30 страниц, 6 рисунков, 5 источников.

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

Объектом исследования являются блокчейн, смарт-контракты, а также основные технологии для работы с ними.

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

В результате была реализована программная реализация смарт-контракта, функциями которой являются:

- возможность голосования с помощью технологии блокчейн;

- автоматический расчёт текущего лидера и окончательный подсчёт всех голосов после наступления определённого времени;

- полностью прозрачная система голосования, где можно узнать сколько человек и за какого кандидата проголосовало;

- возможность делегирования своего голоса другому человеку;

- выдача права на голос регулирующими органами, а также с помощью смарт-контракта.

СОДЕРЖАНИЕ

  • Введение
    • 1. Технология блокчейн и смартконтракты
      • 1.1 Блокчейн
      • 1.1.1 Общая информация
      • 1.1.2 Транзакции
      • 1.1.3 Блоки
      • 1.2 Смарт-контракты
      • 1.2.1 Описание технологии и основные понятия
      • 1.2.2 Платформа Ethereum
      • 1.2.3 Достоинства и недостатки смарт-контрактов
  • 2. Использование смарт-контрактов
    • 2.1 Описание текущей ситуации
      • 2.2 Страхование
      • 2.3 Регулярторные технологии
      • 2.4 Интернет вещей и умная собственность
      • 2.5 Другие сферы использования смарт-контрактов
      • 2.6 Технические проблеы
      • 2.7 Правовые аспекты
  • 3. Программная реализация
    • 3.1 Постановка задачи
      • 3.2 Выбор платформы и языка программирования
      • 3.2 Результаты работы
  • Заключение
    • Список использованных источников

ВВЕДЕНИЕ

В начале XXI века появилось множество инновационных технологий, которые оказали существенное влияние на новую экономику, управляемую данными, наиболее заметными из которых являются: облачные вычисления, большие данные, Интернет вещей, дополненная реальность и Блокчейн Последняя технология, изначально введенная в качестве технологической основы криптовалюты Bitcoin, начала иметь свое значение. Правительства и компании во всем мире озадачены возможной реализацией Блокчейн-технологий во многих сферах жизни, не связанных с использованием криптовалюты. Одним из перспективных направлений внедрения технологии Блокчейн является ее использование для создания полностью автоматизированных контрактов-соглашений, которые выполняются без участия человека. Такие соглашения в IT-среде часто называют "умными" контрактами.

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

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

1. Технология Блокчейн и смарт-контракты

1.1 Блокчейн

1.1.1 Общая информация

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

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

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

1.1.2 Транзакции

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

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

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

1.1.3 Блоки

Одним из основных препятствий для развития блокчейна является то, что в Биткойн-терминах называется “двойной атакой”: что произойдет, если в сети существуют две транзакции, которые оба хотят очистить учетную запись?

Абстрактный ответ на это заключается в том, что вам не нужно заботиться о таких мелочах. Для вас будет выбран порядок транзакций, транзакции будут объединены в так называемый “блок”, а затем они будут выполнены и распределены между всеми участвующими узлами. Если две транзакции противоречат друг другу, то вторая транзакция будет отклонена и не станет частью блока.

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

1.2 Смарт-контракты

1.2.1 Описание технологии и основные понятия

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

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

Смарт-контракты самостоятельно выполняют соглашения при срабатывании заранее определённых условий. Как только две или более сторон соглашаются на все условия в рамках контракта, они криптографически подписывают смарт-контракт и развертывают его в распределенной системе, такой как Блокчейн. При выполнении условия, указанного в коде, программа автоматически запускает соответствующее действие. Например, теоретически смарт-опционный контракт может быть связан с сервисом рыночных данных и автоматически передавать акции от стороны А к стороне Б в обмен на оплату, если соответствующая акция достигает заданной цены исполнения (рис. 1) или умный страховой продукт может связать с источником данных о погоде и вызвать выплату страхования урожая, если количество осадков упадет ниже определенного уровня.

Рисунок 1 - Визуализация смарт-контрактов на блокчейне

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

По словам Ричарда г. Брауна, главного технологического директора консорциума банков R3, поскольку смарт-контракт может работать на распределенных бухгалтерских книгах активов, он может, по существу выступать в качестве экономического субъекта в своем собственном праве. Смарт-контракт отвечает на получение информации, он может получать и хранить стоимость - и он может отправлять информацию и параметры (рис. 2). Это было бы так же, как иметь человека, которому можно было бы доверять, чтобы временно присматривать за активами и который всегда делал бы то, что ему говорили. Такой подход может иметь значительные последствия для финансовой отрасли и за её пределами.

Рисунок 2 - Схема работы смарт-контракта

1.2.2 Платформа Ethereum

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

1.2.3 Достоинства и недостатки смарт-контрактов

Как и у любой технологии, смарт-контракты обладают своими преимуществами и недостатками.

К достоинствам стоит отнести:

1) Отсутствие посредников при осуществлении сделок и подписании договоров;

2) Безопасное хранение условий договора, так как его условия прописаны в распределённом реестре и изменить их никому не под силу;

3) Смарт-контракты обеспечивают высокую скорость исполнения обязательств при разрешении вопросов. Как только выполняются условия контракта, стороны сразу же могут обменяться активами.

Недостатками данной технологии являются:

1) При работе могут возникать сбои, так называемые «баги» и непредвиденные ошибки из-за программиста;

2) Сложность создания смарт-контракта, в котором сторонам необходимо учесть все условия и возможные варианты развития сделки;

3) На данный момент большое количество людей ещё даже не знает, что такое смарт-контракты и для чего они нужны, поэтому этот факт сокращает количество участников;

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

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

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

Ниже приведена таблица сравнения смарт-контрактов с обычными.

Таблица 1

Сравнительная характеристика смарт-контрактов с обычными

Смарт-контракт

Обычный контракт

Это программа или транзакционный протокол, который использует в своей работе блокчейн.

Бумажная версия документов.

Основывается на программном коде.

Основывается на праве и законодательных актах.

Пишется на компьютерном языке.

Пишется на юридическом языке.

Условия в контракте невозможно изменить.

Условия контракта можно изменить, переписать или интерпретировать по-другому.

Условия контракта выполняются автоматически.

Условия контракта могут быть не выполнены.

При нарушении условий, автоматически происходит наказание, штраф или санкция.

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

Все сделки осуществляются без посредников.

Сделки осуществляются с большим количеством посредников (нотариусов, юристов и т.д.).

Обмен активами при выполнении условий контракта происходит мгновенно.

Обмен ценностями происходит с задержками.

Заключение контракта возможно с человеком из любой точки мира.

Контракт заключается только после личной встречи двух сторон.

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

Информацию о контрагентах можно узнать только после предоставления им выписки из государственных органов.

1.3 Наивный классификатор Байеса

Предположим, - переменная класса, и представляет коллекцию переменных предикторов. Необходимо оценить . Согласно правилу Байеса, как в формуле (1):

. (1)

называют апостериорной вероятностью класса [3]. Компоненты в правой части уравнения:

- априорная вероятность класса [3];

- вероятность переменных предикторов [3];

- условная вероятность. Для данных, ассоциированных с классом , она отвечает на вопрос, какая вероятность наблюдения данных значений предикторов [3].

Наивная модель Байеса (NaпveBayesmodel) предполагает независимость и одинаковую распределенность (i.i.d.). Независимость означает, что вероятность одного наблюдения не влияет на вероятность другого наблюдения [4]. Условная независимость предикторов допускает вычисление условной вероятности, или правдоподобия, по формуле (2):

. (2)

Относительно безусловной вероятности используется правило умножения для независимых случайных величин, как в формуле (3) [3]:

. (3)

Чтобы оценить индивидуальные вероятности для непрерывных случайных величин делается предположение о нормальности распределения (используя среднее арифметическое и дисперсию из обучающего множества). Есть также другие методы для оценки плотности распределения, например, непараметрическая ядерная оценка плотности (nonparametrick ernel density estimators). Для категориальных предикторов, распределение вероятностей может быть определено из наблюдаемых частот в обучающем множестве данных [3].

В работе алгоритма может возникнуть проблема, когда конкретное значение дискретного атрибута не появляется в обучающем множестве в конъюнкции с каждым значением класса. Например, предположим, что в обучающих данных значение атрибута всегда ассоциируется с классом no. Тогда вероятность того, что для значение класса будет yes, то есть , будет равно 0, и т.к. другие вероятности умножаются на эту, итоговая вероятность для класса yes в примере будет 0 [5]. Поэтому применяется техника вычисления вероятностей из частот, называющаяся коррекция Лапласа (Laplacecorrection). Для примера, для класса , для 2 наблюдений из 9, rainy для 3 наблюдений, overcast для 4 наблюдений, и тогда соответствующие вероятности будут равны 2/9, 3/9 и 4/9 соответственно [5]. Обозначим количество предикторов равным . Данная стратегия заключается в выборе малой константы , обычно между 1 и 2, и замене априорных вероятностей на [3].

Касательно проблемы пропущенных значений предикторов в новом (неклассифицированном) наблюдении, вычисление может пропустить этот атрибут [5].

Если значение отсутствует в обучающих наблюдениях, его можно не включать в частотные количества, и соответствующие вероятности будут основываться на количестве значений, которые фактически есть в наблюдениях, а не на общем количестве наблюдений [5].

1.4 Оценка эффективности классификационных моделей

технический программный смарт контракт блокчейн

Общий метод для описания эффективности классификационной модели - матрица неопределенности (confusion matrix). Это простая комбинационная матрица наблюдаемых и прогнозируемых классов для данных. Диагональные ячейки означают наблюдения, где классы корректно спрогнозированы, в то время как вне диагональные иллюстрируют количество ошибок для каждого возможного наблюдения [3].

Самая простая метрика оценки спрогнозированных классов - уровень точности (accuracyrate). Этот показатель отражает согласованность между наблюдаемыми и спрогнозированными классами. Однако, у этой статистики есть несколько недостатков. Во-первых, точность не делает разделения о типе сделанных ошибок [3]. Во-вторых, когда нужно учитывать естественные частоты для каждого класса, может возникнуть проблема, когда класс в тестовой выборке представлен, например, 1 наблюдением из 800, тогда классификатор, прогнозирующий другой класс для всех наблюдений данной выборки, будет обладать отличной точностью [3].

Каппа статистика (Kappa statistics) является метрикой, которая принимает во внимание распределения классов наблюдений обучающего множества. Эта метрика учитывает точность, которая бы сгенерируется по чистой случайности. Форма статистки представлена формулой (4):

, (4)

где - наблюдаемая точность;

- ожидаемая точность, основанная на предельных итогах матрицы неопределенности [3].

Статистика может принимать значения между -1 и 1. Значение 0 означает, что нет согласованности между наблюдаемыми и спрогнозированными классами, в то время как значение 1 указывает на отличное соответствие прогноза модели и наблюдаемых классов [3]. Отрицательные значения указывают на противоположную направленность прогнозов относительно правды. В зависимости от контекста, значения Каппа от 0,3 до 0,5 указывают на приемлемое согласие [3]. Статистика Каппа может быть расширена, чтобы оценивать соответствие в проблемах более, чем двух классов [3].

2. Использование смарт-контрактов

2.1 Описание текущей ситуации

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

После финансового кризиса 2008 года американские и европейские регуляторы поручили банкам выделять большие суммы капитала, чтобы защитить себя от риска контрагента. По словам Блайта Мастерса, генерального директора Digital Asset Holdings (DAH), поскольку смарт-контракты, размещённые на распределенных бухгалтерских книгах, могут сократить время расчётов от дней или недель до минут для многих финансовых продуктов, они могут снизить риск и высвободить капитал.

Ряд фирм изучают и разрабатывают способы для интеграции смарт-контрактов с различными ценными бумагами, включая облигации, фьючерсы и опционы. Технологии позволяют использовать такие финансовые инструменты, как корпоративные облигации, синдицированные кредиты и двусторонние свопы с таким слоганом «легкий инструмент для того, чтобы понять язык программирования и полностью оцифровать ценные бумаги в распределённую систему». Использование языка программирования должно стать сродни родному языку - это облегчит использование технологий экспертами по ценным бумагам. Компании, которые выпустили свои первые акции smart securities с использованием технологии блокчейн в 2015 году, работают с десятками финансовых фирм.

Кроме того, сообщалось, что UBS в партнерстве с «Distributed ledger startup Clearmatics» использует технологию Ethereum для создания платформы, которая будет автоматически выполнять коммерческие соглашения, например, периодически выплачивать проценты держателю. Кроме того, R3 объявила в марте, что 40 из ее членов банковского консорциума - включая Bank of America, BBVA, BNP Paribas, Citi, Credit Suisse, Goldman Sachs, HSBC и Королевский Банк Канады приняли участие в обширном испытании пяти распределенных поставщиков технологий бухгалтерской книги - Chain, Eris Industries, Ethereum, IBM и Intel. Согласно пресс-релизу R3, банки оценили сильные и слабые стороны каждой технологии путем запуска умных контрактов, которые были запрограммированы для того чтобы облегчить выпуск, вторичную торговлю и выкуп коммерческой бумаги, краткосрочное обеспечение с фиксированным доходом, обычно выдаваемое корпорациями для привлечения финансирования. Наконец, банк Barclays успешно протестировал способ торговли деривативами с использованием смарт-контрактов на собственной распределенной система учета R3 - Corda, которая была выпущена в апреле.

2.2 Страхование

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

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

Другая область, где смарт-контракты могут повлиять на отрасль, - это решения peer-to-peer (P2P). Dynamis, страховая компания P2P, разрабатывает структуру, которая использует смарт-контракты на блокчейне Ethereum, чтобы обезопасить традиционные страховые фирмы, позволяя страхователям объединять свои средства и в случае каких-либо претензий поддерживать друг друга в финансовом отношении. Компания изначально фокусируется на страховании от безработицы. Как сообщается на сайте компании, Dynamis "предоставляет дополнительное страхование по безработице, используя социальную сеть LinkedIn в качестве системы репутации. Кандидаты на новую политику могут использовать LinkedIn для проверки своей личности и статуса занятости. Заявители могут использовать свои подключения LinkedIn для проверки того, что они ищут работу. Использование своего социального капитала в рамках своей социальной сети позволяет участникам получить новую политику или открыть новую заявку". Эта система, которая все еще находится в стадии разработки, может однажды помочь снизить расходы на страхование.

Сегодня «Интернет Вещей» включает в себя миллиарды узлов, обменивающихся данными через Интернет. Они варьируются от автомобилей и приборов до энергетической и транспортной инфраструктуры. По данным Gartner - фирмы, базирующейся в США и специализирующейся на глобальных IT-исследованиях и консультациях, к 2016 году 5,5 миллионов новых «вещей» будут подключаться к Интернету ежедневно, а к концу года в мире будет подключено 6,4 миллиарда подключенных устройств - на 30% больше по сравнению с предыдущим годом. К 2020 году, по прогнозам, количество устройств достигнет 20,8 миллиардов (рис. 3).

Рисунок 3 - Количество устройств, подключённых к IoT

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

Рисунок 4 - Рост объёма трафика

Слияние этих различных технологий и тенденций может привести к множеству интригующих возможностей с широко распространёнными последствиями. Например, немецкий стартап «Slock.it», использующий смарт-контракты на платформе Ethereum, позволяет людям «снимать, продавать или делиться чем угодно - без посредников». Физические устройства с поддержкой IoT, частная собственность, автомобили, парковочные места, велосипеды, стиральные машины - всё можно контролировать, используя технологию. По словам одного из основателей Кристофа Джентша: «Когда кто-то покупает Slock, он будет подключён к смарт-контракту Slock в блокчейне Ethereum. Владелец Slock может установить сумму депозита и цену за аренду своего имущества, и пользователь заплатит этот депозит через транзакцию в блокчейне Ethereum, тем самым получив разрешение на открытие и закрытие этой интеллектуальной блокировки через смартфон. Депозит будет заблокирован в блокчейне Ethereum до тех пор, пока пользователь не решит вернуть виртуальный ключ, отправив другую транзакцию в блокчейн Ethereum. Тогда договор будет автоматически исполнен. Депозит будет отправлен пользователю за вычетом цены за аренду, которая будет автоматически отправлена владельцу Slock-а».

Преступная деятельность, финансовая стабильность и защита прав потребителей согласно предварительной публикации, опубликованной инициативной группой по криптовалютам и контрактам (IC3) на Jacobs Technion-Cornell Institute в Cornell Tech в Нью-Йорке, может возникнуть несколько потенциальных рисков с технологией смарт-контрактов для некоторых типов децентрализованных распределенных регистров, таких как Ethereum. Примеры, приведенные авторами доклада-Ари Джуэльсом и Элейн Ши, двумя профессорами Корнельского университета, и Ахмедом Косбой, исследователем в университете штата Мэриленд, включают в себя «утечку конфиденциальной информации, кражу криптографических ключей и различные реальные преступления, такие как убийство, поджог и терроризм».

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

Кроме того, согласно докладу, недавно опубликованному МВФ, финансовая стабильность и защита прав потребителей являются ключевыми проблемными областями. Широкое использование смарт-контрактов может увеличить риски для финансовой стабильности, автоматически распространяя неблагоприятные события через финансовую систему, с самоподкрепляющимися циклами обратной связи (аналогично рискам, связанным с автоматической высокоскоростной торговлей). Далее в докладе говорится: «Сложность смарт-контрактов может также затруднить понимание потребителями того, на что они соглашаются (Рисунок Б.2).

Регулирующим органам и судебной системе может быть трудно идти в ногу с этими изменениями». Аксель Вебер, председатель UBS, также перечислил это как потенциальную проблему защиты прав потребителей на круглом столе IIF Blockchain в апреле, когда он спросил: «Возможно, смарт-контракты слишком умны для конечных пользователей?»

3. Программная реализация

3.1 Постановка задачи

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

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

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

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

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

3.2 Выбор платформы и языка программирования

Платформой для разработки был выбран онлайн компилятор с сайта github.io (рис. 5), удобство которого заключается в том, что нет необходимости скачивать весь блокчейн, так как его размеры очень большие и понадобится несколько дней для скачивания и начала разработки.

В качестве языка программирования был выбран язык Solidity, разработанный специально для создания смарт-контрактов, но в то же время ничего не мешает использовать более привычные языки: Python, C++, JavaScript и т.д.

Рисунок 5 - Интерфейс онлайн-компилятора

Также каждый смарт-контракт имеет определённую стоимость, так называемый налог («gas»), как за развертывание смарт-контракта в блокчейне, так и за исполнение каждой инструкции в коде, но эта стоимость ничтожно мала, что для простых смарт-контрактов с малым количеством действий этой стоимостью можно пренебречь.

3.3 Результаты работы

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

Рисунок 6 - Интерфейс голосования пользователя

В предоставленном выше рисунке можно заметить несколько полей.

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

Второй (give Right To Vote) позволяет председателю дать право на голос определённому пользователю. Например, только дееспособным людям в соответствии с законодательством страны. В это поле необходимо вводить адрес пользователя с правом на голос (Приложение А).

ЗАКЛЮЧЕНИЕ

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

В созданном смарт-контракте автоматизирован процесс голосования, итогового подсчёта голосов за кандидатов.

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Safer smart contracts through type-driven development

2. 20 областей применения Блокчейн вне финансовых сервисов

3. Solidity by Example URL

4. Smart Contracts

5. Contract Law 2.0: «Smart»

6. Джон Дж. Мэрфи. Технический анализ фьючерсных рынков: Теория и практика. М.: Сокол, 1996. - 592 с.

7. 4. Ларри Вильямс. Долгосрочные секреты краткосрочной торговли. М.: ИК Аналитика. 2001. 312 с.

ПРИЛОЖЕНИЕ А

Процедура выполнения группового оператора

publicoverrideCallResultCall(CodeVariablesListavailableVars)
{
int varsCountBeforeBlock = availableVars.Count;
CallResulttempResult = CallResult.CALL_RESULT_CONTINUE;
foreach (ICodeStatement statement in statements)
{
if (statement.CanBeCalled())
{
tempResult = statement.Call(availableVars);
if (tempResult != CallResult.CALL_RESULT_CONTINUE)
break;
}
}
availableVars.RemoveLastButSaveNFirst(varsCountBeforeBlock);
return tempResult;
Рисунок А.1 - Листинг фрагмента программы

ПРИЛОЖЕНИЕ Б

Результаты бутстрэппинга изначальной модели

Рисунок Б.1 - Значимости для внешних весов, часть 1

Рисунок Б.2 - Значимости для внешних весов, часть 2

Размещено на allbest.ru

...

Подобные документы

  • Общие характеристики смарт-карт. Архитектура микросхемы: компоновка элементов микрокомпьютера смарт-карты, размещение процессора, памяти, периферийных модулей, блока ввода-вывода. Комплексный подход к обеспечению информационной безопасности смарт-карт.

    курсовая работа [423,9 K], добавлен 26.11.2013

  • Характеристика организации обработки информации в информационной системе управления. Программная реализация и алгоритм решения комплекса задач по внедрению смарт-карт. Анализ и оценка эффективности информационных технологий управления документооборотом.

    дипломная работа [2,3 M], добавлен 05.07.2010

  • Портал государственных услуг как основной компонент системы электронного правительства для граждан в Российской Федерации. Хранение данных в распределенном реестре - одно из важнейших преимуществ информационно-коммуникационной технологии блокчейн.

    курсовая работа [155,9 K], добавлен 03.07.2017

  • Понятие и классификация информационных технологий. Обзор основных этапов развития Интернет-технологий; современные реалии. Цифровое гражданство: основы ИКТ-компетентности. Особенности информатизации учебного процесса. Описание идей смарт-образования.

    реферат [550,5 K], добавлен 23.02.2016

  • Уникальные электронные ключи как средство аутентификации пользователей. Особенности смарт-карт и USB-ключей. Анализ функциональных возможностей, установка и настройка Rutoken. Утилита администрирования, управление драйверами, браузер сертификатов.

    курсовая работа [3,6 M], добавлен 23.01.2013

  • Основы и характеристика технологии Ajax, ее преимущества и применение. Системы, созданные с использованием Ajax, базовые технологии. Файловый веб менеджер на основе технологии Ajax, его основные возможности и принцип реализации программного кода.

    курсовая работа [25,6 K], добавлен 23.12.2009

  • Проектирование физической и логической моделей удаленной базы данных для АЗС. Разработка базы данных в СУБД Firebird с помощью утилиты IBExpert. Создание клиентского приложения для Windows с использованием клиент-серверной технологии в среде C++ Builder.

    курсовая работа [3,9 M], добавлен 18.01.2017

  • Автоформат при вводе. Работа со смарт-тегами. Работа с компонентами среды разработки Borland C++, их свойства, методы и правила их использования. Страница событий инспектора объектов. Создание интерфейса, эмулирующего пункт меню Microsoft Office Word.

    курсовая работа [524,5 K], добавлен 09.06.2015

  • Оценка рынка Интернета вещей. Сущность и понятие закупочной деятельности предприятия в рамках логистического подхода. Возникновение технологий штрихкодирования. Маркировка RFID этикетками на уровне грузовой единицы. Применение RFID технологии компаниями.

    курсовая работа [45,9 K], добавлен 13.10.2015

  • Классификация методов защиты информации по стоимости, распространенности, предотвращению взлома; классы, описание систем: программные, электронные ключи; смарт-карты, USB-токены, защищенные флэш-накопители, персональные средства криптографической защиты.

    реферат [34,7 K], добавлен 12.05.2011

  • Создание web-страниц с использованием HTML. Работа с графикой в Adobe Photoshop и Flash. Создание динамических web-страниц с использованием JavaScript. Пример реализации "Эконометрической модели экономики России". Моделирование с использованием Powersim.

    презентация [478,4 K], добавлен 25.09.2013

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

    контрольная работа [28,1 K], добавлен 10.03.2012

  • Введение в интернет-технологии и компьютерное моделирование. Создание WEB страниц с использованием HTML. Создание динамических WEB страниц с использованием JavaScript. Работа с графикой в Adobe Photoshop и Flash CS. Основы компьютерного моделирования.

    презентация [223,4 K], добавлен 25.09.2013

  • Структура и история развития технологии AJAX. Устройство метода AJAX. Инструментарий разработки веб-приложений. Разработка и создание информационного портала по языкам программирования с использованием технологии AJAX. Информационное содержание портала.

    дипломная работа [3,2 M], добавлен 05.06.2011

  • Создание web-страниц с использованием языка HTML. Работа с графикой в Adobe Photoshop и Flash CS. Создание динамических web-страниц с использованием JavaScript и PHP. Базы данных и PHP. Пример реализации "Эконометрической модели экономики России" под WEB.

    презентация [432,3 K], добавлен 25.09.2013

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

    курсовая работа [861,6 K], добавлен 27.02.2013

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

    дипломная работа [643,8 K], добавлен 17.06.2017

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

    методичка [3,9 M], добавлен 21.07.2009

  • Создание Web-страниц с использованием HTML, с использованием JavaScript и PHP. Работа с графикой в Adobe Photoshop и Flash CS. Базы данных и PHP. Пример реализации "Эконометрической модели экономики России" под web. Основы компьютерного моделирования.

    презентация [4,4 M], добавлен 25.09.2013

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

    контрольная работа [102,7 K], добавлен 25.12.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.