RU2790181C1 - Verifiable registry truncation system - Google Patents

Verifiable registry truncation system Download PDF

Info

Publication number
RU2790181C1
RU2790181C1 RU2022102390A RU2022102390A RU2790181C1 RU 2790181 C1 RU2790181 C1 RU 2790181C1 RU 2022102390 A RU2022102390 A RU 2022102390A RU 2022102390 A RU2022102390 A RU 2022102390A RU 2790181 C1 RU2790181 C1 RU 2790181C1
Authority
RU
Russia
Prior art keywords
hash value
merkle tree
node
link
skewed
Prior art date
Application number
RU2022102390A
Other languages
Russian (ru)
Inventor
Ёун Хюн ЧО
Original Assignee
Блум Текнолоджи, Инк.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Блум Текнолоджи, Инк. filed Critical Блум Текнолоджи, Инк.
Application granted granted Critical
Publication of RU2790181C1 publication Critical patent/RU2790181C1/en

Links

Images

Abstract

FIELD: data processing.
SUBSTANCE: invention relates to data processing field. According to the linked list scheme, the Rn-1 root hash value of the previous subtree is included in the Tn data block. The Tn data block, in which the Rn-1 root hash value is included, is hashed, which results in yielding h(Tn). The resulting h(Tn) and the Rn-1 root hash value of the previous subtree are combined and then hashed yielding h(h(Tn)|Rn-1). The yielding h(h(Tn)|Rn-1) is sequentially added to the corresponding nodes of the Merkle binary tree structure, which allows configuring the skewed Merkle tree creation module to unfold/create a skewed Merkle tree.
EFFECT: invention provides a verifiable registry truncation system, in which the registry structure is configured as a skewed Merkle tree.
5 cl, 10 dwg

Description

Область техники, к которой относится изобретениеThe field of technology to which the invention belongs

Настоящее изобретение относится к системе отсечения реестров, и, в частности, к системе верифицируемого отсечения реестров.The present invention relates to a registry pruning system, and in particular to a verifiable registry pruning system.

Уровень техникиState of the art

Относительно распределенного реестра, такого как существующая цепочка блоков (блокчейн) или направленный ациклический граф (DAG), размер реестра увеличивается со временем, и, как результат, переполнение хранилища становится существенной проблемой.With respect to a distributed ledger, such as an existing block chain (blockchain) or a directed acyclic graph (DAG), the size of the ledger increases over time, and as a result, storage overflow becomes a significant problem.

С развитием технологий повышения скорости передачи данных, явление дефицита емкости хранения становится большей проблемой.With the development of technology to increase the data transfer rate, the phenomenon of shortage of storage capacity becomes a greater problem.

В настоящее время, эфириум имеет скорость обработки в 20 транзакций (Тх)/секунда, а биткоин имеет скорость обработки в 7 Тх/сек. В случае эфириума, ежегодно накапливаются данные в 250 ГБ.Currently, Ethereum has a processing speed of 20 transactions (Tx)/sec and Bitcoin has a processing speed of 7 Tx/sec. In the case of Ethereum, 250 GB of data is accumulated annually.

В будущем, эфириум может иметь более высокую скорость обработки транзакций. Например, в механизме реестров для цепочек транзакций на уровне счетов (AWTC) с использованием направленного ациклического графа (DAG), который имеет еще более высокую скорость обработки транзакции, чем цепочка блоков, также можно устанавливать цель в 4 кТх/сек в будущем.In the future, Ethereum may have a higher transaction processing speed. For example, in a ledger mechanism for account-level transaction chains (AWTC) using a directed acyclic graph (DAG), which has an even higher transaction processing speed than a block chain, it is also possible to set a target of 4 kTx/sec in the future.

При скорости обработки транзакций в 4 кТх/сек, размер распределенного реестра, производимого ежедневно как 0,5 кбайт/Тх * 4 кТх/сек * 60 сек/мин * 60 мин/час * 24 часа/день, становится равным 172,8 ГБ/день.With a transaction processing rate of 4 kTx/sec, the size of the distributed ledger produced daily as 0.5 kB/Tx * 4 kTx/sec * 60 sec/min * 60 min/hour * 24 hours/day becomes 172.8 GB /day.

Когда данные в 172,8 ГБ накапливаются каждый день во всех узлах, возникает проблема в том, что очень большая емкость хранения должна обеспечиваться с течением времени.When 172.8 GB of data is accumulated every day across all nodes, the problem is that very large storage capacity must be provided over time.

В структуре реестров, имеющей высокую скорость обработки транзакций, проблема эффективности использования хранилища с кумулятивным увеличением размера реестра не может не становиться большей проблемой.In a ledger structure with high transaction processing speed, the problem of storage efficiency with the cumulative increase in ledger size cannot but become a bigger problem.

Эфириум, имеющий низкую скорость обработки, выполняет отсечение, которое удаляет данные до нескольких прошлых лет, и каждый узел обладает только данными после нескольких прошлых лет. Относительно данных, в отношении которых выполнено отсечение, используется механизм, в котором старые данные, которые отдельно управляются посредством фонда и распределяются каждый раз, когда запрос принимается.Ethereum, which has a low processing speed, performs a pruning that removes data up to a few past years, and each node only has data after a few past years. With respect to pruned data, a mechanism is used in which old data, which is separately managed by a fund, is distributed each time a request is received.

Следовательно, может возникать предел при эффективном управлении реестрами только с существующим отсечением.Therefore, there may be a limit to efficiently managing registries with only an existing pruning.

Сущность изобретенияThe essence of the invention

Техническая задачаTechnical task

Цель настоящего изобретения заключается в том, чтобы предложить систему верифицируемого отсечения реестров.The purpose of the present invention is to provide a verifiable registry pruning system.

Техническое решениеTechnical solution

Согласно первому варианту осуществления, система верифицируемого отсечения реестров может быть выполнена с возможностью включать в себя модуль создания перекошенных деревьев Меркла, в котором согласно схеме связанных списков, корневое хеш-значение Rn-1 предыдущего поддерева включается в блок Tn данных, блок Tn данных, в который включается корневое хеш-значение Rn-1, хешируется, за счет этого получая h(Tn), полученное h(Tn) и корневое хеш-значение Rn-1 предыдущего поддерева объединяются и затем хешируются, за счет этого получая h(h(Tn)|Rn-1), и полученное h(h(Tn)|Rn-1) последовательно прибавляется к соответствующим узлам двоичной древовидной структуры Меркла, чтобы разворачивать и создавать перекошенное дерево Меркла.According to the first embodiment, the verifiable registry pruning system may be configured to include a skew Merkle tree generation module in which, according to the linked list scheme, the root hash value R n-1 of the previous subtree is included in a block T n of data, block T n data, which includes the root hash value R n-1 , is hashed, thereby obtaining h(T n ), the resulting h(T n ) and the root hash value R n-1 of the previous subtree are combined and then hashed, due to thereby obtaining h(h(T n )|R n-1 ), and the resulting h(h(T n )|R n-1 ) is sequentially added to the corresponding nodes of the binary Merkle tree structure to unfold and create a skewed Merkle tree.

