Научная статья на тему 'Оценка эффективности Fork-атаки на протокол “блокчейн”'

Оценка эффективности Fork-атаки на протокол “блокчейн” Текст научной статьи по специальности «Математика»

CC BY
187
36
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
БЛОКЧЕЙН / FORK-АТАКА / СКОРОСТЬ РАЗВИТИЯ ДЕРЕВА БЛОКЧЕЙНА

Аннотация научной статьи по математике, автор научной работы — Черепнев М.А.

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

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

We consider protocol of secure construction and storage of data base, named “blockchain”. This protocol may be considered as some development of control sums and electronic signature schemes on the case when all participants of the set guarantees consistency of the data in the same manner. We construct a formal model of blockchain algorithm. We propose, that so called “long chain condition” is a necessary part of the considered blokchain protocol. We also propose, that when user finds an error, the corresponding block reject with all blocks after it in blockchain tree. For this model we obtained some probability estimates of the events, like error correcting of blocks. We obtain the estimate of mean value of speed of blockchain growth. We demonstrate that modification of these estimates, when some fixed quantity of “adversaries” provide bad blocks may be minimize by “honest” users. We show that “honest” users may protect against Fork-attack by choosing security parameters, like number of checked blocks in one step. To the other hand in this case, speed of growth of blockchain tree may become negative, and our protocol fall down. We present quantitative bounds.

Текст научной работы на тему «Оценка эффективности Fork-атаки на протокол “блокчейн”»

Оценка эффективности Fork-атаки на протокол "блокчейн"

М.А. Черепнёв

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

Ключевые слова—Блокчейн, Fork-атака, скорость развития дерева блокчейна.

I. Введение

Технология "блокчейн" [1] решает задачу децентрализованного защищенного формирования базы данных. Это может быть использовано не только в платежных системах, но и для хранения юридически значимых документов при построении систем электронного документооборота на предприятиях, в государственной сфере или в организациях, осуществляющих межгосударственный обмен.

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

Статья получена 8 февраля 2019. Работа поддержана грантом РФФИ 18-29-03124 мк. М.А.Черепнев - Московский государственный университет имени М.В.Ломоносова, РФ (e-mail: cherepniov@gmail.com)

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

Реестр организован в виде электронной бухгалтерской книги, обеспечивающей защищенное и безопасное хранение записей из базы, удовлетворяющих некоторому набору формальных требований (например, это платежные поручения, содержащие электронные подписи участников обмена). Поскольку записи в реестр могут делать все участники, то имеется механизм консенсуса, позволяющий вносить исправления в реестр в случае, если с этими исправлениями согласно "большинство" участников обмена. Понятие "большинства" можно варьировать предоставлением или ограничением прав участникам обмена, однако имеется общая составляющая всех, известных на сегодня, видов консенсуса - правило "длинных цепочек", которое должны соблюдать все "честные" участники обмена. Это правило, по -существу, и отличает старые технологии обеспечения целостности информации, основанные на контрольных суммах и электронно-цифровых подписях [2], от технологии "блокчейн". На правиле длинных цепочек основаны практически все механизмы консенсуса, применяемые в блокчейне (POW, POS). Отметим также ещё одно естественное правило, которое должны соблюдать все "честные" участники обмена - если найдена ошибка в каком-то блоке, то все блоки, стоящие в цепочке за ошибочным блоком признаются недействительными и подлежат расформированию.

II. Определение блокчейна

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

Рис. 1 Дерево блокчейна

Процедура состоит из следующих действий:

1.Выбор наибольшей ветви дерева блокчейна и её последнего блока.

2.Проверка целостности выбранной ветви и содержания нового блока, вычисление хеш значения

этого содержания.

3.Вычисление хеш функции, которая имеет два входа (k и результат применения предыдущей процедуры в данной цепи) и один выход.

4.

