Научная статья на тему 'КАДАСТРОВАЯ СИСТЕМА С ИСПОЛЬЗОВАНИЕМ BLOCKCHAIN ТЕХНОЛОГИИ'

КАДАСТРОВАЯ СИСТЕМА С ИСПОЛЬЗОВАНИЕМ BLOCKCHAIN ТЕХНОЛОГИИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
33
14
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
BLOCKCHAIN / DISTRIBUTED LEDGER / SMART CONTRACTS / PKI / КАДАСТР

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кабанов М.В., Самстыко Д.П.

В статье рассмотрены основные свойства и границы использования компонентов Blockchain [1] технологии на примере системы Кадастр [2]. Приведено формальное описание системы кадастр построенной с использованием Smart Contracts [3].

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «КАДАСТРОВАЯ СИСТЕМА С ИСПОЛЬЗОВАНИЕМ BLOCKCHAIN ТЕХНОЛОГИИ»

ISSN 2223-4047

Вестник магистратуры. 2016. № 12-4(63)

УДК 004.043 + 004.056.53

М.В. Кабанов, Д.П. Самстыко КАДАСТРОВАЯ СИСТЕМА С ИСПОЛЬЗОВАНИЕМ BLOCKCHAIN ТЕХНОЛОГИИ

В статье рассмотрены основные свойства и границы использования компонентов Blockchain [1] технологии на примере системы Кадастр [2]. Приведено формальное описание системы кадастр построенной с использованием Smart Contracts [3].

Ключевые слова: Blockchain, Distributed Ledger, Smart Contracts, PKI, кадастр.

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

1. Основные компоненты Blockchain технологии

Компоненты Blockchain системы изображены на рисунке 1.

Рис. 1. Компоненты Blockchain системы

Участники системы

Пользователи (client) - участники системы, которые совершают транзакции в соответствии с должностными инструкциями, каждая транзакция подписана приватным ключом.

Валидационные сервера (Validating Peer) - совершают консенсус в соответствии с выбранным алгоритмом. Являются гарантом валидности данных в системе. Хранят полную копию базы.

© Кабанов М.В., Самстыко Д.П., 2016.

Научный руководитель: Волорова Наталья Алексеевна - кандидат технических наук, доцент, Белорусский государственный университет информатики и радиоэлектроники, Республика Беларусь.

Не валидационные сервера (Non Validating Peer) - не совершают консенсус, но хранят полную копию данных, обрабатывают запросы на получение информации. Проводят первичную проверку транзакций перед отправкой остальным серверам.

Консенсус (Consensus) - основа защиты транзакций от изменений, который определяет основные свойства и ограничения системы.

Наиболее популярные Proof of Work (далее PoW) [8, c. 3], Proof of Stake(далее PoS) [10, c. 6] и модификации Practical Byzantine Fault Tolerance (далее PBFT) [9].

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

Хранилище (Storage) - хранилищем информации может выступать любая база данных, но для скорости обработки транзакций и экономии ресурсов предпочтение отдается NoSQL(key/value) базам данных с быстрым доступом к памяти, так как работа напрямую с базой идеологически не предполагается и не является возможной во многих решениях. Все запросы должны обрабатываться через установленные системой правила. Основными схемами базы являются структура блоков и транзакции. Дополнительно включается глобальное состояние системы, которое является подсчитанным на основе уже включенных транзакций.

Протокол передачи данных (System Protocol) - набор соглашений интерфейса логического уровня, которые определяют обмен данными между УС. Можно поделить на системные и динамический интерфейсы.

Системные интерфейсы определены при старте системы и могут быть обновлены только при выполнении условий обновления (голосование УС).

Динамические интерфейсы (Smart Contracts) позволяют расширять поведение системы используя скрипты и программы, предложенные УС.

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

Топология сети

Централизованная - использует PKI Blockchain систем, высокая скорость включения транзакций в базу, одна копия базы. Консенсус не требуется. Владелец сети диктует правила пользования.

Децентрализованная - управление сетью распределено между несколькими участниками и требует достижения Консенсуса. Средняя скорость включения транзакций в блок.

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

Аутентификация и Авторизация

Для подписи транзакций используется инфраструктура открытых ключей (ИОК, англ. PKI - Public Key Infrastructure) [5] с возможным расширением до сертификата открытого ключа [11].

Проверка может проводится на разных стадиях в зависимости от реализации:

1.На шаге создания транзакции;

2.На шаге отправки транзакции;

3.На шаге выполнения транзакции (пример Smart Contracts).

Главная цепочка и подконтрольные цепочки

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

Эту проблему решают несколькими способами:

1. Создают шлюзы (gateways) для просмотра информации;

2. Удаляют транзакции, которые уже отработали свое;

3. Создают криптографически подписанные контрольные точки (checkpoints), после которых можно отбросить все, что было раньше;

4. Создают отдельные цепочки (sub-chains), которые выполняют специализированную работу, поддерживается не всеми УС, а только набором УС кому необходим доступ. Такой подход требует способа коммуникации между главной цепочкой (main-chain) и подконтрольной цепочкой (sub-chain).

2. Формальное описание кадастра

Кадастр включает много систем различного типа, что требует создания динамической системы, которая может модифицироваться, что приводит к поддержке Smart Contracts и разделение на множество цепочек (Multichain [7]). Также права пользователей ограничены временным интервалом и требуют авторизации, из чего следует логичным использование cертификата открытого ключа. Стандарт X.509 ис-