Здесь, система верифицируемого отсечения реестров может быть выполнена дополнительно включающей в себя модуль верификации целостности узлов, в котором последнее корневое хеш-значение перекошенного дерева Меркла вычисляется посредством последовательного выполнения операции с хеш-значениями посредством использования Tk и предварительно определенного корневого хеш-значения h(Ti) (здесь, k<i<=n) перекошенного дерева Меркла, чтобы верифицировать то, включается или нет предыдущий предварительно определенный блок Tk данных в перекошенное дерево Меркла, и сравнивается то, совпадают или нет вычисленное последнее корневое хеш-значение и заранее известное последнее корневое хеш-значение для того, чтобы проверять целостность блока Tk.Here, the verifiable registry pruning system may be configured further including a node integrity verification module in which the last root hash value of the skewed Merkle tree is computed by successively performing a hash value operation by using T k and a predetermined root hash value h( T i ) (here, k<i<=n) of the skewed Merkle tree to verify whether or not the previous predefined data block T k is included in the skewed Merkle tree, and compare whether or not the computed last root hash value and a previously known last root hash value in order to check the integrity of the block T k .

Согласно второму варианту осуществления, система верифицируемого отсечения реестров может быть выполнена включающей в себя модуль создания иерархических (h-)перекошенных деревьев Меркла, в котором согласно схеме связанных списков, корневое хеш-значение Rn-1 предыдущего поддерева включается в блок Tn данных, блок Tn данных, в который включается корневое хеш-значение Rn-1, хешируется, за счет этого получая h(Tn), полученное h(Tn) и корневое хеш-значение Rn-1 предыдущего поддерева и ссылки Rn-(base^offset) перехода объединяются и затем хешируются, за счет этого получая h(h(Tn)|Rn-1|Rn-(base^offset), и полученное h(h(Tn)|Rn-1|Rn-(base^offset)) последовательно прибавляется к соответствующим узлам двоичной древовидной структуры Меркла, чтобы разворачивать и создавать h-перекошенное дерево Меркла.According to the second embodiment, the verifiable registry pruning system can be implemented including a module for creating hierarchical (h-)skewed Merkle trees, in which, according to the linked list scheme, the root hash value R n-1 of the previous subtree is included in the block T n of data, the block T n of data, which includes the root hash value R n-1 , is hashed, thereby obtaining h(T n ), the resulting h(T n ) and the root hash value R n-1 of the previous subtree and reference R n -(base^offset) transitions are combined and then hashed, thereby obtaining h(h(T n )|R n-1 |R n-(base^offset) , and the resulting h(h(T n )|R n -1 |R n-(base^offset) ) is sequentially added to the corresponding nodes of the binary Merkle tree to unroll and create an h-skewed Merkle tree.

Здесь, ссылка Rn-(base^offset) перехода может представлять собой корневое хеш-значение для узла в предварительно определенное предыдущее время на h-перекошенном дереве Меркла, основание base может представлять собой кратчайшее расстояние предварительно определенной ссылки перехода, чтобы выделять ссылку перехода с предварительно определенным интервалом, и смещение offset может составлять местоположение n текущего узла % основание.Here, the hop reference R n-(base^offset) may be the root hash value for the node at the predetermined previous time on the h-skewed Merkle tree, the base base may be the shortest distance of the predefined hop reference to highlight the hop reference with by a predetermined interval, and offset may be the location n of the current node % base.

Помимо этого, расстояние ссылки перехода может быть приспособлено получаться посредством значения baseoffset.In addition, the jump link distance can be adapted to be obtained by means of a base offset value.

Между тем, модуль создания h-перекошенных деревьев Меркла может быть выполнен с возможностью выделять ссылку перехода каждого узла offset+(baseoffset)*k.Meanwhile, the h-skew Merkle tree generation module may be configured to extract the transition reference of each node offset+(base offset )*k.

В этом случае, k может быть сконфигурирован посредством положительного целого числа.In this case, k may be configured by a positive integer.

С другой стороны, система верифицируемого отсечения реестров может быть выполнена дополнительно включающей в себя модуль верификации целостности узлов, в котором последнее корневое хеш-значение h-перекошенного дерева Меркла вычисляется посредством последовательного выполнения операции с хеш-значениями посредством использования Tk и предварительно определенного корневого хеш-значения h(Ti) (здесь, k<i<=n) h-перекошенного дерева Меркла, чтобы верифицировать то, включается или нет предыдущий предварительно определенный блок Tk данных в h-перекошенное дерево Меркла, и сравнивается то, совпадают или нет вычисленное последнее корневое хеш-значение и заранее известное последнее корневое хеш-значение для того, чтобы проверять целостность блока Tk.On the other hand, the verifiable registry pruning system can be configured to further include a node integrity verification module in which the last root hash value of the h-skew Merkle tree is computed by sequentially performing an operation on the hash values by using T k and a predetermined root hash -values h(T i ) (here, k<i<=n) of the h-skew Merkle tree to verify whether or not the previous predefined data block T k is included in the h-skew Merkle tree, and compare whether or not no computed last root hash value and a priori known last root hash value in order to check the integrity of the block T k .

Здесь, модуль верификации целостности узлов может быть выполнен с возможностью верифицировать то, существует или нет хеш-значение Ry или блок Ty данных в h-перекошенном дереве Меркла, согласно следующей процедуре, и 1) поиск ссылки перехода или ссылки (узла), которая существует в ближайшее предыдущее время, из числа ссылок (узлов), которые находятся в идентичное время или дальше в будущем, чем Ry, на основе ссылки (узла) в пределах предварительно определенного расстояния в направлении предыдущего времени от последнего корневого хеш-значения Rhead, 2) поиск ссылки перехода или ссылки (узла), которая существует в ближайшее предыдущее время, из числа ссылок (узлов), которые находятся в идентичное время или дальше в будущем, чем Ry, на основе ссылки (узла) в пределах предварительно определенного расстояния в направлении предыдущего времени от хеш-значения ссылки перехода или ссылки, которая существует в искомое ближайшее предыдущее время, 3) повторение процесса 2) до достижения Ry, 4) вычисление корневых хешей, направленных в будущем направлении последовательно для набора ссылки перехода или ссылки (узла), искомого многократно в процессах 2) и 3) посредством использования Ty, и 5) сравнение того, равно или нет конечное полученное корневое хеш-значение Rhead, и верификацию того, что хеш-значение Ry или блок Ty данных существует в h-перекошенном дереве Меркла, когда конечное полученное корневое хеш-значение равно Rhead в качестве результата сравнения.Here, the node integrity verification module may be configured to verify whether or not the hash value R y or the data block T y exists in the h-skewed Merkle tree according to the following procedure, and 1) searching for a transition link or link (node), which exists in the near previous time, from the number of links (nodes) that are at the same time or further in the future than R y , based on the link (node) within a predetermined distance in the direction of the previous time from the last root hash value of R head , 2) search for a transition link or a link (node) that exists in the nearest previous time, from among links (nodes) that are at the same time or further in the future than R y , based on the link (node) within the previously a certain distance in the direction of the previous time from the hash value of the transition link or the link that exists at the desired nearest previous time, 3) repeating the process 2) until R y is reached , 4) calculating the root hashes directed in the future direction sequentially for a set of jump or link (node) links sought multiple times in processes 2) and 3) by using T y , and 5) comparing whether the resulting resulting root hash is equal or not the value R head , and verifying that the hash value R y or the data block T y exists in the h-skewed Merkle tree when the resulting final root hash value equals R head as the result of the comparison.

Здесь, предварительно определенное расстояние может составлять основание.Here, a predetermined distance may constitute a base.

Преимущества изобретенияBenefits of the Invention

