Научная статья на тему 'РЕШЕНИЕ ПРОБЛЕМЫ ДВОЙНОЙ ТРАТЫ В СИСТЕМЕ ЭЛЕКТРОННОГО ВАЛЮТНОГО УПРАВЛЕНИЯ НА БАЗЕ ТЕХНОЛОГИИ БЛОКЧЕЙН'

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

CC BY
27
9
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БЛОКЧЕЙН / КРИПТОВАЛЮТА / БИТКОЙН / BLOCKCHAIN / CRYPTOCURRENCY / BITCOIN

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

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

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

THE SOLUTION OF DOUBLE-SPENDING PROBLEM AT THE SYSTEM BASED ON BLOCKCHAIN TECHNOLOGY

Blockchain is the modern and perspective technology. This technology is often used in systems of currency control. There are many advantages of blockchain: distribution, safety and other. However, the problem of double-spending exists in simple blockchain systems. This article is about the solution of double-spending problem - a uniform mechanism for proof-of-work (UPW).

Текст научной работы на тему «РЕШЕНИЕ ПРОБЛЕМЫ ДВОЙНОЙ ТРАТЫ В СИСТЕМЕ ЭЛЕКТРОННОГО ВАЛЮТНОГО УПРАВЛЕНИЯ НА БАЗЕ ТЕХНОЛОГИИ БЛОКЧЕЙН»

УДК 004.45

Стрелец А.И. студент магистратуры 1 курса кафедра «Компьютерные системы и технологии»

Протопопова Ю.Д. студент специалитета 5 курса кафедра «Компьютерные системы и технологии»

Иванников В.С. студент магистратуры 1 курса кафедра «Компьютерные системы и технологии»

Тимофеев К.В. студент бакалавриата 3 курса кафедра «Компьютерные системы и технологии» Национальный исследовательский ядерный университет «МИФИ»

Россия, г. Москва РЕШЕНИЕ ПРОБЛЕМЫ ДВОЙНОЙ ТРАТЫ В СИСТЕМЕ ЭЛЕКТРОННОГО ВАЛЮТНОГО УПРАВЛЕНИЯ НА БАЗЕ

ТЕХНОЛОГИИ БЛОКЧЕЙН Аннотация: технология блокчейн является достаточно молодой и перспективной технологией. Часто данная технология используется для построения электронного валютного управления. Основным преимуществом блокчейн-систем является их распределённостъ и равноправность. Однако, такая система обладает недостатком -возможностью двойной траты средств. В данной статье рассмотрен способ избежать двойной траты средств с помощью единой процедуры проверки работы узлов сети.

Ключевые слова: блокчейн, криптовалюта, биткойн.

Strelets A.I., graduate student, first course Department of Computer Systems and Technologies National Research Nuclear University MEPhI

Moscow, Russia

Protopopova Ju.D., undergraduate student, fifth course Department of Computer Systems and Technologies National Research Nuclear University MEPhI

Moscow, Russia Ivannikov V.S., graduate student, first course Department of Computer Systems and Technologies National Research Nuclear University MEPhI

Moscow, Russia

Timofeev K. V., undergraduate student, third course Department of Computer Systems and Technologies National Research Nuclear University MEPhI

Moscow, Russia

THE SOLUTION OF DOUBLE-SPENDING PROBLEM AT THE SYSTEM BASED ON BLOCKCHAIN TECHNOLOGY

Аннотация: blockchain is the modern and perspective technology. This technology is often used in systems of currency control. There are many advantages of blockchain: distribution, safety and other. However, the problem of double-spending exists in simple blockchain systems. This article is about the solution of double-spending problem - a uniform mechanism for proof-of-work (UPW).

Key words: blockchain, cryptocurrency, bitcoin.

Введение

Большинство традиционных информационных систем являются централизованными. Многие торговые площадки, онлайн-банки, социальные сети имеют структуру "клиент-сервер". Иногда под понятием "сервер" скрывается целая сеть серверов, однако, они всегда находятся под управлением какой-либо организации или просто группы людей. Очевидным недостатком такой системы является то, что её работоспособность зависит от этой группы людей. Децентрализованные системы от этого недостатка избавлены [1]. Многие децентрализованные системы создаются с использованием технологии блокчейн. Технологии, основанной на построении последовательной цепочки блоков рядом равноправных участников. Наиболее часто эта технология используется для разработки электронного валютного управления наподобие биткоина [2].

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

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

1. Концептуальная схема узлового устройства