Хеш функция, используемая на втором этапе, обычно та же, что и на третьем (SHA 256 для Bitcoin) и применяется несколько раз, чтобы результат существенно зависел от всего содержания блока.

III. Формальная модель и формулировки задач.

Пусть имеется формально бесконечная цепочка

блоков блокчейна с номерами 2,— 1 . Пусть каждый из них может быть бракованным с небольшой,

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

может быть бракованным с вероятностью Я . Однако, если блок прошёл проверку успешно, то на следующих шагах он не будет бракованным с вероятностью 1. Если расстановка вероятностей проверки на следующих шагах не приведёт к тому, что он не будет больше проверяться никогда, то это может повлиять на вероятности исследуемых в этой статье событий. Здесь мы эту возможность не рассматриваем и считаем, что работа с деревом блокчейна организована так, что вероятность того, что блок дерева является бракованным, не зависит от номера этого блока в дереве, который в нашей модели убывает с ростом основной ветви дерева блокчейна.

При создании очередного блока (с номером 0) блок с номером ~1 проверяется с вероятностью Pi. Будем

считать, что на каждом шаге проверяется в среднем ^ лг

^Р: = к'Р; =0

блоков, то есть :=i , при i > Л/

Отдельно будем считать вероятности для случая, когда

процентов участников сети перестают проверять блоки (Fork - атака) [3]. Рассмотрим следующие задачи для представленной модели

A) Найти вероятность того, что хотя бы один брак будет установлен на шаге с номером — 1 .

Б) Найти вероятность того, что хотя бы один брак

будет установлен на шаге с номером }•) = ■■■ . и не будет установлен на шагах с номерами 0,1,..., j-1.

B) Найти матожидание и дисперсию номера шага, на

котором впервые будет обнаружен хотя бы один брак.

Г) Найти скорость роста цепи блокчейна (за единицу времени взять время создания одного блока). То есть найти среднее число добавленных блоков к основной цепи дерева блокчейна в единицу времени, учитывая, что блоки могут не только добавляться, но и отбрасываться.

Д) Найти вероятность того, что бракованный блок так и останется неисправленным.

IV. Решения задач.

А) Вероятность обнаружить ошибку в блоке с номером — 1 равна , поэтому искомая вероятность равна:

Выясним, при каком распределении вероятности между Р: будет достигнут максимум. Рассмотрим

функцию /(Р) = (1 - Р?Х 1 ~ (С ~ р)4) на

минимум. Он достигается в максимально удаленной от

С

вершины этой параболы, 2, точке. Поскольку

0 <р, С - р < 1 _топриС<1 имеем 0 < р < С

и этот минимум достигается при Р*= а при

1 < С < 2 имеем С — 1 < р ^ 1 и этот минимум

достигается при Р^^С— 1} Таким образом, максимум величины Р(1= =Р^ = 1 остальные нули, и равен

В случае Рогк-атаки рассуждения проводятся

достигается при а

i - < N

для некоторых j —

Р

Í1-—) \ 1QCU

аналогично с заменой Р: на 1 \ "1^0 /. чт0

приводит к тем же результатам с заменой Ч на / а \

1" . Таким образом, получена следующая теорема

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

так, чтобы

значение

или

к > klog^^Ü - q)

Б) Искомая вероятность, очевидно, равна . Поэтому

свойства этого

параметра аналогичны предыдущему и следуют из теоремы 1.

В) Поскольку

JXj = ^a-pj'-1 = pA

j=1 ;=1

то по определению имеем:

1(1 Pa)

= 1

/ 1 1 -Рл

= р (--1--

Л\1-Г1-А) 1-fl