Согласно системе верифицируемого отсечения реестров, структура реестра сконфигурирована посредством перекошенного дерева Меркла, чтобы сохранять и управлять только последними данными, и целостность транзакции, отправленной посредством другого узла, может быть доказана и, как результат, обеспечивается такое преимущество, что увеличение размера реестра может минимизироваться и поддерживаться.According to the verifiable registry pruning system, the registry structure is configured by a skewed Merkle tree to store and manage only the latest data, and the integrity of a transaction sent by another node can be proven, and as a result, it has the advantage that the increase in the size of the registry can be minimized and be supported.

В частности, обеспечивается такое преимущество, что перекошенное дерево Меркла выполнено с возможностью преобразовываться в модернизированное h-перекошенное дерево Меркла, чтобы управлять реестром, чтобы значительно уменьшать размер данных доказательств, которые увеличиваются со временем. С уменьшением размера данных доказательств, проверка целостности старых данных за несколько прошлых лет обеспечивается посредством меньшего числа рабочих этапов, чтобы дополнительно увеличивать скорость проверки.In particular, it is advantageous that the skewed Merkle tree is capable of being transformed into an upgraded h-skewed Merkle tree to drive the registry to significantly reduce the size of evidence data that grows over time. As the size of the evidence data is reduced, checking the integrity of old data from several past years is provided through fewer work steps to further increase the speed of verification.

Кроме того, в h-перекошенном дереве Меркла, хеш-значения, вычисленные посредством двух или более рабочих маршрутов, могут сравниваться между собой, чтобы верифицировать то, равны или нет хеш-значения друг другу, чтобы верифицировать то, подделывается или нет новая добавленная ссылка перехода.In addition, in the h-skewed Merkle tree, the hash values computed by two or more work routes can be compared with each other to verify whether the hash values are equal or not to each other, to verify whether or not the newly added reference is forged. transition.

Краткое описание чертежейBrief description of the drawings

Фиг. 1 является блок-схемой системы верифицируемого отсечения реестров согласно варианту осуществления настоящего изобретения.Fig. 1 is a block diagram of a verifiable registry pruning system according to an embodiment of the present invention.

Фиг. 2 является структурной схемой существующего дерева Меркла.Fig. 2 is a block diagram of an existing Merkle tree.

Фиг. 3 и 4 являются концептуальными схемами алгоритма создания перекошенных деревьев Меркла согласно варианту осуществления настоящего изобретения.Fig. 3 and 4 are conceptual diagrams of an algorithm for generating skewed Merkle trees according to an embodiment of the present invention.

Фиг. 5 и 10 являются концептуальными схемами алгоритма создания h-перекошенных деревьев Меркла согласно варианту осуществления настоящего изобретения.Fig. 5 and 10 are conceptual diagrams of an algorithm for generating h-skew Merkle trees according to an embodiment of the present invention.

Оптимальный режим осуществления изобретенияOptimal Mode for Carrying Out the Invention

Настоящее изобретение может иметь различные модификации и различные варианты осуществления, и конкретные варианты осуществления иллюстрируются на чертежах и подробно описываются в конкретном содержимом для осуществления настоящего изобретения. Тем не менее, это не ограничивает настоящее изобретение конкретными вариантами осуществления, и следует понимать, что настоящее раскрытие сущности охватывает все модификации, эквиваленты и замены, включенные в пределы идеи и объема настоящего изобретения. В описании каждого чертежа, ссылочные позиции с одинаковыми номерами означают аналогичные элементы.The present invention may have various modifications and various embodiments, and specific embodiments are illustrated in the drawings and described in detail in the specific content for carrying out the present invention. However, this does not limit the present invention to specific embodiments, and it is to be understood that the present disclosure covers all modifications, equivalents, and substitutions included within the spirit and scope of the present invention. In the description of each drawing, like reference numerals denote like elements.

Термины, включающие в себя "первый", "второй", "A", "B" и т.п., используются для описания различных составляющих элементов, но составляющие элементы не ограничены посредством терминов. Термины используются только для того, чтобы отличать один компонент от другого компонента. Например, первый компонент может называться "вторым компонентом", и аналогично, второй компонент может называться "первым компонентом" без отступления от объема настоящего изобретения. Термин "и/или" включает в себя комбинацию множества ассоциированных раскрытых пунктов либо любой пункт из множества ассоциированных раскрытых пунктов.Terms including "first", "second", "A", "B", and the like are used to describe various constituent elements, but the constituent elements are not limited by terms. The terms are only used to distinguish one component from another component. For example, the first component may be referred to as the "second component", and similarly, the second component may be referred to as the "first component" without departing from the scope of the present invention. The term "and/or" includes a combination of a plurality of associated disclosed claims, or any one of a plurality of associated disclosed claims.

Следует понимать, что когда описывается то, что компонент "соединяется" или "осуществляет доступ" к другому компоненту, компонент может непосредственно соединяться или осуществлять доступ к другому компоненту, или третий компонент может присутствовать между ними. Напротив, когда описывается то, что компонент "непосредственно соединяется" или "непосредственно осуществляет доступ" к другому компоненту, следует понимать, что между упомянутым элементом и упомянутым другим элементом элементы не присутствуют.It should be understood that when a component is described as "connecting" or "accessing" another component, the component may directly connect to or access the other component, or a third component may be present in between. On the contrary, when it is described that a component "directly connects" or "directly accesses" another component, it should be understood that no elements are present between said element and said other element.

Термины, используемые в настоящей заявке, используются только для того, чтобы описывать конкретные варианты осуществления, и не имеют намерение ограничивать настоящее раскрытие сущности. Форма единственного числа включает в себя форму множественного числа, если отсутствует явное противоположное смысловое значение в контексте. В настоящей заявке, следует понимать, что термин "включать в себя" или "иметь" указывает то, что признак, число, этап, операция, компонент, часть либо комбинация вышеозначенного, описанные в описании изобретения, присутствуют, но не исключают возможность наличия или добавления одного или более других признаков, чисел, этапов, операций, компонентов, частей либо комбинаций вышеозначенного, заранее.The terms used in this application are used only to describe specific embodiments, and are not intended to limit the present disclosure. The singular form includes the plural form if there is no clear opposite semantic meaning in the context. In this application, it should be understood that the term "comprise" or "have" indicates that the feature, number, step, operation, component, part, or combination of the foregoing described in the description of the invention is present, but does not exclude the possibility of the presence or adding one or more other features, numbers, steps, operations, components, parts or combinations of the foregoing, in advance.

Если не указано иное, все термины, используемые в данном документе, включающие в себя технические или научные термины, имеют смысловые значения, идентичные смысловым значениям, общепонятным для специалистов в данной области техники. Термины, которые задаются в общеупотребительном словаре, должны интерпретироваться как имеющие смысловое значение, идентичное смысловому значению в контексте предшествующего уровня техники, и не интерпретируются в качестве идеального смыслового значения или чрезмерно формальных смысловых значений, если в настоящей заявке явно не указано иное.Unless otherwise indicated, all terms used in this document, including technical or scientific terms, have the same meanings as those commonly understood by those skilled in the art. Terms that are defined in a common vocabulary should be interpreted as having a meaning identical to the meaning in the context of the prior art, and are not interpreted as an ideal meaning or overly formal meanings, unless otherwise expressly stated in this application.

В дальнейшем в данном документе подробно описывается предпочтительный вариант осуществления настоящего изобретения с отсылкой на прилагаемые чертежи.Hereinafter, a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.

