Настоящее изобретение относится к способу формирования привилегированной транзакции в блокчейне и к способу валидации блока в блокчейне.
Блокчейны становятся все более и более популярны для множества применений. Блокчейн является распределенной базой данных, в которой информация записывается внутри аппаратного кошелька (ledger) публичных транзакций (то есть, блокчейна).
Например, блокчейны могут использоваться для представления денег, например, в форме "цифровых денег" (digital money). Одним из хорошо известных примеров таких денег является биткоин (bitcoin), являющийся криптовалютой (crypto-currency), основанной на режиме сети с равноправными участниками (peer-to-peer network). Другими цифровыми деньгами являются лайткоин (Litecoin) или праймкоин (Primecoin).
Для перевода сумм (или "коинов") таких денег внутри блокчейна, используются транзакции (или трансфертные транзакции, как это используется здесь). Транзакции обычно распределяются по узлам блокчейна. Узлы проверяют транзакцию на корректность. Корректные транзакции могут затем собираться в блоки, в которых транзакции становятся действительными, только если они включены в один или более прошедших валидацию блоков блокчейна.
Дополнительно, чтобы медленно увеличивать во времени сумму денег, присутствующих в блокчейне, могут выполняться специальные или привилегированные транзакции. Эти привилегированные транзакции могут, например, формировать новые суммы денег (из ничего, "out of the nothing"), например, посредством майнинга (mining) или минтинга (minting). Такая транзакция формирования денег может называться "транзакция коинбазы" (coinbase transaction) или, в более общем виде, "транзакция формирования" (generation transaction).
Однако, с точки зрения безопасности может быть предпочтительным гарантировать, что формирование новых денег разрешается только корректным элементам/пользователям/узлам блокчейна. В отличие от этого, например, в сети биткоинов новые деньги могут формироваться каждым элементом.
Следовательно, денежные блокчейны уязвимы, если существуют злонамеренные узлы или даже если большинство узлов блокчейна являются злонамеренными. Кроме того, целостность блокчейна может подвергаться риску и блокчейн может быть уязвимым для различных атак.
Поэтому задача настоящего изобретения заключается в обеспечении способа, повышающего защищенность блокчейна.
Эта задача решается способами, соответствующими пп. 1, 2 формулы изобретения.
Пункт 1 формулы изобретения относится к способу формирования привилегированной транзакции блокчейна, в котором
- привилегированная транзакция формируется пользователем с помощью первого узла блокчейна,
- как вариант, используя закрытый ключ пользователя, криптографическая подпись добавляется к привилегированной транзакции, создавая, таким образом, как вариант, подписанную привилегированную транзакцию,
- (подписанная) привилегированная транзакция широковещательно распространяется множеству других узлов блокчейна, где другие узлы выполняют валидацию, если пользователю разрешается выполнить привилегированную транзакцию, где разрешение на выполнение привилегированной транзакции было сохранено в блокчейне перед формированием привилегированной транзакции.
Пункт 2 формулы изобретения относится к способу валидации блока блокчейна, в котором
- блок формируется пользователем блокчейна посредством первого узла блокчейна, в котором блок содержит одну или более транзакций,
- как вариант, к блоку добавляется криптографическая подпись, используя закрытый ключ первого узла, создавая, как вариант, подписанный блок,
- (подписанный) блок широковещательно распространяется множеству других узлов блокчейна, где другие узлы предпочтительно проводят верификацию криптографической подписи подписанного блока, используя открытый ключ пользователя, и где другие узлы проводят валидацию, если пользователю разрешается проводить валидацию блока, причем разрешение на выполнение валидации блока было сохранено в блокчейне перед валидацией блока.
Другими словами, изобретение основывается на признании, что безопасность блокчейна может быть повышена, если пользователь (или соответствующий первый узел пользователя) запрашивает авторизацию/разрешение выполнения привилегированной транзакции как разрешение, которое может быть аннулировано для злонамеренных узлов. Дополнительно, подтверждено разрешение простой реализации авторизации в существующих механизмах блокчейна, если разрешение выполнения привилегированной транзакции хранится в самом блокчейне. Поскольку сам блокчейн обычно (по меньшей мере, частично) хранится внутри каждого узла блокчейна, каждый узел можно легко проводить верификацию/валидацию, если пользователю разрешается выполнить привилегированную транзакцию. Если пользователю разрешается выполнить привилегированную транзакцию, то только тогда привилегированная транзакция собирается в одном из блоков блокчейна. Информация, если пользователю (или узлу пользователя) разрешается выполнить привилегированную транзакцию, может быть сохранена внутри блокчейна различными путями. Необходимо только, чтобы из информации, хранящийся в блокчейне, было ясно, что пользователю разрешено выполнить привилегированную транзакцию.
В частности, разрешение выполнения привилегированной транзакции может быть предоставлено трансфертной транзакцией (то есть, транзакцией, предоставляющей разрешение), как упомянуто далее. Транзакция, предоставляющая разрешение, может, например, переводить некоторую сумму денег либо самому себе, если транзакция затем может содержать идентификацию пользователя, либо определенная сумма денег может быть напрямую переведена в кошелек пользователя. Пока переведенная сумма транзакции, предоставляющей разрешение, не потрачена, разрешение может оставаться действительным.
Таким же образом валидация блока блокчейна может быть закреплена за пользователями, которым разрешено валидировать блок. Таким образом, например, сумма денег, переведенная пользователю, который проводит валидацию блока блокчейна, не переводится злонамеренному пользователю или узлу. Опять же, поскольку разрешение на выполнение валидации хранится в самом блокчейне, необходимо только небольшое изменение кода существующего блокчейна (например, блокчейна биткоинов).
В частности, разрешение выполнения привилегированной транзакции и/или разрешение выполнения валидации блока может быть сохранено внутри блокчейна и/или централизовано управляться в блокчейне. Поскольку блокчейн обычно распределяется по множеству узлов, изобретение добавляет небольшой централизованный элемент, который значительно повышает безопасность блокчейна.
Для полноты, следует упомянуть, что другие узлы могут верифицировать криптографическую подпись подписанной привилегированной транзакции, используя открытый ключ первого узла. Предпочтительно, только если открытый ключ и закрытый ключ пользователя также соответствуют, то тогда транзакция собирается в одном из блоков. Короче говоря, транзакция и/или блок рассматриваются как полезная нагрузка, которая защищается криптографической подписью.
В целом, подписанная привилегированная транзакция и/или подписанный блок могут также широковещательно распространяться только одному другому узлу блокчейна, причем другой узел верифицирует криптографическую подпись подписанной привилегированной транзакции, используя открытый ключ первого узла (то есть, пользователя).
Далее дополнительные варианты изобретения описываются более подробно.
Блокчейн может содержать первый узел и вышеупомянутые другие узлы, где узлы могут быть частью Интернета или сети передачи данных. Узлы могут иметь соединение для передачи данных друг другу. В частности, все узлы могут быть идентичны первому узлу.
Узел может содержать только программное обеспечение, позволяющее пользователю (то есть, участнику рынка) управлять счетом. Узел может быть сформирован как экземпляр, который содержит закрытый ключ (то есть, закрытый ключ пользователя). От программного обеспечения или узла не требуется, но они могут содержать копию блокчейна.
Закрытый ключ и открытый ключ первого узла могут формировать пару ключей (key-pair) (то есть, закрытый ключ и открытый ключ, соответствующие друг другу). Закрытый ключ, используемый для добавления криптографической подписи, может быть, например, закрытым узлом пользователя, закрытым ключом устройства узла или закрытым ключом, связанным с конкретным счетом.
В частности, узлы могут равноправными узлами. Узлы могут быть независимы друг от друга и/или могут управляться независимыми объектами и/или лицами. Каждый узел может быть отдельным компьютером, имеющим специализированный процессор, устройства памяти и/или устройства ввода-вывода для осуществления связи с другими узлами. Первый узел и/или другие узлы могут быть устройством кошелька, где устройство кошелька может быть персональным компьютером (personal computer, PC), переносным компьютером или смартфоном. Устройство кошелька может также называться е-кошелек (e-wallet) или криптовалютный кошелек (crypto-wallet).
Блокчейн может хранить каждую транзакцию, например, вышеупомянутую привилегированную транзакцию и/или описанные далее трансфертные транзакции, поскольку источник блокчейна, в котором содержится полная копия архива транзакций, может храниться по меньшей мере одним из узлов.
В случае, когда (трансфертные) транзакции используются для перевода цифровых денег или цифровой валюты, транзакции могут содержать одно или более поступлений (input) или "непотраченных" (unspent) поступлений, которые указывают сумму денег, которой владеет узел (или пользователь, оперирующий с узлом) (то есть, кредитный баланс). Другими словами, поступления определяют, как много пользователь может потратить при трансфертной транзакции. Поступления могут быть получены от любого из узлов и/или от одного из блоков блокчейна. Дополнительно, транзакция может содержать одну или более выдач (output). Каждая выдача указывает, сколько денег должно быть переведено на конкретный счет (то есть, другому узлу).
Например, каждая выдача может указывать номер счета и сумму денег, которая должна быть переведена на соответствующий номер счета. Транзакция может содержать вознаграждение за транзакцию, которое присуждается узлу, проводящему валидацию блока, который содержит транзакцию.
Транзакция может также содержать подпись транзакции, например, дополнительную криптографическую подпись, которая используется для подписания самой транзакции. Дополнительная криптографическая подпись может основываться, например, на закрытом ключе пользователя, который желает перевести цифровые деньги другому пользователю. Дополнительная криптографическая подпись может быть основана на хэш-значении (hash-value) транзакции, которое шифруется с помощью закрытого ключа, например, пользователя. Открытый ключ может, например, представлять е-кошелек. Дополнительная криптографическая подпись может также называться "внутренней" криптографической подписью, поскольку криптографическая подпись, которая добавляется после того, как транзакция была сформирована, может также быть основана, по меньшей мере, частично, на внутренней криптографической подписи. Криптографическая подпись, которая добавляется для формирования подписанной привилегированной транзакции (как она используется здесь) может, соответственно, называться "внешней" криптографической подписью. Альтернативно, криптографическая подпись, которая добавляется для формирования подписанной транзакции, может также быть внутренней криптографической подписью. Короче говоря, криптографическая подпись, которая добавляется для формирования подписанной привилегированной транзакции (или подписанного блока), содержит хэш-значение информации, содержащейся в привилегированной транзакции (и/или блоке). Хэш-значение может шифроваться с помощью закрытого ключа первого узла (например, закрытого ключа пользователя).
Следует заметить, что упомянутые выше признаки транзакции могут относиться к привилегированной транзакция и/или к трансфертным транзакциям, упомянутым ниже, если не заявлено иное. Трансфертная транзакция, как она используется здесь, указывает транзакцию, которая переводит некоторую сумму денег с одного счета (или кошелька) на другой.
Транзакции могут группироваться в блоки. Например, все транзакции могут группироваться в одноминутные блоки или десятиминутные блоки. Это означает, что все транзакции, которые были сформированы в пределах последних одной или десяти минут, группируются в один блок. Во избежание сомнений, следует заметить, что блок может содержать только транзакции, только подписанные транзакции, только привилегированные транзакции, только подписанные привилегированные транзакции или смесь вышеперечисленного. Таким образом, подписанный блок может содержать одну или более подписанных транзакций.
Предпочтительно, разрешение хранится в качестве трансфертной транзакции внутри блокчейна. Эта трансфертная транзакция может затем также упоминаться как a "транзакция, предоставляющая разрешение" (grant permission transaction). Другими словами, пользователь (или узел), который получил сумму денег, используя конкретную трансфертную транзакцию, может, таким образом, быть определен как имеющий право на выполнение специальной транзакции. Это дает то преимущество, что механизм, свойственный блокчейну, используется для предоставления конкретным пользователям разрешения выполнения привилегированной транзакции/валидации блока блокчейна. Следовательно, для реализации этого предоставления разрешений необходимы лишь минимальные изменения, то есть, изменения в исходном коде существующего блокчейна.
Дополнительно предпочтительно, трансфертная транзакция, предоставляющая разрешение (то есть, транзакция, предоставляющая разрешение), берет начало от доверенного кошелька. Доверенный кошелек может быть кошельком, который получает специальные разрешения, как более подробно описано дальше. Таким образом, можно централизованно определить, что трансфертные транзакции или транзакции, предоставляющие разрешение, от доверенного кошелька дают получателю трансфертной транзакции право выполнить привилегированную транзакцию и/или проводить валидацию блока блокчейна.
Следовательно, трансфертная транзакция (то есть, транзакция, предоставляющая разрешение) из доверенного кошелька предпочтительно содержит идентификацию пользователя. Идентификация пользователя может быть, например, номером счета пользователя, открытым ключом или открытым ключом-хэшем пользователя и т. п. Транзакция, предоставляющая разрешение, от доверенного кошелька может, например, переводить очень небольшую сумму денег пользователю, которому будет разрешено выполнить специальную транзакцию и/или будет разрешено валидировать блок блокчейна.
Если используется трансфертная транзакция/транзакция, предоставляющая разрешение, от доверенного кошелька, это дает то преимущество, что транзакция, предоставляющая разрешение, сохраняется в блокчейне, так что каждый узел блокчейна вознаграждается за эту транзакцию, предоставляющую разрешение. Таким образом, каждому узлу блокчейна дается возможность валидации/верификации, если конкретному пользователю разрешается выполнить привилегированную транзакцию и/или разрешается валидировать блок блокчейна. Опять же, поскольку вся информация, необходимая для валидации разрешений пользователя, хранится внутри блокчейна, этот механизм может быть легко реализован в существующем блокчейне. Кроме того, фальсификация информации, хранящейся для предоставления конкретных разрешений, практически невозможна, поскольку копии блокчейна обычно существуют внутри множества узлов блокчейна и обычно гораздо меньше 50% узлов управляются одним и тем же лицом или организацией (более 50% должно, в некоторых случаях, позволять фальсификацию блокчейна).
Предпочтительно, разрешение остается в силе, пока сумма денег, переведенная в транзакции, предоставляющей разрешение, остается неистраченной. Как только сумма денег истрачена (то есть, переведена другому пользователю или на другой счет), разрешение становится недействительным.
Предпочтительно, трансфертная транзакция (то есть, транзакция, предоставляющая разрешение) переводит некоторую сумму денег из доверенного кошелька ему самому. Другими словами, доверенный кошелек инициирует трансфертную транзакцию, которая переводит некоторую сумму денег собственному доверенному кошельку. Эта трансфертная транзакция содержит, как упоминалось ранее, идентификацию пользователя, который должен получить право на выполнение привилегированной транзакции и/или на выполнение валидации блока. Как преимущество, пользователь при этом не может ошибочно потратить переведенную сумму (таким образом, лишаясь разрешения). Кроме того, доверенный кошелек может затем удалить разрешение, истратив соответствующую сумму, таким образом, например, позволяя аннулировать разрешение от злонамеренных пользователей/злонамеренных узлов.
Альтернативно, как уже упоминалось, трансфертная транзакция (то есть, транзакция, предоставляющая разрешение) может перевести пользователю некоторую сумму денег из доверенного кошелька. Таким образом, пользователь напрямую получает сумму. Предпочтительно, разрешение существует, пока полученная от доверенного кошелька сумма является неистраченной.
Предпочтительно, доверенный кошелек получает сумму денег из корневого кошелька. Другими словами, корневой кошелек переводит некоторую сумму денег в доверенный кошелек (или в несколько различных доверенных кошельков) перед тем, как доверенный кошелек может перевести суммы пользователям. Таким образом, предоставление разрешений может иметь несколько этапов. Например, различные этапы могут быть подобны цепочке сертификатов. В частности, корневой кошелек может использовать транзакцию предоставления разрешения, чтобы создать первый доверенный кошелек. Затем первый доверенный кошелек может использовать транзакцию предоставления разрешения, чтобы создать второй доверенный кошелек. Этот процесс может повторяться до тех пор, пока не будет создан n-ый доверенный кошелек. N-ый доверенный кошелек может затем использовать транзакцию предоставления разрешения, чтобы предоставить разрешение кошельку реального пользователя. Обеспечение различных этапов разрешения может иметь преимущество, которое в случае проблем, например, необходимости аннулировать только разрешение n-ого доверенного кошелька, тогда как разрешения, предоставленные доверенным кошелькам, "более близким" к корневому кошельку, могут оставаться нетронутыми.
Дополнительно предпочтительно, корневой кошелек определяется и сохраняется в генезисном блоке или в блоке, непосредственно следующем за генезисным блоком блокчейна. Сохраняя корневой кошелек в генезисном блоке блокчейна, невозможно, чтобы ветвление блокчейна исключало корневой кошелек. Таким образом, безопасность блокчейна опять дополнительно повышается.
Трансфертная транзакция, которая переводит некоторую сумму денег из корневого кошелька в доверенный кошелек, может содержать неистраченное поступление корневого кошелька. Эта транзакция может также называться "транзакцией предоставления разрешения" (grant permission transaction), как упоминалось выше. Эта трансфертная транзакция может дополнительно содержать адрес или номер счета (например, в форме открытого ключа) доверенного кошелька в качестве выдачи. Таким образом, доверенный кошелек получает сумму денег из корневого кошелька. Таким образом, доверенному кошельку присваивается роль "органа сертификации". Альтернативно содержанию адреса или номера счета, полученным от доверенного кошелька или от корневого кошелька, доступность средств из доверенного кошелька или из корневого кошелька может быть достаточной для предоставления специальных прав (например, права действовать в качестве "органа сертификации").
Таким же образом, дополнительная трансфертная транзакция (то есть, дополнительная транзакция предоставления разрешения) может перевести пользователю некоторую сумму денег из доверенного кошелька (то есть, в кошелек пользователя или на вышеупомянутый первый узел). Эта транзакция предоставления разрешения может содержать неистраченное поступление доверенного кошелька. Эта транзакция предоставления разрешения может содержать номер счета или адрес пользователя (то есть, идентификацию пользователя) в качестве выдачи. Таким образом, пользователь получает некоторую сумму денег, причем эта сумма денег/эта трансфертная транзакция может позволить пользователю выполнить привилегированную транзакцию. Предпочтительно, пользователю разрешается выполнить привилегированную транзакцию только после того, как трансфертная транзакция пользователю из доверенного кошелька была включена в один или более блоков, прошедших валидацию.
Предпочтительно, привилегированная транзакция выполняет формирование суммы денег. Другими словами, привилегированная транзакция может быть коинбазовой транзакцией или транзакцией формирования или даже ("обычной") трансфертной транзакцией, где трансфертная транзакция может также использоваться для формирования новых коинов. Количество коинов, то есть, сумма денег, которая формируется, может быть основано на возрасте коинов для коинов пользователя. Возраст коинов может определяться как количество коинов (то есть, сумма денег) пользователя, умноженное на время, в течение которого пользователь владел коинами. Сумма денег, сформированная в привилегированной транзакции, может быть кредитована пользователю.
Дополнительно предпочтительно, чтобы сумма денег, полученная из доверенного кошелька, указывала, сколько денег может быть сформировано в привилегированной транзакции. Например, если доверенный кошелек перевел пользователю 10 микрокоинов, это может указывать, что пользователь может в рамках привилегированной транзакции сформировать сумму в размере 10% от количества коинов, которыми он владеет, или, например, сумму в 10% от числа коинов, которыми он владеет, умноженную на количество времени, в течение которого он владеет коинами.
Например, привилегированная транзакция может содержать в качестве поступлений, по меньшей мере, часть или все неистраченные поступления пользователя. Привилегированная транзакция может также содержать ссылку на сумму, полученную от доверенного кошелька, и/или переданную корневому кошельку. Дополнительно, привилегированная транзакция может содержать выдачи, сумма которых достигает большей суммы денег, чем поступления. Таким образом, формируются новые деньги, которые кредитуются пользователю.
Новые деньги могут, таким образом, быть созданы привилегированной транзакцией, предпочтительно, по принципу "доказательства доли владения" (proof of stake, PoS). В отличие от "доказательства выполнения работы" (proof of work, PoW), что, например, используется в блокчейне биткоинов, PoS не требует огромных объемов энергии. Поэтому блокчейн может быть очень энергетически эффективным.
Дополнительно предпочтительно, разрешение аннулируется посредством израсходования суммы, переведенной в процессе трансфертной транзакции/транзакции предоставления разрешения. Сумма может быть потрачена, например, самим пользователем или его доверенным кошельком. Таким образом, например, если пользователь или узел идентифицируется как зловредный, доверенный кошелек может потратить сумму денег, переведенную при трансфертной транзакции, что указывает на злонамеренного пользователя, аннулируя, таким образом, разрешение злонамеренного пользователя.
Изобретение также относится к системе для блокчейна, содержащей
- первый узел,
- множество других узлов, где другие узлы хранят копии блокчейна, причем узлы соединяются друг с другом, используя соединения для передачи данных и первый узел выполнен с возможностью
- формирования привилегированной транзакции блокчейна для пользователя,
- предпочтительно, используя закрытый ключ пользователя, добавления криптографической подписи к привилегированной транзакции, создавая таким образом, предпочтительно, (подписанную) привилегированную транзакцию,
- широковещательного распространения (подписанной) привилегированной транзакции множеству других узлов блокчейна, где другие узлы выполняются с возможностью валидации, если пользователю разрешается выполнить привилегированную транзакцию и если разрешение на выполнение привилегированной транзакции было сохранено внутри блокчейна перед формированием привилегированной транзакции,
и/или
в котором первый узел выполнен с возможностью валидации блока блокчейна для пользователя, где первый узел выполнен с возможностью
- формирования блока блокчейна, где блок содержит одну или более транзакций,
- предпочтительно, добавления криптографической подписи, используя закрытый ключ первого узла, создавая таким образом, предпочтительно, (подписанный) блок,
- широковещательного распространения (подписанного) блока множеству других узлов блокчейна, где другие узлы выполнены с возможностью верификации криптографической подписи подписанного блока, используя открытый ключ пользователя, причем узлы проводят валидацию, если пользователю разрешается проведение валидации блока и разрешение проведения валидации блока было сохранено внутри блокчейна до валидации блока.
Изобретение, в конечном счете, относится к устройству узла блокчейна, в котором устройство узла выполнено с возможностью
- формирования привилегированной транзакции блокчейна для пользователя,
- предпочтительно, используя закрытый ключ пользователя, добавления криптографической подписи к привилегированной транзакции, создавая, таким образом, предпочтительно, (подписанную) привилегированную транзакцию,
- широковещательного распространения подписанной привилегированной транзакции множеству других узлов блокчейна,
и/или
в котором первый узел выполнен с возможностью валидации блока блокчейна для пользователя, где первый узел выполнен с возможностью
- формирования блока блокчейна, причем блок содержит одну или более транзакций,
- предпочтительно, используя закрытый ключ первого узла к блоку, добавления криптографической подписи, создавая, таким образом, (подписанный) блок,
- широковещательного распространения подписанного блока множеству других узлов блокчейна.
Раскрытие, связанное со способами изобретения, также относится к изобретательной системе и к изобретательному устройству узла. Оно, в частности, действительно с точки зрения упомянутых здесь преимуществ и предпочтительных вариантов осуществления.
Различные признаки и преимущества настоящего изобретения станут более очевидны из последующего описания и сопроводительных чертежей, на которых:
фиг. 1 - схематичное представление блокчейна;
фиг. 2 - схематичное представление принципа действия блокчейна, когда привилегированная транзакция формируется и распространяется.
На фиг. 1 показан блокчейн 10, содержащий множество различных блоков 12. Каждый из блоков 12 связывается с предыдущим блоком 12. Каждый блок 12 содержит множество транзакций 14.
Первый блок 12 называется генезисным блоком 16. В генезисном блоке 16 хранится адрес корневого кошелька 18. Альтернативно, генезисный блок 16 может быть пустым, за исключением коинбазы. Затем адрес корневого кошелька 18 может быть сохранен в последующем блоке 12.
В качестве примера, генезисный блок 16 может также содержать трансфертную транзакцию 14 (то есть, транзакцию предоставления разрешения) от корневого кошелька 18 доверенному кошельку 20.
Доверенный кошелек 20 может перевести некоторую сумму денег кошельку 22 пользователя, где трансфертная транзакция 14, которая переводит определенную сумму кошельку 22 пользователя, сохраняется в другом блоке 12. Эта трансфертная транзакция 14 (то есть, транзакция предоставления разрешения) предоставляет пользователю кошелька 22 право выполнения привилегированных транзакций 14a. Альтернативно, доверенный кошелек 20 может использовать трансфертную транзакцию 14 для перевода себе (то есть, доверенному кошельку 20) некоторой суммы. Эта трансфертная транзакция 14 может содержать информацию о кошельке 22 пользователя, предоставляя, таким образом, пользователю кошелька 22 право выполнения привилегированных транзакций 14a.
Процесс формирования и обработки привилегированной транзакции 14a показан на фиг. 2.
На фиг. 2 показан первый узел 24, второй узел 26, третий узел 28 и четвертый узел 30. Узлы 24-30 исполняют функции блокчейна 10. Узлы 24-30 соединяются между собой, используя соединения 32 передачи данных (например, Ethernet-соединения). Узлы 24-30 могут быть идентичными экземплярами одного и того же вида узлов 24-30, в которых в дальнейшем первый узел 24 является примером, описанным более подробно.
Каждый из узлов 24-30 хранит копию блокчейна 10.
Первый узел 24 формирует привилегированную транзакцию 14a. Первый узел 24 затем криптографически подписывает привилегированную транзакцию и передает подписанную привилегированную транзакцию 14 другим узлам 26-30. Другие узлы 26-30 затем проводят проверку по своим копиям блокчейна 10, если первый узел 24 в прошлом получил от доверенного кошелька 20 некоторую сумму денег и если сумма денег, которая была получена от доверенного кошелька 20, все еще не истрачена (или если сумма, которую доверенный кошелек 20 перевел себе, все еще не истрачена). Если такой случай имеет место, другие узлы 26-30 акцептируют привилегированную транзакцию 14a и, например, сумма денег кредитуется кошельку 22 пользователя для пользователя первого узла 24 (коинбазы).
Однако если другие узлы 26-30 обнаруживают, что либо никакой транзакции от доверенного кошелька 20 кошельку 22 пользователя не существует, либо, что сумма, которая была переведена от доверенного кошелька 20 кошельку 22 пользователя уже была истрачена (то есть, разрешение было аннулировано), то тогда привилегированная транзакция 14a не акцептируется. Таким образом, например, злонамеренный узел или пользователь могут быть исключены из выполнения привилегированных транзакций 14a. Таким образом, безопасность блокчейна 10 повышается.
Заметим, что вышесказанное соответственно действительно для валидации блока 12. В этом случае привилегированная транзакция 14a на фиг. 2 должна быть заменена блоком 12.
Перечень ссылочных позиций
10 - Блокчейн
12 - Блок
14 - Транзакция
14a - Привилегированная транзакция
16 - Генезисный блок
18 - Корневой кошелек
20 - Доверенный кошелек
22 - Кошелек пользователя
24 - Первый узел
26 - Второй узел
28 - Третий узел
30 - Четвертый узел
32 - Соединение передачи данных.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ ГЕНЕРИРОВАНИЯ ТРАНЗАКЦИИ БЛОКЧЕЙНА И СПОСОБ ПРОВЕРКИ ДЕЙСТВИТЕЛЬНОСТИ БЛОКА БЛОКЧЕЙНА | 2018 |
|
RU2791865C2 |
ОТОБРАЖЕНИЕ ФИЗИЧЕСКИХ ОБЪЕКТОВ НА СТРУКТУРУ БЛОКЧЕЙНА | 2018 |
|
RU2786646C2 |
СИСТЕМЫ И СПОСОБЫ ПЕРСОНАЛЬНОЙ ИДЕНТИФИКАЦИИ И ВЕРИФИКАЦИИ | 2015 |
|
RU2747947C2 |
ПЕРЕКРЕСТНАЯ ТОРГОВЛЯ АКТИВАМИ В СЕТЯХ БЛОКЧЕЙНОВ | 2019 |
|
RU2736447C1 |
СПОСОБ И СИСТЕМА АВТОРИЗАЦИИ ВЕБ-САЙТА В ВЕБ-БРАУЗЕРЕ | 2018 |
|
RU2718480C2 |
СИСТЕМА И СПОСОБ ЗАЩИТЫ ИНФОРМАЦИИ | 2018 |
|
RU2719423C1 |
СПОСОБ УДАЛЕННОЙ ВЕРИФИКАЦИИ ДОКУМЕНТОВ | 2019 |
|
RU2707700C1 |
Система децентрализованного цифрового расчетного сервиса | 2018 |
|
RU2679532C1 |
РЕГУЛИРОВАНИЕ КОНФИДЕНЦИАЛЬНЫХ БЛОКЧЕЙН-ТРАНЗАКЦИЙ | 2018 |
|
RU2720354C1 |
Способ масштабирования распределенной информационной системы | 2018 |
|
RU2686818C1 |
Изобретение относится к системе и способам формирования привилегированной транзакции блокчейна и валидации блока в блокчейне. Технический результат заключается в повышении надежности и безопасности выполнения транзакций в блокчейне. В способе формируют привилегированную транзакцию пользователем посредством первого узла блокчейна, добавляют криптографическую подпись, использующую закрытый ключ пользователя, к привилегированной транзакции, создавая тем самым подписанную привилегированную транзакцию, широковещательно передают подписанную привилегированную транзакцию множеству других узлов блокчейна, причем другие узлы проверяют, разрешается ли пользователю выполнить привилегированную транзакцию, при этом разрешение выполнить привилегированную транзакцию было сохранено в блокчейне до формирования привилегированной транзакции, при этом разрешение сохраняют в качестве трансфертной транзакци в блокчейне, и трансфертная транзакция, предоставляющая разрешение, исходит из доверенного кошелька. 3 н. и 7 з.п. ф-лы, 2 ил.
1. Способ формирования привилегированной транзакции (14a) в блокчейне (10), содержащий этапы, на которых:
формируют привилегированную транзакцию (14a) пользователем посредством первого узла (24) блокчейна (10),
добавляют криптографическую подпись, использующую закрытый ключ пользователя, к привилегированной транзакции (14a), создавая тем самым подписанную привилегированную транзакцию (14a),
широковещательно передают подписанную привилегированную транзакцию (14a) множеству других узлов (26-30) блокчейна (10), причем другие узлы (26-30) проверяют, разрешается ли пользователю выполнить привилегированную транзакцию (14a), при этом разрешение выполнить привилегированную транзакцию (14a) было сохранено в блокчейне (10) до формирования привилегированной транзакции (14a), при этом разрешение сохраняют в качестве трансфертной транзакции (14) в блокчейне (10), и трансфертная транзакция (14), предоставляющая разрешение, исходит из доверенного кошелька (20).
2. Способ валидации блока (12) блокчейна (10), содержащий этапы, на которых:
формируют блок (12) пользователем блокчейна (10) посредством первого узла (24) блокчейна (10), причем блок (12) содержит одну или более транзакций (14),
добавляют криптографическую подпись, использующую закрытый ключ первого узла (24), к блоку (12), создавая тем самым подписанный блок (12),
широковещательно передают подписанный блок (12) множеству других узлов (26-30) блокчейна (10), причем другие узлы (26-30) проверяют, разрешается ли пользователю проводить валидацию блока (12), причем разрешение проводить валидацию блока (12) было сохранено в блокчейне (10) до валидации блока (12), при этом разрешение сохраняют в качестве трансфертной транзакции (14) в блокчейне (10), и трансфертная транзакция (14), предоставляющая разрешение, исходит из доверенного кошелька (20).
3. Способ по п. 1 или 2, в котором трансфертная транзакция (14) содержит указание пользователя.
4. Способ по любому из пп. 1–3, в котором трансфертная транзакция (14) переводит себе (20) сумму денег из доверенного кошелька (20).
5. Способ по любому из пп. 1–3, в котором трансфертная транзакция (14) переводит пользователю (22) сумму денег из доверенного кошелька (20).
6. Способ по любому из пп. 1–5, в котором доверенный кошелек (20) получает сумму денег от корневого кошелька (18).
7. Способ по п. 6, в котором определяют и хранят корневой кошелек (18) в генезисном блоке (16) блокчейна (10).
8. Способ по любому из пп. 1–7, в котором привилегированная транзакция (14a) выполняет формирование суммы денег.
9. Способ по любому из пп. 3–8, в котором аннулируют разрешение посредством израсходования суммы, переведенной в трансфертной транзакции (14).
10. Система блокчейна (10), содержащая
первый узел (24),
множество других узлов (26-30), причем узлы (24-30) хранят копии блокчейна (10),
при этом узлы (24-30) соединены друг с другом с использованием соединений (32) для передачи данных,
при этом первый узел (24) выполнен с возможностью:
формирования для пользователя привилегированной транзакции (14a) блокчейна (10),
добавления криптографической подписи, использующей закрытый ключ пользователя, к привилегированной транзакции, создавая тем самым подписанную привилегированную транзакцию (14a),
широковещательной передачи подписанной привилегированной транзакции (14a) множеству других узлов (26-30) блокчейна (10), причем другие узлы (26-30) выполнены с возможностью проверять, разрешается ли пользователю выполнить привилегированную транзакцию (14a), при этом разрешение выполнить привилегированную транзакцию (14a) было сохранено в блокчейне (10) до формирования привилегированной транзакции (14a), при этом разрешение сохраняется в качестве трансфертной транзакции (14) в блокчейне (10), и трансфертная транзакция (14), предоставляющая разрешение, исходит из доверенного кошелька (20);
и/или
первый узел (24) выполнен с возможностью валидации блока (12) блокчейна (10) для пользователя, причем первый узел (24) выполнен с возможностью:
формирования блока (12) блокчейна (10), причем блок (12) содержит одну или более транзакций (14),
добавления криптографической подписи, использующей закрытый ключ первого узла (24), к блоку (12), создавая тем самым подписанный блок (12),
широковещательной передачи подписанного блока (12) множеству других узлов (26-30) блокчейна (10), причем другие узлы (26-30) проверяют, разрешается ли пользователю проводить валидацию блока (12), причем разрешение проводить валидацию блока (12) было сохранено в блокчейне (10) до валидации блока (12), при этом разрешение сохраняется в качестве трансфертной транзакции (14) в блокчейне (10), и трансфертная транзакция (14), предоставляющая разрешение, исходит из доверенного кошелька (20).
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, доступно по адресу: |
Авторы
Даты
2023-04-24—Публикация
2019-06-28—Подача