RU2733223C1 - Защита данных цепочек блоков на основе общей модели на основе счетов и гомоморфного шифрования - Google Patents

Защита данных цепочек блоков на основе общей модели на основе счетов и гомоморфного шифрования Download PDF

Info

Publication number
RU2733223C1
RU2733223C1 RU2019123601A RU2019123601A RU2733223C1 RU 2733223 C1 RU2733223 C1 RU 2733223C1 RU 2019123601 A RU2019123601 A RU 2019123601A RU 2019123601 A RU2019123601 A RU 2019123601A RU 2733223 C1 RU2733223 C1 RU 2733223C1
Authority
RU
Russia
Prior art keywords
transaction
random number
node
assets
blockchain
Prior art date
Application number
RU2019123601A
Other languages
English (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 Алибаба Груп Холдинг Лимитед
Application granted granted Critical
Publication of RU2733223C1 publication Critical patent/RU2733223C1/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

Изобретение относится к области сетей цепочек блоков. Техническим результатом является обеспечение проверки достоверности транзакций без раскрытия конфиденциальной информации. Способ включает в себя прием данных транзакции, ассоциированных с транзакцией, причем данные транзакции содержат: данные, представляющие множество активов, первую фиксацию, которая скрывает первое случайное число и сумму транзакции для транзакции, вторую фиксацию, которая скрывает второе случайное число и сдачу, сумму транзакции и третье случайное число, и зашифрованное посредством открытого ключа второго узла на основе линейной детерминированной схемы гомоморфного шифрования (HE), сдачу и четвертое случайное число, оба из которых шифруются посредством открытого ключа первого узла на основе линейной детерминированной HE-схемы, и доказательство с нулевой передачей знаний (ZKP); определение, на основе ZKP, того, является или нет транзакция достоверной, на основе определения того, равно или нет первое случайное число третьему случайному числу, того, равно или нет второе случайное число четвертому случайному числу, и того, равна или нет сумма транзакции, скрытая в первой фиксации, сумме транзакции, зашифрованной посредством открытого ключа второго узла. 3 н. и 8 з.п. ф-лы, 8 ил.

Description

Уровень техники
[0001] Сети цепочек блоков, которые также могут упоминаться как системы цепочек блоков, консенсусные сети, сети на основе системы распределенных реестров или цепочка блоков, позволяют участвующим объектам защищенно и неизменно сохранять данные. Цепочка блоков может описываться как реестр транзакций, и несколько копий цепочки блоков сохраняются в сети цепочек блоков. Примерные типы цепочек блоков могут включать в себя открытые цепочки блоков, консорциальные цепочки блоков и закрытые цепочки блоков. Открытая цепочка блоков является открытой для всех объектов в том, чтобы использовать цепочку блоков и участвовать в консенсусном процессе. Консорциальная цепочка блоков представляет собой цепочку блоков, в которой консенсусный процесс управляется посредством заранее выбранного набора узлов, таких как определенные организации или учреждения. Закрытая цепочка блоков предоставляется для конкретного объекта, который централизованно управляет разрешениями на считывание и запись.
[0002] Цепочки блоков могут использовать различные модели ведения записей для того, чтобы записывать транзакции между пользователями. Примерные модели ведения записей включают в себя модель на основе непотраченного вывода по транзакциям (UTXO) и модель на основе баланса счетов. В UTXO-модели, каждая транзакция тратит вывод из предшествующих транзакций и формирует новые выводы, которые могут тратиться в последующих транзакциях. Непотраченные транзакции пользователя отслеживаются, и баланс, который является доступным для того чтобы тратить, вычисляется как суммарная величина непотраченных транзакций. В модели на основе баланса счетов, баланс счета каждого пользователя отслеживается как глобальное состояние. Для каждой транзакции, баланс счета расходов проверяется, чтобы удостоверяться в том, что он больше или равен сумме транзакции. Это является сравнимым с традиционным банковским делом.
[0003] Цепочка блоков включает в себя последовательность блоков, каждый из которых содержит одну или более транзакций, выполняемых в сети. Каждый блок может быть аналогичным странице реестра, в то время как сама цепочка блоков является полной копией реестра. Отдельные транзакции подтверждаются и добавляются в блок, который добавляется в цепочку блоков. Копии цепочки блоков реплицируются в узлах сети. Таким образом, предусмотрен глобальный консенсус по состоянию цепочки блоков. Дополнительно, цепочка блоков является открытой для наблюдения посредством всех узлов, по меньшей мере, в случае открытых сетей. Чтобы защищать конфиденциальность пользователей цепочек блоков, реализуются технологии шифрования.
[0004] Согласно модели на основе баланса счетов, схемы фиксации могут использоваться для того, чтобы скрывать стоимости, которые фиксируют обе стороны транзакции. Схемы фиксации могут возникать в силу потребности для сторон фиксировать выбор или стоимость и впоследствии передавать эту стоимость другим участвующим сторонам. Например, в интерактивной схеме фиксации Педерсена (PC), первый пользователь может фиксировать на сумму t транзакции посредством отправки стоимости PC(t, r) фиксации, которая формируется на основе случайного значения r. Стоимость фиксации формируется, и второй пользователь может раскрывать сумму t транзакции только посредством получения случайного числа r. Чтобы обеспечивать то, что сумма транзакции является достоверной, доказательство по диапазону может создаваться, чтобы доказывать то, что сумма транзакции превышает или равна нулю и меньше или равна балансу счета.
[0005] В некоторых случаях, несколько транзакций могут проводиться от пользователя. Поскольку доказательство по диапазону ассоциировано с оставшимся балансом счета, несколько транзакций должны верифицироваться последовательно в цепочке блоков. В связи с этим, соответствующие доказательства по диапазону могут быть корректно ассоциированы с оставшимися балансами счета после каждой транзакции. Тем не менее, последовательная верификация нескольких транзакций может быть времязатратной. Модель ведения записей, которая обеспечивает возможность параллельных верификаций транзакций, должна быть преимущественной специально для чувствительных ко времени задач.
Сущность изобретения
[0006] Реализации описания изобретения включают в себя машинореализованные способы для неинтерактивных верификаций с сохранением конфиденциальности транзакций с цепочками блоков. Более конкретно, реализации описания изобретения направлены на машинореализованный способ, допускающий параллельную проверку достоверности нескольких транзакций, ассоциированных со счетом узла цепочки блоков, на основе схем фиксации и гомоморфного шифрования без раскрытия конфиденциальной информации, такой как сумма транзакции, баланс счетов или случайные числа для формирования фиксаций, для других узлов цепочки блоков.
[0007] В некоторых реализациях, действия включают в себя прием данных транзакции, ассоциированных с транзакцией, причем данные транзакции содержат: данные, представляющие множество активов, первую фиксацию, которая скрывает первое случайное число и сумму транзакции для транзакции, вторую фиксацию, которая скрывает второе случайное число и сдачу, вычисленную на основе удержания суммы транзакции из полной стоимости множества активов, сумму транзакции и третье случайное число, оба из которых шифруются посредством открытого ключа второго узла на основе линейной детерминированной схемы шифрования (HE), сдачу и четвертое случайное число, оба из которых шифруются посредством открытого ключа первого узла на основе линейной детерминированной HE-схемы, одно или более доказательств по диапазону, доказательство с нулевой передачей знаний (ZKP) и цифровую подпись, сформированную на основе закрытого ключа, соответствующего открытому ключу первого узла; верификацию цифровой подписи на основе открытого ключа первого узла; определение того, что одно или более доказательств по диапазону доказывают то, что сумма транзакции и сдача больше или равны нулю; определение того, что полная стоимость множества активов равна суммарной величине суммы транзакции и сдачи; и определение, на основе ZKP, того, что транзакция является достоверной, посредством определения того, что первое случайное число равно третьему случайному числу, второе случайное число равно четвертому случайному числу, и сумма транзакции, скрытая в первой фиксации, равна сумме транзакции, зашифрованной посредством открытого ключа второго узла. Другие реализации включают в себя соответствующие системы, оборудование и компьютерные программы, выполненные с возможностью выполнять действия способов, кодированных на компьютерных устройствах хранения данных.
[0008] Эти и другие реализации необязательно могут включать в себя один или более следующих признаков: транзакция выполняется между счетом, ассоциированным с первым узлом, и счетом, ассоциированным со вторым узлом, и способ дополнительно содержит обновление, после определения того, что транзакция является достоверной, счета первого узла и счета второго узла на основе суммы транзакции и сдачи; каждый из множества активов ассоциирован с одним или более из типа активов, стоимости активов, скрытой в фиксации, и случайного числа, используемого для формирования фиксации; определение того, что каждый из множества активов ассоциирован с идентичным типом активов; первая фиксация, вторая фиксация и фиксация, которая скрывает стоимость активов, формируются на основе схемы фиксации, которая является гомоморфной, при этом определение того, что полная стоимость множества активов равна суммарной величине суммы транзакции и сдачи, выполняется на основе гомоморфизма схемы фиксации; линейная детерминированная HE-схема извлекается из вероятностной HE-схемы на основе изменения случайного числа, ассоциированного с вероятностной HE-схемой, на фиксированное число; ZKP содержит фиксацию, которая скрывает пятое случайное число и шестое случайное число, шифрованный текст пятого случайного числа и шестого случайного числа, зашифрованный посредством открытого ключа второго счета на основе линейной детерминированной HE-схемы, и шифрованный текст пятого случайного числа и шестого случайного числа, зашифрованный посредством открытого ключа первого счета на основе линейной детерминированной HE-схемы; ZKP формируется и используется для определения того, что транзакция является достоверной, на основе свойств линейного детерминированного HE; определение того, что транзакция является достоверной, выполняется на основе ZKP без взаимодействий между первым узлом и вторым узлом через часть за пределами сети цепочек блоков.
[0009] Описание изобретения также предоставляет один или более энергонезависимых машиночитаемых носителей хранения данных, соединенных с одним или более процессоров и имеющих сохраненные инструкции, которые, при выполнении посредством одного или более процессоров, инструктируют одному или более процессоров выполнять операции в соответствии с реализациями способов, предусмотренных в данном документе.
[0010] Описание изобретения дополнительно предоставляет систему для реализации способов, предусмотренных в настоящем документе. Система включает в себя один или более процессоров и машиночитаемый носитель хранения данных, соединенный с одним или более процессоров, имеющий сохраненные инструкции, которые, при выполнении посредством одного или более процессоров, инструктируют одному или более процессоров выполнять операции в соответствии с реализациями способов, предусмотренных в данном документе.
[0011] Реализации предмета изобретения, описанного в этом подробном описании, могут реализовываться таким образом, чтобы реализовывать конкретные преимущества или технические эффекты. Например, реализации описания изобретения разрешают балансу счета и сумме транзакции узлов цепочки блоков быть закрытыми во время транзакций. Получатель перевода денежных средств не должен обязательно подтверждать транзакцию или использовать случайное число для того, чтобы верифицировать фиксацию, проверка достоверности транзакций может быть неинтерактивной. Узел цепочки блоков может проверять достоверность транзакции на основе HE и схем фиксации, чтобы обеспечивать возможность доказательства с нулевой передачей знаний.
[0012] Описанная технология разрешает повышение безопасности счетов/данных различного мобильного вычислительного устройства. Баланс счетов и суммы транзакций могут шифроваться на основе HE и скрываться посредством схем фиксации. В связи с этим, консенсусный узел может обновлять баланс счетов в реестре после транзакции на основе свойств HE без раскрытия фактического баланса счета для счета. Поскольку случайное число не должно обязательно отправляться получателю, чтобы подтверждать транзакцию, риск утечки данных может уменьшаться, и меньший объем вычислительных ресурсов и ресурсов запоминающего устройства должен использоваться для того, чтобы управлять случайным числом.
[0013] Следует принимать во внимание, что способы в соответствии с описанием изобретения могут включать в себя любую комбинацию аспектов и признаков, описанных в данном документе. Таким образом, способы в соответствии с описанием изобретения не ограничены комбинациями аспектов и признаков, конкретно описанными в данном документе, но также включают в себя любую предоставленную комбинацию аспектов и признаков.
[0014] Подробности одной или более реализаций описания изобретения изложены на прилагаемых чертежах и в нижеприведенном описании. Другие признаки и преимущества описания изобретения должны становиться очевидными из описания и чертежей, а также из формулы изобретения.
Описание чертежей
[0015] Фиг. 1 иллюстрирует пример окружения, которое может использоваться для того, чтобы выполнять реализации описания изобретения.
[0016] Фиг. 2 иллюстрирует пример концептуальной архитектуры в соответствии с реализациями описания изобретения.
[0017] Фиг. 3 иллюстрирует пример процесса проверки достоверности с защитой конфиденциальности транзакции с цепочками блоков на основе гомоморфного шифрования.
[0018] Фиг. 4 иллюстрирует пример транзакции с цепочками блоков в соответствии с реализациями описания изобретения.
[0019] Фиг. 5 иллюстрирует другой пример процесса проверки достоверности с защитой конфиденциальности транзакции с цепочками блоков на основе гомоморфного шифрования.
[0020] Фиг. 6 иллюстрирует пример способа, который может осуществляться в соответствии с реализациями описания изобретения.
[0021] Фиг. 7 иллюстрирует другой пример способа, который может осуществляться в соответствии с реализациями описания изобретения.
[0022] Фиг. 8 иллюстрирует пример узла цепочки блоков, который может выполнять процесс в соответствии с реализациями описания изобретения.
[0023] Аналогичные ссылки с номерами на различных чертежах указывают аналогичные элементы.
Подробное описание изобретения
[0024] Реализации описания изобретения включают в себя машинореализованные способы для неинтерактивных верификаций с сохранением конфиденциальности транзакций с цепочками блоков. Более конкретно, реализации описания изобретения направлены на машинореализованный способ, допускающий параллельную проверку достоверности нескольких транзакций, ассоциированных со счетом узла цепочки блоков, на основе схем фиксации и гомоморфного шифрования без раскрытия конфиденциальной информации, такой как сумма транзакции, баланс счетов или случайные числа для формирования фиксаций, для других узлов цепочки блоков. В некоторых реализациях, действия включают в себя прием данных транзакции, ассоциированных с транзакцией, причем данные транзакции содержат: данные, представляющие множество активов, первую фиксацию, которая скрывает первое случайное число и сумму транзакции для транзакции, вторую фиксацию, которая скрывает второе случайное число и сдачу, вычисленную на основе удержания суммы транзакции из полной стоимости множества активов, сумму транзакции и третье случайное число, оба из которых шифруются посредством открытого ключа второго узла на основе линейной детерминированной схемы гомоморфного шифрования (HE), сдачу и четвертое случайное число, оба из которых шифруются посредством открытого ключа первого узла на основе линейной детерминированной HE-схемы, одно или более доказательств по диапазону, доказательство с нулевой передачей знаний (ZKP) и цифровую подпись, сформированную на основе закрытого ключа, соответствующего открытому ключу первого узла; верификацию цифровой подписи на основе открытого ключа первого узла; определение того, что одно или более доказательств по диапазону доказывают то, что сумма транзакции и сдача больше или равны нулю; определение того, что полная стоимость множества активов равна суммарной величине суммы транзакции и сдачи; и определение, на основе ZKP, того, что транзакция является достоверной, посредством определения того, что первое случайное число равно третьему случайному числу, второе случайное число равно четвертому случайному числу, и сумма транзакции, скрытая в первой фиксации, равна сумме транзакции, зашифрованной посредством открытого ключа второго узла. Другие реализации включают в себя соответствующие системы, оборудование и компьютерные программы, выполненные с возможностью выполнять действия способов, кодированных на компьютерных устройствах хранения данных.
[0025] Чтобы предоставлять дополнительный контекст для реализаций описания изобретения, и как представлено выше, системы распределенных реестров (DLS), которые также могут упоминаться как консенсусные сети (например, состоящие из узлов между равноправными узлами) и сети цепочек блоков, позволяют участвующим объектам защищенно и неизменно проводить транзакции и сохранять данные. Цепочка блоков используется в данном документе, чтобы, в общем, означать DLS независимо от конкретных вариантов использования.
[0026] Цепочка блоков представляет собой структуру данных, которая сохраняет транзакции таким способом, что транзакции являются неизменными и могут впоследствии верифицироваться. Цепочка блоков включает в себя один или более блоков. Каждый блок в цепочке сразу связывается с предыдущим блоком перед ним в цепочке посредством включения криптографического хэша предыдущего блока. Каждый блок также включает в себя временную метку, собственный криптографический хэш и одну или более транзакций. Транзакции, которые уже верифицированы посредством узлов сети цепочек блоков, хэшируются и кодируются в дерево Меркла. Дерево Меркла представляет собой структуру данных, в которой данные в концевых узлах дерева хэшируются, и все хэши в каждой ветви дерева конкатенируются в корне ветви. Этот процесс продолжает дерево вплоть до корня всего дерева, которое сохраняет хэш, который представляет все данные в дереве. Хэш, подразумеваемый в качестве транзакции, сохраненной в дереве, может быстро верифицироваться посредством определения то, является или нет оно согласованным со структурой дерева.
[0027] Исходя из того, что цепочка блоков представляет собой структуру данных для сохранения транзакций, сеть цепочек блоков представляет собой сеть вычислительных узлов, которые управляют, обновляют и поддерживают одну или более цепочек блоков. Как представлено выше, сеть цепочек блоков может предоставляться в качестве открытой сети цепочек блоков, закрытой сети цепочек блоков или консорциальной сети цепочек блоков.
[0028] В открытой цепочке блоков, консенсусный процесс управляется посредством узлов консенсусной сети. Например, сотни, тысячи, даже миллионы объектов могут участвовать в открытой цепочке блоков, каждый из которых управляет, по меньшей мере, одним узлом в открытой цепочке блоков. Соответственно, открытая цепочка блоков может считаться открытой сетью относительно участвующих объектов. В некоторых примерах, большинство объектов (узлов) должны подписывать каждый блок для того, чтобы блок был достоверным и добавлялся в цепочку блоков. Примерные открытые сети цепочек блоков включают в себя конкретные платежные сети между равноправными узлами, которые используют распределенный реестр, называемый "цепочкой блоков". Тем не менее, как отмечено выше, термин "цепочка блоков" используется для того, чтобы, в общем, означать распределенные реестры без конкретной ссылки на конкретные сети цепочек блоков.
[0029] В общем, открытая цепочка блоков поддерживает открытые транзакции. Открытая транзакция совместно используется со всеми узлами в цепочке блоков, и цепочка блоков реплицируется по всем узлам. Таким образом, все узлы находятся в идеальном консенсусе состояния относительно цепочки блоков. Чтобы достигать консенсуса (например, соглашения с добавлением блока в цепочку блоков), консенсусный протокол реализуется в сети цепочек блоков. Примерные консенсусные протоколы включают в себя, без ограничения, доказательство выполнения работы (POW), доказательство доли владения (POS) и доказательство наличия полномочий (POA). POW упоминается дополнительно в данном документе в качестве неограничивающего примера.
[0030] Реализации описания изобретения включают в себя машинореализованные способы для неинтерактивных верификаций с сохранением конфиденциальности транзакций с цепочками блоков. Более конкретно, реализации описания изобретения направлены на машинореализованный способ, допускающий параллельную проверку достоверности нескольких транзакций, ассоциированных со счетом узла цепочки блоков, на основе схем фиксации и гомоморфного шифрования без раскрытия конфиденциальной информации, такой как сумма транзакции, баланс счетов или случайные числа для формирования фиксаций, для других узлов цепочки блоков.
[0031] Согласно реализациям описания изобретения, узлы цепочки блоков могут использовать общую модель на основе счетов, которая может поддерживать параллельную верификацию транзакций в качестве способа ведения записей. По сравнению с моделью на основе баланса счетов, узлы цепочки блоков, которые приспосабливают общую модель на основе счетов, ведут записи множества активов вместо баланса счетов. Каждый из множества активов может быть ассоциирован, по меньшей мере, с одним из типа активов, идентификатора актива или стоимости активов. Актив согласно общей модели на основе счетов может иметь любую форму или тип, к примеру, денежный или фиксированный. Денежные активы могут включать в себя реальную валюту или криптовалюту. В некоторых реализациях, фиксированные активы могут конвертироваться в денежные активы, ассоциированные с денежной суммой. Денежная сумма затем может использоваться для того, чтобы выполнять транзакции между счетами сети цепочек блоков. В качестве иллюстрации, предполагается, что активы, описанные в реализациях описания изобретения, конвертируются в идентичный тип валюты и сохраняются на счетах цепочек блоков согласно общей модели на основе счетов.
[0032] Чтобы защищать конфиденциальность данных, транзакции могут записываться в цепочку блоков (реестр) на основе фиксации без раскрытия информации сумм транзакций или денежных сумм, ассоциированной со счетами пользователей цепочек блоков. Схема фиксации может использоваться для того, чтобы формировать фиксацию суммы транзакции с использованием случайного числа. Примерная схема фиксации включает в себя, без ограничения, PC-схему. Поскольку сумма транзакции скрывается в фиксации, одно или более доказательств по диапазону могут использоваться для того, чтобы доказывать то, что сумма транзакции не превышает стоимость счета пользователя цепочек блоков.
[0033] Согласно модели на основе баланса счетов, доказательства по диапазону ассоциированы с балансом счета. Если проведено более одной транзакции, но не все транзакции проходят проверку достоверности и записываются в цепочке блоков, доказательства по диапазону могут быть ассоциированы с некорректным балансом счетов, в силу чего могут быть недопустимыми. Для сравнения, согласно общей модели на основе счетов, стоимость счета может вычисляться как суммарная величина множества активов. Когда сумма транзакции должна переводиться между счетами пользователей цепочек блоков, по меньшей мере, часть из множества активов с комбинированной стоимостью, большей или равной сумме транзакции, может использоваться для того, чтобы покрывать сумму транзакции. Дополнительные переводы могут осуществляться при таком условии, что оставшиеся активы имеют комбинированную стоимость, большую суммы, которая должна переводиться. Даже если транзакции не проходят проверку достоверности и записываются в цепочке блоков, доказательства по диапазону, показывающие то, что комбинированная стоимость оставшихся активов превышает или равна сумме транзакции, по-прежнему могут быть достоверным. Следовательно, более одной верификации транзакций могут выполняться параллельно согласно общей модели на основе счетов.
[0034] Согласно реализациям описания изобретения, транзакции с цепочками блоков могут проходить проверку достоверности и записываться в цепочку блоков (реестр) на основе фиксации без раскрытия баланса счета транзакции, суммы транзакции или случайного числа, используемого для того, чтобы формировать фиксацию. Схема фиксации, такая как PC-схема, может использоваться для того, чтобы формировать фиксацию суммы транзакции на основе случайного числа. Сумма транзакции и случайное число могут шифроваться с использованием вероятностного или линейного детерминированного HE. Сумма транзакции и случайное число также могут использоваться для того, чтобы формировать набор значений в качестве ZKP для проверки достоверности транзакции на основе свойств используемой HE-схемы. Фиксация суммы транзакции, зашифрованная сумма транзакции и случайное число и ZKP могут использоваться посредством узла цепочки блоков для того, чтобы верифицировать то, является или нет транзакция достоверной, без раскрытия баланса счетов, суммы транзакции или случайного числа.
[0035] Фиг. 1 иллюстрирует пример окружения 100, которое может использоваться для того, чтобы выполнять реализации описания изобретения. В некоторых примерах, примерное окружение 100 обеспечивает возможность объектам участвовать в открытой цепочке 102 блоков. Примерное окружение 100 включает в себя вычислительные системы 106, 108 и сеть 110. В некоторых примерах, сеть 110 включает в себя локальную вычислительную сеть (LAN), глобальную вычислительную сеть (WAN), Интернет либо комбинацию вышеозначенного и соединяет веб-узлы, пользовательские устройства (например, вычислительные устройства) и внутренние интерфейсные системы. В некоторых примерах, к сети 110 может осуществляться доступ по линии проводной и/или беспроводной связи.
[0036] В проиллюстрированном примере, каждая вычислительная система 106, 108 может включать в себя любую соответствующую вычислительную систему, которая обеспечивает участие в качестве узла в открытой цепочки 102 блоков. Примерные вычислительные устройства включают в себя, без ограничения, сервер, настольный компьютер, переносной компьютер, планшетное вычислительное устройство и смартфон. В некоторых примерах, вычислительные системы 106, 108 выполняют хостинг одной или более машинореализованных услуг для взаимодействия с открытой цепочкой 102 блоков. Например, вычислительная система 106 может выполнять хостинг машинореализованных услуг первого объекта (например, пользователя A), к примеру, системы управления транзакциями, которую использует первый объект для того, чтобы управлять своими транзакциями с одним или более других объектов (например, других пользователей). Вычислительная система 108 может выполнять хостинг машинореализованных услуг второго объекта (например, пользователя B), к примеру, система управления транзакциями, которую использует второй объект для того, чтобы управлять своими транзакциями с одним или более других объектов (например, других пользователей). В примере по фиг. 1, открытая цепочка 102 блоков представляется как сеть с равноправными узлами узлов, и вычислительные системы 106, 108 предоставляют узлы первого объекта и второго объекта, соответственно, которые участвуют в открытой цепочке 102 блоков.
[0037] Фиг. 2 иллюстрирует пример концептуальной архитектуры 200 в соответствии с реализациями описания изобретения. Примерная концептуальная архитектура 200 включает в себя уровень 202 объектов, уровень 204 предоставления размещенных услуг и уровень 206 открытых цепочек блоков. В проиллюстрированном примере, уровень 202 объектов включает в себя три объекта, объект_1 (E1), объект_2 (E2) и объект_3 (E3), причем каждый объект имеет соответствующую систему 208 управления транзакциями.
[0038] В проиллюстрированном примере, уровень 204 предоставления размещенных услуг включает в себя интерфейсы 210 цепочек блоков для каждой системы 208 управления транзакциями. В некоторых примерах, соответствующая система 208 управления транзакциями обменивается данными с соответствующим интерфейсом 210 цепочек блоков по сети (например, по сети 110 по фиг. 1) с использованием протокола связи (например, протокола защищенной передачи гипертекста (HTTPS)). В некоторых примерах, каждый интерфейс 210 цепочек блоков предоставляет соединение связи между соответствующей системой 208 управления транзакциями и уровнем 206 цепочек блоков. Более конкретно, каждый интерфейс 210 цепочек блоков обеспечивает возможность соответствующему объекту проводить транзакции, записываемые в сети 212 цепочек блоков уровня 206 цепочек блоков. В некоторых примерах, связь между интерфейсом 210 цепочек блоков и уровнем 206 цепочек блоков проводится с использованием удаленных вызовов процедур (RPC). В некоторых примерах, интерфейсы 210 цепочек блоков "выполняют хостинг" узлов цепочек блоков для соответствующих систем 208 управления транзакциями. Например, интерфейсы 210 цепочек блоков предоставляют интерфейс прикладного программирования (API) для доступа к сети 212 цепочек блоков.
[0039] Как описано в данном документе, сеть 212 цепочек блоков предоставляется в качестве сети с равноправными узлами, включающей в себя множество узлов 214, которые неизменно записывают информацию в цепочку 216 блоков. Хотя одна цепочка 216 блоков схематично проиллюстрирована, несколько копий цепочки 216 блоков предоставляются и поддерживаются в сети 212 цепочек блоков. Например, каждый узел 214 сохраняет копию цепочки 216 блоков. В некоторых реализациях, цепочка 216 блоков сохраняет информацию, ассоциированную с транзакциями, которые выполняются между двумя или более объектов, участвующих в открытой цепочке блоков.
[0040] Фиг. 3 иллюстрирует пример процесса 300 проверки достоверности с защитой конфиденциальности транзакции с цепочками блоков на основе HE. На высоком уровне, процесс 300 осуществляется посредством пользовательского узла A 302, пользовательского узла B (не показан на фиг. 3) и узла 304 цепочки блоков, также называемого "консенсусным узлом". Как счет пользовательского узла A 302, так и счет пользовательского узла B могут иметь модель ведения записей на основе общей модели на основе счетов. Таким образом, записи счетов пользовательского узла A 302 и пользовательского узла B сохраняются в качестве множества активов. Транзакция, такая как перевод стоимости, может проводиться из пользовательского узла A 302 в пользовательский узел B. Пользовательский узел A 302 может выбирать один или более активов счета, которые имеют полную стоимость, большую или равную сумме транзакции для того, чтобы покрывать транзакцию. Разность между полной стоимостью одного или более активов и суммой транзакции может рассматриваться как сдача транзакции, остающаяся для пользовательского узла A 302.
[0041] Чтобы защищать конфиденциальность счета, пользовательский узел A 302 может формировать фиксации стоимостей активов, используемых для того, чтобы покрывать транзакцию. Пользовательский узел A 302 также может формировать фиксацию суммы транзакции для транзакции. Пользовательский узел A 302 также может использовать HE, чтобы шифровать сумму транзакции, сдачу и случайные числа, используемые для того, чтобы формировать фиксации. Чтобы верифицировать достоверность транзакции, узел 304 цепочки блоков может сравнивать сумму транзакции, сдачу и случайные числа, скрытые в фиксациях и зашифрованные посредством HE на основе ZKP. Если сумма транзакции, сдача и случайные числа совпадают, транзакция определяется в качестве достоверной посредством узла 304 цепочки блоков. Дополнительные сведения по процессу 300 пояснены в нижеприведенном описании по фиг. 3.
[0042] На 306, пользовательский узел A 302 выбирает множество активов для перевода суммы транзакции в пользовательский узел B. Пользовательский узел A 302 и пользовательский узел B могут представлять собой консенсусные узлы цепочки блоков или пользовательские узлы, которые используют сеть цепочек блоков без участия в консенсусном процессе. Как пояснено выше, пользовательский узел A 302 может использовать общую модель на основе счетов для того, чтобы вести записи. Вместо ведения баланса счета для записи согласно модели на основе баланса счетов, стоимость счета пользовательского узла A 302 измеряется посредством полной стоимости активов, которые он обрабатывает. Пользовательский узел A 302 может выбирать множество активов, которые имеют достаточную стоимость для того, чтобы покрывать сумму транзакции. Например, если сумма транзакции составляет 7,5 долларов США, пользовательский узел A 302 может выбирать три актива, которые стоят 5, 2 и 1 доллар США, соответственно, для того, чтобы покрывать сумму транзакции.
[0043] В некоторых реализациях, каждый актив может быть ассоциирован с адресом транзакции или идентификатором актива, который идентифицирует соответствующий актив. Идентификатор актива может представлять собой хэширование информации активов. Идентификаторы активов для k выбранных активов могут представляться как ID1,..., IDk.
[0044] На 308, пользовательский узел A 302 вычисляет сдачу на основе полной стоимости множества активов и суммы транзакции. Поскольку активы выбираются таким образом, чтобы иметь полную стоимость, превышающую сумму транзакции, сдача может вычисляться как полная стоимость выбранных активов, из которой удержана сумма транзакции. С использованием t для того, чтобы представлять сумму транзакции, и t0 для того, чтобы представлять сдачу, вычисление сдачи может выражаться как t0=a1+...+ak-t, где a1,..., ak являются, соответственно, стоимостями активов k активов, выбранных посредством пользовательского узла A 302, чтобы покрывать сумму t транзакции.
[0045] На 310, пользовательский узел A 302 формирует случайное число, соответствующее сумме транзакции, и случайное число, соответствующее сдаче. Случайное число, соответствующее сумме t транзакции, может обозначаться как r. Случайное число, соответствующее сдаче t0, может обозначаться как r0. В некоторых реализациях, могут формироваться множество случайных чисел, чтобы формировать фиксации стоимостей активов. Например, предположим, что a1,..., ak являются стоимостями активов, и случайные числа, которые соответствуют стоимостям активов, могут выражаться как ra1,..., rak.
[0046] В некоторых реализациях, случайное число r0 может вычисляться вместо случайно сформированного. Вычисление может выражаться как r0=ra1+...+rak-r, где r является случайным числом, сформированным с возможностью формировать фиксацию для суммы t транзакции. Посредством использования вычисленного случайного числа r0, пользовательский узел A 302 не должен формировать дополнительное ZKP, чтобы доказывать то, что полная стоимость переведенных активов равна полной стоимости принимаемых активов. В некоторых реализациях, другое случайное число r' может вычисляться как r'=r1+...+rk-r-r0, чтобы помогать с ZKP.
[0047] На 312, пользовательский узел A 302 формирует фиксации суммы транзакции и сдачи и шифрует соответствующие случайные числа на основе вероятностного HE. В некоторых реализациях, гомоморфные схемы фиксации, такие как PC, могут использоваться для того, чтобы формировать фиксации. С использованием PC в качестве неограничивающего примера, PC суммы t транзакции может формироваться посредством использования случайного числа r, которое может выражаться как PC(r, t)=grht, где g и h могут быть генераторами эллиптической кривой, и PC(r, t) является скалярным умножением точек кривой. Аналогично, PC сдачи t0 может выражаться как PC(r0, t0)=gr0ht0.
[0048] Случайное число r может шифроваться с использованием открытого ключа пользовательского узла B на основе вероятностной HE-схемы, такой как схема шифрования Окамото-Учиямы (OU). Следует понимать, что также могут использоваться другие HE-схемы, такие как схема Бонеха-Го-Ниссима. С использованием OU в качестве неограничивающего примера, случайное число может шифроваться на основе OU посредством трактовки суммы t транзакции в качестве случайного числа, которое может выражаться как OUB(r, t)=urvt или просто OUB(t), где u является генератором (Z/nZ)*, удовлетворяющее таким условиям, что v=un mod n, и n=p x q, где p и q являются двумя простыми числами. Вероятностная OU может удовлетворять такому свойству, что OU(a+b)=OU(a)*OU(b), где a и b являются простым текстом, используемым для OU.
[0049] Случайное число r0 может шифроваться с использованием открытого ключа пользовательского узла A 302. Случайное число может шифроваться на основе OU посредством трактовки сдачи t0 в качестве случайного числа, которое может выражаться как OUA(r0, t0).
[0050] Шифрованный текст суммы транзакции затем может выражаться как T=(PC(t, r), OUB(r, t)), и шифрованный текст сдачи может выражаться как T0=(PC(t0, r0), OUA(r0, t0)). Аналогично, шифрованный текст k выбранных активов может выражаться как Ti=(PC(ti, ri), OUA(ri, ti)), где i=1,..., k.
[0051] На 314, пользовательский узел A 302 формирует одно или более доказательств по диапазону. В некоторых реализациях, первое доказательство по диапазону, RP1, может формироваться для того, чтобы показывать то, что сумма транзакции t≥0. Второе доказательство по диапазону, RP2, может формироваться для того, чтобы показывать то, что сдача t0≥0, или другими словами, то, что полная стоимость множества активов превышает или равна сумме транзакции.
[0052] На 316, пользовательский узел A 302 формирует ZKP. ZKP может использоваться для того, чтобы показывать то, что случайное число и сумма транзакции, скрытая в PC(r, t), являются идентичными случайному числу и сумме транзакции, зашифрованной в OUB(r, t), и случайное число и сумма транзакции, скрытая в PC(r0, t0), являются идентичными случайному числу и сумме транзакции, зашифрованной в OUA(r0, t0). Чтобы формировать ZKP, два случайных числа t'1 и r'1 могут выбираться. Два случайных числа могут использоваться для того, чтобы формировать три значения, которые составляют P=PC(t'1, r'1), P'= OUB(r'1, t'1), P''= OUA(r'1, t'1). Три значения затем могут использоваться для того, чтобы формировать хэш, выражаемый как x=Hash(P, P', P''). Хэш-значение x может использоваться для того, чтобы вычислять t'2=t'1+xt, r'2=r'1+xr, t'3=t'1+xt и r'3=r'1+xr0. ZKP затем может выражаться как (P, P', t'2, r'2, P'', t'3, r'3).
[0053] На 318, пользовательский узел A 302 использует закрытый ключ для того, чтобы формировать цифровую подпись с тем, чтобы подписывать данные транзакции. В некоторых реализациях, данные транзакции могут включать в себя идентификаторы активов для k выбранных активов (ID1,..., IDk), шифрованный текст суммы транзакции (T), шифрованный текст сдачи (T0), доказательства по диапазону (RP1 и RP2), случайное число r' и ZKP.
[0054] На 320, пользовательский узел A 302 предоставляет копию с цифровой подписью данных транзакции в сеть цепочек блоков.
[0055] На 322, узел 304 цепочки блоков верифицирует цифровую подпись. Верификация цифровой подписи может выполняться для того, чтобы обеспечивать то, что данные транзакции отправляются посредством пользовательского узла A 302. В некоторых реализациях, узел 304 цепочки блоков включает в себя механизм защиты от двойной траты, который может верифицировать то, выполнена уже транзакция или нет. Если да, узел 304 цепочки блоков может отклонять транзакцию.
[0056] На 324, узел 304 цепочки блоков верифицирует то, ассоциированы или нет выбранные активы со счетом пользовательского узла A. Верификация может быть основана на идентификаторах активов для активов.
[0057] На 326, узел 304 цепочки блоков верифицирует то, что полная стоимость выбранного множества активов равна суммарной величине суммы транзакции и сдачи. Другими словами, цепочка блоков верифицирует то, что a1+...+ak=t+t0. Как пояснено выше, согласно общей модели на основе счетов, активы могут сохраняться в цепочке блоков в качестве PC, чтобы защищать конфиденциальность данных. На основе гомоморфизма PC, PC(ra1, a1) x.. x PC(rak, ak)=PC(ra1+...+ rak, a1+...+ak) и PC(r, t) x PC(r0, t0)=PC(r+r0, t+t0). Следовательно, посредством показа того, что PC(ra1, a1) x... x PC(rak, ak)=PC(r, t) x PC(r0, t0) x gr', можно доказывать то, что a1+...+ak=t+t0.
[0058] На 328, узел 304 цепочки блоков верифицирует одно или более доказательств по диапазону.
[0059] На 330, узел 304 цепочки блоков верифицирует ZKP. Как пояснено выше, ZKP может формироваться, чтобы верифицировать то, является или нет случайное число, соответствующее сумме транзакции, зашифрованной с использованием открытого ключа пользовательского узла B, идентичным соответствующему случайному числу, скрытому посредством PC, и то, является или нет случайное число, соответствующее сдаче, зашифрованной с использованием открытого ключа пользовательского узла A 302, идентичным соответствующему случайному числу, скрытому посредством PC. В некоторых реализациях, чтобы верифицировать ZKP, узел 304 цепочки блоков может сначала вычислять хэш-значение x в качестве x=Hash(P, P', P''). Узел 304 цепочки блоков затем может верифицировать то, являются или нет PC(t'2, r'2)=P x PC(t, r)x, OUB(r'2, t'2)=P' x OUB(r, t)x, PC(t'3, r'3)=P x PC(t0, r0)x and OUA(r'3, t'3)=P'' x OUA(r0, t0)x истинными. Если все являются истинными, примерный процесс 300 переходит к 332. В противном случае, узел 304 цепочки блоков может отклонять транзакцию.
[0060] На 332, узел 304 цепочки блоков обновляет счета пользовательского узла A 302 и пользовательского узла B. Поскольку счета пользовательского узла A 302 и пользовательского узла B сохраняют активы в качестве записей согласно общей модели на основе счетов, после транзакции, множество активов, переведенных с пользовательского узла A 302, может удаляться со счета пользовательского узла A 302. Сдача может добавляться обратно на счет пользовательского узла A 302. Сумма транзакции и соответствующий идентификатор актива могут добавляться в качестве нового актива на счет пользовательского узла B. В некоторых реализациях, обновление может выполняться на основе обновления списков активов, поддерживаемых посредством соответствующих счетов пользовательского узла A 302 и пользовательского узла B. В некоторых реализациях, обновление может выполняться на основе добавления шифрованных текстов суммы транзакции и сдачи зашифрованных стоимостей активов, поддерживаемых посредством пользовательского узла A 302 и пользовательского узла B. В дальнейшем в данном документе подробнее описывается обновление счетов со ссылкой на фиг. 4.
[0061] Фиг. 4 иллюстрирует пример транзакции 400 с цепочками блоков в соответствии с реализациями описания изобретения. Как показано в примерной транзакции 400 с цепочками блоков, пользовательский узел A 402 переводит сумму t транзакции в пользовательский узел B 404. Перед транзакцией, пользовательский узел A 402 имеет n активов, включающих в себя (ID1, T1), (ID2, T2), (IDn, Tn).
[0062] С использованием схем фиксации, схем шифрования и процесса проведения транзакций, описанного в данном документе со ссылкой на фиг. 3, в качестве примера, пользовательский узел A 402 может формировать данные 408 транзакции, которые могут включать в себя идентификаторы активов для k выбранных активов, ID, ID2,..., IDk. Данные 408 транзакции дополнительно могут включать в себя T0, T, RP1, RP2, r' и ZKP. После того, как данные 408 транзакции формируются, пользовательский узел A 402 может добавлять свою цифровую подпись и предоставлять данные транзакции с цифровой подписью в сеть 406 цепочек блоков для консенсуса.
[0063] После транзакции, выбранные активы k могут удаляться со счета актива пользователя 402. Сдача может добавляться обратно в пользовательский узел A 402. Следовательно, пользовательский узел A 402 может иметь следующие активы, выражаемые как (IDk+1, Tk+1), (IDk+2, Tk+2),..., (IDn, Tn), (ID0, T0), где ID0 представляет идентификатор актива сдачи t0.
[0064] Перед транзакцией, пользовательский узел B 404 имеет m активов, которые могут выражаться как (ID1', T1'), (ID2', T2'), (IDm', Tm'). После транзакции, сумма транзакции может добавляться в пользовательский узел B 404. Пользовательский узел B 404 может иметь следующие активы, выражаемые как (ID1', T1'), (ID2', T2'), (IDm', Tm'), (IDT, T), где IDT представляет идентификатор актива суммы t транзакции.
[0065] Фиг. 5 иллюстрирует пример процесса 500 проверки достоверности с защитой конфиденциальности транзакции с цепочками блоков на основе HE. На высоком уровне, примерный процесс 500 осуществляется посредством пользовательского узла A 502, пользовательского узла B (не показан на фиг. 5) и узла 504 цепочки блоков, также называемого "консенсусным узлом". Как счет пользовательского узла A 502, так и счет пользовательского узла B могут быть основаны на общей модели на основе счетов. Транзакция, такая как перевод стоимости, может проводиться из пользовательского узла A 502 в пользовательский узел B. Пользовательский узел A 502 может выбирать один или более активов счета, которые имеют полную стоимость, большую или равную сумме транзакции для того, чтобы покрывать транзакцию. Разность между полной стоимостью одного или более активов и суммой транзакции может рассматриваться как сдача транзакции, остающаяся для пользовательского узла A 502.
[0066] Чтобы защищать конфиденциальность счета, пользовательский узел A 502 может формировать фиксации стоимостей активов, используемых для того, чтобы покрывать транзакцию, и суммы по транзакции с использованием схемы фиксации, такой как PC. Пользовательский узел A 502 также может использовать линейное детерминированное HE, чтобы шифровать случайные числа, используемые для того, чтобы формировать фиксации. Линейное детерминированное HE может иметь следующие свойства: HE(s+t)=HE x HE(t) и HE(kt)=HE(t)k. Чтобы верифицировать достоверность транзакции, узел 504 цепочки блоков может сравнивать случайные числа, скрытые в фиксации и зашифрованные посредством HE на основе ZKP. Если случайные числа совпадают, транзакция может определяться как достоверная посредством узла 504 цепочки блоков. Дополнительные сведения по примерному процессу 500 пояснены в нижеприведенном описании по фиг. 5
[0067] На 506, пользовательский узел A 502 выбирает множество активов для перевода суммы транзакции в пользовательский узел B. Пользовательский узел A 502 и пользовательский узел B могут представлять собой консенсусный узел цепочки блоков или пользовательские узлы, которые используют сеть цепочек блоков без участия в консенсусном процессе. Пользовательский узел A 502 может выбирать множество активов, которые имеют достаточную стоимость для того, чтобы покрывать сумму транзакции.
[0068] В некоторых реализациях, каждый актив может быть ассоциирован с адресом транзакции или идентификатором актива, который идентифицирует соответствующий актив. Идентификатор актива может представлять собой хэширование информации активов. Идентификаторы активов для k выбранных активов могут представляться как ID1,..., IDk.
[0069] На 508, пользовательский узел A 502 вычисляет сдачу на основе полной стоимости множества активов и суммы транзакции. Поскольку активы выбираются таким образом, чтобы иметь полную стоимость, превышающую сумму транзакции, сдача может вычисляться как полная стоимость выбранных активов, из которой удержана сумма транзакции. С использованием t для того, чтобы представлять сумму транзакции, и t0 для того, чтобы представлять сдачу, вычисление сдачи может выражаться как t0=a1+...+ak-t, где a1,..., ak являются, соответственно, стоимостями активов k активов, выбранных посредством пользовательского узла A 502, чтобы покрывать сумму t транзакции.
[0070] На 510, пользовательский узел A 502 формирует случайное число, соответствующее сумме транзакции, и случайное число, соответствующее сдаче. Случайное число, соответствующее сумме t транзакции, может обозначаться как r. Случайное число, соответствующее сдаче t0, может обозначаться как r0. В некоторых реализациях, могут формироваться множество случайных чисел, чтобы формировать фиксации стоимостей активов. Например, предположим, что a1,..., ak являются стоимостями активов, и случайные числа, которые соответствуют стоимостям активов, могут выражаться как ra1,..., rak.
[0071] В некоторых реализациях, случайное число r0 может вычисляться вместо случайно сформированного. Вычисление может выражаться как r0= ra1+...+rak-r, где r является случайным числом, сформированным с возможностью формировать фиксацию для суммы t транзакции. Посредством вычисления r0, пользовательский узел A 502 не должен формировать дополнительное ZKP, чтобы показывать то, что полная стоимость переведенных активов равна полной стоимости принимаемых активов. В некоторых реализациях, случайное число r' может вычисляться как r'=r1+...+rk-r-r0.
[0072] На 512, пользовательский узел A 502 формирует фиксации суммы транзакции и сдачи и шифрует соответствующие случайные числа на основе детерминированного HE. В некоторых реализациях, гомоморфные схемы фиксации, такие как PC, могут использоваться для того, чтобы формировать фиксации. С использованием PC в качестве неограничивающего примера, PC суммы t транзакции может формироваться посредством использования случайного числа r, которое может выражаться как PC(r, t)=grht, где g и h могут быть генераторами эллиптической кривой, и PC(r, t) является скалярным умножением точек кривой. Аналогично, PC сдачи t0 может выражаться как PC(r0, t0)=gr0ht0.
[0073] Случайное число r может шифроваться с использованием открытого ключа пользовательского узла B на основе линейного детерминированного HE. Линейное детерминированное HE может получаться из вероятностного HE, такого как HE Пэйе, HE Бенало, HE OU, HE Накаша-Штерна, HE Бонеха-Го-Ниссима, HE Дамгарда-Юрика или HE на основе равной вероятности, посредством фиксации случайного числа в HE-схеме равным 0 или 1 либо другому соответствующему числу. Зашифрованное случайное число может выражаться как HE(r).
[0074] Случайное число r0 может шифроваться с использованием открытого ключа пользовательского узла A. Случайное число может шифроваться на основе линейного детерминированного HE. Зашифрованное случайное число может выражаться как HE(r0).
[0075] Шифрованный текст суммы t транзакции затем может выражаться как T=(grht, HEB(r)), и шифрованный текст сдачи может выражаться как T0=(gr0ht0, HEA(r0)). Аналогично, шифрованный текст k выбранных активов может выражаться как Ti=(grihti, HE(ri), где i=1,..., k.
[0076] На 514, пользовательский узел A 502 формирует одно или более доказательств по диапазону. В некоторых реализациях, первое доказательство по диапазону, RP1, может формироваться для того, чтобы показывать то, что сумма транзакции t≥0. Второе доказательство по диапазону, RP2, может формироваться для того, чтобы показывать то, что сдача t0≥0, или другими словами, то, что полная стоимость множества активов превышает или равна сумме транзакции.
[0077] На 516, пользовательский узел A 502 формирует ZKP. ZKP может использоваться для того, чтобы показывать то, что, случайное число, скрытое в PC(r, t), является идентичным случайному числу, зашифрованному в HE(r), и случайное число, скрытое в PC(r0, t0), является идентичным случайному числу, зашифрованному в HE(r0). Чтобы формировать ZKP, два случайных числа t'1 и r'1 могут выбираться. Два случайных числа могут использоваться для того, чтобы формировать три значения, которые составляют P= gr'1ht'1, P'=HEB(r'1), P''=HEA(r'1). Три значения затем могут использоваться для того, чтобы формировать хэш, выражаемый как x=Hash(P, P', P''). Хэш-значение x может использоваться для того, чтобы вычислять t'2=t'1+xt, r'2=r'1+xr, t'3=t'1+xt и r'3=r'1+xr0. ZKP затем может выражаться как (P, P', t'2, r'2, P'', t'3, r'3).
[0078] На 518, пользовательский узел A 502 использует закрытый ключ для того, чтобы формировать цифровую подпись с тем, чтобы подписывать данные транзакции. В некоторых реализациях, данные транзакции могут включать в себя идентификаторы активов для k выбранных активов (ID1,..., IDk), шифрованный текст суммы транзакции (T), шифрованный текст сдачи (T0), доказательства по диапазону (RP1 и RP2), случайное число r' и ZKP.
[0079] На 520, пользовательский узел A 502 предоставляет копию с цифровой подписью данных транзакции в сеть цепочек блоков.
[0080] На 522, узел 504 цепочки блоков верифицирует цифровую подпись. Верификация цифровой подписи может выполняться для того, чтобы обеспечивать то, что данные транзакции отправляются посредством пользовательского узла A 502. В некоторых реализациях, узел 504 цепочки блоков включает в себя механизм защиты от двойной траты, который может верифицировать то, выполнена уже транзакция или нет. Если да, узел 504 цепочки блоков может отклонять транзакцию.
[0081] На 524, узел 504 цепочки блоков верифицирует то, ассоциированы или нет выбранные активы со счетом пользовательского узла A. Верификация может быть основана на идентификаторах активов для активов.
[0082] На 526, узел 504 цепочки блоков верифицирует то, что полная стоимость выбранного множества активов равна суммарной величине суммы транзакции и сдачи. Другими словами, узел 504 цепочки блоков верифицирует то, что a1+...+ak=t+t0. Как пояснено выше, согласно общей модели на основе счетов, активы могут сохраняться в цепочке блоков в качестве PC, чтобы защищать конфиденциальность данных. На основе гомоморфизма PC, PC(ra1, a1) x.. x PC(rak, ak)=PC(ra1+...+ rak, a1+...+ak) и PC(r, t) x PC(r0, t0)=PC(r+r0, t+t0). Следовательно, посредством показа того, что PC(ra1, a1) x... x PC(rak, ak)=PC(r, t) x PC(r0, t0) x gr', можно доказывать то, что a1+...+ak=t+t0.
[0083] На 528, узел 504 цепочки блоков верифицирует одно или более доказательств по диапазону.
[0084] На 530, узел 504 цепочки блоков верифицирует ZKP. Как пояснено выше, ZKP может формироваться, чтобы верифицировать то, является или нет случайное число, соответствующее сумме транзакции, зашифрованной с использованием открытого ключа пользовательского узла B, идентичным соответствующему случайному числу, скрытому посредством PC, и то, является или нет случайное число, соответствующее сдаче, зашифрованной с использованием открытого ключа пользовательского узла A 502, идентичным соответствующему случайному числу, скрытому посредством PC. В некоторых реализациях, чтобы верифицировать ZKP, узел 504 цепочки блоков может сначала вычислять хэш-значение x в качестве x=Hash(P, P', P''). Узел 504 цепочки блоков затем может верифицировать, являются или нет gr'2ht'2=P x (grht)x, HEB(r')=P' x HE(r) x, gr'3ht'3=P x (gr0ht0)x, и HEA(r'3)=P'' x HEA(r0)x истинными. Если каждое из них является истинным, примерный процесс 500 переходит к 532. В противном случае, узел 504 цепочки блоков может отклонять транзакцию.
[0085] На 532, узел 504 цепочки блоков обновляет счета пользовательского узла A 502 и пользовательского узла B. Поскольку счета пользовательского узла A 502 и пользовательского узла B сохраняют активы в качестве записей согласно общей модели на основе счетов, после транзакции, множество активов, переведенных с пользовательского узла A 502, могут удаляться со счета пользовательского узла A 502. Сдача может добавляться обратно на счет пользовательского узла A 502. Сумма транзакции и соответствующий идентификатор актива могут добавляться в качестве нового актива на счет пользовательского узла B. В некоторых реализациях, обновление может выполняться на основе обновления списков активов, поддерживаемых посредством соответствующих счетов пользовательского узла A 502 и пользовательского узла B. В некоторых реализациях, обновление может выполняться на основе добавления шифрованных текстов суммы транзакции и сдачи зашифрованных стоимостей активов, поддерживаемых посредством пользовательского узла A 502 и пользовательского узла B. Примерная транзакция 400 с цепочками блоков и соответствующие обновления счетов описываются в описании фиг. 4.
[0086] Фиг. 6 иллюстрирует пример процесса 600, который может выполняться в соответствии с реализациями описания изобретения. Для ясности представления, нижеприведенное описание, в общем, описывает способ 600 в контексте других чертежей в этом описании. Тем не менее, следует понимать, что примерный процесс 600 может выполняться, например, посредством любой системы, окружения, программного обеспечения и аппаратных средств либо комбинации систем, окружений, программного обеспечения и аппаратных средств, надлежащим образом. В некоторых реализациях, этапы примерного процесса 600 могут выполняться параллельно, в комбинации, циклически или в любом порядке.
[0087] На 602, консенсусный узел принимает данные транзакции, ассоциированные с транзакцией. В некоторых примерах, данные транзакции содержат данные, представляющие множество активов, первую фиксацию, которая скрывает первое случайное число и сумму транзакции для транзакции, вторую фиксацию, которая скрывает второе случайное число и сдачу, вычисленную на основе удержания суммы транзакции из полной стоимости множества активов, сумму транзакции и третье случайное число, оба из которых шифруются посредством открытого ключа второго узла на основе вероятностной HE-схемы, сдачу и четвертое случайное число, оба из которых шифруются посредством открытого ключа первого узла на основе вероятностной HE-схемы, одно или более доказательств по диапазону, ZKP и цифровую подпись, сформированную на основе закрытого ключа, соответствующего открытому ключу первого узла.
[0088] В некоторых реализациях, каждый из множества активов ассоциирован с одним или более из типа активов, стоимости активов, скрытой в фиксации, и случайного числа, используемого для формирования фиксации. В некоторых реализациях, консенсусный узел определяет то, что каждый из множества активов ассоциирован с идентичным типом активов. В некоторых реализациях, первая фиксация, вторая фиксация и фиксация, которая скрывает стоимость активов, формируются на основе схемы фиксации, которая является гомоморфной.
[0089] В некоторых реализациях, третье случайное число шифруется на основе вероятностной HE-схемы посредством трактовки суммы транзакции в качестве случайного числа, и четвертое случайное число шифруется на основе вероятностной HE-схемы посредством трактовки сдачи в качестве случайного числа. В некоторых реализациях, первая фиксация и вторая фиксация формируются на основе схемы фиксации Педерсена, и вероятностная HE-схема представляет собой схему OU-шифрования.
[0090] В некоторых реализациях, ZKP содержит фиксацию Педерсена, которая скрывает пятое случайное число и шестое случайное число, шифрованный текст пятого случайного числа и шестого случайного числа, зашифрованный посредством открытого ключа второго счета на основе схемы OU-шифрования, и шифрованный текст пятого случайного числа и шестого случайного числа, зашифрованный посредством открытого ключа первого счета на основе схемы OU-шифрования.
[0091] На 604, консенсусный узел верифицирует цифровую подпись на основе открытого ключа первого узла.
[0092] На 606, консенсусный узел определяет то, что одно или более доказательств по диапазону доказывают то, что сумма транзакции и сдача превышают или равны нулю.
[0093] На 608, консенсусный узел определяет то, что полная стоимость множества активов равна суммарной величине суммы транзакции и сдачи. В некоторых реализациях, определение того, что полная стоимость множества активов равна суммарной величине суммы транзакции и сдачи, выполняется на основе гомоморфизма схемы фиксации.
[0094] На 610, консенсусный узел определяет, на основе ZKP, то, что транзакция является достоверной, посредством определения того, что первое случайное число равно третьему случайному числу, второе случайное число равно четвертому случайному числу, и сумма транзакции, скрытая в первой фиксации, равна сумме транзакции, зашифрованной посредством открытого ключа второго узла.
[0095] В некоторых реализациях, транзакция выполняется между счетом, ассоциированным с первым узлом, и счетом, ассоциированным со вторым узлом, и способ дополнительно содержит обновление, после определения того, что транзакция является достоверной, счета, ассоциированного с первым узлом, и счета, ассоциированного со вторым узлом, на основе суммы транзакции и сдачи. В некоторых реализациях, ZKP формируется и используется для определения того, что транзакция является достоверной, на основе свойств вероятностного HE. В некоторых реализациях, определение того, что транзакция является достоверной, выполняется на основе ZKP без взаимодействий между первым узлом и вторым узлом через часть за пределами сети цепочек блоков.
[0096] Фиг. 7 иллюстрирует примерный процесс 700, который может выполняться в соответствии с реализациями описания изобретения. Для ясности представления, нижеприведенное описание, в общем, описывает способ 700 в контексте других чертежей в этом описании. Тем не менее, следует понимать, что примерный процесс 700 может выполняться, например, посредством любой системы, окружения, программного обеспечения и аппаратных средств либо комбинации систем, окружений, программного обеспечения и аппаратных средств, надлежащим образом. В некоторых реализациях, этапы примерного процесса 700 могут выполняться параллельно, в комбинации, циклически или в любом порядке.
[0097] На 702, консенсусный узел принимает данные транзакции, ассоциированные с транзакцией. В некоторых примерах, данные транзакции содержат данные, представляющие множество активов, первую фиксацию, которая скрывает первое случайное число и сумму транзакции для транзакции, вторую фиксацию, которая скрывает второе случайное число и сдачу, вычисленную на основе удержания суммы транзакции из полной стоимости множества активов, сумму транзакции и третье случайное число, оба из которых шифруются посредством открытого ключа второго узла на основе линейной детерминированной HE-схемы, сдачу и четвертое случайное число, оба из которых шифруются посредством открытого ключа первого узла на основе линейной детерминированной HE-схемы, одно или более доказательств по диапазону, ZKP и цифровую подпись, сформированную на основе закрытого ключа, соответствующего открытому ключу первого узла.
[0098] В некоторых реализациях, каждый из множества активов ассоциирован с одним или более из типа активов, стоимости активов, скрытой в фиксации, и случайного числа, используемого для формирования фиксации. В некоторых реализациях, консенсусный узел определяет то, что каждый из множества активов ассоциирован с идентичным типом активов. В некоторых реализациях, первая фиксация, вторая фиксация и фиксация, которая скрывает стоимость активов, формируются на основе схемы фиксации, которая является гомоморфной.
[0099] В некоторых реализациях, линейная детерминированная HE-схема извлекается из вероятностной HE-схемы на основе изменения случайного числа, ассоциированного с вероятностной HE-схемой, на фиксированное число.
[00100] В некоторых реализациях, ZKP содержит фиксацию, которая скрывает пятое случайное число и шестое случайное число, шифрованный текст пятого случайного числа и шестого случайного числа, зашифрованный посредством открытого ключа второго счета на основе линейной детерминированной HE-схемы, и шифрованный текст пятого случайного числа и шестого случайного числа, зашифрованный посредством открытого ключа первого счета на основе линейной детерминированной HE-схемы.
[00101] На 704, консенсусный узел верифицирует цифровую подпись на основе открытого ключа первого узла.
[00102] На 706, консенсусный узел определяет то, что одно или более доказательств по диапазону доказывают то, что сумма транзакции и сдача превышают или равны нулю.
[00103] На 708, консенсусный узел определяет то, что полная стоимость множества активов равна суммарной величине суммы транзакции и сдачи. В некоторых реализациях, определение того, что полная стоимость множества активов равна суммарной величине суммы транзакции и сдачи, выполняется на основе гомоморфизма схемы фиксации.
[00104] На 710, консенсусный узел определяет, на основе ZKP, то, что транзакция является достоверной, посредством определения того, что первое случайное число равно третьему случайному числу, второе случайное число равно четвертому случайному числу, и сумма транзакции, скрытая в первой фиксации, равна сумме транзакции, зашифрованной посредством открытого ключа второго узла.
[00105] В некоторых реализациях, транзакция выполняется между счетом, ассоциированным с первым узлом, и счетом, ассоциированным со вторым узлом, и способ дополнительно содержит обновление, после определения того, что транзакция является достоверной, счета, ассоциированного с первым узлом, и счета, ассоциированного со вторым узлом, на основе суммы транзакции и сдачи. В некоторых реализациях, ZKP формируется и используется для определения того, что транзакция является достоверной, на основе свойств линейного детерминированного HE. В некоторых реализациях, определение того, что транзакция является достоверной, выполняется на основе ZKP без взаимодействий между первым узлом и вторым узлом через часть за пределами сети цепочек блоков.
[00106] Фиг. 8 иллюстрирует пример узла 800 цепочки блоков, который может выполнять процесс в соответствии с реализациями описания изобретения. На высоком уровне, узел 800 цепочки блоков включает в себя приемный блок 802, блок 804 верификации, первый блок 806 определения, второй блок 808 определения и третий блок 810 определения.
[00107] В некоторых реализациях, приемный блок 802 выполнен с возможностью принимать данные транзакции, ассоциированные с транзакцией. В некоторых примерах, данные транзакции содержат данные, представляющие множество активов, первую фиксацию, которая скрывает первое случайное число и сумму транзакции для транзакции, вторую фиксацию, которая скрывает второе случайное число и сдачу, вычисленную на основе удержания суммы транзакции из полной стоимости множества активов, сумму транзакции и третье случайное число, оба из которых шифруются посредством открытого ключа второго узла на основе вероятностной HE-схемы, сдачу и четвертое случайное число, оба из которых шифруются посредством открытого ключа первого узла на основе вероятностной HE-схемы, одно или более доказательств по диапазону, ZKP и цифровую подпись, сформированную на основе закрытого ключа, соответствующего открытому ключу первого узла.
[00108] В некоторых реализациях, приемный блок 802 выполнен с возможностью принимать данные транзакции, ассоциированные с транзакцией, причем данные транзакции содержат: данные, представляющие множество активов, первую фиксацию, которая скрывает первое случайное число и сумму транзакции для транзакции, вторую фиксацию, которая скрывает второе случайное число и сдачу, вычисленную на основе удержания суммы транзакции из полной стоимости множества активов, сумму транзакции и третье случайное число, оба из которых шифруются посредством открытого ключа второго узла на основе линейной детерминированной HE-схемы, сдачу и четвертое случайное число, оба из которых шифруются посредством открытого ключа первого узла на основе линейной детерминированной HE-схемы, одно или более доказательств по диапазону, ZKP и цифровую подпись, сформированную на основе закрытого ключа, соответствующего открытому ключу первого узла.
[00109] В некоторых реализациях, каждый из множества активов ассоциирован с одним или более из типа активов, стоимости активов, скрытой в фиксации, и случайного числа, используемого для формирования фиксации. В некоторых реализациях, узел 800 цепочки блоков определяет то, что каждый из множества активов ассоциирован с идентичным типом активов. В некоторых реализациях, первая фиксация, вторая фиксация и фиксация, которая скрывает стоимость активов, формируются на основе схемы фиксации, которая является гомоморфной. В некоторых реализациях, линейная детерминированная HE-схема извлекается из вероятностной HE-схемы на основе изменения случайного числа, ассоциированного с вероятностной HE-схемой, на фиксированное число.
[00110] В некоторых реализациях, третье случайное число шифруется на основе вероятностной HE-схемы посредством трактовки суммы транзакции в качестве случайного числа, и четвертое случайное число шифруется на основе вероятностной HE-схемы посредством трактовки сдачи в качестве случайного числа. В некоторых реализациях, первая фиксация и вторая фиксация формируются на основе схемы фиксации Педерсена, и вероятностная HE-схема представляет собой схему OU-шифрования.
[00111] В некоторых реализациях, ZKP содержит фиксацию Педерсена, которая скрывает пятое случайное число и шестое случайное число, шифрованный текст пятого случайного числа и шестого случайного числа, зашифрованный посредством открытого ключа второго счета на основе схемы OU-шифрования, и шифрованный текст пятого случайного числа и шестого случайного числа, зашифрованный посредством открытого ключа первого счета на основе схемы OU-шифрования. В некоторых реализациях, ZKP содержит фиксацию, которая скрывает пятое случайное число и шестое случайное число, шифрованный текст пятого случайного числа и шестого случайного числа, зашифрованный посредством открытого ключа второго счета на основе линейной детерминированной HE-схемы, и шифрованный текст пятого случайного числа и шестого случайного числа, зашифрованный посредством открытого ключа первого счета на основе линейной детерминированной HE-схемы.
[00112] Блок 804 верификации выполнен с возможностью верифицировать цифровую подпись на основе открытого ключа первого узла.
[00113] Первый блок 806 определения выполнен с возможностью определять то, что одно или более доказательств по диапазону доказывают то, что сумма транзакции и сдача больше или равны нулю.
[00114] Второй блок 808 определения выполнен с возможностью определять то, что полная стоимость множества активов равна суммарной величине суммы транзакции и сдачи. В некоторых реализациях, определение того, что полная стоимость множества активов равна суммарной величине суммы транзакции и сдачи, выполняется на основе гомоморфизма схемы фиксации.
[00115] Третий блок 810 определения выполнен с возможностью определять, на основе ZKP, то, что транзакция является достоверной, посредством определения того, что первое случайное число равно третьему случайному числу, второе случайное число равно четвертому случайному числу, и сумма транзакции, скрытая в первой фиксации, равна сумме транзакции, зашифрованной посредством открытого ключа второго узла.
[00116] В некоторых реализациях, транзакция выполняется между счетом, ассоциированным с первым узлом, и счетом, ассоциированным со вторым узлом, и узел 800 цепочки блоков может включать в себя блок обновления, выполненный с возможностью обновлять, после того, как третий блок 810 определения определяет то, что транзакция является достоверной, счет, ассоциированный с первым узлом, и счет, ассоциированный со вторым узлом, на основе суммы транзакции и сдачи. В некоторых реализациях, ZKP формируется и используется для определения того, что транзакция является достоверной, на основе свойств вероятностного HE. В некоторых реализациях, ZKP формируется и используется для определения того, что транзакция является достоверной, на основе свойств линейного детерминированного HE. В некоторых реализациях, определение того, что транзакция является достоверной, выполняется на основе ZKP без взаимодействий между первым узлом и вторым узлом через часть за пределами сети цепочек блоков.
[00117] Реализации предмета изобретения, описанного в этом подробном описании, могут реализовываться таким образом, чтобы реализовывать конкретные преимущества или технические эффекты. Например, реализации описания изобретения разрешают балансу счета и сумме транзакции узлов цепочки блоков быть закрытыми во время транзакций. Получатель перевода денежных средств не должен обязательно подтверждать транзакцию или использовать случайное число для того, чтобы верифицировать фиксацию, проверка достоверности транзакций может быть неинтерактивной. Узел цепочки блоков может проверять достоверность транзакции на основе HE и схем фиксации, чтобы обеспечивать возможность доказательства с нулевой передачей знаний.
[00118] Описанная технология разрешает повышение безопасности счетов/данных различного мобильного вычислительного устройства. Баланс счетов и суммы транзакций могут шифроваться на основе HE и скрываться посредством схем фиксации. В связи с этим, консенсусный узел может обновлять баланс счетов в реестре после транзакции на основе свойств HE без раскрытия фактического баланса счета для счета. Поскольку случайное число не должно обязательно отправляться получателю, чтобы подтверждать транзакцию, риск утечки данных может уменьшаться, и меньший объем вычислительных ресурсов и ресурсов запоминающего устройства должен использоваться для того, чтобы управлять случайным числом.
[00119] Реализации и операции, описанные в этом подробном описании, могут реализовываться в цифровой электронной схеме или в компьютерном программном обеспечении, микропрограммном обеспечении или аппаратных средствах, включающих в себя структуры, раскрытые в этом подробном описании, либо в комбинациях одного или более из означенного. Операции могут реализовываться как операции, выполняемые посредством оборудования обработки данных для данных, сохраненных на одном или более машиночитаемых устройств хранения данных или принимаемых из других источников. Оборудование обработки данных, компьютер или вычислительное устройство может охватывать оборудование, устройства и машины для обработки данных, включающие в себя в качестве примера программируемый процессор, компьютер, внутрикристальную систему либо несколько из вышеприведенного, либо комбинации вышеприведенного. Оборудование может включать в себя логическую схему специального назначения, например, центральный процессор (CPU), программируемую пользователем вентильную матрицу (FPGA) или специализированную интегральную схему (ASIC). Оборудование также может включать в себя код, который создает окружение выполнения для рассматриваемой компьютерной программы, например, код, который составляет микропрограммное обеспечение процессора, стек протоколов, систему управления базами данных, операционную систему (например, операционную систему или комбинацию операционных систем), кросс-платформенное окружение выполнения, виртуальную машину либо комбинацию одного или более из означенного. Оборудование и окружение выполнения могут реализовывать всевозможные инфраструктуры вычислительных моделей, такие как веб-услуги, распределенные вычислительные и сетевые параллельные вычислительные инфраструктуры.
[00120] Компьютерная программа (также известная, например, в качестве программы, программного обеспечения, приложения, программного модуля, программного блока, сценария или кода) может быть написана на любой форме языка программирования, включающей в себя компилированные или интерпретируемые языки, декларативные или процедурные языки, и она может развертываться в любой форме, в том числе в качестве автономной программы или в качестве модуля, компонента, вложенной процедуры, объекта либо другого блока, подходящего для использования в вычислительном окружении. Программа может сохраняться в части файла, который хранит другие программы или данные (например, один или более сценариев, сохраненных в документе на языке разметки), в одном файле, выделенном для рассматриваемой программы, либо в нескольких координированных файлах (например, в файлах, которые сохраняют один или более модулей, подпрограмм или частей кода). Компьютерная программа может выполняться на одном компьютере или на нескольких компьютерах, которые расположены на одном веб-узле или распределены по нескольким веб-узлам и взаимно соединяются посредством сети связи.
[00121] Процессоры для выполнения компьютерной программы включают в себя, в качестве примера, микропроцессоры общего и специального назначения и любые один или более процессоров любого вида цифрового компьютера. В общем, процессор принимает инструкции и данные из постоянного запоминающего устройства или оперативного запоминающего устройства, или из того и из другого. Существенные элементы компьютера представляют собой процессор для выполнения действий в соответствии с инструкциями и одно или более запоминающих устройств для сохранения инструкций и данных. Обычно, компьютер также должен включать в себя или функционально соединяться с возможностью принимать данные или передавать данные либо выполнять и то, и другое из/в одно или более устройств хранения данных большой емкости для сохранения данных. Компьютер может встраиваться в другое устройство, например, в мобильное устройство, персональное цифровое устройство (PDA), игровую приставку, приемное устройство на основе глобальной системы позиционирования (GPS) или портативное устройство хранения данных. Устройства, подходящие для сохранения компьютерных программных инструкций и данных, включают в себя энергонезависимое запоминающее устройство, носители и запоминающие устройства, включающие в себя, в качестве примера, полупроводниковые запоминающие устройства, магнитные диски и магнитооптические диски. Процессор и запоминающее устройство могут дополняться посредством или включаться в логическую схему специального назначения.
[00122] Мобильные устройства могут включать в себя переносные телефоны, абонентские устройства (UE), мобильные телефоны (например, смартфоны), планшетные компьютеры, носимые устройства (например, интеллектуальные часы и интеллектуальные очки), имплантируемые устройства в человеческом теле (например, биодатчики, кохлеарные имплантаты) либо другие типы мобильных устройств. Мобильные устройства могут обмениваться данными в беспроводном режиме (например, с использованием радиочастотных (RF) сигналов) с различными сетями связи (описаны ниже). Мобильные устройства могут включать в себя датчики для определения характеристик текущего окружения мобильного устройства. Датчики могут включать в себя камеры, микрофоны, бесконтактные датчики, GPS-датчики, датчики движения, акселерометры, датчики окружающего света, датчики содержания влаги, гироскопы, компасы, барометры, датчики отпечатков пальцев, системы распознавания лиц, RF-датчики (например, Wi-Fi- и сотовые радиомодули), тепловые датчики или другие типы датчиков. Например, камеры могут включать в себя обращенную по ходу движения или против движения камеру с подвижными или неподвижными линзами, флэш-памятью, датчиком изображений и процессором изображений. Камера может представлять собой мегапиксельную камеру, допускающую захват деталей для распознавания лиц и/или радужной оболочки глаз. Камера наряду с процессором данных и аутентификационной информацией, сохраненной в запоминающем устройстве или доступной удаленно, может формировать систему распознавания лиц. Система распознавания лиц либо один или более датчиков, например, микрофонов, датчиков движения, акселерометров, GPS-датчиков или RF-датчиков, могут использоваться для аутентификации пользователя.
[00123] Чтобы предоставлять взаимодействие с пользователем, реализации могут реализовываться на компьютере, имеющем устройство отображения и устройство ввода, например, жидкокристаллический дисплей (ЖК-дисплей) или дисплей на органических светоизлучающих диодах (OLED)/в стиле виртуальной реальности (VR)/в стиле дополненной реальности (AR) для отображения информации пользователю и сенсорный экран, клавиатуру и указательное устройство, посредством которых пользователь может предоставлять ввод в компьютер. Другие виды устройств также могут использоваться для того, чтобы предоставлять взаимодействие с пользователем; например, обратная связь, предоставленная пользователю, может представлять собой любую форму сенсорной обратной связи, например, визуальную обратную связь, акустическую обратную связь или тактильную обратную связь; и ввод от пользователя может приниматься в любой форме, включающей в себя акустический, речевой или тактильный ввод. Помимо этого, компьютер может взаимодействовать с пользователем посредством отправки документов и приема документов из устройства, которое используется пользователем; например, посредством отправки веб-страниц в веб-браузер на клиентском устройстве пользователя в ответ на запросы, принимаемые из веб-браузера.
[00124] Реализации могут реализовываться с использованием вычислительных устройств, взаимно соединенных посредством любой формы или среды для проводной или беспроводной цифровой передачи данных (либо комбинации вышеозначенного), например, сети связи. Примеры взаимно соединенных устройств представляют собой клиент и сервер, в общем, удаленные друг от друга, которые типично взаимодействуют через сеть связи. Клиент, например, мобильное устройство, может выполнять транзакции непосредственно, с сервером или через сервер, например, выполнять транзакции покупки, продажи, оплаты, выдачи, отправки или ссуды либо авторизовать их. Такие транзакции могут выполняться в реальном времени таким образом, что действие и ответ являются близкими по времени; например, человек воспринимает действие и ответ как возникающие практически одновременно, разность времен для ответа после действия человека составляет меньше 1 миллисекунды (мс) или меньше 1 секунды (с), либо ответ осуществляется без намеренной задержки с учетом ограничений обработки системы.
[00125] Примеры сетей связи включают в себя локальную вычислительную сеть (LAN), сеть радиодоступа (RAN), общегородскую вычислительную сеть (MAN) и глобальную вычислительную сеть (WAN). Сеть связи может включать в себя все или часть из Интернета, другой сети связи либо комбинации сетей связи. Информация может передаваться по сети связи согласно различным протоколам и стандартам, включающим в себя стандарт долгосрочного развития (LTE), 5G, IEEE 802, Интернет-протокол (IP) либо другие протоколы или комбинации протоколов. Сеть связи может передавать голосовые, видео-, биометрические данные или аутентификационные данные или другую информацию между соединенными вычислительными устройствами.
[00126] Признаки, описанные в качестве отдельных реализаций, могут реализовываться, в комбинации, в одной реализации, в то время как признаки, описанные в качестве одной реализации, могут реализовываться в нескольких реализациях, отдельно или в любой подходящей субкомбинации. Операции, описанные и заявленные в конкретном порядке, не должны пониматься ни как требующие этого конкретного порядка, ни как то, что все проиллюстрированные операции должны выполняться (некоторые операции могут быть необязательными). Надлежащим образом, могут выполняться многозадачность или параллельная обработка (или комбинация многозадачности и параллельной обработки).

Claims (18)

1. Машинореализованный способ, осуществляемый посредством консенсусного узла для проверки достоверности транзакции между первым узлом и вторым узлом в сети цепочек блоков, при этом способ содержит этапы, на которых:
- принимают данные транзакции, ассоциированные с транзакцией, причем данные транзакции содержат: данные, представляющие множество активов, первую фиксацию, которая скрывает первое случайное число и сумму транзакции для транзакции, вторую фиксацию, которая скрывает второе случайное число и сдачу, вычисленную на основе удержания суммы транзакции из полной стоимости множества активов, сумму транзакции и третье случайное число, оба из которых шифруются посредством открытого ключа второго узла на основе линейной детерминированной схемы гомоморфного шифрования (HE), сдачу и четвертое случайное число, оба из которых шифруются посредством открытого ключа первого узла на основе линейной детерминированной HE-схемы, одно или более доказательств по диапазону, доказательство с нулевой передачей знаний (ZKP) и цифровую подпись, сформированную на основе закрытого ключа, соответствующего открытому ключу первого узла;
- верифицируют цифровую подпись на основе открытого ключа первого узла;
- определяют, что значение одного или более доказательств по диапазону, которое ассоциировано с суммой транзакции, и значение другого из одного или более доказательств по диапазону, которое ассоциировано со сдачей, указывают, что сумма транзакции и сдача каждая превышают или равны нулю;
- определяют то, что полная стоимость множества активов равна суммарной величине суммы транзакции и сдачи; и
- определяют, на основе ZKP, то, что транзакция является достоверной, посредством определения того, что первое случайное число равно третьему случайному числу, второе случайное число равно четвертому случайному числу, и сумма транзакции, скрытая в первой фиксации, равна сумме транзакции, зашифрованной посредством открытого ключа второго узла.
2. Машинореализованный способ по п. 1, в котором транзакция выполняется между счетом, ассоциированным с первым узлом, и счетом, ассоциированным со вторым узлом, и способ дополнительно содержит этап, на котором обновляют, после определения того, что транзакция является достоверной, счет, ассоциированный с первым узлом, и счет, ассоциированный со вторым узлом, на основе суммы транзакции и сдачи.
3. Машинореализованный способ по п. 1, в котором каждый из множества активов ассоциирован с одним или более из типа активов, стоимости активов, скрытой в фиксации, и случайного числа, используемого для формирования фиксации.
4. Машинореализованный способ по п. 3, дополнительно содержащий этап, на котором определяют то, что каждый из множества активов ассоциирован с идентичным типом активов.
5. Машинореализованный способ по п. 3, в котором первая фиксация, вторая фиксация и фиксация, которая скрывает стоимость активов, формируются на основе схемы фиксации, которая является гомоморфной, при этом определение того, что полная стоимость множества активов равна суммарной величине суммы транзакции и сдачи, выполняется на основе гомоморфизма схемы фиксации.
6. Машинореализованный способ по п. 1, в котором линейная детерминированная HE-схема извлекается из вероятностной HE-схемы на основе изменения случайного числа, ассоциированного с вероятностной HE-схемой, на фиксированное число.
7. Машинореализованный способ по п. 1, в котором ZKP содержит фиксацию, которая скрывает пятое случайное число и шестое случайное число, шифрованный текст пятого случайного числа и шестого случайного числа, зашифрованный посредством открытого ключа второго счета на основе линейной детерминированной HE-схемы, и шифрованный текст пятого случайного числа и шестого случайного числа, зашифрованный посредством открытого ключа первого счета на основе линейной детерминированной HE-схемы.
8. Машинореализованный способ по п. 1, в котором ZKP формируется и используется для определения того, что транзакция является достоверной, на основе свойств линейного детерминированного HE.
9. Машинореализованный способ по п. 1, в котором определение того, что транзакция является достоверной, выполняется на основе ZKP без взаимодействий между первым узлом и вторым узлом через часть за пределами сети цепочек блоков.
10. Энергонезависимый машиночитаемый носитель хранения данных, соединенный с одним или более компьютерами и сконфигурированный с инструкциями, выполняемыми посредством одного или более компьютеров с возможностью выполнять операции в соответствии со способом по одному или более из пп. 1-9.
11. Система для проверки достоверности транзакции между первым узлом и вторым узлом в сети цепочек блоков, содержащая:
- один или более компьютеров; и
- одно или более машиночитаемых запоминающих устройств, соединенных с одним или более компьютерами и сконфигурированных с инструкциями, выполняемыми посредством одного или более компьютеров с возможностью выполнять операции в соответствии со способом по одному или более из пп. 1-9.
RU2019123601A 2018-12-21 2018-12-21 Защита данных цепочек блоков на основе общей модели на основе счетов и гомоморфного шифрования RU2733223C1 (ru)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/122573 WO2019072302A2 (en) 2018-12-21 2018-12-21 BLOCK CHAIN DATA PROTECTION BASED ON A GENERIC ACCOUNT MODEL AND A HOMOMORPHIC ENCRYPTION

Publications (1)

Publication Number Publication Date
RU2733223C1 true RU2733223C1 (ru) 2020-09-30

Family

ID=66100042

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2019123601A RU2733223C1 (ru) 2018-12-21 2018-12-21 Защита данных цепочек блоков на основе общей модели на основе счетов и гомоморфного шифрования

Country Status (16)

Country Link
US (2) US10790987B2 (ru)
EP (1) EP3560144B1 (ru)
JP (1) JP6808057B2 (ru)
KR (1) KR102193551B1 (ru)
CN (1) CN110402561B (ru)
AU (1) AU2018347202B2 (ru)
BR (1) BR112019014629A2 (ru)
CA (1) CA3050600C (ru)
ES (1) ES2880458T3 (ru)
MX (1) MX2019008738A (ru)
PH (1) PH12019501716A1 (ru)
PL (1) PL3560144T3 (ru)
RU (1) RU2733223C1 (ru)
SG (1) SG11201906751YA (ru)
WO (1) WO2019072302A2 (ru)
ZA (1) ZA201904936B (ru)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10880275B2 (en) 2017-01-20 2020-12-29 Enveil, Inc. Secure analytics using homomorphic and injective format-preserving encryption
US10693627B2 (en) 2017-01-20 2020-06-23 Enveil, Inc. Systems and methods for efficient fixed-base multi-precision exponentiation
US11196541B2 (en) 2017-01-20 2021-12-07 Enveil, Inc. Secure machine learning analytics using homomorphic encryption
US10644876B2 (en) * 2017-01-20 2020-05-05 Enveil, Inc. Secure analytics using homomorphic encryption
US11777729B2 (en) 2017-01-20 2023-10-03 Enveil, Inc. Secure analytics using term generation and homomorphic encryption
US11507683B2 (en) 2017-01-20 2022-11-22 Enveil, Inc. Query processing with adaptive risk decisioning
US11102015B2 (en) * 2018-05-08 2021-08-24 Visa International Service Association Sybil-resistant identity generation
US11139956B2 (en) 2018-05-24 2021-10-05 Dapper Labs Inc. Decentralized computation system architecture based on node specialization
US11184437B2 (en) 2018-05-24 2021-11-23 Dapper Labs Inc. Decentralized computation system architecture based on node specialization
CN109359971B (zh) * 2018-08-06 2020-05-05 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
CN109359974B (zh) * 2018-08-30 2020-10-30 创新先进技术有限公司 区块链交易方法及装置、电子设备
US10902133B2 (en) 2018-10-25 2021-01-26 Enveil, Inc. Computational operations in enclave computing environments
US10817262B2 (en) 2018-11-08 2020-10-27 Enveil, Inc. Reduced and pipelined hardware architecture for Montgomery Modular Multiplication
CN109614820A (zh) * 2018-12-06 2019-04-12 山东大学 基于零知识证明的智能合约认证数据隐私保护方法
AU2018347201B2 (en) 2018-12-21 2020-08-27 Advanced New Technologies Co., Ltd. Blockchain data protection based on generic account model and homomorphic encryption
AU2018349940B2 (en) 2018-12-29 2020-08-20 Advanced New Technologies Co., Ltd. System and method for information protection
US10795644B2 (en) * 2019-01-08 2020-10-06 Moac Blockchain Tech Inc Decentralized random number generator
CN110223063B (zh) * 2019-05-07 2023-06-20 平安科技(深圳)有限公司 基于零知识证明的供应链数据管理方法及装置
CN110335042B (zh) * 2019-06-26 2020-10-20 创新先进技术有限公司 基于环签名的匿名交易方法及装置
US10790990B2 (en) 2019-06-26 2020-09-29 Alibaba Group Holding Limited Ring signature-based anonymous transaction
FR3099017B1 (fr) * 2019-07-16 2021-08-06 Idemia Identity & Security France Procédé de vérification d’une transaction dans une base de données de type chaîne de blocs
CN110505084B (zh) * 2019-08-01 2022-06-10 江苏万链区块链技术研究院有限公司 一种区块链打包节点共识推举方法
CN110827028B (zh) * 2019-11-07 2023-08-29 湖北邮电规划设计有限公司 一种基于区块链的数据采集交易系统和方法
CN110839028B (zh) * 2019-11-14 2022-04-05 南京邮电大学 一种雾协助工业物联网的隐私保护方法
CN110958110B (zh) * 2019-12-09 2023-04-07 趣派(海南)信息科技有限公司 一种基于零知识证明的区块链隐私数据管理方法和系统
CN110991655B (zh) * 2019-12-17 2021-04-02 支付宝(杭州)信息技术有限公司 多方联合进行模型数据处理的方法及装置
CN111444541B (zh) * 2020-03-27 2022-09-09 苏州链原信息科技有限公司 用于生成数据均值零知识证明的方法、设备及存储介质
CN111401875B (zh) * 2020-05-29 2020-09-01 支付宝(杭州)信息技术有限公司 基于账户模型的区块链转账方法及装置
EP4226573A1 (en) 2020-10-05 2023-08-16 Redcom Laboratories, Inc. Zkmfa: zero-knowledge based multi-factor authentication system
US11601258B2 (en) 2020-10-08 2023-03-07 Enveil, Inc. Selector derived encryption systems and methods
EP4280535A4 (en) * 2021-01-13 2024-03-13 Fujitsu Ltd CONTROL METHOD, INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING APPARATUS AND CONTROL PROGRAM
CN112910933B (zh) * 2021-05-07 2021-07-13 鹏城实验室 认证方法、认证设备以及验证设备
WO2022236406A1 (en) * 2021-05-14 2022-11-17 Dapper Labs, Inc. Decentralized computation system based on node specialization
CN113268777B (zh) * 2021-05-21 2023-05-12 中国联合网络通信集团有限公司 基于区块链的投标信息的处理方法及模块、电子设备
CN113592650B (zh) * 2021-07-29 2023-10-24 成都质数斯达克科技有限公司 基于区块链智能合约的交易方法、装置和设备
KR102401485B1 (ko) * 2021-12-30 2022-05-24 주식회사 디사일로 동형 암호화된 데이터 처리 방법 및 시스템
US20230245112A1 (en) * 2022-02-02 2023-08-03 International Business Machines Corporation Non-interactive token certification and verification
JP2024044220A (ja) 2022-09-20 2024-04-02 富士通株式会社 電力取引プログラム、電力取引方法および電力取引装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160358165A1 (en) * 2015-06-08 2016-12-08 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
CN107656812A (zh) * 2017-09-27 2018-02-02 咪咕文化科技有限公司 区块链处理方法、系统、节点设备、终端和存储介质
US20180285838A1 (en) * 2017-04-04 2018-10-04 International Business Machines Corporation Scalable and distributed shared ledger transaction management
CN108764874A (zh) * 2018-05-17 2018-11-06 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、系统及存储介质
RU2674329C2 (ru) * 2013-07-15 2018-12-06 Виза Интернэшнл Сервис Ассосиэйшн Обработка защищенных удаленных платежных транзакций
CN109035029A (zh) * 2018-07-27 2018-12-18 阿里巴巴集团控股有限公司 基于区块链的资产转移方法及装置、电子设备
CN109039648A (zh) * 2018-08-03 2018-12-18 克洛斯比尔有限公司 一种区块链的创建方法、设备及可读存储介质

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394116A (en) 1993-12-29 1995-02-28 At&T Corp. Fractional phase shift ring oscillator arrangement
IT1284718B1 (it) 1996-07-31 1998-05-21 Cselt Centro Studi Lab Telecom Dispositivo e procedimento per allineare temporalmente segnali numerici, ad esempio un segnale di orologio ed un flusso di dati.
FR2800220B1 (fr) 1999-10-26 2002-02-15 France Telecom Procede de transaction electronique securisee
US20090327141A1 (en) * 2007-04-18 2009-12-31 Rabin Michael O Highly efficient secrecy-preserving proofs of correctness of computation
US20090177591A1 (en) * 2007-10-30 2009-07-09 Christopher Thorpe Zero-knowledge proofs in large trades
US8667292B2 (en) * 2011-05-19 2014-03-04 Microsoft Corporation Privacy-preserving metering with low overhead
EP2590126A1 (en) 2011-11-01 2013-05-08 Nederlandse Organisatie voor toegepast -natuurwetenschappelijk onderzoek TNO Recommender system for providing recommendations to groups of users
US8731199B2 (en) * 2012-09-28 2014-05-20 Sap Ag Zero knowledge proofs for arbitrary predicates over data
US20150242825A1 (en) 2014-02-24 2015-08-27 Peter Burton Mills Generation, storage, and validation of encrypted electronic currency
WO2016076934A2 (en) 2014-08-22 2016-05-19 Thomas John K Verification system for secure transmission in a distributed processing network
WO2016049406A1 (en) 2014-09-26 2016-03-31 Technicolor Usa, Inc. Method and apparatus for secure non-interactive threshold signatures
US10257173B2 (en) 2014-10-22 2019-04-09 Openeye Scientific Software, Inc. Secure comparison of information
RU2015145232A (ru) 2015-10-21 2017-05-03 Дмитрий Сергеевич Ермолаев Способ учёта и хранения временных учётных единиц в одноуровневых средах на блокчейн
EP3405862B1 (en) 2016-01-19 2020-11-18 Priv8Pay, Inc. Network node authentication
US10846984B2 (en) 2016-02-24 2020-11-24 Uplay1 Casino crypto currency systems and methods
US10046228B2 (en) * 2016-05-02 2018-08-14 Bao Tran Smart device
US9635000B1 (en) 2016-05-25 2017-04-25 Sead Muftic Blockchain identity management system based on public identities ledger
CN107438002B (zh) * 2016-05-27 2022-02-11 索尼公司 基于区块链的系统以及系统中的电子设备和方法
JP6663809B2 (ja) * 2016-07-07 2020-03-13 株式会社日立製作所 監査装置、監査機能付匿名送金方法及びプログラム
WO2018087836A1 (ja) * 2016-11-09 2018-05-17 株式会社日立製作所 ブロックチェーン取引システムおよびブロックチェーン取引方法
CN106549749B (zh) * 2016-12-06 2019-12-24 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
US10243731B2 (en) 2017-01-27 2019-03-26 Accenture Global Solutions Limited Hardware blockchain acceleration
KR101879353B1 (ko) 2017-01-31 2018-07-17 권양호 가상화폐 중개 서비스 시스템 및 방법
US10277395B2 (en) * 2017-05-19 2019-04-30 International Business Machines Corporation Cryptographic key-generation with application to data deduplication
CN107274159A (zh) * 2017-06-09 2017-10-20 北京泛融科技有限公司 一种基于区块并发执行算法的记账系统及方法
US10761877B2 (en) * 2017-07-21 2020-09-01 Intel Corporation Apparatuses, methods, and systems for blockchain transaction acceleration
CN108418783B (zh) 2017-09-01 2021-03-19 矩阵元技术(深圳)有限公司 一种保护区块链智能合约隐私的方法、介质
US10833861B2 (en) * 2017-11-28 2020-11-10 International Business Machines Corporation Protection of confidentiality, privacy and ownership assurance in a blockchain based decentralized identity management system
CN108021821A (zh) 2017-11-28 2018-05-11 北京航空航天大学 多中心区块链交易隐私保护系统及方法
CN108418689B (zh) 2017-11-30 2020-07-10 矩阵元技术(深圳)有限公司 一种适合区块链隐私保护的零知识证明方法和介质
US11257077B2 (en) * 2017-11-30 2022-02-22 Visa International Service Association Blockchain system for confidential and anonymous smart contracts
EP3741082B1 (en) 2018-01-19 2021-12-29 Qed-It Systems Ltd. Proof chaining and decomposition
US20190229921A1 (en) * 2018-01-22 2019-07-25 Allen Pulsifer Private Multi-Secret Cryptographic Transaction System
EP3522064B1 (en) 2018-02-02 2021-12-22 Università Degli Studi Di Trento A method and apparatus for distributed, privacy-preserving and integrity-preserving exchange, inventory and order book
US20190251527A1 (en) 2018-02-14 2019-08-15 Christopher Walter Surdak System, Method, and Computer Program Product for a Distributed, Cryptographically Secured Proof-of-Intent Transaction Network
CN108985933A (zh) * 2018-06-29 2018-12-11 联动优势科技有限公司 一种记账方法及装置
PL3545640T3 (pl) * 2018-11-07 2021-10-18 Advanced New Technologies Co., Ltd. Ochrona danych łańcucha bloków przy zastosowaniu szyfrowania homomorficznego
AU2018347201B2 (en) * 2018-12-21 2020-08-27 Advanced New Technologies Co., Ltd. Blockchain data protection based on generic account model and homomorphic encryption

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2674329C2 (ru) * 2013-07-15 2018-12-06 Виза Интернэшнл Сервис Ассосиэйшн Обработка защищенных удаленных платежных транзакций
US20160358165A1 (en) * 2015-06-08 2016-12-08 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
US20180285838A1 (en) * 2017-04-04 2018-10-04 International Business Machines Corporation Scalable and distributed shared ledger transaction management
CN107656812A (zh) * 2017-09-27 2018-02-02 咪咕文化科技有限公司 区块链处理方法、系统、节点设备、终端和存储介质
CN108764874A (zh) * 2018-05-17 2018-11-06 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、系统及存储介质
CN109035029A (zh) * 2018-07-27 2018-12-18 阿里巴巴集团控股有限公司 基于区块链的资产转移方法及装置、电子设备
CN109039648A (zh) * 2018-08-03 2018-12-18 克洛斯比尔有限公司 一种区块链的创建方法、设备及可读存储介质

Also Published As

Publication number Publication date
AU2018347202A1 (en) 2020-07-09
PL3560144T3 (pl) 2021-10-25
WO2019072302A2 (en) 2019-04-18
MX2019008738A (es) 2019-09-09
PH12019501716A1 (en) 2020-03-02
JP6808057B2 (ja) 2021-01-06
US11063769B2 (en) 2021-07-13
US10790987B2 (en) 2020-09-29
BR112019014629A2 (pt) 2021-07-20
EP3560144A2 (en) 2019-10-30
CA3050600C (en) 2020-11-17
KR102193551B1 (ko) 2020-12-23
CN110402561B (zh) 2021-11-23
KR20200079217A (ko) 2020-07-02
US20190280880A1 (en) 2019-09-12
ES2880458T3 (es) 2021-11-24
AU2018347202B2 (en) 2021-01-07
SG11201906751YA (en) 2019-08-27
EP3560144A4 (en) 2020-03-04
JP2020512572A (ja) 2020-04-23
CA3050600A1 (en) 2019-04-18
WO2019072302A3 (en) 2019-10-03
EP3560144B1 (en) 2021-05-05
CN110402561A (zh) 2019-11-01
US20200366503A1 (en) 2020-11-19
ZA201904936B (en) 2022-01-26

Similar Documents

Publication Publication Date Title
RU2733223C1 (ru) Защита данных цепочек блоков на основе общей модели на основе счетов и гомоморфного шифрования
RU2727161C1 (ru) Защита данных цепочек блоков с использованием гомоморфного шифрования
RU2719451C1 (ru) Защита данных цепочек блоков на основе общей модели на основе счетов и гомоморфного шифрования
RU2708344C1 (ru) Защита данных цепочек блоков с использованием гомоморфного шифрования
RU2729595C1 (ru) Защита данных цепочек блоков на основе модели банкнот на счетах с доказательством с нулевым разглашением
RU2727552C1 (ru) Ситема цепочек блоков, поддерживающая открытые и закрытые транзакции согласно моделям счетов

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20210311

PC41 Official registration of the transfer of exclusive right

Effective date: 20210420