Фиг. 1 является блок-схемой системы верифицируемого отсечения реестров согласно варианту осуществления настоящего изобретения, фиг. 2 является структурной схемой существующего дерева Меркла, фиг. 3 и 4 являются концептуальными схемами алгоритма создания перекошенных деревьев Меркла согласно варианту осуществления настоящего изобретения, и фиг. 5 и 10 являются концептуальными схемами алгоритма создания h-перекошенных деревьев Меркла согласно варианту осуществления настоящего изобретения.Fig. 1 is a block diagram of a verifiable registry pruning system according to an embodiment of the present invention, FIG. 2 is a block diagram of an existing Merkle tree, FIG. 3 and 4 are conceptual diagrams of an algorithm for generating skewed Merkle trees according to an embodiment of the present invention, and FIG. 5 and 10 are conceptual diagrams of an algorithm for generating h-skew Merkle trees according to an embodiment of the present invention.

Во-первых, ссылаясь на фиг. 1, система верифицируемого отсечения реестров согласно варианту осуществления настоящего изобретения может быть выполнена с возможностью включать в себя модуль 110 создания перекошенных деревьев Меркла, модуль 120 создания иерархических (h-)перекошенных деревьев Меркла и модуль 130 верификации целостности узлов.First, referring to FIG. 1, a verifiable registry pruning system according to an embodiment of the present invention may be configured to include a skewed Merkle tree generating module 110, a hierarchical (h-)skewed Merkle tree generating module 120, and a node integrity verification module 130.

В общем, дерево Меркла также называется "хеш-деревом" и имеет древовидную структуру данных, сконфигурированную посредством криптографического хеш-значения.In general, a Merkle tree is also called a "hash tree" and has a tree-like data structure configured by a cryptographic hash value.

Как проиллюстрировано на фиг. 2, дерево Меркла используется для верификации того, что хеш-значение (например, H6, H7, H8, корень) для любых данных (например, H1, H2, H3, H4, H5) включается в дерево Меркла. Иными словами, верификация осуществляется посредством вычисления хеш-значения по маршруту вплоть до корневого узла. Верификация осуществляется, когда конечное вычисляемое значение совпадает с корневым хеш-значением. Например, чтобы проверить H1, верификация делается, когда результат вычисления и проверки хеш-значения по маршруту посредством использования H2 и H8 совпадает с корневым хеш-значением.As illustrated in FIG. 2, a merkle tree is used to verify that a hash value (e.g. H 6 , H 7 , H 8 , root) for any data (e.g. H 1 , H 2 , H 3 , H 4 , H 5 ) is included in merkle tree. In other words, verification is carried out by calculating the hash value along the route up to the root node. Verification occurs when the final computed value matches the root hash value. For example, to verify H 1 , verification is done when the result of calculating and verifying the hash value along the route by using H 2 and H 8 matches the root hash value.

Тем не менее, при использовании механизма верификации с использованием дерева Меркла, размер данных хеш-значения (H6, H7, H8, корень) является небольшим, но исходные данные (H1, H2, H3, H4, H5) могут иметь относительно очень большой размер данных.However, when using the Merkle tree verification mechanism, the data size of the hash value (H 6 , H 7 , H 8 , root) is small, but the original data (H 1 , H 2 , H 3 , H 4 , H 5 ) can have a relatively very large data size.

Система верифицируемого отсечения реестров выполняет отсечение, которое удаляет старые данные посредством использования перекошенной древовидной структуры Меркла, модернизированной из такой существующей общей древовидной структуры Меркла, отличной от такой существующей общей с h-перекошенной древовидной структуры Меркла и древовидной структуры Меркла, дополнительно модернизированной из перекошенной древовидной структуры Меркла, и выполнено с возможностью идеально верифицировать целостность старых данных только с модернизированной древовидной структурой Меркла.The verifiable registry pruning system performs pruning that removes old data by using a skewed Merkle tree structure upgraded from such an existing common Merkle tree structure different from such an existing common h-skewed Merkle tree structure and a Merkle tree structure further upgraded from the skewed tree structure Merkle, and is made with the ability to perfectly verify the integrity of old data only with an upgraded Merkle tree structure.

В перекошенной древовидной структуре Меркла каждый узел может проверять целостность всех данных при обладании недавними данными, например, только данными за один день.In a skewed Merkle tree structure, each node can check the integrity of all data when in possession of recent data, such as only one day's data.

Когда предполагается, что система распределенных реестров имеет скорость обработки транзакций в 4 кТх/сек в день, только данные в 172,8 ГБ, которые представляют собой данные, собранные за один день, сохраняются, и все оставшиеся предыдущие данные отсекаются, и данные, в отношении которых выполнено отсечение, приспособлены идеально проверять целостность посредством использования сохраняемых данных, т.е. корневого хеш-значения перекошенного дерева Меркла.When it is assumed that the distributed ledger system has a transaction processing rate of 4 kTx/sec per day, only 172.8 GB data, which is the data collected in one day, is stored, and all the remaining previous data is truncated, and the data in truncated are ideally suited for checking integrity through the use of stored data, i.e. the root hash value of the skewed Merkle tree.

Помимо этого, в h-перекошенной древовидной структуре Меркла очень старые данные за несколько лет или более имеют еще меньшую длину доказательств, чем в перекошенной древовидной структуре Меркла. Размер данных доказательств увеличивается с течением времени, но в настоящем изобретении размер непосредственно доказательства уменьшается, чтобы уменьшать рабочую нагрузку, назначенную проверке, и уменьшать даже время, требуемое для проверки.In addition, in an h-skewed Merkle tree structure, very old data of several years or more have even shorter evidence lengths than in a skewed Merkle tree structure. The size of this evidence increases over time, but in the present invention, the size of the evidence itself is reduced in order to reduce the workload assigned to verification and even reduce the time required for verification.

Возвращаясь к фиг. 1 и 3, модуль 110 создания перекошенных деревьев Меркла может быть выполнен с возможностью формировать перекошенное дерево Меркла двоичной древовидной структуры Меркла посредством использования блоков данных.Returning to FIG. 1 and 3, the skew Merkle tree generation module 110 may be configured to generate a skew Merkle tree of a binary Merkle tree structure by using blocks of data.

Модуль 110 создания перекошенных деревьев Меркла может быть выполнен с возможностью формировать перекошенное дерево Меркла, имеющее форму двоичной древовидной структуры Меркла, в которой блок Tn данных и корневое хеш-значение Rn-1 предыдущего поддерева спариваются.The skew Merkle tree generating module 110 may be configured to generate a skew Merkle tree in the form of a binary Merkle tree structure in which the data block T n and the root hash value R n-1 of the previous subtree are paired.

Начальный блок T1 данных и корневое хеш-значение Rn-1 сохраняются в каждом узле перекошенного дерева Меркла.The initial data block T1 and the root hash value R n-1 are stored at each node of the skewed Merkle tree.

Модуль 110 создания перекошенных деревьев Меркла может быть выполнен с возможностью вычислять корневое хеш-значение каждого узла посредством h(h(Tn)|Rn-1) и последовательно сохранять корневое хеш-значение в каждом узле, чтобы расширять и формировать перекошенное дерево Меркла.The skewed Merkle tree generation module 110 may be configured to calculate the root hash value of each node by h(h(T n )|R n-1 ) and sequentially store the root hash value at each node to expand and generate a skewed Merkle tree. .

Модуль 110 создания перекошенных деревьев Меркла может быть выполнен с возможностью сначала задавать корневое хеш-значение Rn-1 предыдущего поддерева в новом произведенном блоке Tn данных согласно механизму связанных списков.The skew Merkle tree generation module 110 may be configured to first set the root hash value R n-1 of the previous subtree in the new data block T n produced according to the linked list mechanism.

