В современном мире жизнь человека связана с новыми технологиями, информацией, деньгами и многочисленными бумагами. Для достижения тех или иных задач приходится привлекать множество посредников, через которые проводятся десятки операций. Приходится верить им из-за отсутствия альтернатив. Но в последнее время появляется много компаний и лиц, которые злоупотребляют своим служебным положением.
Как пример, в системе электронного документооборота все данные хранятся централизованно(где в роли централизованного узла выступает хранилище, база данных), и любой отказ централизованного узла пагубно отразится на все бизнес-процессы в целом. В случае электронных подписей так же возможна потеря всей истории подписания документов.
Блокчейн не имеет централизованного органа, поэтому транзакции проверяются всеми участниками системы[1]. Это позволяет упростить процедуру и избавиться от посредников. Блокчейн полностью прозрачен и любой может смотреть все транзакции и состояния с сохранением анонимности.
Первым успешным проектом на технологии блокчейн стала криптовалюта Биткоин[2], которая на нынешнее время имеет самую большую капитализацию. Биткоин позволяет мгновенно отправлять валюту с сохранением анонимности. Но Биткоин позволяет только передавать валюту.
С появлением Эфириума[3] стало возможно писать «смарт-контракты»[4] - программный код на Тюринг-полном языке, который выполняется на блокчейне в зависимости от разных условий. С помощью смарт-контрактов, поддерживаемых этим блокчейном, можно построить любое децентрализованное решение за короткие сроки. Целью Эфириума является создание альтернативного протокола для создания децентрализованных приложений, обеспечивая быстрое время разработки, безопасность для малых и редко используемых приложений, а также возможность для различных приложений взаимодействовать эффективно, что имеет очень важное значение.
Но вернемся к примеру с историей подписей. А что, если перенести всю историю подписания документов в блокчейн? Тогда станет возможно ввести историю децентрализованно, где все участники будут хранить у себя копию истории, не будет умышленных изменений со стороны третьих лиц.
На фоне этой проблемы был разработан смарт-контракт, который позволяет регистрировать участников, создавая для них «визитки», а также хранить всю историю подписания электронных документов. Любой участник может смотреть, кто подписал тот или иной документ, а также выкладывать свой документ для подписания остальными участниками.
Было разработано десктопное приложение, который взаимодействует со смарт-контрактом. Это приложение было разработано с помощью фреймворка Nethereum[5].
Цели дипломной работы:
1. Обзор существующих блокчейн решений, методов работы блокчейна.
2. Написание смарт-контракта и его тестирование.
3. Написание десктопного приложения для взаимодействия со смарт- контрактом.
Внедрение контроля подписывания документов в блокчейн позволяет избавиться от множества проблем, которые проявлялись при использовании централизованного органа-контроллера:
1) Злой умысел. Никто не сможет подтасовать историю подписей, подделать или удалить подписи в свою пользу, т.к. все участники сети содержат у себя копии всей истории. В случае централизованности центральный орган может изменить все, и остальным участникам сети приходится доверяться ему.
2) Прозрачность. Вся история прозрачна, т.к. все могут смотреть ее в своей копии истории. Централизованный орган может скрывать некоторые моменты истории.
3) Невозможность изменять правила подписывания. Контракт гарантирует то, что он будет исполняться оинаково для всех участников сети.
В первой главе была рассмотрена история блокчейна, его устройства на примере самой известной криптовалюты Биткоина. Описаны его недостатки, а также попытки создать альтернативные приложения на основе блокчейна Биткоина либо создать свою-блокчейн платформу.
Во второй главе был рассмотрен блокчейн-проект Эфириум, который отличается кардинальным образом от всех других блокчейн продуктов наличием поддержки смарт-контрактов на Тьюринг-полном языке, тем самым позволяя создать абсолютно любые смарт-контракты.
В третьей главе был рассмотрен смарт-контракт для системы визиток с возможностью подписывания документов. Была рассмотрена структура смарт- контракта, а также особенности языка.
В четвертой главе были рассмотрены основные моменты работы фреймворка Шегеитдля взаимодействия со смарт-контрактом.