(1-Щ l-CL-JÜ

l + (l-Pj + (l-Pj2 + -- =

+

А для дисперсии: D =

}=1

Отметим, что "л , то есть среднее

отклонение меньше, чем матожидание.

Г) Рассматриваемая скорость равна единице минус среднее число отброшенных блоков за шаг, а именно

задачу при условии

ЬЛ = Х.....

Имеем

Решим данную N

Р-1=Р = -ГА = 1 W.

... + N(1- qp)-ÎM"1J).

Для вычисления этой суммы заметим, что если /(a) = 1 + а + — qjV т0

1-я

а =

Используя эту формулу при

1-.'■"■:,

получим

следующее выражение для нашей суммы: 1 - qp( 1 - qp)^1 ■

= 1 - qp( 1 - £}p)jV+1

(1 - qp>v+1 4- N - (N + 1)(1 - qp) 4P

= 1

(1 - qfp)jV+1 - 1+ (JV+ l)qp qp

ВГ+1

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

1 л; C1"^)

=--N--

4P 4P

что при условии достижения максимума в теореме 1, ^ = р = 1 , равно

ч

Отсюда вытекает условие на Ч , при выполнении которого скорость развития дерева блокчейна больше нуля, а именно:

> к.

При Ч , стремящемся к бесконечности, для левой части этого неравенства имеем

fe + l + OCqD

Поэтому удовлетворяющее указанному

неравенству, существует, что косвенно подтверждает адекватность нашей модели.

В случае Рогк-атаки аналогично получим

i^m)

вместо ^ ^ , откуда при

корректировке ^ как в Теореме 1, получим тот же результат.

Д) Пусть блок с номером — 1 плохой. Вероятность того, что он не будет распознан, очевидно, равна РЕ = (1 - Р1)(1 - р2) ... (1 - Рх) Поскольку

максимум функции

достигается в точке 2 , то, как и выше находим, что ^Е достигает своего максимума при равных Тг, то есть к

при N и будет в этом случае равна

(1 - « е~к,

\ ; > / а Рогк-атака может быть сведена на

нет, как и выше, выбором значений ■> к так, чтобы

Л-^-Е-шК

\ ^ / ^ ' То есть при

. _ 100^

больших А^А/ можно выбрать 100 - а, или

_ М - 1

к =Мк прИй м .

V. Заключение.

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

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

БИБЛИОГРАФИЯ

[1] S. Nakamoto: "Bitcoin: A Peer-to-Peer Electronic Cash System" Available: www.bitcoin.org/bitcoin.pdf

[2] М.А. Черепнёв "Криптографические протоколы" Москва: МАКС Пресс, 2018.

[3] R. Pass, E. Shi "Hibrid Consensus: E-client Consensus in the Permissionless Model" Available: e-print arxiv 2016/917

Estimates of Fork-attack effectiveness on

blockchain protocol

M.A. Cherepniov

Abstract— We consider protocol of secure construction and storage of data base, named "blockchain". This protocol may be considered as some development of control sums and electronic signature schemes on the case when all participants of the set guarantees consistency of the data in the same manner. We construct a formal model of blockchain algorithm. We propose, that so called "long chain condition" is a necessary part of the considered blokchain protocol. We also propose, that when user finds an error, the corresponding block reject with all blocks after it in blockchain tree. For this model we obtained some probability estimates of the events, like error correcting of blocks. We obtain the estimate of mean value of speed of blockchain growth. We demonstrate that modification of these estimates, when some fixed quantity of "adversaries" provide bad blocks may be minimize by "honest" users. We show that "honest" users may protect against Fork-attack by choosing security parameters, like number of checked blocks in one step. To the other hand in this case, speed of growth of blockchain tree may become negative, and our protocol fall down. We present quantitative bounds.

Key words—blockchain, Fork-attack, blockchain tree growth speed.

References

[1] S. Nakamoto: "Bitcoin: A Peer-to-Peer Electronic Cash System" Available: www.bitcoin.org/bitcoin.pdf

[2] M.A. Cherepnjov "Kriptograficheskie protokoly" Moskva: MAKS Press, 2018.

[3] R. Pass, E. Shi "Hibrid Consensus: E-client Consensus in the Permissionless Model" Available: e-print arxiv 2016/917

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