Помимо этого, h(Tn) вычисляется посредством хеширования Tn, вычисленное h(Tn) и корневое хеш-значение Rn-1 предыдущего поддерева прибавляются и затем хешируются снова, чтобы вычислять h(h(Tn)|Rn-1); h(h(Tn)|Rn-1) последовательно сохраняется в перекошенном дереве Меркла.In addition, h(T n ) is computed by hashing T n , the computed h(T n ) and the root hash value R n-1 of the previous subtree are added and then hashed again to compute h(h(T n )|R n- 1 ); h(h(T n )|R n-1 ) is sequentially stored in the skewed Merkle tree.

Иными словами, перекошенное дерево Меркла может рассматриваться в качестве комбинации связанного списка и двоичного дерева Меркла.In other words, a skewed Merkle tree can be thought of as a combination of a linked list and a binary Merkle tree.

На фиг. 3, хеш-значение R1 представляет собой хешированное значение посредством прибавления T1, который представляет собой первый блок данных, и начального корневого хеш-значения R0. Помимо этого, хеш-значение R2 представляет собой значение, полученное посредством хеширования T2, который представляет собой второй блок данных, и самого давнего корневого хеш-значения R1. Поскольку самое давнее корневое хеш-значение R1 включается в T2 посредством механизма связанных списков, T2 и R1 хешируются, чтобы вычислять R2. R2 прибавляется к блоку T3 данных посредством такого механизма, чтобы расширять и формировать перекошенное дерево Меркла посредством повторения такого процесса.In FIG. 3, the hash value R 1 is a hash value by adding T 1 , which is the first block of data, and the initial root hash value R 0 . In addition, the hash value R 2 is a value obtained by hashing T 2 , which is the second block of data, and the oldest root hash value R 1 . Since the oldest root hash value R 1 is included in T 2 via a linked list mechanism, T 2 and R 1 are hashed to calculate R 2 . R 2 is added to data block T 3 by such a mechanism to expand and form a skewed Merkle tree by repeating such a process.

Между тем, модуль 130 верификации целостности узлов по фиг. 1 может быть выполнен с возможностью верифицировать целостность для предыдущего конкретного узла на перекошенном дереве Меркла.Meanwhile, the node integrity verification module 130 of FIG. 1 may be configured to verify integrity for a previous particular node on the skewed Merkle tree.

На фиг. 4, чтобы верифицировать то, включается или нет T2 в перекошенное дерево Меркла, R4, включенный в T4, получается из T4, который представляет собой последний блок данных перекошенного дерева Меркла. Помимо этого, для верификации, R1, включенный в T2, получается из данного T2. Помимо этого, h(T2) вычисляется посредством хеширования T2, и когда R1 и h(T2) прибавляются и хешируются, R2 может вычисляться.In FIG. 4, in order to verify whether or not T 2 is included in the skewed Merkle tree, R 4 included in T 4 is obtained from T 4 , which is the last data block of the skewed Merkle tree. In addition, for verification, R 1 included in T 2 is obtained from the given T 2 . In addition, h(T 2 ) is calculated by hashing T 2 , and when R 1 and h(T 2 ) are added and hashed, R 2 can be calculated.

Здесь, если хеш-значение h(T3) T3 является заранее известным, R3 может вычисляться посредством идентичного механизма, и если h(T4) также является заранее известным, R4 может вычисляться посредством использования R3. Если вычисленное R4 равно R4, полученному выше, можно верифицировать то, что соответствующий узел, который представляет собой узел T2, который должен верифицироваться, включается в перекошенное дерево Меркла.Here, if the hash value h(T 3 ) T 3 is known in advance, R 3 can be calculated by the same mechanism, and if h(T 4 ) is also known in advance, R 4 can be calculated by using R 3 . If the calculated R 4 is equal to the R 4 obtained above, it can be verified that the corresponding node, which is the T 2 node to be verified, is included in the skewed Merkle tree.

Иными словами, верификация T2 обеспечивается в том случае, если только h(T3) и h(T4) известны в перекошенном дереве Меркла.In other words, verification of T 2 is provided if only h(T 3 ) and h(T 4 ) are known in the skewed Merkle tree.

Когда это обобщается и применяется, модуль 130 верификации целостности узлов может верифицировать целостность Tk, если только последнее корневое хеш-значение Rn и хеш-значение h(Ti) (здесь, k<i<=n) блока данных на промежуточном этапе являются заранее известными, чтобы верифицировать блок Tk данных конкретного узла в перекошенном дереве Меркла.When this is generalized and applied, the node integrity verification module 130 can verify the integrity of T k if only the last root hash value R n and the hash value h(T i ) (here, k<i<=n) of the data block in an intermediate step are known in advance in order to verify the data block T k of a particular node in the skewed Merkle tree.

В этом случае, другой блок данных на промежуточном этапе не должен быть известен заранее, и блок данных или хеш-значение до Tk не должны обязательно быть известны.In this case, the other data block in the intermediate step need not be known in advance, and the data block or hash value up to T k need not necessarily be known.

В перекошенной древовидной структуре Меркла, даже если каждый узел непосредственно не обладает всеми блоками данных, можно верифицировать целостность данных только с несколькими небольшими хеш-значениями. Это главным образом способствует даже уменьшению нагрузки сети.In a skewed Merkle tree structure, even if each node does not directly own all blocks of data, it is possible to verify data integrity with only a few small hash values. This mainly contributes to even reducing the load on the network.

Тем не менее, перекошенное дерево Меркла также имеет недостаток. Поскольку каждый узел перекошенного дерева Меркла обладает только хеш-значением непосредственно предшествующего поддерева согласно механизму связанных списков, каждое из них должно вычисляться и рассчитываться для всех узлов, как проиллюстрировано на фиг. 4 в процессе верификации. Перекошенное дерево Меркла является преимущественным в верификации недавних данных, но число рабочих этапов увеличивается для сотен миллиардов транзакций в единицах в несколько лет, и, как результат, вычислительная нагрузка увеличивается. Чтобы дополнять это, может использоваться h-перекошенное дерево Меркла.However, the skewed Merkle tree also has a disadvantage. Since each node of the skewed Merkle tree only has the hash value of the immediately preceding subtree according to the linked list mechanism, each of them must be computed and computed for all nodes, as illustrated in FIG. 4 in the process of verification. A skewed Merkle tree is advantageous in verifying recent data, but the number of work steps increases for hundreds of billions of transactions in units of several years, and as a result, the computational load increases. To complement this, an h-skewed Merkle tree can be used.

Как проиллюстрировано на фиг. 5, модуль 120 создания h-перекошенных деревьев Меркла по фиг. 1 выполнен с возможностью дополнительно обладать информацией относительно корневого хеш-значения узла за длительное время до этого, а также каждый узел обладает корневым хеш-значением непосредственно до этого. Корневое хеш-значение узла за длительное время до этого в качестве ссылки, которая ссылается на предыдущее дерево, задается как ссылка перехода. Иными словами, ссылка перехода представляет собой предыдущее корневое хеш-значение.As illustrated in FIG. 5, h-skew Merkle tree generation module 120 of FIG. 1 is configured to additionally have information about the root hash value of the node a long time before, and also each node has the root hash value immediately before. The root hash value of a node a long time before as a link that refers to the previous tree is set as a transition link. In other words, the jump reference is the previous root hash value.

