RU2794606C2 - Method for forming a privileged transaction in blockchain and method for block validation in blockchain - Google Patents

Method for forming a privileged transaction in blockchain and method for block validation in blockchain Download PDF

Info

Publication number
RU2794606C2
RU2794606C2 RU2021101699A RU2021101699A RU2794606C2 RU 2794606 C2 RU2794606 C2 RU 2794606C2 RU 2021101699 A RU2021101699 A RU 2021101699A RU 2021101699 A RU2021101699 A RU 2021101699A RU 2794606 C2 RU2794606 C2 RU 2794606C2
Authority
RU
Russia
Prior art keywords
transaction
blockchain
privileged
block
user
Prior art date
Application number
RU2021101699A
Other languages
Russian (ru)
Other versions
RU2021101699A (en
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 Плк Груп Аг
Publication of RU2021101699A publication Critical patent/RU2021101699A/en
Application granted granted Critical
Publication of RU2794606C2 publication Critical patent/RU2794606C2/en

Links

Images

Abstract

FIELD: blockchains.
SUBSTANCE: invention relates to a system and methods for generating a privileged blockchain transaction and validating a block in a blockchain. In the method, a privileged transaction is generated by a user by means of a first blockchain node, a cryptographic signature using the user's private key is added to the privileged transaction, thereby creating a signed privileged transaction, the signed privileged transaction is broadcasted to a plurality of other nodes in the blockchain, the other nodes checking whether the user is allowed to execute a privileged transaction, wherein the permission to perform the privileged transaction was stored on the blockchain before the privileged transaction was generated, the permission being stored as a transfer transaction on the blockchain, and the transfer transaction granting the permission comes from a trusted wallet.
EFFECT: increase in the reliability and security of transactions in the blockchain.
9 cl, 2 dwg

Description

Настоящее изобретение относится к способу формирования привилегированной транзакции в блокчейне и к способу валидации блока в блокчейне. The present invention relates to a method for generating a privileged transaction in a blockchain and a method for validating a block in a blockchain.

Блокчейны становятся все более и более популярны для множества применений. Блокчейн является распределенной базой данных, в которой информация записывается внутри аппаратного кошелька (ledger) публичных транзакций (то есть, блокчейна). Blockchains are becoming more and more popular for a multitude of applications. A blockchain is a distributed database in which information is recorded inside a hardware wallet (ledger) of public transactions (that is, a blockchain).

Например, блокчейны могут использоваться для представления денег, например, в форме "цифровых денег" (digital money). Одним из хорошо известных примеров таких денег является биткоин (bitcoin), являющийся криптовалютой (crypto-currency), основанной на режиме сети с равноправными участниками (peer-to-peer network). Другими цифровыми деньгами являются лайткоин (Litecoin) или праймкоин (Primecoin). For example, blockchains can be used to represent money, for example in the form of "digital money". One well-known example of such money is bitcoin, which is a crypto-currency based on a peer-to-peer network mode. Other digital money is Litecoin or Primecoin.

Для перевода сумм (или "коинов") таких денег внутри блокчейна, используются транзакции (или трансфертные транзакции, как это используется здесь). Транзакции обычно распределяются по узлам блокчейна. Узлы проверяют транзакцию на корректность. Корректные транзакции могут затем собираться в блоки, в которых транзакции становятся действительными, только если они включены в один или более прошедших валидацию блоков блокчейна. To transfer amounts (or "coins") of such money within the blockchain, transactions (or transfer transactions, as used here) are used. Transactions are usually distributed across blockchain nodes. The nodes check the transaction for correctness. Valid transactions can then be collected into blocks, in which transactions become valid only if they are included in one or more validated blocks of the blockchain.

Дополнительно, чтобы медленно увеличивать во времени сумму денег, присутствующих в блокчейне, могут выполняться специальные или привилегированные транзакции. Эти привилегированные транзакции могут, например, формировать новые суммы денег (из ничего, "out of the nothing"), например, посредством майнинга (mining) или минтинга (minting). Такая транзакция формирования денег может называться "транзакция коинбазы" (coinbase transaction) или, в более общем виде, "транзакция формирования" (generation transaction). Additionally, special or privileged transactions can be performed to slowly increase the amount of money present on the blockchain over time. These privileged transactions can, for example, generate new amounts of money (from nothing, "out of the nothing"), for example, through mining (mining) or minting (minting). Such a money generation transaction may be referred to as a "coinbase transaction" or, more generally, a "generation transaction".

Однако, с точки зрения безопасности может быть предпочтительным гарантировать, что формирование новых денег разрешается только корректным элементам/пользователям/узлам блокчейна. В отличие от этого, например, в сети биткоинов новые деньги могут формироваться каждым элементом. However, from a security point of view, it may be preferable to ensure that only the correct elements/users/nodes of the blockchain are allowed to generate new money. In contrast, for example, in the bitcoin network, new money can be formed by each element.

Следовательно, денежные блокчейны уязвимы, если существуют злонамеренные узлы или даже если большинство узлов блокчейна являются злонамеренными. Кроме того, целостность блокчейна может подвергаться риску и блокчейн может быть уязвимым для различных атак.Therefore, monetary blockchains are vulnerable if there are malicious nodes or even if the majority of blockchain nodes are malicious. In addition, the integrity of the blockchain may be at risk and the blockchain may be vulnerable to various attacks.

Поэтому задача настоящего изобретения заключается в обеспечении способа, повышающего защищенность блокчейна.Therefore, the object of the present invention is to provide a method that enhances the security of the blockchain.

Эта задача решается способами, соответствующими пп. 1, 2 формулы изобретения.This problem is solved by methods corresponding to paragraphs. 1, 2 claims.

Пункт 1 формулы изобретения относится к способу формирования привилегированной транзакции блокчейна, в котором Claim 1 relates to a method for generating a privileged blockchain transaction, in which

- привилегированная транзакция формируется пользователем с помощью первого узла блокчейна, - a privileged transaction is formed by the user using the first node of the blockchain,

- как вариант, используя закрытый ключ пользователя, криптографическая подпись добавляется к привилегированной транзакции, создавая, таким образом, как вариант, подписанную привилегированную транзакцию,- alternatively, using the user's private key, a cryptographic signature is added to the privileged transaction, thus creating, alternatively, a signed privileged transaction,

- (подписанная) привилегированная транзакция широковещательно распространяется множеству других узлов блокчейна, где другие узлы выполняют валидацию, если пользователю разрешается выполнить привилегированную транзакцию, где разрешение на выполнение привилегированной транзакции было сохранено в блокчейне перед формированием привилегированной транзакции. - The (signed) privileged transaction is broadcast to a plurality of other nodes on the blockchain, where other nodes perform validation, if the user is allowed to execute the privileged transaction, where permission to perform the privileged transaction was stored in the blockchain before the privileged transaction was generated.

Пункт 2 формулы изобретения относится к способу валидации блока блокчейна, в котором Claim 2 refers to a blockchain block validation method in which

- блок формируется пользователем блокчейна посредством первого узла блокчейна, в котором блок содержит одну или более транзакций, - the block is formed by the blockchain user through the first blockchain node in which the block contains one or more transactions,

- как вариант, к блоку добавляется криптографическая подпись, используя закрытый ключ первого узла, создавая, как вариант, подписанный блок, - alternatively, a cryptographic signature is added to the block using the private key of the first node, creating, alternatively, a signed block,

- (подписанный) блок широковещательно распространяется множеству других узлов блокчейна, где другие узлы предпочтительно проводят верификацию криптографической подписи подписанного блока, используя открытый ключ пользователя, и где другие узлы проводят валидацию, если пользователю разрешается проводить валидацию блока, причем разрешение на выполнение валидации блока было сохранено в блокчейне перед валидацией блока. - the (signed) block is broadcast to a plurality of other nodes on the blockchain, where other nodes preferably verify the cryptographic signature of the signed block using the user's public key, and where other nodes validate if the user is allowed to validate the block, and the permission to perform block validation has been retained on the blockchain before block validation.

Другими словами, изобретение основывается на признании, что безопасность блокчейна может быть повышена, если пользователь (или соответствующий первый узел пользователя) запрашивает авторизацию/разрешение выполнения привилегированной транзакции как разрешение, которое может быть аннулировано для злонамеренных узлов. Дополнительно, подтверждено разрешение простой реализации авторизации в существующих механизмах блокчейна, если разрешение выполнения привилегированной транзакции хранится в самом блокчейне. Поскольку сам блокчейн обычно (по меньшей мере, частично) хранится внутри каждого узла блокчейна, каждый узел можно легко проводить верификацию/валидацию, если пользователю разрешается выполнить привилегированную транзакцию. Если пользователю разрешается выполнить привилегированную транзакцию, то только тогда привилегированная транзакция собирается в одном из блоков блокчейна. Информация, если пользователю (или узлу пользователя) разрешается выполнить привилегированную транзакцию, может быть сохранена внутри блокчейна различными путями. Необходимо только, чтобы из информации, хранящийся в блокчейне, было ясно, что пользователю разрешено выполнить привилегированную транзакцию. In other words, the invention is based on the recognition that the security of the blockchain can be enhanced if the user (or the user's corresponding first node) requests authorization/permission to execute a privileged transaction as a permission that can be revoked for malicious nodes. Additionally, it has been confirmed to allow simple implementation of authorization in existing blockchain mechanisms if permission to execute a privileged transaction is stored in the blockchain itself. Since the blockchain itself is usually (at least partially) stored within each blockchain node, each node can be easily verified/validated if the user is allowed to perform a privileged transaction. If the user is allowed to execute a privileged transaction, then only then the privileged transaction is collected in one of the blockchain blocks. Information, if a user (or user node) is allowed to perform a privileged transaction, can be stored within the blockchain in various ways. It is only necessary that it is clear from the information stored on the blockchain that the user is allowed to perform a privileged transaction.

В частности, разрешение выполнения привилегированной транзакции может быть предоставлено трансфертной транзакцией (то есть, транзакцией, предоставляющей разрешение), как упомянуто далее. Транзакция, предоставляющая разрешение, может, например, переводить некоторую сумму денег либо самому себе, если транзакция затем может содержать идентификацию пользователя, либо определенная сумма денег может быть напрямую переведена в кошелек пользователя. Пока переведенная сумма транзакции, предоставляющей разрешение, не потрачена, разрешение может оставаться действительным.In particular, permission to execute a privileged transaction may be granted by a transfer transaction (ie, a transaction granting permission), as mentioned below. The transaction granting permission could, for example, transfer some amount of money either to itself, if the transaction could then contain the user's identity, or a certain amount of money could be transferred directly to the user's wallet. As long as the transferred amount of the transaction granting the permit is not spent, the permit may remain valid.

Таким же образом валидация блока блокчейна может быть закреплена за пользователями, которым разрешено валидировать блок. Таким образом, например, сумма денег, переведенная пользователю, который проводит валидацию блока блокчейна, не переводится злонамеренному пользователю или узлу. Опять же, поскольку разрешение на выполнение валидации хранится в самом блокчейне, необходимо только небольшое изменение кода существующего блокчейна (например, блокчейна биткоинов). In the same way, blockchain block validation can be assigned to users who are allowed to validate the block. Thus, for example, the amount of money transferred to a user who validates a blockchain block is not transferred to a malicious user or node. Again, since the permission to perform validation is stored on the blockchain itself, only a small code change to an existing blockchain (such as the bitcoin blockchain) is needed.

В частности, разрешение выполнения привилегированной транзакции и/или разрешение выполнения валидации блока может быть сохранено внутри блокчейна и/или централизовано управляться в блокчейне. Поскольку блокчейн обычно распределяется по множеству узлов, изобретение добавляет небольшой централизованный элемент, который значительно повышает безопасность блокчейна. In particular, permission to execute a privileged transaction and/or permission to perform block validation can be stored within the blockchain and/or centrally managed on the blockchain. Since the blockchain is usually distributed over many nodes, the invention adds a small centralized element that greatly increases the security of the blockchain.

Для полноты, следует упомянуть, что другие узлы могут верифицировать криптографическую подпись подписанной привилегированной транзакции, используя открытый ключ первого узла. Предпочтительно, только если открытый ключ и закрытый ключ пользователя также соответствуют, то тогда транзакция собирается в одном из блоков. Короче говоря, транзакция и/или блок рассматриваются как полезная нагрузка, которая защищается криптографической подписью. For completeness, it should be mentioned that other nodes can verify the cryptographic signature of a signed privileged transaction using the first node's public key. Preferably, only if the user's public key and private key also match, then the transaction is collected in one of the blocks. In short, a transaction and/or block is treated as a payload that is protected by a cryptographic signature.

В целом, подписанная привилегированная транзакция и/или подписанный блок могут также широковещательно распространяться только одному другому узлу блокчейна, причем другой узел верифицирует криптографическую подпись подписанной привилегированной транзакции, используя открытый ключ первого узла (то есть, пользователя). In general, a signed privileged transaction and/or a signed block can also be broadcast to only one other node on the blockchain, with the other node verifying the cryptographic signature of the signed privileged transaction using the public key of the first node (i.e., the user).

Далее дополнительные варианты изобретения описываются более подробно. Further embodiments of the invention are described in more detail.

Блокчейн может содержать первый узел и вышеупомянутые другие узлы, где узлы могут быть частью Интернета или сети передачи данных. Узлы могут иметь соединение для передачи данных друг другу. В частности, все узлы могут быть идентичны первому узлу. The blockchain may contain the first node and the aforementioned other nodes, where the nodes may be part of the Internet or a data network. Nodes can have a data connection to each other. In particular, all nodes may be identical to the first node.

Узел может содержать только программное обеспечение, позволяющее пользователю (то есть, участнику рынка) управлять счетом. Узел может быть сформирован как экземпляр, который содержит закрытый ключ (то есть, закрытый ключ пользователя). От программного обеспечения или узла не требуется, но они могут содержать копию блокчейна. The node may contain only software that allows the user (ie, the market participant) to manage the account. A node can be formed as an instance that contains a private key (that is, the user's private key). No software or node required, but may contain a copy of the blockchain.

Закрытый ключ и открытый ключ первого узла могут формировать пару ключей (key-pair) (то есть, закрытый ключ и открытый ключ, соответствующие друг другу). Закрытый ключ, используемый для добавления криптографической подписи, может быть, например, закрытым узлом пользователя, закрытым ключом устройства узла или закрытым ключом, связанным с конкретным счетом.The private key and public key of the first node may form a key-pair (that is, a private key and a public key corresponding to each other). The private key used to add the cryptographic signature may be, for example, the user's private node, the node's device private key, or the private key associated with a particular account.

В частности, узлы могут равноправными узлами. Узлы могут быть независимы друг от друга и/или могут управляться независимыми объектами и/или лицами. Каждый узел может быть отдельным компьютером, имеющим специализированный процессор, устройства памяти и/или устройства ввода-вывода для осуществления связи с другими узлами. Первый узел и/или другие узлы могут быть устройством кошелька, где устройство кошелька может быть персональным компьютером (personal computer, PC), переносным компьютером или смартфоном. Устройство кошелька может также называться е-кошелек (e-wallet) или криптовалютный кошелек (crypto-wallet). In particular, nodes can be peer nodes. The nodes may be independent of each other and/or may be managed by independent entities and/or persons. Each node may be a separate computer having a dedicated processor, memory devices, and/or I/O devices for communicating with other nodes. The first node and/or other nodes may be a wallet device, where the wallet device may be a personal computer (PC), laptop or smart phone. A wallet device may also be called an e-wallet or a crypto-wallet.

Блокчейн может хранить каждую транзакцию, например, вышеупомянутую привилегированную транзакцию и/или описанные далее трансфертные транзакции, поскольку источник блокчейна, в котором содержится полная копия архива транзакций, может храниться по меньшей мере одним из узлов. The blockchain can store each transaction, such as the aforementioned privileged transaction and/or the transfer transactions described below, since the blockchain source, which contains a complete copy of the transaction archive, can be stored by at least one of the nodes.

В случае, когда (трансфертные) транзакции используются для перевода цифровых денег или цифровой валюты, транзакции могут содержать одно или более поступлений (input) или "непотраченных" (unspent) поступлений, которые указывают сумму денег, которой владеет узел (или пользователь, оперирующий с узлом) (то есть, кредитный баланс). Другими словами, поступления определяют, как много пользователь может потратить при трансфертной транзакции. Поступления могут быть получены от любого из узлов и/или от одного из блоков блокчейна. Дополнительно, транзакция может содержать одну или более выдач (output). Каждая выдача указывает, сколько денег должно быть переведено на конкретный счет (то есть, другому узлу). In the case where (transfer) transactions are used to transfer digital money or digital currency, the transactions may contain one or more receipts (input) or "unspent" (unspent) receipts, which indicate the amount of money owned by the node (or the user operating with node) (that is, the credit balance). In other words, receipts determine how much a user can spend in a transfer transaction. Receipts can be received from any of the nodes and / or from one of the blocks of the blockchain. Additionally, a transaction may contain one or more outputs. Each issue indicates how much money should be transferred to a specific account (that is, another node).

Например, каждая выдача может указывать номер счета и сумму денег, которая должна быть переведена на соответствующий номер счета. Транзакция может содержать вознаграждение за транзакцию, которое присуждается узлу, проводящему валидацию блока, который содержит транзакцию. For example, each dispensation may indicate an account number and the amount of money to be transferred to the corresponding account number. The transaction may contain a transaction reward that is awarded to the node that validates the block that contains the transaction.

Транзакция может также содержать подпись транзакции, например, дополнительную криптографическую подпись, которая используется для подписания самой транзакции. Дополнительная криптографическая подпись может основываться, например, на закрытом ключе пользователя, который желает перевести цифровые деньги другому пользователю. Дополнительная криптографическая подпись может быть основана на хэш-значении (hash-value) транзакции, которое шифруется с помощью закрытого ключа, например, пользователя. Открытый ключ может, например, представлять е-кошелек. Дополнительная криптографическая подпись может также называться "внутренней" криптографической подписью, поскольку криптографическая подпись, которая добавляется после того, как транзакция была сформирована, может также быть основана, по меньшей мере, частично, на внутренней криптографической подписи. Криптографическая подпись, которая добавляется для формирования подписанной привилегированной транзакции (как она используется здесь) может, соответственно, называться "внешней" криптографической подписью. Альтернативно, криптографическая подпись, которая добавляется для формирования подписанной транзакции, может также быть внутренней криптографической подписью. Короче говоря, криптографическая подпись, которая добавляется для формирования подписанной привилегированной транзакции (или подписанного блока), содержит хэш-значение информации, содержащейся в привилегированной транзакции (и/или блоке). Хэш-значение может шифроваться с помощью закрытого ключа первого узла (например, закрытого ключа пользователя).A transaction may also contain a transaction signature, such as an additional cryptographic signature that is used to sign the transaction itself. The additional cryptographic signature may be based, for example, on the private key of a user who wishes to transfer digital money to another user. An additional cryptographic signature may be based on a hash value (hash-value) of the transaction, which is encrypted using a private key, such as the user. The public key may, for example, represent an e-wallet. The additional cryptographic signature may also be referred to as an "internal" cryptographic signature, since the cryptographic signature that is added after the transaction has been generated may also be based at least in part on the internal cryptographic signature. The cryptographic signature that is added to form a signed privileged transaction (as used here) may, accordingly, be referred to as an "external" cryptographic signature. Alternatively, the cryptographic signature that is added to form a signed transaction may also be an internal cryptographic signature. In short, the cryptographic signature that is added to form a signed privileged transaction (or signed block) contains a hash value of the information contained in the privileged transaction (and/or block). The hash value may be encrypted with the first node's private key (eg, the user's private key).

Следует заметить, что упомянутые выше признаки транзакции могут относиться к привилегированной транзакция и/или к трансфертным транзакциям, упомянутым ниже, если не заявлено иное. Трансфертная транзакция, как она используется здесь, указывает транзакцию, которая переводит некоторую сумму денег с одного счета (или кошелька) на другой. It should be noted that the transaction features mentioned above may refer to the privileged transaction and/or the transfer transactions mentioned below, unless otherwise stated. A transfer transaction, as used here, refers to a transaction that transfers some amount of money from one account (or wallet) to another.

Транзакции могут группироваться в блоки. Например, все транзакции могут группироваться в одноминутные блоки или десятиминутные блоки. Это означает, что все транзакции, которые были сформированы в пределах последних одной или десяти минут, группируются в один блок. Во избежание сомнений, следует заметить, что блок может содержать только транзакции, только подписанные транзакции, только привилегированные транзакции, только подписанные привилегированные транзакции или смесь вышеперечисленного. Таким образом, подписанный блок может содержать одну или более подписанных транзакций. Transactions can be grouped into blocks. For example, all transactions can be grouped into one-minute blocks or ten-minute blocks. This means that all transactions that were generated within the last one or ten minutes are grouped into one block. For the avoidance of doubt, it should be noted that a block may contain only transactions, only signed transactions, only privileged transactions, only signed privileged transactions, or a mixture of the above. Thus, a signed block may contain one or more signed transactions.

Предпочтительно, разрешение хранится в качестве трансфертной транзакции внутри блокчейна. Эта трансфертная транзакция может затем также упоминаться как a "транзакция, предоставляющая разрешение" (grant permission transaction). Другими словами, пользователь (или узел), который получил сумму денег, используя конкретную трансфертную транзакцию, может, таким образом, быть определен как имеющий право на выполнение специальной транзакции. Это дает то преимущество, что механизм, свойственный блокчейну, используется для предоставления конкретным пользователям разрешения выполнения привилегированной транзакции/валидации блока блокчейна. Следовательно, для реализации этого предоставления разрешений необходимы лишь минимальные изменения, то есть, изменения в исходном коде существующего блокчейна. Preferably, the permission is stored as a transfer transaction within the blockchain. This transfer transaction may then also be referred to as a "grant permission transaction". In other words, a user (or node) who has received an amount of money using a particular transfer transaction may thus be determined to be entitled to perform a particular transaction. This has the advantage that a mechanism native to the blockchain is used to grant specific users permission to perform a privileged transaction/block validation on the blockchain. Therefore, only minimal changes are needed to implement this permission grant, i.e., changes to the source code of the existing blockchain.

Дополнительно предпочтительно, трансфертная транзакция, предоставляющая разрешение (то есть, транзакция, предоставляющая разрешение), берет начало от доверенного кошелька. Доверенный кошелек может быть кошельком, который получает специальные разрешения, как более подробно описано дальше. Таким образом, можно централизованно определить, что трансфертные транзакции или транзакции, предоставляющие разрешение, от доверенного кошелька дают получателю трансфертной транзакции право выполнить привилегированную транзакцию и/или проводить валидацию блока блокчейна.Further preferably, the permission granting transfer transaction (ie, the permission granting transaction) originates from the trusted wallet. A trusted wallet may be a wallet that receives special permissions, as described in more detail below. Thus, it can be centrally determined that transfer or authorization transactions from a trusted wallet entitle the recipient of the transfer transaction to execute a privileged transaction and/or validate a blockchain block.

Следовательно, трансфертная транзакция (то есть, транзакция, предоставляющая разрешение) из доверенного кошелька предпочтительно содержит идентификацию пользователя. Идентификация пользователя может быть, например, номером счета пользователя, открытым ключом или открытым ключом-хэшем пользователя и т. п. Транзакция, предоставляющая разрешение, от доверенного кошелька может, например, переводить очень небольшую сумму денег пользователю, которому будет разрешено выполнить специальную транзакцию и/или будет разрешено валидировать блок блокчейна. Therefore, a transfer transaction (ie, a transaction granting permission) from a trusted wallet preferably contains the user's identity. The identification of the user may be, for example, the user's account number, the user's public key or public hash key, etc. A permission granting transaction from a trusted wallet may, for example, transfer a very small amount of money to the user, who will be allowed to execute a special transaction and /or it will be allowed to validate a blockchain block.

Если используется трансфертная транзакция/транзакция, предоставляющая разрешение, от доверенного кошелька, это дает то преимущество, что транзакция, предоставляющая разрешение, сохраняется в блокчейне, так что каждый узел блокчейна вознаграждается за эту транзакцию, предоставляющую разрешение. Таким образом, каждому узлу блокчейна дается возможность валидации/верификации, если конкретному пользователю разрешается выполнить привилегированную транзакцию и/или разрешается валидировать блок блокчейна. Опять же, поскольку вся информация, необходимая для валидации разрешений пользователя, хранится внутри блокчейна, этот механизм может быть легко реализован в существующем блокчейне. Кроме того, фальсификация информации, хранящейся для предоставления конкретных разрешений, практически невозможна, поскольку копии блокчейна обычно существуют внутри множества узлов блокчейна и обычно гораздо меньше 50% узлов управляются одним и тем же лицом или организацией (более 50% должно, в некоторых случаях, позволять фальсификацию блокчейна).If a transfer/permission-granting transaction is used from a trusted wallet, this has the advantage that the permission-granting transaction is stored on the blockchain, so that every node on the blockchain is rewarded for that permission-granting transaction. Thus, each blockchain node is given a validation/verification opportunity if a particular user is allowed to perform a privileged transaction and/or is allowed to validate a blockchain block. Again, since all the information needed to validate user permissions is stored internally on the blockchain, this mechanism can easily be implemented on an existing blockchain. In addition, falsifying the information held to grant specific permissions is nearly impossible as copies of the blockchain typically exist within multiple blockchain nodes and typically far less than 50% of the nodes are managed by the same person or entity (more than 50% should, in some cases, allow blockchain falsification).

Предпочтительно, разрешение остается в силе, пока сумма денег, переведенная в транзакции, предоставляющей разрешение, остается неистраченной. Как только сумма денег истрачена (то есть, переведена другому пользователю или на другой счет), разрешение становится недействительным. Preferably, the authorization remains in effect as long as the amount of money transferred in the transaction granting the authorization remains unspent. As soon as the amount of money is spent (that is, transferred to another user or to another account), the permission becomes invalid.

Предпочтительно, трансфертная транзакция (то есть, транзакция, предоставляющая разрешение) переводит некоторую сумму денег из доверенного кошелька ему самому. Другими словами, доверенный кошелек инициирует трансфертную транзакцию, которая переводит некоторую сумму денег собственному доверенному кошельку. Эта трансфертная транзакция содержит, как упоминалось ранее, идентификацию пользователя, который должен получить право на выполнение привилегированной транзакции и/или на выполнение валидации блока. Как преимущество, пользователь при этом не может ошибочно потратить переведенную сумму (таким образом, лишаясь разрешения). Кроме того, доверенный кошелек может затем удалить разрешение, истратив соответствующую сумму, таким образом, например, позволяя аннулировать разрешение от злонамеренных пользователей/злонамеренных узлов.Preferably, the transfer transaction (i.e., the authorization transaction) transfers some amount of money from a trusted wallet to itself. In other words, the trusted wallet initiates a transfer transaction that transfers some amount of money to its own trusted wallet. This transfer transaction contains, as previously mentioned, the identity of the user who is to be granted the right to execute the privileged transaction and/or to perform block validation. As an advantage, the user cannot mistakenly spend the transferred amount (thus losing permission). In addition, the trusted wallet can then remove the permission by spending the appropriate amount, thus, for example, allowing permission to be revoked from malicious users/malicious nodes.

Альтернативно, как уже упоминалось, трансфертная транзакция (то есть, транзакция, предоставляющая разрешение) может перевести пользователю некоторую сумму денег из доверенного кошелька. Таким образом, пользователь напрямую получает сумму. Предпочтительно, разрешение существует, пока полученная от доверенного кошелька сумма является неистраченной. Alternatively, as already mentioned, a transfer transaction (that is, a transaction that grants permission) can transfer some amount of money from a trusted wallet to the user. Thus, the user directly receives the amount. Preferably, permission exists as long as the amount received from the trusted wallet is unspent.

Предпочтительно, доверенный кошелек получает сумму денег из корневого кошелька. Другими словами, корневой кошелек переводит некоторую сумму денег в доверенный кошелек (или в несколько различных доверенных кошельков) перед тем, как доверенный кошелек может перевести суммы пользователям. Таким образом, предоставление разрешений может иметь несколько этапов. Например, различные этапы могут быть подобны цепочке сертификатов. В частности, корневой кошелек может использовать транзакцию предоставления разрешения, чтобы создать первый доверенный кошелек. Затем первый доверенный кошелек может использовать транзакцию предоставления разрешения, чтобы создать второй доверенный кошелек. Этот процесс может повторяться до тех пор, пока не будет создан n-ый доверенный кошелек. N-ый доверенный кошелек может затем использовать транзакцию предоставления разрешения, чтобы предоставить разрешение кошельку реального пользователя. Обеспечение различных этапов разрешения может иметь преимущество, которое в случае проблем, например, необходимости аннулировать только разрешение n-ого доверенного кошелька, тогда как разрешения, предоставленные доверенным кошелькам, "более близким" к корневому кошельку, могут оставаться нетронутыми. Preferably, the trusted wallet receives the amount of money from the root wallet. In other words, the root wallet transfers some amount of money to the trusted wallet (or several different trusted wallets) before the trusted wallet can transfer the amounts to users. Thus, the granting of permissions can have several stages. For example, the various stages may be similar to a chain of certificates. In particular, the root wallet can use the grant transaction to create the first trusted wallet. The first trusted wallet can then use the grant transaction to create a second trusted wallet. This process can be repeated until the nth trusted wallet is created. The nth trusted wallet can then use the grant transaction to grant permission to the real user's wallet. Providing different permission steps can have the advantage that in case of problems, for example, only the permission of the nth trusted wallet needs to be revoked, while permissions granted to trusted wallets "closer" to the root wallet can remain intact.

Дополнительно предпочтительно, корневой кошелек определяется и сохраняется в генезисном блоке или в блоке, непосредственно следующем за генезисным блоком блокчейна. Сохраняя корневой кошелек в генезисном блоке блокчейна, невозможно, чтобы ветвление блокчейна исключало корневой кошелек. Таким образом, безопасность блокчейна опять дополнительно повышается. Further preferably, the root wallet is defined and stored in the genesis block or in the block immediately following the genesis block of the blockchain. By keeping the root wallet in the genesis block of the blockchain, it is not possible for the blockchain to branch out of the root wallet. Thus, the security of the blockchain is further increased again.

Трансфертная транзакция, которая переводит некоторую сумму денег из корневого кошелька в доверенный кошелек, может содержать неистраченное поступление корневого кошелька. Эта транзакция может также называться "транзакцией предоставления разрешения" (grant permission transaction), как упоминалось выше. Эта трансфертная транзакция может дополнительно содержать адрес или номер счета (например, в форме открытого ключа) доверенного кошелька в качестве выдачи. Таким образом, доверенный кошелек получает сумму денег из корневого кошелька. Таким образом, доверенному кошельку присваивается роль "органа сертификации". Альтернативно содержанию адреса или номера счета, полученным от доверенного кошелька или от корневого кошелька, доступность средств из доверенного кошелька или из корневого кошелька может быть достаточной для предоставления специальных прав (например, права действовать в качестве "органа сертификации").A transfer transaction that transfers some amount of money from a root wallet to a trusted wallet may contain unspent income from the root wallet. This transaction may also be referred to as a "grant permission transaction" as mentioned above. This transfer transaction may additionally contain the address or account number (eg, in the form of a public key) of the trusted wallet as issue. Thus, the trusted wallet receives the amount of money from the root wallet. Thus, the trusted wallet is assigned the role of "certificate authority". As an alternative to containing an address or account number received from a trusted wallet or from a root wallet, the availability of funds from a trusted wallet or from a root wallet may be sufficient to grant special rights (for example, the right to act as a "certificate authority").

Таким же образом, дополнительная трансфертная транзакция (то есть, дополнительная транзакция предоставления разрешения) может перевести пользователю некоторую сумму денег из доверенного кошелька (то есть, в кошелек пользователя или на вышеупомянутый первый узел). Эта транзакция предоставления разрешения может содержать неистраченное поступление доверенного кошелька. Эта транзакция предоставления разрешения может содержать номер счета или адрес пользователя (то есть, идентификацию пользователя) в качестве выдачи. Таким образом, пользователь получает некоторую сумму денег, причем эта сумма денег/эта трансфертная транзакция может позволить пользователю выполнить привилегированную транзакцию. Предпочтительно, пользователю разрешается выполнить привилегированную транзакцию только после того, как трансфертная транзакция пользователю из доверенного кошелька была включена в один или более блоков, прошедших валидацию.In the same way, an additional transfer transaction (ie, an additional grant transaction) can transfer some amount of money to the user from a trusted wallet (ie, to the user's wallet or to the aforementioned first node). This authorization transaction may contain unspent receipts from the trusted wallet. This authorization transaction may contain the user's account number or address (ie, the user's identification) as the issue. Thus, the user receives some amount of money, and this amount of money/this transfer transaction may allow the user to perform a privileged transaction. Preferably, the user is allowed to execute the privileged transaction only after the transfer transaction to the user from the trusted wallet has been included in one or more validated blocks.

Предпочтительно, привилегированная транзакция выполняет формирование суммы денег. Другими словами, привилегированная транзакция может быть коинбазовой транзакцией или транзакцией формирования или даже ("обычной") трансфертной транзакцией, где трансфертная транзакция может также использоваться для формирования новых коинов. Количество коинов, то есть, сумма денег, которая формируется, может быть основано на возрасте коинов для коинов пользователя. Возраст коинов может определяться как количество коинов (то есть, сумма денег) пользователя, умноженное на время, в течение которого пользователь владел коинами. Сумма денег, сформированная в привилегированной транзакции, может быть кредитована пользователю. Preferably, the privileged transaction performs the generation of a sum of money. In other words, a privileged transaction can be a coinbase transaction or a formation transaction, or even a ("regular") transfer transaction, where the transfer transaction can also be used to generate new coins. The number of coins, that is, the amount of money that is generated, can be based on the age of the coins for the user's coins. The age of the coins can be defined as the number of coins (i.e., the amount of money) of the user multiplied by the time the user held the coins. The amount of money generated in the privileged transaction may be credited to the user.

Дополнительно предпочтительно, чтобы сумма денег, полученная из доверенного кошелька, указывала, сколько денег может быть сформировано в привилегированной транзакции. Например, если доверенный кошелек перевел пользователю 10 микрокоинов, это может указывать, что пользователь может в рамках привилегированной транзакции сформировать сумму в размере 10% от количества коинов, которыми он владеет, или, например, сумму в 10% от числа коинов, которыми он владеет, умноженную на количество времени, в течение которого он владеет коинами.Further preferably, the amount of money received from the trusted wallet indicates how much money can be generated in the privileged transaction. For example, if a trusted wallet transferred 10 microcoins to a user, this could indicate that the user can form an amount equal to 10% of the number of coins he owns, or, for example, an amount of 10% of the number of coins he owns, as part of a privileged transaction. multiplied by the amount of time he owns the coins.

Например, привилегированная транзакция может содержать в качестве поступлений, по меньшей мере, часть или все неистраченные поступления пользователя. Привилегированная транзакция может также содержать ссылку на сумму, полученную от доверенного кошелька, и/или переданную корневому кошельку. Дополнительно, привилегированная транзакция может содержать выдачи, сумма которых достигает большей суммы денег, чем поступления. Таким образом, формируются новые деньги, которые кредитуются пользователю.For example, a privileged transaction may contain as receipts at least some or all of the user's unspent receipts. The privileged transaction may also contain a reference to the amount received from the trusted wallet and/or transferred to the root wallet. Additionally, a privileged transaction may contain withdrawals that amount to more money than receipts. Thus, new money is formed, which is credited to the user.

Новые деньги могут, таким образом, быть созданы привилегированной транзакцией, предпочтительно, по принципу "доказательства доли владения" (proof of stake, PoS). В отличие от "доказательства выполнения работы" (proof of work, PoW), что, например, используется в блокчейне биткоинов, PoS не требует огромных объемов энергии. Поэтому блокчейн может быть очень энергетически эффективным.New money can thus be created by a privileged transaction, preferably on a "proof of stake" (PoS) basis. Unlike "proof of work" (PoW), which is used in the Bitcoin blockchain, for example, PoS does not require huge amounts of energy. Therefore, the blockchain can be very energy efficient.

Дополнительно предпочтительно, разрешение аннулируется посредством израсходования суммы, переведенной в процессе трансфертной транзакции/транзакции предоставления разрешения. Сумма может быть потрачена, например, самим пользователем или его доверенным кошельком. Таким образом, например, если пользователь или узел идентифицируется как зловредный, доверенный кошелек может потратить сумму денег, переведенную при трансфертной транзакции, что указывает на злонамеренного пользователя, аннулируя, таким образом, разрешение злонамеренного пользователя. Further preferably, the authorization is canceled by spending the amount transferred in the transfer/authorization transaction process. The amount can be spent, for example, by the user himself or his trusted wallet. Thus, for example, if a user or node is identified as malicious, a trusted wallet can spend the amount of money transferred in the transfer transaction, which indicates a malicious user, thus revoking the malicious user's permission.

Изобретение также относится к системе для блокчейна, содержащей The invention also relates to a blockchain system comprising

- первый узел, - first node

- множество других узлов, где другие узлы хранят копии блокчейна, причем узлы соединяются друг с другом, используя соединения для передачи данных и первый узел выполнен с возможностью - many other nodes, where other nodes store copies of the blockchain, and the nodes are connected to each other using data connections and the first node is configured to

- формирования привилегированной транзакции блокчейна для пользователя, - formation of a privileged blockchain transaction for the user,

- предпочтительно, используя закрытый ключ пользователя, добавления криптографической подписи к привилегированной транзакции, создавая таким образом, предпочтительно, (подписанную) привилегированную транзакцию, - preferably, using the user's private key, adding a cryptographic signature to the privileged transaction, thus creating, preferably, a (signed) privileged transaction,

- широковещательного распространения (подписанной) привилегированной транзакции множеству других узлов блокчейна, где другие узлы выполняются с возможностью валидации, если пользователю разрешается выполнить привилегированную транзакцию и если разрешение на выполнение привилегированной транзакции было сохранено внутри блокчейна перед формированием привилегированной транзакции,- broadcasting a (signed) privileged transaction to a plurality of other nodes on the blockchain, where other nodes are executed with validation capability, if the user is allowed to perform the privileged transaction and if the permission to perform the privileged transaction was stored internally on the blockchain before the privileged transaction was generated,

и/илиand/or

в котором первый узел выполнен с возможностью валидации блока блокчейна для пользователя, где первый узел выполнен с возможностью wherein the first node is configured to validate a blockchain block for a user, where the first node is configured to

- формирования блока блокчейна, где блок содержит одну или более транзакций, - formation of a blockchain block, where the block contains one or more transactions,

- предпочтительно, добавления криптографической подписи, используя закрытый ключ первого узла, создавая таким образом, предпочтительно, (подписанный) блок,- preferably, adding a cryptographic signature using the private key of the first node, thus creating, preferably, a (signed) block,

- широковещательного распространения (подписанного) блока множеству других узлов блокчейна, где другие узлы выполнены с возможностью верификации криптографической подписи подписанного блока, используя открытый ключ пользователя, причем узлы проводят валидацию, если пользователю разрешается проведение валидации блока и разрешение проведения валидации блока было сохранено внутри блокчейна до валидации блока.- broadcasting a (signed) block to a plurality of other nodes on the blockchain, where the other nodes are configured to verify the cryptographic signature of the signed block using the user's public key, the nodes validating if the user is allowed to validate the block and the permission to validate the block has been stored within the blockchain before block validation.

Изобретение, в конечном счете, относится к устройству узла блокчейна, в котором устройство узла выполнено с возможностьюThe invention ultimately relates to a blockchain node device in which the node device is configured to

- формирования привилегированной транзакции блокчейна для пользователя, - formation of a privileged blockchain transaction for the user,

- предпочтительно, используя закрытый ключ пользователя, добавления криптографической подписи к привилегированной транзакции, создавая, таким образом, предпочтительно, (подписанную) привилегированную транзакцию, - preferably, using the user's private key, adding a cryptographic signature to the privileged transaction, thus preferably creating a (signed) privileged transaction,

- широковещательного распространения подписанной привилегированной транзакции множеству других узлов блокчейна, - broadcasting a signed privileged transaction to many other blockchain nodes,

и/илиand/or

в котором первый узел выполнен с возможностью валидации блока блокчейна для пользователя, где первый узел выполнен с возможностьюwherein the first node is configured to validate a blockchain block for a user, where the first node is configured to

- формирования блока блокчейна, причем блок содержит одну или более транзакций, - formation of a blockchain block, and the block contains one or more transactions,

- предпочтительно, используя закрытый ключ первого узла к блоку, добавления криптографической подписи, создавая, таким образом, (подписанный) блок, - preferably, using the private key of the first node to the block, adding a cryptographic signature, thus creating a (signed) block,

- широковещательного распространения подписанного блока множеству других узлов блокчейна. - broadcast distribution of the signed block to many other nodes of the blockchain.

Раскрытие, связанное со способами изобретения, также относится к изобретательной системе и к изобретательному устройству узла. Оно, в частности, действительно с точки зрения упомянутых здесь преимуществ и предпочтительных вариантов осуществления. The disclosure related to the methods of the invention also relates to the inventive system and to the inventive assembly device. It is particularly valid in terms of the advantages and preferred embodiments mentioned here.

Различные признаки и преимущества настоящего изобретения станут более очевидны из последующего описания и сопроводительных чертежей, на которых:The various features and advantages of the present invention will become more apparent from the following description and accompanying drawings, in which:

фиг. 1 - схематичное представление блокчейна;fig. 1 - schematic representation of the blockchain;

фиг. 2 - схематичное представление принципа действия блокчейна, когда привилегированная транзакция формируется и распространяется.fig. 2 is a schematic representation of the principle of operation of the blockchain, when a privileged transaction is formed and distributed.

На фиг. 1 показан блокчейн 10, содержащий множество различных блоков 12. Каждый из блоков 12 связывается с предыдущим блоком 12. Каждый блок 12 содержит множество транзакций 14. In FIG. 1 shows a blockchain 10 containing many different blocks 12. Each of the blocks 12 links to the previous block 12. Each block 12 contains many transactions 14.

Первый блок 12 называется генезисным блоком 16. В генезисном блоке 16 хранится адрес корневого кошелька 18. Альтернативно, генезисный блок 16 может быть пустым, за исключением коинбазы. Затем адрес корневого кошелька 18 может быть сохранен в последующем блоке 12. The first block 12 is called the genesis block 16. The genesis block 16 stores the address of the root wallet 18. Alternatively, the genesis block 16 may be empty except for the coinbase. The root wallet address 18 can then be stored in a subsequent block 12.

В качестве примера, генезисный блок 16 может также содержать трансфертную транзакцию 14 (то есть, транзакцию предоставления разрешения) от корневого кошелька 18 доверенному кошельку 20. As an example, the genesis block 16 may also contain a transfer transaction 14 (i.e., a grant transaction) from the root wallet 18 to the trusted wallet 20.

Доверенный кошелек 20 может перевести некоторую сумму денег кошельку 22 пользователя, где трансфертная транзакция 14, которая переводит определенную сумму кошельку 22 пользователя, сохраняется в другом блоке 12. Эта трансфертная транзакция 14 (то есть, транзакция предоставления разрешения) предоставляет пользователю кошелька 22 право выполнения привилегированных транзакций 14a. Альтернативно, доверенный кошелек 20 может использовать трансфертную транзакцию 14 для перевода себе (то есть, доверенному кошельку 20) некоторой суммы. Эта трансфертная транзакция 14 может содержать информацию о кошельке 22 пользователя, предоставляя, таким образом, пользователю кошелька 22 право выполнения привилегированных транзакций 14a.The trusted wallet 20 may transfer some amount of money to the user's wallet 22, where the transfer transaction 14, which transfers a certain amount to the user's wallet 22, is stored in another block 12. transactions 14a. Alternatively, trusted wallet 20 may use transfer transaction 14 to transfer some amount to itself (ie, trusted wallet 20). This transfer transaction 14 may contain information about the user's wallet 22, thus granting the user of the wallet 22 the right to perform privileged transactions 14a.

Процесс формирования и обработки привилегированной транзакции 14a показан на фиг. 2. The process of generating and processing a privileged transaction 14a is shown in FIG. 2.

На фиг. 2 показан первый узел 24, второй узел 26, третий узел 28 и четвертый узел 30. Узлы 24-30 исполняют функции блокчейна 10. Узлы 24-30 соединяются между собой, используя соединения 32 передачи данных (например, Ethernet-соединения). Узлы 24-30 могут быть идентичными экземплярами одного и того же вида узлов 24-30, в которых в дальнейшем первый узел 24 является примером, описанным более подробно. In FIG. 2 shows the first node 24, the second node 26, the third node 28 and the fourth node 30. Nodes 24-30 perform the functions of the blockchain 10. Nodes 24-30 are interconnected using data connections 32 (for example, Ethernet connections). Nodes 24-30 may be identical instances of the same kind of nodes 24-30, in which in the following, the first node 24 is an example described in more detail.

Каждый из узлов 24-30 хранит копию блокчейна 10. Each of nodes 24-30 stores a copy of blockchain 10.

Первый узел 24 формирует привилегированную транзакцию 14a. Первый узел 24 затем криптографически подписывает привилегированную транзакцию и передает подписанную привилегированную транзакцию 14 другим узлам 26-30. Другие узлы 26-30 затем проводят проверку по своим копиям блокчейна 10, если первый узел 24 в прошлом получил от доверенного кошелька 20 некоторую сумму денег и если сумма денег, которая была получена от доверенного кошелька 20, все еще не истрачена (или если сумма, которую доверенный кошелек 20 перевел себе, все еще не истрачена). Если такой случай имеет место, другие узлы 26-30 акцептируют привилегированную транзакцию 14a и, например, сумма денег кредитуется кошельку 22 пользователя для пользователя первого узла 24 (коинбазы). The first node 24 generates a privileged transaction 14a. The first node 24 then cryptographically signs the privileged transaction and transmits the signed privileged transaction 14 to other nodes 26-30. The other nodes 26-30 then check against their copies of the blockchain 10 if the first node 24 has received some amount of money from the trusted wallet 20 in the past and if the amount of money that was received from the trusted wallet 20 is still not spent (or if the amount which the trusted wallet 20 transferred to itself is still not spent). If such a case occurs, the other nodes 26-30 accept the privileged transaction 14a and, for example, the amount of money is credited to the user's wallet 22 for the user of the first node 24 (coinbase).

Однако если другие узлы 26-30 обнаруживают, что либо никакой транзакции от доверенного кошелька 20 кошельку 22 пользователя не существует, либо, что сумма, которая была переведена от доверенного кошелька 20 кошельку 22 пользователя уже была истрачена (то есть, разрешение было аннулировано), то тогда привилегированная транзакция 14a не акцептируется. Таким образом, например, злонамеренный узел или пользователь могут быть исключены из выполнения привилегированных транзакций 14a. Таким образом, безопасность блокчейна 10 повышается. However, if the other nodes 26-30 detect that either no transaction exists from the trusted wallet 20 to the user's wallet 22, or that the amount that was transferred from the trusted wallet 20 to the user's wallet 22 has already been spent (that is, the authorization has been revoked), then privileged transaction 14a is not accepted. Thus, for example, a malicious node or user can be excluded from performing privileged transactions 14a. Thus, the security of the blockchain 10 is improved.

Заметим, что вышесказанное соответственно действительно для валидации блока 12. В этом случае привилегированная транзакция 14a на фиг. 2 должна быть заменена блоком 12.Note that the above is correspondingly valid for block validation 12. In this case, privileged transaction 14a in FIG. 2 should be replaced by block 12.

Перечень ссылочных позицийList of reference positions

10 - Блокчейн10 - Blockchain

12 - Блок12 - Block

14 - Транзакция14 - Transaction

14a - Привилегированная транзакция14a - Privileged transaction

16 - Генезисный блок16 - Genesis Block

18 - Корневой кошелек18 - Root Wallet

20 - Доверенный кошелек20 - Trusted Wallet

22 - Кошелек пользователя22 - User wallet

24 - Первый узел24 - First node

26 - Второй узел26 - Second node

28 - Третий узел28 - Third node

30 - Четвертый узел30 - Fourth knot

32 - Соединение передачи данных.32 - Data connection.

Claims (28)

1. Способ формирования привилегированной транзакции (14a) в блокчейне (10), содержащий этапы, на которых: 1. A method for forming a privileged transaction (14a) in a blockchain (10), comprising the steps of: формируют привилегированную транзакцию (14a) пользователем посредством первого узла (24) блокчейна (10), a privileged transaction (14a) is formed by the user through the first node (24) of the blockchain (10), добавляют криптографическую подпись, использующую закрытый ключ пользователя, к привилегированной транзакции (14a), создавая тем самым подписанную привилегированную транзакцию (14a),adding a cryptographic signature using the user's private key to the privileged transaction (14a), thereby creating a signed privileged transaction (14a), широковещательно передают подписанную привилегированную транзакцию (14a) множеству других узлов (26-30) блокчейна (10), причем другие узлы (26-30) проверяют, разрешается ли пользователю выполнить привилегированную транзакцию (14a), при этом разрешение выполнить привилегированную транзакцию (14a) было сохранено в блокчейне (10) до формирования привилегированной транзакции (14a), при этом разрешение сохраняют в качестве трансфертной транзакции (14) в блокчейне (10), и трансфертная транзакция (14), предоставляющая разрешение, исходит из доверенного кошелька (20).broadcasting the signed privileged transaction (14a) to a plurality of other nodes (26-30) of the blockchain (10), wherein the other nodes (26-30) check whether the user is allowed to perform the privileged transaction (14a), with permission to execute the privileged transaction (14a) was stored on the blockchain (10) prior to the formation of the privileged transaction (14a), wherein the permission is stored as a transfer transaction (14) on the blockchain (10), and the transfer transaction (14) granting the permission originates from the trusted wallet (20). 2. Способ валидации блока (12) блокчейна (10), содержащий этапы, на которых:2. A method for validating a block (12) of a blockchain (10), comprising the steps of: формируют блок (12) пользователем блокчейна (10) посредством первого узла (24) блокчейна (10), причем блок (12) содержит одну или более транзакций (14),a block (12) is formed by the user of the blockchain (10) by means of the first node (24) of the blockchain (10), wherein the block (12) contains one or more transactions (14), добавляют криптографическую подпись, использующую закрытый ключ первого узла (24), к блоку (12), создавая тем самым подписанный блок (12),add a cryptographic signature using the private key of the first node (24) to the block (12), thereby creating a signed block (12), широковещательно передают подписанный блок (12) множеству других узлов (26-30) блокчейна (10), причем другие узлы (26-30) проверяют, разрешается ли пользователю проводить валидацию блока (12), причем разрешение проводить валидацию блока (12) было сохранено в блокчейне (10) до валидации блока (12), при этом разрешение сохраняют в качестве трансфертной транзакции (14) в блокчейне (10), и трансфертная транзакция (14), предоставляющая разрешение, исходит из доверенного кошелька (20).broadcasting the signed block (12) to a plurality of other nodes (26-30) of the blockchain (10), wherein the other nodes (26-30) check whether the user is allowed to validate the block (12), and the permission to validate the block (12) has been retained on the blockchain (10) until the block (12) is validated, wherein the permission is stored as a transfer transaction (14) in the blockchain (10), and the transfer transaction (14) granting the permission originates from the trusted wallet (20). 3. Способ по п. 1 или 2, в котором трансфертная транзакция (14) содержит указание пользователя.3. The method according to claim 1 or 2, wherein the transfer transaction (14) contains a user indication. 4. Способ по любому из пп. 1–3, в котором трансфертная транзакция (14) переводит себе (20) сумму денег из доверенного кошелька (20).4. The method according to any one of paragraphs. 1-3, in which the transfer transaction (14) transfers to itself (20) the amount of money from the trusted wallet (20). 5. Способ по любому из пп. 1–3, в котором трансфертная транзакция (14) переводит пользователю (22) сумму денег из доверенного кошелька (20).5. The method according to any one of paragraphs. 1-3, in which the transfer transaction (14) transfers to the user (22) the amount of money from the trusted wallet (20). 6. Способ по любому из пп. 1–5, в котором доверенный кошелек (20) получает сумму денег от корневого кошелька (18).6. The method according to any one of paragraphs. 1-5, in which the trusted wallet (20) receives the amount of money from the root wallet (18). 7. Способ по п. 6, в котором определяют и хранят корневой кошелек (18) в генезисном блоке (16) блокчейна (10).7. The method according to claim 6, wherein the root wallet (18) is determined and stored in the genesis block (16) of the blockchain (10). 8. Способ по любому из пп. 1–7, в котором привилегированная транзакция (14a) выполняет формирование суммы денег.8. The method according to any one of paragraphs. 1-7, in which the privileged transaction (14a) performs the formation of a sum of money. 9. Способ по любому из пп. 3–8, в котором аннулируют разрешение посредством израсходования суммы, переведенной в трансфертной транзакции (14).9. The method according to any one of paragraphs. 3-8, in which the authorization is canceled by spending the amount transferred in the transfer transaction (14). 10. Система блокчейна (10), содержащая10. Blockchain system (10) containing первый узел (24),first node (24), множество других узлов (26-30), причем узлы (24-30) хранят копии блокчейна (10), many other nodes (26-30), with nodes (24-30) storing copies of the blockchain (10), при этом узлы (24-30) соединены друг с другом с использованием соединений (32) для передачи данных,wherein the nodes (24-30) are connected to each other using connections (32) for data transmission, при этом первый узел (24) выполнен с возможностью:wherein the first node (24) is configured to: формирования для пользователя привилегированной транзакции (14a) блокчейна (10),formation for the user of a privileged transaction (14a) of the blockchain (10), добавления криптографической подписи, использующей закрытый ключ пользователя, к привилегированной транзакции, создавая тем самым подписанную привилегированную транзакцию (14a),adding a cryptographic signature using the user's private key to the privileged transaction, thereby creating a signed privileged transaction (14a), широковещательной передачи подписанной привилегированной транзакции (14a) множеству других узлов (26-30) блокчейна (10), причем другие узлы (26-30) выполнены с возможностью проверять, разрешается ли пользователю выполнить привилегированную транзакцию (14a), при этом разрешение выполнить привилегированную транзакцию (14a) было сохранено в блокчейне (10) до формирования привилегированной транзакции (14a), при этом разрешение сохраняется в качестве трансфертной транзакции (14) в блокчейне (10), и трансфертная транзакция (14), предоставляющая разрешение, исходит из доверенного кошелька (20);broadcasting the signed privileged transaction (14a) to a plurality of other nodes (26-30) of the blockchain (10), wherein the other nodes (26-30) are configured to check whether the user is allowed to perform the privileged transaction (14a), while allowing the privileged transaction to be performed (14a) was stored on the blockchain (10) prior to the formation of the privileged transaction (14a), with the permission stored as a transfer transaction (14) on the blockchain (10) and the transfer transaction (14) granting the permission comes from a trusted wallet ( 20); и/или and/or первый узел (24) выполнен с возможностью валидации блока (12) блокчейна (10) для пользователя, причем первый узел (24) выполнен с возможностью:the first node (24) is configured to validate the block (12) of the blockchain (10) for the user, and the first node (24) is configured to: формирования блока (12) блокчейна (10), причем блок (12) содержит одну или более транзакций (14),forming a block (12) of the blockchain (10), wherein the block (12) contains one or more transactions (14), добавления криптографической подписи, использующей закрытый ключ первого узла (24), к блоку (12), создавая тем самым подписанный блок (12),adding a cryptographic signature using the private key of the first node (24) to the block (12), thereby creating a signed block (12), широковещательной передачи подписанного блока (12) множеству других узлов (26-30) блокчейна (10), причем другие узлы (26-30) проверяют, разрешается ли пользователю проводить валидацию блока (12), причем разрешение проводить валидацию блока (12) было сохранено в блокчейне (10) до валидации блока (12), при этом разрешение сохраняется в качестве трансфертной транзакции (14) в блокчейне (10), и трансфертная транзакция (14), предоставляющая разрешение, исходит из доверенного кошелька (20).broadcasting the signed block (12) to a plurality of other nodes (26-30) of the blockchain (10), wherein the other nodes (26-30) check whether the user is allowed to validate the block (12), and the permission to validate the block (12) has been retained on the blockchain (10) until the block (12) is validated, whereby the permission is stored as a transfer transaction (14) in the blockchain (10) and the transfer transaction (14) granting the permission originates from the trusted wallet (20).
RU2021101699A 2018-06-28 2019-06-28 Method for forming a privileged transaction in blockchain and method for block validation in blockchain RU2794606C2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP18180588.8 2018-06-28

Publications (2)

Publication Number Publication Date
RU2021101699A RU2021101699A (en) 2022-07-28
RU2794606C2 true RU2794606C2 (en) 2023-04-24

Family

ID=

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017066002A1 (en) * 2015-10-17 2017-04-20 Banqu, Inc. Blockchain-based identity and transaction platform
CN107094077A (en) * 2017-04-21 2017-08-25 杭州秘猿科技有限公司 A kind of license chain Accounting system for not limiting signature algorithm
US20170317834A1 (en) * 2016-04-30 2017-11-02 Civic Technologies, Inc. Methods and systems of providing verification of information using a centralized or distributed ledger
WO2018026883A1 (en) * 2016-08-05 2018-02-08 Chicago Mercantile Exchange Inc. Systems and methods for blockchain rule synchronization
US20180082256A1 (en) * 2016-09-19 2018-03-22 Sap Se Decentralized credentials verification network
AU2018100482A4 (en) * 2018-04-04 2018-06-07 Black Gold Coin, Inc. Systems and methods for personal identification and verification

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017066002A1 (en) * 2015-10-17 2017-04-20 Banqu, Inc. Blockchain-based identity and transaction platform
US20170317834A1 (en) * 2016-04-30 2017-11-02 Civic Technologies, Inc. Methods and systems of providing verification of information using a centralized or distributed ledger
WO2018026883A1 (en) * 2016-08-05 2018-02-08 Chicago Mercantile Exchange Inc. Systems and methods for blockchain rule synchronization
US20180082256A1 (en) * 2016-09-19 2018-03-22 Sap Se Decentralized credentials verification network
CN107094077A (en) * 2017-04-21 2017-08-25 杭州秘猿科技有限公司 A kind of license chain Accounting system for not limiting signature algorithm
AU2018100482A4 (en) * 2018-04-04 2018-06-07 Black Gold Coin, Inc. Systems and methods for personal identification and verification

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Christian Cachin и др., "Blockchain Consensus Protocols in the Wild", 07.07.2017, доступно по адресу: https://arxiv.org/pdf/1707.01873, раздел "4.10 Multichain". Xiwei Xu и др., "A Taxonomy of Blockchain-Based Systems for Architecture Design", апрель 2017, доступно по адресу: https://www.researchgate.net/profile/Ingo-Weber-2/publication/314213262_A_Taxonomy_of_Blockchain-Based_Systems_for_Architecture_Design/links/59e82617458515c3630fdaf5/A-Taxonomy-of-Blockchain-Based-Systems-for-Architecture-Design.pdf, раздел "III. Design Taxonomy". *

Similar Documents

Publication Publication Date Title
Kannengießer et al. Trade-offs between distributed ledger technology characteristics
KR102409819B1 (en) Distributed transaction propagation and verification system
Peck Blockchains: How they work and why they'll change the world
Asharaf et al. Decentralized computing using blockchain technologies and smart contracts: Emerging research and opportunities: Emerging research and opportunities
Cruz et al. E-voting system based on the bitcoin protocol and blind signatures
EP3419210A1 (en) Method for generating a transaction of a blockchain and method for validating a block of a blockchain
Bergquist Blockchain technology and smart contracts: privacy-preserving tools
Godfrey-Welch et al. Blockchain in payment card systems
Garg Blockchain for real world applications
Wijaya et al. On the unforkability of monero
Zouina et al. Towards a distributed token based payment system using blockchain technology
Garman et al. Rational zero: Economic security for zerocoin with everlasting anonymity
Goharshady et al. Secure credit reporting on the blockchain
Khedekar et al. Protection to Personal Data Using Decentralizing Privacy of Blockchain.
CN117044161A (en) Preventing sensitive data
WO2021139391A1 (en) Methods and devices for mitigating invoice financing fraud
EP3588411A1 (en) Method for generating a privileged transaction in a blockchain and method for validating a block of a blockchain
RU2794606C2 (en) Method for forming a privileged transaction in blockchain and method for block validation in blockchain
Manu et al. Blockchain components and concept
Vignesh et al. A quantum-based blockchain approach to voting protocol using hyperledger sawtooth
Chepurnoy et al. Bypassing non-outsourceable proof-of-work schemes using collateralized smart contracts
CN114830159A (en) Method and apparatus for mitigating bill financing fraud
CN114846765A (en) Method and apparatus for providing decentralized identity verification
Stampernas Blockchain technologies and smart contracts in the context of the Internet of Things
CN114930372A (en) Method and apparatus for facilitating split-note financing