ISSN 2223-4047

Вестник магистратуры. 2Q16. № 12-4(63)

пользуется повсеместно, что дает возможность и использовать существующую государственную или организационную инфраструктуру для предоставления доступа к системе. Так как кадастр является государственным реестром, то для скорости обработки транзакций и разделения исполнительных функций логично использовать децентрализованную топологию сети. Данные в системах обладают различным уровнем доступа, что требует гранулярного доступа информации, что приводит к системе смешанного типа, где данные могут быть частично или полностью зашифрованными с использованием функции формирования ключа (key derivation function, KDF) [13, c. 10]. В данной системе не используется цифровая валюта, что исключает PoC как алгоритм консенсуса. PoW для своей защиты требует решения сложной задачи и не гарантирует защиту от перезаписи в маленьких сетях. Модификации PBFT позволяет создавать блоки с высоким показателем тран./сек. и не тратит энергию на решение задач, что делает этот алгоритм предпочтительным.

Получаем следующую систему:

(V U С)£А

V ch ECH t {З! certch E Cert,vpch £ V,scch £ SC) V sc E SC t {З! adminsc E С, З fsc с F, З dsc с й,З clientsc E С, З acsc(clientsc, fsc,dsc) E AC) V tr ET t {З! cEC,З\ certc E СеП,З\ sctr E SC, З fSCtr сР,З dSCtr с D) V b E В t {З\ ch E СН,З trch с T) wsn = n(wsn-1bn),n E N

где A (Actor) - состоит из VP(Validating Peers и C (Clients);

CH (Sub Chain) - множество специализированных подсистем;

SC (Smart Contract) - множество программ;

Cert (Certificate) - множество X.509 сертификатов, выпущенных для УС;

В (Block) - множество блоков в различных цепочках;

Т (Transaction) - множество транзакций;

AC (Access) - множество условий доступа к данным и функциям;

D (Data) - множество данных;

F (Function) - множество функций;

WS (World State) - множество конечных состояний;

П - функция перехода из состояния N — l в N, при выполнение инструкций bn.

Кадастр на основе Blockchain - это децентрализованная конфиденциальная сеть с множеством подсистем (sub-chains) c динамической логикой на основе Smart Contracts, построенная с использованием инфраструктуры открытых ключей. Каждая подсистема хранит свой набор информации и полную историю изменений. Каждое обращение к системе регистрируется и доступно для аудита. Информация классифицируется в соответствии с уровнем доступа. Для получения доступа к информации нужно послать запрос к администратору подсистемы. Консенсус осуществляется с использованием алгоритма PBFT.

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

1.Blockchain [Электронный ресурс]. URL: https://en.oxforddictionaries.com/definition/blockchain

2.Кадастр [Электронный ресурс]. URL: http://dic.academic.ru/dic.nsf/econ_dict/7066 (дата обращения: 23.11.2016)

3.Smart Contracts [Электронный ресурс]. URL: https://www.cognizant.com/whitepapers/blockchains-smart-contracts-driving-the-next-wave-of-innovation-across-manufacturing-value-chains-codex2113 .pdf (дата обращения: 23.11.2016)

4.Сертификат открытого ключа [Электронный ресурс]. URL: http://dic.academic.ru/dic.nsf/ruwiki/1333288 (дата обращения: 23.11.2016)

5. Инфраструктура открытых ключей [Электронный ресурс]. URL: http://dic.academic.ru/dic.nsf/ruwiki/151605 (дата обращения: 23.11.2016)

6.Консенсус. [Электронный ресурс]. URL: http://dic.academic.ru/dic.nsf/fin_enc/14390 (дата обращения: 23.11.2016)

7.Multichain Consensus [Электронный ресурс]. URL: http://www.multichain.com/download/MultiChain-White-Paper.pdf (дата обращения: 23.11.2016)

8.Proof of work [Электронный ресурс]. URL: https://bitcoin.org/bitcoin.pdf (дата обращения: 23.11.2016)

9. Practical Byzantine Fault Tolerance [Электронный ресурс]. URL: http://pmg.csail.mit.edu/papers/osdi99.pdf (дата обращения: 23.11.2016)

10. Proof of Stake [Электронный ресурс]. URL: http://bitfury.com/content/5-white-papers-research/pos-vs-pow-1.0.2.pdf (дата обращения: 23.11.2016)

11. Сертификат открытого ключа [Электронный ресурс]. URL: http://technicaljxanslator_ dictionary. academ-ic.ru/223361 (дата обращения: 23.11.2016)

12. Стандарт X.509 сертификат открытого ключа [Электронный ресурс]. URL: http://networking_en.enacademic.com/3396/X.509 (дата обращения: 23.11.2016)

13. Key Derivation Function [Электронный ресурс]. URL: http://nvlpubs.nist.gov/nistpubs/Legacy/ SP/nistspecialpublication800-108.pdf (дата обращения: 23.11.2016)

КАБАНОВ МАКСИМ ВИКТОРОВИЧ - магистрант, Белорусский государственный университет информатики и радиоэлектроники, Республика Беларусь.

САМСТЫКО ДМИТРИЙ ПЕТРОВИЧ - магистрант, Белорусский государственный университет информатики и радиоэлектроники, Республика Беларусь.

i Надоели баннеры? Вы всегда можете отключить рекламу.