Как проиллюстрировано на фиг. 5, ссылка перехода имеет расстояние между экспоненциальными узлами, и длительный рабочий этап, требуемый для верификации, опускается, чтобы обеспечивать верификацию блока данных предыдущей ссылки перехода немедленно. Иными словами, размер доказательств уменьшается, и число рабочих этапов значительно уменьшается, чтобы быстро верифицировать даже узел за несколько прошлых лет.As illustrated in FIG. 5, the jump link has a spacing between exponential nodes, and the lengthy work step required for verification is omitted to ensure that the data block of the previous jump link is verified immediately. In other words, the size of evidence is reduced and the number of work steps is greatly reduced in order to quickly verify even a node over the past few years.

Каждое значение Rn узла h-перекошенного дерева Меркла, которое дополнительно обладает ссылкой перехода по фиг. 5, может организовываться в качестве h(h(Tn)|Rn-1|Rn-(base^offset)).Each h-skew Merkle tree node value R n that further possesses the jump reference of FIG. 5 may be organized as h(h(T n )|R n-1 |R n-(base^offset) ).

Здесь, Rn-(base^offset) представляет ссылку перехода, которая представляет собой хеш-значение узла в любое предыдущее время.Here, R n-(base^offset) represents a transition reference, which is the hash value of the node at any previous time.

Основание base в ссылке перехода представляет собой кратчайшее расстояние предварительно определенной ссылки перехода, чтобы выделять ссылку перехода с предварительно определенным интервалом. Если основание равно 3, ссылка перехода выделяется с интервалом в три узла.The base base in the jump link is the shortest distance of the predefined jump link in order to highlight the jump link at a predefined interval. If the base is 3, the jump link is allocated at intervals of three nodes.

Помимо этого, смещение offset представляет собой значение остатка от значения, полученного делением местоположения n текущего узла на основание, т.е. n % base.In addition, the offset offset is the value of the remainder of the value obtained by dividing the location n of the current node by the base, i.e. n % base.

Помимо этого, расстояние dist от местоположения n текущего узла до ссылки перехода может вычисляться как значение baseoffset.In addition, the distance dist from the location n of the current node to the transition link can be calculated as a base offset value.

Фиг. 5 иллюстрирует ссылку перехода, в которой основание равно 3, и смещение равно 1.Fig. 5 illustrates a jump link in which the base is 3 and the offset is 1.

Ссылаясь на фиг. 5, расстояние ссылки перехода в качестве baseoffset, т.е. 31 равно 3.Referring to FIG. 5, the jump link distance as base offset , i. e. 3 1 is equal to 3.

Что касается узла R4, можно видеть, что значение R4 может получаться посредством прибавления и хеширования хеш-значения T4 и непосредственно предшествующего хеш-значения R3 и ссылки R1 перехода.With respect to the R 4 node, it can be seen that the R 4 value can be obtained by adding and hashing the T 4 hash value and the immediately preceding R 3 hash value and the transition reference R 1 .

Фиг. 6 иллюстрирует ссылку перехода, в которой основание равно 3 и смещение равно 2.Fig. 6 illustrates a jump link in which the base is 3 and the offset is 2.

На фиг. 6, можно видеть, что расстояние ссылки перехода в качестве 32 становится 9.In FIG. 6, it can be seen that the jump reference distance as 3 2 becomes 9.

Тем не менее, ссылка перехода не должна обязательно выделяться всем узлам, в которых смещение равно 2. Как проиллюстрировано на фиг. 7, ссылка перехода может выделяться только узлу offset+(baseoffset)*k в местоположении n узла. В данном документе, k представляет положительное целое число. Ссылка перехода может не выделяться узлу, отличному от вышеуказанного узла.However, the jump link need not necessarily be allocated to all nodes where the offset is 2. As illustrated in FIG. 7, the jump reference can only be allocated to the offset+(base offset )*k node at node location n. In this document, k represents a positive integer. The navigation link may not be allocated to a node other than the above node.

Как проиллюстрировано на фиг. 7, если основание равно 1 и смещение равно 1, 1+31*k, и ссылка перехода выделяется для R19, R13, R10, R7, R4, R1. Помимо этого, если основание равно 3 и смещение равно 2, 2+32*k, и ссылка перехода выделяется для R20, R11, R2. Если основание равно 3 и смещение равно 3, то ссылка перехода должна выделяться для R57, R30, R3.As illustrated in FIG. 7, if the base is 1 and the offset is 1, 1+3 1 *k, and the jump reference is allocated to R 19 , R 13 , R 10 , R 7 , R 4 , R 1 . In addition, if the base is 3 and the offset is 2, 2+3 2 *k, and the transition reference is allocated to R 20 , R 11 , R 2 . If the base is 3 and the offset is 3, then the jump reference should be allocated for R 57 , R 30 , R 3 .

Фиг. 8 иллюстрирует состояние, в котором выделение ссылки перехода по фиг. 7 завершается. Выделение ссылки перехода многократно выполняется до тех пор, пока каждое смещение не достигает основания.Fig. 8 illustrates a state in which highlighting the jump link of FIG. 7 ends. The selection of the transition link is repeated repeatedly until each offset reaches the base.

Между тем, верификация блока может выполняться следующим образом.Meanwhile, block verification can be performed as follows.

В ситуации, в которой корневое хеш-значение имеет Rx и к любому промежуточному хеш-значению может осуществляться доступ в h-перекошенном дереве Меркла, выполняется следующая процедура для верификации того, включается или нет блок Ty данных или верхний узел Ry в h-перекошенное дерево Меркла.In a situation where the root hash value has R x and any intermediate hash value can be accessed in an h-skewed Merkle tree, the following procedure is performed to verify whether the data block T y or the top node R y in h is included or not. - skewed Merkle tree.

1) На основе ссылки (узла) при условии, что соответствующее расстояние (например, основание) в направлении предыдущего времени от последнего корневого хеш-значения, находится ближайшая предыдущая ссылка перехода или общая ссылка, которая равна Ry или находится в будущем.1) Based on the link (node), provided that the corresponding distance (e.g., base) in the direction of the previous time from the last root hash value, is the nearest previous transition link or a common link that is equal to R y or is in the future.

2) На основе ссылки (узла) при условии, что соответствующее расстояние (например, основание) в направлении предыдущего времени снова от хеш-значения искомой ссылки перехода или общей ссылки, находится ближайшая предыдущая ссылка перехода или общая ссылка, которая равна Ry или находится в будущем. Этот процесс повторяется до достижения Ry.2) Based on the link (node), provided that the corresponding distance (e.g., base) in the direction of the previous time again from the hash value of the searched jump link or common link, finds the nearest previous jump link or common link, which is equal to R y or is located in future. This process is repeated until R y is reached.

3) Вычисляется корневой хеш, который направлен в будущем направлении последовательно для набора искомых ссылок посредством использования Ty. Если конечный результат вычисления равен Rhead, верификация завершается и верифицируется то, что Rhead существует в h-перекошенном дереве Меркла.3) The root hash is calculated, which is directed in the future direction sequentially for the set of searched links by using T y . If the final result of the computation is R head , the verification ends and R head is verified to exist in the h-skewed Merkle tree.

Фиг. 9 иллюстрирует то, что R8 обнаруживается для того, чтобы проверять T8, начиная с R59.Fig. 9 illustrates that R 8 is detected in order to check T 8 starting with R 59 .