На рисунке 1 представлена концептуальная схема узлового устройства, которое участвует в цепочке блокчейн, где модуль 111 - это модуль обработки, который может быть представлен центральным процессором (CPU), микропроцессором, цифровым сигнальным процессором (DSP), программируемым контроллером, специализированными интегральными схемами (ASIC), программируемым логическим устройством (PLD) или другими аналогичными устройствами, модуль хранения 113 может

представлять собой оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), флэш-память, компактную флэш память (CF), карту памяти, защищенную цифровую (SD) карту памяти, микро SD карту памяти, карту памяти (MS), жесткий диск (HDD) или другие подобные устройства. Модуль связи 115 может быть чипом беспроводной связи, поддерживающим стандарты беспроводной связи, такие как IEEE 802.1 ln / g / b, сетевой платой, поддерживающей проводную сетевую связь (например, высокоскоростной Ethernet), сетевой чип или другие подобные устройства.

Рисунок 1 - Схема узлового устройства 2. Структура блокчейна, решающего проблему двойной траты

Рисунок 2 - Структура блокчейна На рисунке 2 показана структура блокчейна, где 200 - блокчейн в электронно-валютной системе, 210 - блок идентификации, 230 - И предшествующего блока, а 270 - множество списков транзакций. При данной реализации каждый из блоков блокчейна может быть

идентифицирован его предыдущим блоком с помощью поля 230.

Когда узловое устройство 110 тратит наименьшее количество времени на вычисление двоичного значения таким образом, то оно будет выбрано в качестве верификатора для новых блоков и будет транслировать новый блок на устройства других узлов в сети 120. Если другое устройство в системе принимает новый блок, то оно добавляет новый блок в блокчейн 200 после проверки достоверности добавляемого блока.

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

3. Механизм неравномерного и нелинейного доказательства работы

Рисунок 3 - Механизм UPW в цепочке блокчейна На рисунке 3 представлена некоторая цепочка блоков блокчейна, где А, В, С, Б - узловые устройства в системе, а блоки 300а, 300Ь, 300с, 300d -четыре сгенерированных блока блокчейна. Верификатор блоков 300Ь и 300d является узловым устройством А, для блока 300а это устройство. Благодаря этому, блок 113 хранения каждого из узловых устройств 110 хранит протокол (протокол DiQi), такой что каждое из устройств 110 будут иметь разные уровни сложности при вычислении случайного. Уровень сложности

влияет на то, какое именно случайное хешированное число будет искать узловое устройство, например если устройство имеет уровень сложности 1, то первые 10 бит двоичного значения хешированного случайного числа будут нулями, а остальная часть числа будет цифровой, далее если уровень сложности будет равен 2, то первые 15 бит - нули, если 4, то первые 20 бит и так далее. Таким образом, уровень сложности влияет на время вычисления. Подсчет этого уровня сложности ведется следующими вариантами:

- Для каждого устройства участника сети подсчитывается, для скольких блоков оно является верификатором блока (elected times), обозначим это число переменной q далее вводится некоторая константа p, для простоты возьмем ее p=2, далее по формуле difficulty level = pq подсчитываем, для нашего случая: difficulty level (A=2A2=4, B=2A1=2, С=2Л1=2, D=2A0=1).

- Аналогично для каждого устройства участника сети подсчитывается, для скольких блоков оно является верификатором блока (elected times) обозначим это как q, далее подсчитывается сколько раз данное устройство является верификатором блока для следующего блока для A, B, C это значение 1, а для D это 0, обозначим эти значения переменной q. далее по формуле difficulty level = pq подсчитываем, для нашего случая: difficulty level (А=2Л1=2, B=1A1=1, С=1Л1=1, D=0A0=1).

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

Заключение

Разработанный механизм UPW может надежно защитить блокчейн-системы от мошенничества в следствие двойной траты, так как каждому узловому устройству присваивается определенный уровень сложности для решения вычислительной задачи, таким образом скорость вычисления зависит не столько от «железа» машины, а от ее роли в сети блокчейн, т.е. если данный хост является верификатором для меньшого числа блоков, то он находится в выигрыше.

Использованные источники:

1. Pedro Franco. The Blockchain // Understanding Bitcoin: Cryptography, Engineering and Economics. — John Wiley & Sons, 2014. — C. 288

2. Andreas M. Antonopoulos. 7. The Blockchain // Mastering Bitcoin. — O'Reilly Media, Inc., 2014. — C. 123

3. Артем Генкин, Алексей Михеев. Блокчейн. Как это работает и что ждет нас завтра. — М.: Альпина Паблишер, 2017. — С. 592.

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