Ссылаясь на фиг. 9, Rhead составляет R59, ссылки (узлы) R58 и R57 вплоть до соответствующего расстояния в R59, т.е. расстояния основания 3, ссылаются на значения, и ближайшая предыдущая ссылка R30, которая находится дальше в будущем, чем R8, находится и опрашивается из числа ссылок перехода с расстоянием смещения в 3 из R57, т.е. 33.Referring to FIG. 9, R head is R 59 , links (nodes) R 58 and R 57 up to the corresponding distance in R 59 , i.e. base distances of 3 refer to the values, and the nearest previous reference R 30 that is farther in the future than R 8 is found and interrogated from among jump references with an offset distance of 3 of R 57 , i.e. 3 3 .

Здесь, ссылка (узел) R29, вплоть до соответствующего расстояния, т.е. расстояния основания 3, опрашивается снова. Ссылка перехода с расстоянием смещения в 2, т.е. 32, и ссылка R11 перехода ссылки R20 перехода находится и опрашивается из R29 снова. Ссылка R11 перехода становится ближайшей предыдущей ссылкой, которая находится дальше в будущем, чем R8, из числа ссылок перехода смещения в 2 на основе R29.Here, the link (node) R 29 , up to the corresponding distance, i.e. base distance 3 is interrogated again. Transition link with offset distance of 2, i.e. 3 2 , and the jump link R 11 of the jump link R 20 is located and interrogated from R 29 again. The jump link R 11 becomes the closest previous link that is farther in the future than R 8 from among the offset jump links in 2 based on R 29 .

Помимо этого, каждая из ссылок R10, R9 и R8 в пределах соответствующего расстояния находится из R11 снова, с тем чтобы в итоге достигать R8.In addition, each of the links R 10 , R 9 and R 8 within the appropriate distance is from R 11 again, so as to eventually reach R 8 .

Помимо этого, корневое хеш-значение последовательно вычисляется в будущем направлении снова посредством использования T8, которое должно проверяться. Если конечное вычисленное корневое хеш-значение совпадает с R59 на h-перекошенном дереве Меркла, верифицируется то, что T8 существует в h-перекошенном дереве Меркла.In addition, the root hash value is sequentially computed in the future direction again by using T 8 to be checked. If the final computed root hash value matches R 59 on the h-skewed Merkle tree, then T 8 is verified to exist in the h-skewed Merkle tree.

В этом процессе, в сумме 9 рабочих этапов требуются от R8 до R9, R10, R11, R20, R29, R30, R57, R58 и R59. Тем не менее, когда ссылка перехода не используется, все узлы R8-R59 должны рассчитываться, и, в качестве результата, требуется всего 51 рабочий этап. Можно видеть, что рабочие этапы значительно уменьшаются, и когда размер реестра увеличивается, значительный объем расчетов и значительное время расчетов могут уменьшаться.In this process, a total of 9 work steps are required from R 8 to R 9 , R 10 , R 11 , R 20 , R 29 , R 30 , R 57 , R 58 and R 59 . However, when the transition link is not used, all nodes R 8 -R 59 must be calculated and, as a result, only 51 work steps are required. It can be seen that the work steps are greatly reduced, and as the registry size increases, a significant amount of computation and significant computation time can be reduced.

Фиг. 10 в качестве примера фактической реализации иллюстрирует h-перекошенное дерево Меркла, в котором основание равно 10. Поскольку ссылка перехода 10offset, расстояние ссылки перехода увеличивается до 10, 102 и 103, и когда расстояние равно 1999, достижение является возможным только посредством 28 этапов.Fig. 10 illustrates an h-skew Merkle tree in which the base is 10 as an example of an actual implementation. Since the transition reference is 10offset t , the distance of the transition reference increases to 10, 10 2 and 10 3 , and when the distance is 1999, reaching is only possible by 28 stages.

В связи с этим, поскольку система верифицируемого отсечения реестров может идеально проверять данные только с хеш-значением, несмотря на прямое обладание всеми блоками данных, объем данных для хранения может значительно уменьшаться. Когда размер реестра также чрезвычайно увеличивается с течением времени, остро требуются поиск и работа с использованием ссылки перехода.In this regard, since the verifiable registry pruning system can ideally verify data with only a hash value, despite the direct possession of all blocks of data, the amount of data to be stored can be significantly reduced. When the size of the registry also increases enormously over time, searching and working using the jump link is urgently needed.

Настоящее изобретение описывается со ссылкой на примерные варианты осуществления. Тем не менее, специалисты в данной области техники должны принимать во внимание, что различные модификации и изменения настоящего изобретения могут вноситься без отступления от сущности и объема настоящего изобретения, которые определяются прилагаемой формулой изобретения и её эквивалентами.The present invention is described with reference to exemplary embodiments. However, those skilled in the art should appreciate that various modifications and variations of the present invention may be made without departing from the spirit and scope of the present invention, which are defined by the appended claims and their equivalents.

Claims (15)

1. Система верифицируемого отсечения реестров, содержащая:1. System of verifiable pruning of registries, containing: модуль создания иерархических (h-)перекошенных деревьев Меркла, в котором, согласно схеме связанных списков, корневое хеш-значение Rn-1 предыдущего поддерева включается в блок Tn данных, причем блок Tn данных, в который включается корневое хеш-значение Rn-1, хешируется, за счет этого получая h(Tn), при этом полученное h(Tn) и корневое хеш-значение Rn-1 предыдущего поддерева и ссылки Rn-(base^offset) перехода объединяются и затем хешируются, за счет этого получая h(h(Tn)|Rn-1|Rn-(base^offset), и полученное h(h(Tn)|Rn-1|Rn-(base^offset) последовательно прибавляется к соответствующим узлам двоичной древовидной структуры Меркла, чтобы создавать и разворачивать h-перекошенное дерево Меркла, при этомa module for creating hierarchical (h-)skewed Merkle trees, in which, according to the linked list scheme, the root hash value R n-1 of the previous subtree is included in the data block T n , and the data block T n in which the root hash value R is included n-1 , is hashed, thereby obtaining h(T n ), while the resulting h(T n ) and the root hash value R n-1 of the previous subtree and the transition reference R n-(base^offset) are combined and then hashed , thereby obtaining h(h(T n )|R n-1 |R n-(base^offset) , and the resulting h(h(T n )|R n-1 |R n-(base^offset) is sequentially added to the corresponding nodes of the binary Merkle tree structure to create and unfold an h-skewed Merkle tree, while ссылка Rn-(base^offset) перехода представляет собой корневое хеш-значение для узла в предварительно определенное предыдущее время в h-перекошенном дереве Меркла,the transition reference R n-(base^offset) is the root hash value for the node at the predefined previous time in the h-skewed Merkle tree, основание base представляет кратчайшее расстояние предварительно определенной ссылки перехода для выделения этой ссылки перехода с предварительно определенным интервалом,the base base represents the shortest distance of a predefined jump link to highlight that jump link at a predefined interval, смещение offset представляет остаток от деления местоположения n текущего узла на основание, т.е. n % base, иoffset represents the remainder of dividing the location n of the current node by the base, i.e. n % base, and расстояние ссылки перехода сконфигурировано получаться посредством значения baseoffset.the jump link distance is configured to be obtained by means of the base offset value. 2. Система верифицируемого отсечения реестров по п.1, в которой модуль создания h-перекошенных деревьев Меркла выполнен с возможностью выделять ссылку перехода каждого узла offset+(baseoffset)*k, и k сконфигурировано посредством положительного целого числа.2. The verifiable registry pruning system of claim 1, wherein the h-skew Merkle tree generating module is configured to extract each node's jump reference offset+(base offset )*k, and k is configured by a positive integer. 3. Система верифицируемого отсечения реестров по п.1, дополнительно содержащая модуль верификации целостности узлов, в котором последнее корневое хеш-значение h-перекошенного дерева Меркла вычисляется путем последовательного выполнения операции с хеш-значениями посредством использования Tk и предварительно определенного корневого хеш-значения h(Ti) (здесь, k<i≤n) h-перекошенного дерева Меркла, чтобы верифицировать то, включается или нет предыдущий предварительно определенный блок Tk данных в h-перекошенное дерево Меркла, и сравнивается то, совпадают или нет вычисленное последнее корневое хеш-значение и заранее известное последнее корневое хеш-значение, для проверки целостности блока Tk.3. The verifiable registry pruning system of claim 1, further comprising a node integrity verification module, wherein the last root hash value of the h-skew Merkle tree is computed by successively performing an operation on the hash values by using T k and a predetermined root hash value h(T i ) (here, k<i≤n) of the h-skewed Merkle tree to verify whether or not the previous predefined data block T k is included in the h-skewed Merkle tree, and compare whether or not the computed last the root hash value and the last root hash value known in advance, to check the integrity of the block T k . 4. Система верифицируемого отсечения реестров по п.3, в которой модуль верификации целостности узлов выполнен с возможностью верифицировать то, существует или нет хеш-значение Ry или блок Ty данных в h-перекошенном дереве Меркла, согласно следующей процедуре:4. The verifiable registry pruning system of claim 3, wherein the node integrity verification module is configured to verify whether or not a hash value R y or data block T y exists in the h-skewed Merkle tree, according to the following procedure: 1) поиск ссылки перехода или ссылки (узла), которая существует в ближайшее предыдущее время, из числа ссылок (узлов), которые находятся в идентичное время или дальше в будущем, чем Ry, на основе ссылки (узла) в пределах предварительно определенного расстояния в направлении предыдущего времени от последнего корневого хеш-значения Rhead,1) searching for a transition link or a link (node) that exists in the nearest previous time from among links (nodes) that are at the same time or further in the future than R y based on the link (node) within a predetermined distance in the direction of the previous time from the last root hash value R head , 2) поиск ссылки перехода или ссылки (узла), которая существует в ближайшее предыдущее время, из числа ссылок (узлов), которые находятся в идентичное время или дальше в будущем, чем Ry, на основе ссылки (узла) в пределах предварительно определенного расстояния в направлении предыдущего времени от хеш-значения ссылки перехода или ссылки, которая существует в искомое ближайшее предыдущее время,2) searching for a transition link or a link (node) that exists in the nearest previous time from among links (nodes) that are at the same time or further in the future than R y based on the link (node) within a predetermined distance in the direction of the previous time from the hash value of the transition link or a link that exists at the nearest previous time being searched, 3) повторение процесса 2) до достижения Ry,3) repeating process 2) until R y is reached, 4) вычисление корневых хешей, направленных в направлении будущего, последовательно для набора ссылки перехода или ссылки (узла), искомой многократно в процессах 2) и 3) посредством использования Ty, и4) computing future-directed root hashes sequentially for a set of transition or link (node) searched multiple times in processes 2) and 3) by using T y , and 5) сравнение того, равно или нет конечное полученное корневое хеш-значение Rhead, и верификацию того, что хеш-значение Ry или блок Ty данных существует в h-перекошенном дереве Меркла, когда конечное полученное корневое хеш-значение равно Rhead в качестве результата сравнения.5) comparing whether or not the final received root hash value is equal to R head , and verifying that the hash value R y or data block T y exists in the h-skewed Merkle tree when the final received root hash value is equal to R head as a comparison result. 5. Система верифицируемого отсечения реестров по п.4, в которой предварительно определенное расстояние составляет основание.5. The verifiable registry pruning system of claim 4, wherein the predetermined distance is the base.
RU2022102390A 2019-08-01 2020-07-21 Verifiable registry truncation system RU2790181C1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2019-0093684 2019-08-01

Publications (1)

Publication Number Publication Date
RU2790181C1 true RU2790181C1 (en) 2023-02-15

Family

ID=

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140245020A1 (en) * 2013-02-22 2014-08-28 Guardtime Ip Holdings Limited Verification System and Method with Extra Security for Lower-Entropy Input Records
RU2686818C1 (en) * 2018-04-14 2019-04-30 Максим Михайлович Михайленко Method for scaling distributed information system
WO2019116248A1 (en) * 2017-12-15 2019-06-20 nChain Holdings Limited System and method for authenticating off-chain data based on proof verification

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140245020A1 (en) * 2013-02-22 2014-08-28 Guardtime Ip Holdings Limited Verification System and Method with Extra Security for Lower-Entropy Input Records
WO2019116248A1 (en) * 2017-12-15 2019-06-20 nChain Holdings Limited System and method for authenticating off-chain data based on proof verification
RU2686818C1 (en) * 2018-04-14 2019-04-30 Максим Михайлович Михайленко Method for scaling distributed information system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Kim Seung Woo, "Skewed Merkle Trees", 21.06.2018, [Найдено 27.09.2022] в сети Интернет , 27.09.2022. Saru Vig et al., "Customizing Skewed Trees for Fast Memory Integrity Verification in Embedded Systems", 2017 IEEE Computer Society Annual Symposium on VLSI (ISVLSI), [Найдено 27.09.2022] в сети Интернет < http://dx.doi.org/10.1109/ISVLSI.2017.45>, 27.09.2022, 6 л.. *

Similar Documents

Publication Publication Date Title
CN111008201B (en) Method and apparatus for parallel modification and reading of state trees
US20200285634A1 (en) System for data sharing platform based on distributed data sharing environment based on block chain, method of searching for data in the system, and method of providing search index in the system
CN109542979B (en) Fast synchronization and simple data storage mode of block chain system
CN111971931B (en) Method for verifying transactions in a blockchain network and nodes constituting the network
US11182365B2 (en) Systems and methods for distributed storage of data across multiple hash tables
CN104794123A (en) Method and device for establishing NoSQL database index for semi-structured data
JP2010503117A (en) Dynamic fragment mapping
JP2009512099A (en) Method and apparatus for restartable hashing in a try
WO2013138441A1 (en) Systems, methods, and software for computing reachability in large graphs
CN105447166A (en) Keyword based information search method and system
Duarte et al. Improved heuristics for the regenerator location problem
CN111444196A (en) Method, device and equipment for generating Hash of global state in block chain type account book
CN107798106A (en) A kind of URL De-weight methods in distributed reptile system
CN111209341B (en) Data storage method, device, equipment and medium of block chain
CN106777920A (en) The method and apparatus for determining longest common subsequence
JP2019146137A (en) Method for verifying transaction in blockchain network, and node for constituting the network
RU2790181C1 (en) Verifiable registry truncation system
US11949801B2 (en) Ledger verifiable-pruning system
CN106302178B (en) Route query method and device
US9396286B2 (en) Lookup with key sequence skip for radix trees
CN110321326B (en) Block chain file fragment retrieval method
CN108984780B (en) Method and device for managing disk data based on data structure supporting repeated key value tree
Chitrakar et al. Approximate search with constraints on indels with application in SPAM filtering
CN117251380B (en) Priority asynchronous scheduling method and system for monotone flow chart
BG111291A (en) Method for indexing of data