RU2729700C1 - Услуга смарт-контракта вне цепочки на основе доверенной среды исполнения - Google Patents

Услуга смарт-контракта вне цепочки на основе доверенной среды исполнения Download PDF

Info

Publication number
RU2729700C1
RU2729700C1 RU2019123415A RU2019123415A RU2729700C1 RU 2729700 C1 RU2729700 C1 RU 2729700C1 RU 2019123415 A RU2019123415 A RU 2019123415A RU 2019123415 A RU2019123415 A RU 2019123415A RU 2729700 C1 RU2729700 C1 RU 2729700C1
Authority
RU
Russia
Prior art keywords
smart contract
service provider
cross
chain data
client
Prior art date
Application number
RU2019123415A
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 RU2729700C1 publication Critical patent/RU2729700C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Изобретение относится к системам распределенного реестра и системам блокчейна. Технический результат заключается в повышении надежности защиты от несанкционированного доступа к создаваемой и хранимой информации. Реализации описания включают в себя прием, провайдером услуги смарт-контракта, включающим в себя доверенную среду исполнения вычисления (TEE), от клиента, ассоциированного с сетью целевого блокчейна, запрос на оперирование кросс-чейновыми данными одной или нескольких сетей блокчейна, отличных от целевого блокчейна, причем провайдер услуги смарт-контракта находится вне сети целевого блокчейна; отправку, провайдером услуги смарт-контракта провайдеру услуги посещения данных, запроса на кросс-чейновые данные; прием, провайдером услуги смарт-контракта, кросс-чейновых данных от провайдера услуги посещения данных; генерирование, посредством TEE, результата с использованием кросс-чейновых данных и возвращение, провайдером услуги смарт-контракта, результата клиенту. 6 н. и 57 з.п. ф-лы, 6 ил.

Description

Предшествующий уровень техники
[0001] Системы распределенного реестра (DLS), которые могут также называться консенсусными сетями и/или сетями блокчейна (цепочек блоков), обеспечивают возможность участвующим объектам безопасно и неизменно хранить данные. DLS обычно называются сетями блокчейна без ссылки на какой–либо конкретный случай пользователя. Примеры типов сетей блокчейна могут включать в себя публичные сети блокчейна, приватные сети блокчейна и консорциумные сети блокчейна. Публичная сеть блокчейна открыта для всех объектов, чтобы использовать DLS и участвовать в процессе консенсуса. Частная сеть блокчейна обеспечена для конкретного объекта, который централизованно управляет разрешениями считывания и записи. Консорциумная сеть блокчейна обеспечена для выбранной группы объектов, которые управляют процессом консенсуса, и включает в себя уровень управления доступом.
[0002] Блокчейн (цепочка блоков) представляет собой децентрализованную и устойчивую к взлому технологию распределенного хранения данных. Пользовательские данные и контракты логически управляются и хранятся на цепочке публичным образом. Во многих сценариях пользователи нуждаются в удовлетворении требований защиты приватности и не желают утечки их данных и логики к неавторизованным сторонам.
[0003] Хотя криптография может использоваться, чтобы усиливать защиту приватности для некоторых конкретных схем сценария, более универсальное и эффективное решение необходимо для решения существующих проблем приватности операций блокчейна.
Краткое описание сущности изобретения
[0004] Реализации спецификации включают в себя реализуемые компьютером способы для услуги смарт–контракта вне цепочки на основе технологий блокчейна (упоминаемой как услуга смарт–контракта вне цепочки блокчейна или просто услуга смарт–контракта). Более конкретно, реализации спецификации направлены на обеспечение услуги смарт–контракта вне цепочки, способной оперировать с кросс–чейновыми (между цепочками) данными в доверенной среде исполнения (TEE).
[0005] В некоторых реализациях действия включают в себя прием, провайдером услуги смарт–контракта, включающим в себя доверенную среду исполнения вычисления (TEE), от клиента, ассоциированного с сетью целевого блокчейна, запроса на оперирование кросс–чейновыми данными одной или нескольких сетей блокчейна, отличных от сети целевого блокчейна, и провайдер услуги смарт–контракта находится вне сети целевого блокчейна; отправку, провайдером услуги смарт–контракта провайдеру услуги посещения данных, запроса на кросс–чейновые данные; прием, провайдером услуги смарт–контракта, кросс–чейновых данных от провайдера услуги посещения данных; генерирование, посредством TEE, результата, использующего кросс–чейновые данные; и возвращение, провайдером услуги смарт–контракта, результата клиенту. Другие реализации включают в себя соответствующие системы, устройства и компьютерные программы, сконфигурированные, чтобы выполнять этапы способов, закодированные на компьютерных устройствах хранения.
[0006] В некоторых реализациях не–временный считываемый компьютером носитель хранения подсоединен к одному или нескольким компьютерам и сконфигурирован с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы: принимать, провайдером услуги смарт–контракта, содержащим доверенную среду исполнения вычисления (TEE), от клиента, ассоциированного с сетью целевого блокчейна, запрос на оперирование кросс–чейновыми данными одной или нескольких сетей блокчейна, отличных от сети целевого блокчейна, причем провайдер услуги смарт–контракта находится вне сети целевого блокчейна; отправлять, провайдером услуги смарт–контракта провайдеру услуги посещения данных, запрос на кросс–чейновые данные; принимать, провайдером услуги смарт–контракта, кросс–чейновые данные от провайдера услуги посещения данных; генерировать, посредством TEE, результат с использованием кросс–чейновых данных; и возвращать, провайдером услуги смарт–контракта, результат клиенту.
[0007] В некоторых реализациях система для обеспечения услуги смарт–контракта включает в себя интерфейс, сконфигурированный, чтобы принимать, от клиента, ассоциированного с сетью целевого блокчейна, запрос на оперирование кросс–чейновыми данными одной или нескольких сетей блокчейна, отличных от сети целевого блокчейна; причем система находится вне сети целевого блокчейна; и доверенную среду исполнения вычисления (TEE), причем TEE включает в себя один или несколько компьютеров; и одну или несколько считываемых компьютером памятей, подсоединенных к одному или нескольким компьютерам и сконфигурированных с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы: отправлять запрос на кросс–чейновые данные провайдеру услуги посещения данных; принимать кросс–чейновые данные от провайдера услуги посещения данных; и генерировать результат, использующий кросс–чейновые данные; и причем интерфейс сконфигурирован, чтобы возвращать результат клиенту.
[0008] Эти и другие реализации могут, каждая, необязательно включать в себя одну или несколько из следующих особенностей:
[0009] Первая особенность, комбинируемая с любой из следующих особенностей, в которой запрос на оперирование кросс–чейновыми данными включает в себя логики вычисления смарт–контракта для оперирования кросс–чейновыми данными.
[0010] Вторая особенность, комбинируемая с любой из следующих особенностей, в которой логики вычисления смарт–контракта для оперирования кросс–чейновыми данными самостоятельно разрабатываются клиентом.
[0011] Третья особенность, комбинируемая с любой из следующих особенностей, в которой результат генерируется посредством TEE, исполняющей логики вычисления смарт–контракта с использованием кросс–чейновых данных.
[0012] Четвертая особенность, комбинируемая с любой из следующих особенностей, дополнительно включает в себя удостоверение, провайдером услуги смарт–контракта клиенту, что TEE включает в себя виртуальную машину, выполненную с возможностью, чтобы исполнять логики вычисления смарт–контракта в запросе на оперирование кросс–чейновыми данными.
[0013] Пятая особенность, комбинируемая с любой из следующих особенностей, дополнительно включает в себя перед приемом запроса на оперирование кросс–чейновыми данными от клиента, удостоверение, провайдером услуги смарт–контракта клиенту, что провайдер услуги смарт–контракта включает в себя TEE.
[0014] Шестая особенность, комбинируемая с любой из следующих особенностей, дополнительно включает в себя удостоверение, провайдером услуги смарт–контракта провайдеру услуги посещения данных, что провайдер услуги смарт–контракта включает в себя TEE; и верифицирование, провайдером услуги смарт–контракта, что провайдер услуги посещения данных включает в себя TEE.
[0015] Седьмая особенность, комбинируемая с любой из следующих особенностей, дополнительно включает в себя выгрузку, провайдером услуги смарт–контракта, результата в сеть целевого блокчейна.
[0016] Восьмая особенность, комбинируемая с любой из следующих особенностей, дополнительно включает в себя выгрузку результата в сеть целевого блокчейна, удостоверение, провайдером услуги смарт–контракта для сети целевого блокчейна, что провайдер услуги смарт–контракта включает в себя TEE.
[0017] Девятая особенность, комбинируемая с любой из следующих особенностей, в которой провайдер услуги смарт–контракта включает в себя облачный сервер.
[0018] Десятая особенность, комбинируемая с любой из следующих особенностей, в которой результат подписывается посредством TEE с использованием закрытого ключа.
[0019] Одиннадцатая особенность, комбинируемая с любой из следующих особенностей, в которой кросс–чейновые данные получают из двух или более сетей блокчейна.
[0020] В некоторых реализациях действия включают в себя генерирование, клиентом, ассоциированным с сетью целевого блокчейна, запроса на оперирование кросс–чейновыми данными одной или нескольких сетей блокчейна, отличных от сети целевого блокчейна, причем запрос на оперирование кросс–чейновыми данными включает в себя логики вычисления смарт–контракта для оперирования кросс–чейновыми данными; отправку, от клиента, запроса на оперирование кросс–чейновыми данными провайдеру услуги смарт–контракта, включающему в себя доверенную среду исполнения вычисления (TEE), причем провайдер услуги смарт–контракта находится вне сети целевого блокчейна; и прием, клиентом, результата от провайдера услуги смарт–контракта, причем результат генерируется посредством TEE с использованием кросс–чейновых данных, получаемых провайдером услуги смарт–контракта. Другие реализации включают в себя соответствующие системы, устройство и компьютерные программы, сконфигурированные, чтобы выполнять действия способов, закодированные на компьютерных устройствах хранения.
[0021] В некоторых реализациях не–временный считываемый компьютером носитель хранения подсоединен к одному или нескольким компьютерам и сконфигурирован с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы генерировать клиентом, ассоциированным с сетью целевого блокчейна, запрос на оперирование кросс–чейновыми данными одной или нескольких сетей блокчейна, отличных от сети целевого блокчейна, причем запрос на оперирование кросс–чейновыми данными включает в себя логики вычисления смарт–контракта для оперирования кросс–чейновыми данными; отправлять, от клиента, запрос на оперирование кросс–чейновыми данными провайдеру услуги смарт–контракта, содержащему доверенную среду исполнения вычисления (TEE), причем провайдер услуги смарт–контракта находится вне сети целевого блокчейна; и принимать, клиентом, результат от провайдера услуги смарт–контракта, причем результат генерируется посредством TEE, использующей кросс–чейновые данные, получаемые провайдером услуги смарт–контракта.
[0022] В некоторых реализациях система включает в себя один или несколько компьютеров; и одну или несколько считываемых компьютером памятей, подсоединенных к одному или нескольким компьютерам и сконфигурированных с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы: генерировать, клиентом, ассоциированным с сетью целевого блокчейна, запрос на оперирование кросс–чейновыми данными одной или нескольких сетей блокчейна, отличных от сети целевого блокчейна, причем запрос на оперирование кросс–чейновыми данными включает в себя логики вычисления смарт–контракта для оперирования с кросс–чейновыми данными; отправлять, от клиента, запрос на оперирование кросс–чейновыми данными провайдеру услуги смарт–контракта, содержащему доверенную среду исполнения вычисления (TEE), причем провайдер услуги смарт–контракта находится вне сети целевого блокчейна; и принимать, клиентом, результат от провайдера услуги смарт–контракта, причем результат генерируется посредством TEE, использующей кросс–чейновые данные, получаемые провайдером услуги смарт–контракта.
[0023] Эти и другие реализации могут, каждая, необязательно включать в себя один или несколько из следующих особеностей:
[0024] Первая особенность, комбинируемая с любой из следующих особенностей, дополнительно включает в себя отправку, клиентом, принятого результата на сеть целевого блокчейна.
[0025] Вторая особенность, комбинируемая с любой из следующих особенностей, дополнительно включает в себя перед отправкой запроса на оперирование кросс–чейновыми данными провайдеру услуги смарт–контракта, верифицирование, клиентом, что провайдер услуги смарт–контракта включает в себя TEE.
[0026] Третья особенность, комбинируемая с любой из следующих особенностей, дополнительно включает в себя верифицирование, клиентом, что TEE включает в себя виртуальную машину, выполненную с возможностью, чтобы исполнять логики вычисления смарт–контракта в запросе на оперирование кросс–чейновыми данными.
[0027] Четвертая особенность, комбинируемая с любой из следующих особенностей, дополнительно включает в себя разработку, клиентом, логик вычисления смарт–контракта для оперирования кросс–чейновыми данными.
[0028] Пятая особенность, комбинируемая с любой из следующих особенностей, в которой клиент включает в себя комплект разработки программного обеспечения (SDK).
[0029] Шестая особонность, комбинируемая с любой из следующих особенностей, в которой результат подписывается посредством TEE с использованием закрытого ключа, способ дополнительно включает в себя дешифрование, клиентом, принятого результата с использованием открытого ключа, соответствующего закрытому ключу.
[0030] Седьмая особенность, комбинируемая с любой из следующих особенностей, дополнительно включает в себя перед отправкой запроса на оперирование кросс–чейновыми данными провайдеру услуги смарт–контракта, шифрование, клиентом, запроса на оперирование кросс–чейновыми данными.
[0031] Восьмая особенность, комбинируемая с любой из следующих особенностей, в которой кросс–чейновые данные получают из двух или более сетей блокчейна.
[0032] Описание также обеспечивает один или несколько не–временных считываемых компьютером носителей хранения, подсоединенных к одному или нескольким процессорам и имеющих сохраненные на них инструкции, которые, при исполнении одним или несколькими процессорами, побуждают один или несколько процессоров выполнять операции согласно реализациям способов, обеспеченных в настоящем документе.
[0033] Описание дополнительно обеспечивает систему для реализации способов, обеспеченных в настоящем документе. Система включает в себя один или несколько процессоров и считываемый компьютером носитель хранения, подсоединенный к одному или нескольким процессорам, имеющий сохраненные на нем инструкции, которые, при исполнении одним или несколькими процессорами, побуждают один или несколько процессоров выполнять операции согласно реализациям способов, обеспеченных в настоящем документе.
[0034] Описанный провайдер услуги смарт–контракта вне цепочки не подсоединен к какой–либо конкретной сети блокчейна, и, таким образом, обеспечиваемая услуга не ограничена конкретной формой контракта (например, сконфигурированного для конкретной сети блокчейна), а поддерживает определенные пользователем вычисления вне цепочки. К тому же, описанный провайдер услуги смарт–контракта вне цепочки может поддерживать посещения кросс–чейновых данных и позволять взаимно не–доверенным сторонам исполнять смарт–контракты на приватных данных из одной или нескольких сетей блокчейна. Описанные методы могут достигать некоторых преимуществ. Например, использование TEE в качестве промежуточной среды для выполнения вычислений может защитить приватность данных. Дополнительно, разгрузка вычислительных задач из сети блокчейна в TEE вне цепочки может сберегать время и ресурсы вычисления сети блокчейна. К тому же, поскольку пользователь может самостоятельно разрабатывать вычислительные логики для вычислений, которые он требует и запрашивает, TEE исполняет вычисления с использованием этих вычислительных логик, и различные вычисления могут выполняться более гибким образом.
[0035] Понятно, что способы согласно описанию, могут включать в себя любую комбинацию аспектов и признаков, описанных в настоящем документе. То есть, способы согласно описанию не ограничены комбинациями аспектов и признаков, конкретно описанных в настоящем документе, но также включают в себя любую комбинацию обеспеченных аспектов и признаков.
[0036] Подробности одной или нескольких реализаций описания изложены на прилагаемых чертежах и описании ниже. Другие признаки и преимущества описания будут очевидны из описания и чертежей, а также из формулы изобретения.
Описание чертежей
[0037] Фиг. 1 изображает пример среды, которая может использоваться, чтобы исполнять реализации описания.
[0038] Фиг. 2 изображает пример концептуальной архитектуры согласно реализациям описания.
[0039] Фиг. 3 изображает пример процесса обеспечения услуги кросс–чейновых данных клиенту согласно реализациям описания.
[0040] Фиг. 4 изображает пример процесса, который может исполняться согласно реализациям описания.
[0041] Фиг. 5 изображает пример диаграммы, иллюстрирующей модули устройства операции кросс–чейновых данных согласно реализациям описания.
[0042] Фиг. 6 изображает пример диаграммы, иллюстрирующей модули другого устройства операции кросс–чейновых данных согласно реализациям описания.
[0043] Подобные ссылочные символы на различных чертежах указывают подобные элементы.
Подробное описание
[0044] Реализации описания включают в себя реализуемые компьютером способы для услуги смарт–контракта вне цепочки на основе технологий блокчейна (упоминаемой как услуга смарт–контракта вне цепочки блокчейна или просто услуга смарт–контракта). Более конкретно, реализации описания направлены на обеспечение услуги смарт–контракта вне цепочки, способной оперировать кросс–чейновыми (между цепочками) данными в доверенной среде исполнения.
[0045] Чтобы обеспечить дополнительный контекст для реализаций описания, и как представлено выше, системы распределенного реестра (DLS), которые могут также называться сетями консенсуса (например, составленными из одноранговых узлов), и сети блокчейна, обеспечивают возможность участвующим объектам безопасно и неизменяемым образом проводить транзакции и сохранять данные. Термин блокчейн используется в настоящем документе, чтобы в общем ссылаться на DLS без ссылки на какой–либо конкретный случай использования.
[0046] Блокчейн представляет собой структуру данных, которая хранит транзакции таким образом, что транзакции являются неизменными и затем могут быть верифицированы. Блокчейн включает в себя один или несколько блоков. Каждый блок в цепочке связан с предыдущим блоком непосредственно перед ним в цепочке путем включения криптографического хеша предыдущего блока. Каждый блок также включает в себя временную метку, свой собственный криптографический хеш и одну или несколько транзакций. Транзакции, которые уже были верифицированы узлами сети блокчейна, хешируются и кодируются в дерево Меркла. Дерево Меркла представляет собой структуру данных, в которой данные в листовых узлах дерева хешируются, и все хеши в каждой ветви дерева конкатенированы в корне ветви. Этот процесс продолжается вверх по дереву до корня всего дерева, который хранит хеш, который является представлением всех данных в дереве. Хеш, имеющий целью относиться к транзакции, сохраненной в дереве, может быть быстро верифицирован путем определения, согласован ли он со структурой дерева.
[0047] В то время как блокчейн (цепочка блоков) представляет собой структуру данных для хранения транзакций, сеть блокчейна представляет собой сеть вычислительных узлов, которые администрируют, обновляют и поддерживают один или несколько блокчейнов (цепочек блоков). Как введено выше, сеть блокчейна может быть обеспечена как публичная сеть блокчейна, частная (приватная) сеть блокчейна или консорциумная сеть блокчейна.
[0048] В публичной сети блокчейна процесс консенсуса управляется узлами сети консенсуса. Например, сотни, тысячи, даже миллионы объектов могут совместно задействовать публичную сеть блокчейна, причем каждый из них оперирует по меньшей мере одним узлом в публичной сети блокчейна. Соответственно, публичная сеть блокчейна может рассматриваться как публичная сеть в отношении участвующих объектов. В некоторых примерах большинство объектов (узлов) должны подписывать каждый блок, чтобы блок был действительным и был добавлен в блокчейн (распределенный реестр) сети блокчейна. Примерные публичные сети блокчейна включают в себя конкретные одноранговые платежные сети, которые извлекают выгоду из распределенного реестра, называемого блокчейном. Как отмечено выше, термин блокчейн, однако, используется, чтобы в общем ссылаться на распределенные реестры без конкретной ссылки на какую–либо конкретную сеть блокчейна.
[0049] В общем публичная сеть блокчейна поддерживает публичные транзакции. Публичная транзакция совместно используется всеми из узлов в публичной сети блокчейна и хранится в глобальном блокчейне. Глобальный блокчейн представляет собой блокчейн, который воспроизводится по всем узлам. То есть, все узлы находятся в консенсусе идеального состояния в отношении глобального блокчейна. Чтобы достичь консенсуса (например, соглашения на добавление блока в блокчейн), протокол консенсуса реализуется в публичной сети блокчейна. Примеры протоколов консенсуса включают в себя, без ограничения, доказательство выполнения работы (POW), доказательство (подтверждение) доли владения (POS) и доказательство полномочий (POA). На POW далее даются ссылки в настоящем документе в качестве неограничивающего примера.
[0050] В общем частная (приватная) сеть блокчейна обеспечена для конкретного объекта, который централизованно управляет разрешениями на считывание и запись. Объект управляет тем, какие узлы способны участвовать в сети блокчейна. Следовательно, приватные сети блокчейна в общем упоминаются как сети с разрешением, которые налагают ограничения на то, кому разрешено участвовать в сети, и на их уровень участия (например, только в определенных транзакциях). Могут использоваться различные типы механизмов управления доступом (например, существующие участники голосуют за добавление новых объектов, распорядительный орган может управлять допуском).
[0051] В общем консорциумная сеть блокчейна является частной среди участвующих объектов. В консорциумной сети блокчейна процесс консенсуса управляется авторизованным набором узлов, один или несколько узлов оперируются соответственным объектом (например, финансовым институтом, страховой компанией). Например, консорциум из десяти (10) объектов (например, финансовых институтов, страховых компаний) может оперировать консорциумной сетью блокчейна, и каждый из них оперирует по меньшей мере одним узлом в консорциумной сети блокчейна. Соответственно, консорциумная сеть блокчейна может рассматриваться как частная сеть в отношении участвующих объектов. В некоторых примерах каждый объект (узел) должен подписывать каждый блок, чтобы блок стал действительным и был добавлен в блокчейн. В некоторых примерах по меньшей мере, поднабор объектов (узлов) (например, по меньшей мере 7 объектов) должен подписывать каждый блок, чтобы блок стал действительным и был добавлен в блокчейн.
[0052] Блокчейн представляет собой устойчивый к взлому совместно используемый цифровой реестр, который записывает транзакции в публичной или частной одноранговой сети. Реестр распределен по всем узлам–членам в сети, и история транзакций с активами, происходящих в сети, непрерывно записывается в блок. Перед участием в транзакции, узлу в блокчейне может потребоваться исполнить вычисления с использованием различных методов. При текущих решениях поскольку каждый блокчейн независим, узел одного блокчейна не может осуществлять связь с другими цепочками. Например, узел не может считывать данные из других блокчейнов или обмениваться данными с другими блокчейнами. К тому же, даже если узлу не требуются данные из других блокчейнов для исполнения вычисления, выполнение таких вычислений полностью на блокчейне может потреблять много времени и вычислительных ресурсов блокчейна, если это требует сложных вычислительных логик и протоколов.
[0053] Реализации описания описаны более подробно в настоящем документе со ссылкой на консорциумную сеть блокчейна, который является публичным среди участвующих объектов. Предполагается, однако, что реализации описания могут быть реализованы в любом подходящем типе сети блокчейна.
[0054] Реализации описания описаны здесь более подробно в виду вышеописанного контекста. Более конкретно, и как введено выше, реализации описания направлены на обеспечение услуги смарт–контракта вне цепочки, способной оперировать кросс–чейновыми данными в доверенной среде исполнения.
[0055] Методы для решения этих проблем могут включать в себя использование услуги смарт–контракта вне цепочки для выполнения вычисления и оперирования кросс–чейновыми данными. Смарт–контракт может представлять собой компьютерное соглашение, разработанное, чтобы распределять, верифицировать или приводить в исполнение контракты информационным образом. Смарт–контракты разрешают доверенным транзакциям выполняться без вовлечения третьей стороны. Эти транзакции могут отслеживаться и являются необратимыми. Смарт–контракт включает в себя логики или компьютерные программы, которые воплощают соглашения или правила транзакции. Например, смарт–контракт может включать в себя логики, которые управляют переводом цифровых валют или активов между сторонами при определенных условиях. Смарт–контракты могут быть закодированы на языке программирования и развернуты на платформе времени выполнения сети блокчейна.
[0056] В некоторых реализациях обработка вне цепочки может использоваться для исполнения или приведения в исполнение смарт–контрактов. Например, логики, включенные в смарт–контракт, могут исполняться вне границ сети блокчейна, например, провайдером услуги смарт–контракта вне цепочки, при сохранении доверия и прозрачности сети блокчейна. Например, провайдер услуги смарт–контракта вне цепочки может представлять собой компьютер, сервер или другие типы устройства обработки данных, независимые от сети блокчейна. При помощи обработки вне цепочки логики смарт–контракта могут исполняться в доверенной среде исполнения (TEE) для сохранения доверия и прозрачности сети блокчейна. TEE может использоваться, чтобы исполнять логики в смарт–контракте и выполнять другие операции и транзакции, включенные в смарт–контракт, вне сети блокчейна. TEE может привязывать код к смарт–контракту и обеспечивать ряд услуг, таких как верификация идентичности, администрирование ключей, ксерографическая услуга и взаимодействия с внешним миром. Доверенная среда TEE гарантирует, что только авторизованному коду разрешено осуществлять доступ к данным, и такие защиты приводятся в выполнение через исполнение кода в них. В некоторых реализациях результат исполнения смарт–контракта, возвращаемый услугой смарт–контракта вне цепочки, может быть выгружен или иным образом передан на сеть блокчейна, например, чтобы обновить состояние сети блокчейна. Например, провайдер услуги смарт–контракта вне цепочки может разгрузить вычислительную нагрузку из сети блокчейна и иметь большую гибкость в выполнении разных сложных вычислительных логик и протоколов.
[0057] В некоторых реализациях описанный провайдер услуги смарт–контракта вне цепочки не связан с какой–либо конкретной сетью блокчейна, и, таким образом, обеспеченная услуга не ограничена конкретной формой контракта (например, сконфигурированного для конкретной сети блокчейна), но поддерживает определенные пользователем вычисления вне цепочки.
[0058] Кроме того, описанный провайдер услуги смарт–контракта вне цепочки может поддерживать посещения кросс–чейновых данных и разрешать взаимно не–доверенным участникам запускать смарт–контракты на приватных данных из одной или нескольких сетей блокчейна. Например, клиент сети A блокчейна может определять смарт–контракт, который работает на данных клиента из сети A блокчейна, а также на данных из другой сети блокчейна, сети B блокчейна. В некоторых реализациях клиент вызывает услугу контракта вне цепочки, чтобы исполнить его определенный смарт–контракт. Услуга контракта вне цепочки может выбирать запрошенные данные из сети A блокчейна и сети B блокчейна, исполнять определенный клиентом смарт–контракт вне сети A блокчейна и сети B блокчейна, чтобы получить результат, и затем предоставляет результат в сеть A блокчейна, чтобы обновить состояния клиента.
[0059] Описаны примерные методы, чтобы сделать возможным и более простым для узла сети блокчейна исполнять сложные вычисления и использовать данные из одной или нескольких других сетей блокчейна для выполнения таких вычислений. Примерные методы могут быть основаны на доверенной среде исполнения (TEE). TEE представляет собой безопасную область на процессоре хоста, которая гарантирует безопасность, приватность и целостность кодов и данных, загруженных в среду. TEE обеспечивает изолированную среду исполнения (например, с использованием выделенных и изолированных аппаратных средств), которая имеет несколько признаков безопасности, таких как изолированное исполнение, целостность доверенных приложений, конфиденциальность (приватность) доверенных данных и безопасное хранение. Описанный провайдер услуги смарт–контракта вне цепочки может включать в себя TEE и реализовывать вычисление сети блокчейна в TEE. Описанные методы могут иметь несколько преимуществ. Например, использование TEE в качестве промежуточной среды для выполнения вычислений может защищать приватность данных. Например, пользователю сети A блокчейна нужны данные из сети B блокчейна и сети C блокчейна, чтобы выполнить вычисление. Нормально, каждая из сети B и C блокчейна представляет собой закрытую цепочку и не желает совместно использовать свои данные с пользователем сети A блокчейна по соображениям приватности. С использованием TEE вычисление может выполняться без раскрытия подробной информации данных из сети B и C блокчейна для сети A блокчейна, но все еще реализовывать посещение кросс–чейновых данных и исполнение смарт–контракта на основе кросс–чейновых данных. Дополнительно, как описано ранее, выполнение сложных вычислений на сети блокчейна затрачивает вычислительные ресурсы цепочки. Разгрузка вычислительных задач из сети блокчейна в TEE вне цепочки может сберечь время и ресурсы вычисления сети блокчейна. Кроме того, поскольку пользователь может самостоятельно разрабатывать вычислительные логики для вычислений, которые ему необходимы и которые он запрашивает, TEE исполняет вычисления с использованием этих вычислительных логик, и различные вычисления могут выполняться более гибким и расширенным образом.
[0060] В некоторых реализациях предложенные методы могут обеспечить универсальную услугу смарт–контракта защитой приватности. Например, смарт–контрактам, используемым для финансовых транзакций, необходимо скрывать сумму и стороны перевода (такие как отправитель и получатель платежа) по соображениям приватности. При предложенном подходе отправитель может сначала зашифровать содержание транзакции и вызвать услугу смарт–контракта вне цепочки. Услуга смарт–контракта вне цепочки может дешифровать содержание транзакции в TEE, исполнить транзакцию в TEE и затем возвратить результат транзакции в цепочку в форме зашифрованного текста (например, с доказательством, что транзакция исполняется в корректных логиках). После того как сеть блокчейна верифицирует возвращенный результат, результат может быть обновлен, чтобы отображать самое последнее состояние на сети блокчейна.
[0061] В некоторых реализациях предложенные методы могут обеспечивать услугу вычисления кросс–чейновых данных. В качестве примера предложенные методы могут использоваться для вычисления персональных кредитных балльных оценок. На практике, людям необходимо участвовать в различных услугах, привлекающих оценку кредита. Например, приложения банковского займа, арендная плата за недвижимость и арендная плата за машину. Каждая услуга может запускаться и поддерживаться независимой консорциумной сетью блокчейна или частной сетью блокчейна. Каждая услуга может не желать совместно использовать данные с другими услугами, и они могут зашифровывать их обработанные персональные данные в некоторых случаях. Чтобы получить исчерпывающую оценку кредита человека из разных областей, может использоваться предложенное решение. В некоторых реализациях пользователь может обеспечивать логики вычисления кредита (коды), авторизацию запроса данных (например, с использованием подписи или закрытого ключа), чтобы инициировать запрос оценки кредита с использованием частного канала. Услуга в предложенном решении запрашивает данные из нескольких цепочек и дешифрует данные в TEE, обеспечивая, что результат генерируется при корректных логиках вычисления. Результат и сертификат результата возвращаются пользователю, и пользователь может гарантировать приватность и целостность данных и логик через доказательство верификации. Пользователь может затем использовать этот результат и доказательство, чтобы предоставить сертифицированную персональную кредитную балльную оценку другим узлам в своей сети блокчейна.
[0062] В некоторых реализациях, когда пользователю необходимо исполнить транзакцию по контракту сети блокчейна, он может передать сложные вычисления в контракте на услугу вне цепочки смарт–контракта заранее и затем выгрузить и сохранить результат в сети блокчейна. В некоторых реализациях результат может непосредственно использоваться в качестве ввода в транзакцию, выполняемую в сети блокчейна, сокращая время исполнения контракта сети блокчейна и улучшая эффективность. В таких реализациях, если пользователь не желает представлять приватные контракты или протоколы безопасности, которые приводятся в исполнение в сети блокчейна, вычисление может быть произведено с использованием услуги смарт–контракта вне цепочки, и доступ к данным сети блокчейна может осуществляться надежным образом.
[0063] Фиг. 1 изображает пример среды 100, которая может использоваться, чтобы исполнять реализации описания. В некоторых примерах среда 100 обеспечивает возможность объектам участвовать в сети 102 блокчейна. Среда 100 включает в себя вычислительные устройства 106, 108 и сеть 110. В некоторых примерах сеть 110 включает в себя локальную сеть (LAN), сеть широкого доступа (WAN), Интернет или их комбинацию и соединяет веб–сайты, пользовательские устройства (например, вычислительные устройства) и внутренние (серверные) системы. В некоторых примерах доступ к сети 110 может осуществляться по проводной и/или беспроводной линии связи. В некоторых примерах сеть 110 обеспечивает возможность связи с и в пределах сети 102 блокчейна. В общем сеть 110 представляет одну или несколько сетей связи. В некоторых случаях вычислительные устройства 106, 108 могут представлять собой узлы облачной вычислительной системы (не показана), или каждое вычислительное устройство 106, 108 может представлять собой отдельную облачную вычислительную систему, включающую в себя ряд компьютеров, взаимосвязанных посредством сети и функционирующих как распределенная система обработки.
[0064] В изображенном примере вычислительные системы 106, 108 могут, каждая, включать в себя любую подходящую вычислительную систему, которая обеспечивает возможность участия в качестве узла в сети 102 блокчейна. Примеры вычислительных устройств включают в себя, без ограничения, сервер, настольный компьютер, ноутбук, планшетное вычислительное устройство и смартфон. В некоторых примерах вычислительные системы 106, 108 хостируют одну или несколько реализуемых компьютером услуг для взаимодействия с сетью 102 блокчейна. Например, вычислительная система 106 может хостировать реализуемые компьютером услуги первого объекта (например, участника A), такие как система администрирования транзакций, которую первый объект использует, чтобы администрировать свои транзакции с одним или несколькими другими объектами (например, другими участниками). Вычислительная система 108 может хостировать реализуемые компьютером услуги второго объекта (например, участника B), такие как система администрирования транзакций, которую второй объект использует, чтобы администрировать свои транзакции с одним или несколькими другими объектами (например, другими участниками). В примере на фиг. 1 сеть 102 блокчейна представлена как одноранговая сеть узлов, и вычислительные системы 106, 108 обеспечивают узлы первого объекта и второго объекта соответственно, которые участвуют в сети 102 блокчейна.
[0065] Фиг. 2 изображает пример концептуальной архитектуры 200 согласно реализациям описания. Пример концептуальной архитектуры 200 включает в себя системы 202, 204, 206 участников, которые соответствуют участнику A, участнику B и участнику C, соответственно. Каждый участник (например, пользователь, предприятие) участвует в сети 212 блокчейна, обеспеченной как одноранговая сеть, включающая в себя ряд узлов 214, по меньшей мере некоторые из которых неизменяемым образом записывают информацию в блокчейне 216. Хотя один блокчейн 216 схематично изображен в сети 212 блокчейна, обеспечено множество копий блокчейна 216, и они поддерживаются по сети 212 блокчейна, как описано здесь более подробно.
[0066] В изображенном примере каждая система 202, 204, 206 участника обеспечена посредством или от имени участника A, участника B и участника C, соответственно, и функционирует в качестве соответственного узла 214 в сети блокчейна. Как использовано в настоящем документе, узел в общем относится к индивидуальной системе (например, компьютеру, серверу), который соединен с сетью 212 блокчейна, и обеспечивает возможность соответственному участнику участвовать в сети блокчейна. В примере фиг. 2 участник соответствует каждому узлу 214. Предполагается, однако, что участник может оперировать множественными узлами 214 в сети 212 блокчейна, и/или множественные участники могут совместно использовать узел 214. В некоторых примерах системы 202, 204, 206 участников осуществляют связь с сетью 212 блокчейна или через нее с использованием протокола (например, протокола защищенной передачи гипертекста (HTTPS)), и/или с использованием удаленных вызовов процедуры (RPC).
[0067] Узлы 214 могут иметь изменяющиеся степени участия в сети 212 блокчейна. Например, некоторые узлы 214 могут участвовать в процессе консенсуса (например, в качестве узлов–майнеров, которые добавляют блоки в блокчейн 216), в то время как другие узлы 214 не участвуют в процессе консенсуса. В качестве другого примера некоторые узлы 214 хранят полную копию блокчейна 216, в то время как другие узлы 214 хранят только копии частей блокчейна 216. Например, привилегии доступа к данным могут ограничивать данные блокчейна, которые соответственный участник хранит в своей соответственной системе. В примере на фиг. 2, системы 202, 204, 206 участников хранят соответственные полные копии 216’, 216’’, 216’’’ блокчейна 216.
[0068] Блокчейн (например, блокчейн 216 на фиг. 2) составлен из цепочки блоков, каждый блок хранит данные. Примеры данных включают в себя данные транзакции, характеризующие транзакцию между двумя или более участниками. В то время как транзакции используются в настоящем документе в качестве неограничивающего примера, предполагается, что любые подходящие данные могут храниться в блокчейне (например, документы, изображения, видео, аудио). Примеры транзакций могут включать в себя, без ограничения, обмены чем–либо ценным (например, активами, продуктами, услугами и валютой). Данные транзакции неизменяемым образом сохраняются в блокчейне. То есть, данные транзакции не могут быть изменены.
[0069] Перед сохранением в блоке данные транзакции хешируются. Хеширование представляет собой процесс преобразования данных транзакции (обеспеченных как данные строки) в значение хеша фиксированной длины (также обеспеченное как данные строки). Невозможно хешировать обратно значение хеша, чтобы получить данные транзакции. Хеширование обеспечивает, что даже небольшое изменение в данных транзакции приводит к полностью отличному значению хеша. Дополнительно, и как отмечено выше, значение хеша относится к фиксированной длине. То есть, независимо от размера данных транзакции, длина значения хеша фиксирована. Хеширование включает в себя обработку данных транзакции через хеш–функцию, чтобы сгенерировать значение хеша. Примеры хеш–функции включают в себя, без ограничения, алгоритм безопасного хеширования (SHA)–256, который выводит 256–битные значения хеша.
[0070] Данные транзакции множества транзакций хешируются и хранятся в блоке. Например, обеспечены значения хешей двух транзакций, и они сами хешируются, чтобы обеспечить другой хеш. Этот процесс повторяется для всех транзакций, подлежащих сохранению в блоке, до тех пор, пока не будет обеспечено одно значение хеша. Это значение хеша называется хешем корня Меркла и хранится в заголовке блока. Изменение в любой из транзакций приведет к изменению в ее значении хеша и, в конечном счете, изменению в хеше корня Меркла.
[0071] Блоки добавляются в блокчейн через протокол консенсуса. Множество узлов в сети блокчейна участвуют в протоколе консенсуса и состязаются за добавление блока в блокчейн. Такие узлы называются майнерами (или добывающими узлами). POW, введенный выше, используется в качестве неограничивающего примера.
[0072] Добывающие узлы (узлы–майнеры) исполняют процесс консенсуса, чтобы добавить транзакции в блокчейн. Хотя множество узлов–майнеров участвуют в процессе консенсуса, только один узел–майнер может записывать блок в блокчейн. То есть, узлы–майнеры состязаются в процессе консенсуса, чтобы добавить свой блок в блокчейн. Более подробно, узел–майнер периодически собирает ожидающие транзакции из пула транзакций (например, вплоть до предопределенного лимита на число транзакций, которые могут быть включены в блок, если таковые могут быть включены). Пул транзакций включает в себя сообщения транзакции от участников в сети блокчейна. Узел–майнер конструирует блок и добавляет транзакции в блок. Перед добавлением транзакций в блок, узел–майнер проверяет, включена ли уже какая–либо из транзакций в блок блокчейна. Если транзакция уже включена в другой блок, транзакция отбрасывается.
[0073] Узел–майнер генерирует заголовок блока, хеширует все транзакции в блоке и комбинирует значение хеша попарно, чтобы сгенерировать дополнительные значения хеша, пока не будет обеспечено одно значение хеша для всех транзакций в блоке (хеш корня Меркла). Этот хеш добавляется в заголовок блока. Майнер также определяет значение хеша самого недавнего блока в блокчейне (т. е., последнего блока, добавленного в блокчейн). Узел–майнер также добавляет случайное значение и временную метку в заголовок блока. В процессе майнинга узел–майнер пытается найти значение хеша, которое удовлетворяет требуемым параметрам. Узел–майнер поддерживает изменение случайного значения до нахождения значения хеша, которое удовлетворяет требуемым параметрам.
[0074] Каждый майнер в сети блокчейна пытается найти значение хеша, которое удовлетворяет требуемым параметрам, и, таким образом, они состязаются друг с другом. В конечном счете, один из узлов–майнеров находит значение хеша, которое удовлетворяет требуемым параметрам, и извещает о нем другие узлы–майнеры в сети блокчейна. Другие узлы–майнеры верифицируют значение хеша, и, если оно определено как корректное, верифицируют каждую транзакцию в блоке, принимают блок и присоединяют блок к их копии блокчейна. Таким образом, глобальное состояние блокчейна согласуется по всем узлам–майнерам в сети блокчейна. Описанный выше процесс представляет собой протокол консенсуса POW.
[0075] Неограничивающий пример обеспечен со ссылкой на фиг. 2. В этом примере участник A желает отправить сумму денежных средств участнику B. Участник A генерирует сообщение транзакции (например, включающее в себя поля от кого, кому и ценность) и отправляет сообщение транзакции на сеть блокчейна, которая добавляет сообщение транзакции в пул транзакций. Каждый узел–майнер в сети блокчейна создает блок и берет все транзакции из пула транзакций (например, вплоть до предопределенного лимита на число транзакций, которое может быть добавлено в блок, если таковые могут быть добавлены) и добавляет транзакции в блок. При таком способе транзакция, опубликованная участником A, добавляется в блоки узлов–майнеров.
[0076] В некоторых сетях блокчейна реализуется криптография, чтобы поддерживать приватность транзакций. Например, если два узла желают сохранить транзакцию приватной, так что другие узлы в сети блокчейна не могут различить подробности транзакции, узлы могут зашифровать данные транзакции. Примеры криптографических способов включают в себя, без ограничения, симметричное шифрование и асимметричное шифрование. Симметричное шифрование относится к процессу шифрования, который использует один ключ как для шифрования (генерирования зашифрованного текста из незашифрованного текста), так и дешифрования (генерирования незашифрованного текста из зашифрованного текста). В симметричном шифровании, один и тот же ключ доступен множеству узлов, так что каждый узел может зашифровывать/расшифровывать данные транзакции.
[0077] Асимметричное шифрование использует пары ключей, каждая из которых включает в себя закрытый ключ и открытый ключ, закрытый ключ известен только соответственному узлу, и открытый ключ известен любому или всем другим узлам в сети блокчейна. Узел может использовать открытый ключ другого узла, чтобы зашифровывать данные, и зашифрованные данные могут быть дешифрованы с использованием закрытого ключа другого узла. Например, вновь со ссылкой на фиг. 2, участник A может использовать открытый ключ участника B, чтобы зашифровывать данные, и отправить зашифрованные данные участнику B. Участник B может использовать свой закрытый ключ, чтобы дешифровать зашифрованные данные (зашифрованный текст) и извлечь исходные данные (незашифрованный текст). Сообщения, зашифрованные при помощи открытого ключа узла, могут быть дешифрованы только с использованием закрытого ключа узла.
[0078] Асимметричное шифрование используется, чтобы обеспечить цифровые сигнатуры (подписи), которые обеспечивают возможность участникам в транзакции подтверждать других участников в транзакции, а также достоверность транзакции. Например, узел может цифровым образом подписывать сообщение, и другой узел может подтверждать, что сообщение было отправлено узлом, на основе цифровой подписи участника A. Цифровые подписи могут также использоваться, чтобы удостоверить, что сообщения не подвергаются взлому при передаче. Например, вновь со ссылкой на фиг. 2, участник A собирается отправить сообщение участнику B. Участник A генерирует хеш сообщения и затем, используя свой закрытый ключ, шифрует хеш, чтобы обеспечить цифровую подпись в качестве зашифрованного хеша. Участник A прилагает цифровую подпись к сообщению и отправляет сообщение с цифровой подписью участнику B. Участник B дешифрует цифровую подпись с использованием открытого ключа участника A и извлекает хеш. Участник B хеширует сообщение и сравнивает хеши. Если хеши являются одними и теми же, участник B может подтвердить, что сообщение действительно было от участника A и не было взломано.
[0079] Фиг. 3 изображает пример процесса 300 обеспечения услуги кросс–чейновых данных клиенту согласно реализациям описания. В некоторых реализациях клиент 302 представляет приложение (например, клиентское приложение) в связи с сетью блокчейна, такой как сеть 306 целевого блокчейна. Например, клиент 302 может включать в себя клиентский комплект разработки программного обеспечения (SDK) для осуществления доступа к и связи с сетью 306 блокчейна. Клиент 302 может быть установлен на устройстве (также называемом клиентским терминалом или узлом) пользователя (не показан на фиг. 3). В некоторых реализациях пользователь может участвовать в транзакции сети 306 целевого блокчейна путем инициирования транзакции с использованием клиента 302. В некоторых реализациях информация счета пользователя может храниться в сети 306 целевого блокчейна, и пользователь имеет авторизацию на выполнение транзакций в сети целевого блокчейна. Клиент 302 может осуществлять доступ и считывать данные, сохраненные в сети 306 целевого блокчейна. В некоторых реализациях, чтобы получить кросс–чейновые данные, например, данные из одной или нескольких разных сетей (например, 316, 328 и 320 на фиг. 3) блокчейна, клиенту 302 может потребоваться надежный или доверенный провайдер 312 услуги посещения данных, чтобы «соединить мостом» (связать) интервал коммуникации между клиентом 302 сети 306 целевого блокчейна и другими различными сетями блокчейна.
[0080] В некоторых реализациях клиент 302 может инициировать приватную транзакцию по контракту сети целевого блокчейна, и такая информация транзакции доступна для просмотра только пользователю клиента 302 и, возможно, другим участникам или сторонам транзакции, но не любым другим сторонам на или вне сети блокчейна. В некоторых реализациях клиенту 302 необходимо представить результат другому объекту на или вне сети 306 целевого блокчейна.
[0081] В некоторых реализациях транзакция клиента 302 сети 316 целевого блокчейна может включать в себя различные вычислительные операции с использованием данных из сети 316 целевого блокчейна, кросс–чейновые данные (например, данные из одной или нескольких различных сетей 316, 318 или 320 блокчейна) или того и другого. В некоторых реализациях транзакция клиента 302 сети 316 целевого блокчейна может включать в себя результат, вычисленный с использованием данных из сети 316 целевого блокчейна, кросс–чейновых данных или того и другого. В некоторых реализациях транзакция может включать в себя различные вычислительные логики и протоколы. В некоторых реализациях вычисление может быть сложным и потребляет вычислительные ресурсы сети блокчейна. В некоторых реализациях транзакция может быть специфицирована в смарт–контракте, созданном клиентом 302.
[0082] Например, как показано на фиг. 3, клиент 302 может, например, с использованием клиентского SDK 304, подготовить смарт–контракт, который включает в себя самостоятельно разработанные вычислительные логики и протоколы, чтобы выполнять транзакцию на основе кросс–чейновых данных (например, данных из одной или нескольких различных сетей 316, 318 или 320 блокчейна). Клиент 302 может отправить смарт–контракт провайдеру 308 услуги смарт–контракта для исполнения. Провайдер 308 услуги смарт–контракта находится вне сети 306 целевого блокчейна, так что провайдер 308 услуги смарт–контракта может выполнять вычислительные логики и протоколы, как определено в смарт–контракте, независимо от сети 306 целевого блокчейна.
[0083] При приеме и анализе смарт–контракта провайдер 308 услуги смарт–контракта определяет, что кросс–чейновые данные необходимы для исполнения смарт–контракта. Провайдер 308 услуги смарт–контракта может отправить запрос на кросс–чейновые данные доверенному провайдеру 312 услуги посещения данных, чтобы получить данные из кросс–чейновых данных. Например, клиент 302 может пожелать выполнить вычисление “a плюс b”, где a представляет собой данные из сети 306 целевого блокчейна, и b представляет собой приватные данные из сети 316 блокчейна. В этом случае смарт–контракт, отправленный от клиента 302, содержит вычислительную логику для суммирования a и b вместе и указатель местоположений данных a и b. Провайдер 308 услуги смарт–контракта может отправить запрос доверенному провайдеру 312 услуги посещения данных, чтобы получить приватные данные b сети 316 блокчейна. В некоторых реализациях смарт–контракт может быть зашифрован, чтобы защитить приватность пользователя.
[0084] В некоторых реализациях провайдер 308 услуги смарт–контракта вне цепочки может представлять собой провайдера облачного сервера. В некоторых реализациях такой провайдер облачного сервера может представлять собой независимого провайдера услуги третьей участвующей стороны, такого как Alibaba®. В некоторых реализациях множество объектов представляют собой ресурсы данных кросс–чейновых данных, и никакой из них не желает выгружать их собственные данные провайдеру услуги третьей участвующей стороны. В таких случаях эти объекты могут сами образовывать провайдера услуги смарт–контракта.
[0085] Провайдер 308 услуги смарт–контракта вне цепочки включает в себя доверенную среду исполнения вычисления (TEE) 310, которая обеспечивает безопасную среду исполнения вычисления. В некоторых реализациях TEE 310 вычисления представляет собой независимый модуль аппаратных средств, независимость которого обеспечивает безопасность данных, исполняемых внутри TEE 310. В некоторых реализациях, чтобы сконфигурировать TEE 310 для операций сети блокчейна, одно или несколько из виртуальной машины, прикладного интерфейса или операционной системы может быть запрограммировано, постоянно закодировано или иным образом сконфигурировано в TEE 310, чтобы сделать TEE 310 подходящей для исполнения вычислительной логики, определенной в смарт–контракте. В некоторых реализациях перед отправкой смарт–контракта провайдеру 308 услуги смарт–контракта вне цепочки, клиент 302 может верифицировать, что провайдер 308 услуги смарт–контракта вне цепочки включает в себя TEE 310, и TEE 310 включает в себя программы или среду исполнения, которые соответствуют клиенту 302. Например, если сеть 306 целевого блокчейна представляет собой сеть блокчейна на основе Ethereum, и SDK 304 клиента 302 представляет собой SDK клиента на основе Ethereum (например, с использованием языка Solidity), клиент 302 может верифицировать, включает ли в себя TEE 310 виртуальную машину Ethereum (EVM) (например, которая поддерживает язык Solidity) для исполнения вычислительных логик на основе Ethereum, прежде чем клиент 302 отправляет запрос на исполнение смарт–контракта провайдеру 308 услуги смарт–контракта вне цепочки.
[0086] После приема запроса на исполнение смарт–контракта, если запрос зашифрован, TEE 310 сначала дешифрует запрос, анализирует смарт–контракт и идентифицирует данные, необходимые для исполнения смарт–контракта. TEE 310 может вызвать доверенного провайдера 312 услуги посещения данных, чтобы получить данные из одного или нескольких разных источников, например, через прикладной программный интерфейс (API) 314 доверенного провайдера 312 услуги посещения данных. Доверенный провайдер 312 услуги посещения данных представляет собой доверенную сторону, которая может извлекать приватные данные одной или нескольких разных сетей блокчейна. Доверенный провайдер 312 услуги посещения данных может обеспечивать доверенные данные на TEE 310 провайдера 308 услуги смарт–контракта вне цепочки и обеспечивать приватность и точность данных.
[0087] В некоторых реализациях доверенный провайдер 312 услуги посещения данных может также содержать TEE, например, чтобы извлекать данные из корректных местоположений из одной или нескольких разных сетей блокчейна. В некоторых реализациях логика TEE, включенная в доверенный провайдер 312 услуги посещения данных, проще, чем логика TEE 310 в провайдере 308 услуги смарт–контракта вне цепочки, так как первая главным образом используется для извлечения данных и не требует выполнения вычислений на этих извлеченных данных.
[0088] В некоторых реализациях прежде чем TEE 310 вызывает API 314, двунаправленный процесс верификации выполняется между провайдером 308 услуги смарт–контракта вне цепочки и доверенным провайдером 312 услуги посещения данных. В некоторых реализациях во время процесса верификации, каждый из них доказывает, что он включил TEE для другой стороны.
[0089] В некоторых реализациях доверенный провайдер 312 услуги посещения данных может извлекать данные из одного или нескольких разных источников, включающих в себя одно или несколько из сети блокчейна, коллаборации сетей блокчейна или платформы сетей блокчейна (совместно называемых одной или несколькими сетями блокчейна). Примерные сети блокчейна показаны как Mychain 316, Hiperleger 318 и Ethereum 320 на фиг. 3. Полученные данные отправляются обратно на TEE 310, которая исполняет вычислительные логики с использованием полученных данных.
[0090] В некоторых реализациях после того как результат вычисления генерируется в вычислительной TEE 310, TEE 310 подписывает результат при помощи закрытого ключа, чтобы доказать целостность и точность результата. В некоторых реализациях подпись является доказательством, указывающим, что результат вычисления исполняется посредством TEE 310 в соответствии с вычислительной логикой, включенной в смарт–контракт, отправленный клиентом 302. По существу, результат может быть доверенным для других узлов сети 306 целевого блокчейна.
[0091] В некоторых реализациях TEE 310 возвращает результат на клиент 302. Например, клиент 302 дешифрует результат при помощи открытого ключа, соответствующего закрытому ключу TEE 310. В некоторых реализациях клиент 302 выгружает результат в сеть 306 целевого блокчейна, так что результат может использоваться, чтобы обновлять состояние клиента 302 или в качестве ввода в транзакцию сети 306 целевого блокчейна. В некоторых реализациях клиент 302 может использовать результат для целей, не связанных с сетью блокчейна, например, чтобы вычислять среднюю кредитную балльную оценку пользователя. Например, пользователь может получать информацию данных из разных цепочек (каждая представляет провайдера услуги, такого как аренда машины, банковский заем или аренда дома) и использовать данные, чтобы вычислить среднюю кредитную балльную оценку пользователя. Пользователь может представить результат продавцу без выгрузки результата в какую–либо сеть блокчейна.
[0092] В некоторых реализациях TEE 310 может возвращать результат непосредственно в целевую цепочку 306. В таких реализациях до возвращения результата сеть 306 целевого блокчейна может верифицировать, включает ли в себя провайдер 308 услуги смарт–контракта вне цепочки требуемую TEE, чтобы установить доверие между провайдером 308 услуги смарт–контракта вне цепочки и целевой цепочкой 306.
[0093] Фиг. 4 изображает пример процесса 400, который может исполняться согласно реализациям описания. В некоторых реализациях примерный процесс 400 может выполняться с использованием одной или нескольких исполняемых компьютером программ, исполняемых с использованием одного или нескольких вычислительных устройств. Для ясности представления последующее описание в общем описывает способ 400 в контексте других чертежей в настоящем описании. Например, клиент 420 может представлять собой клиента 302, провайдер 430 услуги смарт–контракта может представлять собой провайдера 308 услуги смарт–контракта вне цепочки, доверенный провайдер 440 услуги посещения данных может представлять собой доверенного провайдера 312 услуги посещения данных, сети 450 блокчейна могут представлять собой Mychain 316, HyperLeger 318 и/или Ethereum 320, и сеть 410 целевого блокчейна может представлять собой сеть 306 целевого блокчейна, как описано в отношении фиг. 3. Однако, будет понятно, что способ 400 может выполняться, например, любой подходящей системой, средой, программным обеспечением и аппаратными средствами или комбинацией систем, сред, программного обеспечения и аппаратных средств, по мере необходимости. В некоторых реализациях различные этапы способа 400 могут работать параллельно, в комбинации, в циклах или в любом порядке.
[0094] На этапе 412 клиент 420, ассоциированный с сетью 410 целевого блокчейна, генерирует запрос на оперирование кросс–чейновыми данными одной или нескольких сетей блокчейна, отличных от сети целевого блокчейна. Запрос на оперирование кросс–чейновыми данными включает в себя логики вычисления смарт–контракта для оперирования кросс–чейновыми данными. В некоторых реализациях запрос на оперирование кросс–чейновыми данными может быть записан как смарт–контракт. Запрос на оперирование кросс–чейновыми данными может представлять собой пример запроса на исполнение смарт–контракта, как описано в отношении фиг. 3.
[0095] В некоторых реализациях логики вычисления смарт–контракта для оперирования кросс–чейновыми данными самостоятельно разрабатываются клиентом, обеспечивая пользователю свободу и гибкость в определении логик вычисления смарт–контракта, чтобы достичь целей пользователя, без ограничения вычислительными логиками, определенными сетью 410 целевого блокчейна. В таких реализациях, генерирование запроса включает в себя разработку клиентом логик вычисления смарт–контракта для оперирования кросс–чейновыми данными. В некоторых реализациях клиент включает в себя комплект разработки программного обеспечения (SDK), который позволяет пользователю писать логики вычисления смарт–контракта. В некоторых реализациях вычислительные логики могут быть написаны на языке Solidity. В некоторых реализациях запрос на оперирование кросс–чейновыми данными зашифровывается клиентом.
[0096] На этапе 414 клиент 420, ассоциированный с сетью 410 целевого блокчейна, отправляет провайдеру 430 услуги смарт–контракта запрос на оперирование кросс–чейновыми данными одной или нескольких сетей блокчейна, отличных от сети 410 целевого блокчейна. Провайдер 430 услуги смарт–контракта включает в себя доверенную среду исполнения вычисления (TEE). Провайдер 430 услуги смарт–контракта находится вне сети 410 целевого блокчейна. В некоторых реализациях кросс–чейновые данные получают из двух или более сетей блокчейна. В некоторых реализациях провайдер 430 услуги смарт–контракта включает в себя облачный сервер.
[0097] В некоторых реализациях запрос на посещение кросс–чейновых данных представляет собой запрос на посещение данных. В таких реализациях, TEE извлекает данные и возвращает данные клиенту 420.
[0098] В некоторых реализациях помимо извлечения данных из множества сетей блокчейна, TEE работает на данных на основе логик вычисления смарт–контракта, включенных в запрос. В некоторых реализациях провайдер 430 услуги смарт–контракта может представлять собой сконфигурированную TEE, например, путем встраивания EVM в TEE, чтобы TEE надлежащим образом исполняла логики вычисления смарт–контракта, включенные в запрос.
[0099] В некоторых реализациях перед отправкой запроса на оперирование кросс–чейновыми данными, на этапе 426 клиент 420 верифицирует провайдера 430 услуги смарт–контракта, который способен исполнять логики вычисления смарт–контракта безопасным образом. В некоторых реализациях этот процесс верификации включает в себя: провайдер 430 услуги смарт–контракта удостоверяет клиенту 420, что провайдер 430 услуги смарт–контракта включает в себя TEE; и провайдер 430 услуги смарт–контракта удостоверяет клиенту 420, что TEE включает в себя виртуальную машину, выполненную с возможностью, чтобы исполнять логики вычисления смарт–контракта в запросе на оперирование кросс–чейновыми данными.
[00100] Например, TEE может представлять собой SGX Intel®. В этом примере то, включает ли в себя провайдер 430 услуги смарт–контракта SGX, удостоверяется подписью и услугой верификации, обеспеченными из Intel®. К тому же, чтобы удостоверить, что TEE включает в себя требуемую EVM, TEE вычисляет хеш вызванного скрипта и кодов EVM и отправляет хеш на клиент 420 для верификации. Поскольку клиент 420 также имеет набор выполненных кодов EVM, он может также вычислить значение хеша скрипта и кодов EVM, которые он имеет, и сравнить, согласованы ли два значения хеша.
[00101] В некоторых реализациях перед генерированием запроса, клиент 420 и провайдер 430 услуги смарт–контракта могут устанавливать пару ключей. Поэтому, после того, как провайдер 430 услуги смарт–контракта принимает запрос, подписанный одним из ключей, он может дешифровать запрос при помощи другого ключа из пары. На этапе 428 провайдер 430 услуги смарт–контракта дешифрует и анализирует принятый запрос. В некоторых реализациях запрос записывается в предопределенном формате данных во время разработки, и в таких случаях, запрос анализируется по каждому сегменту данных.
[00102] На этапе 435 провайдер 430 услуги смарт–контракта отправляет запрос на кросс–чейновые данные провайдеру 440 услуги посещения данных, чтобы получить кросс–чейновые данные, которые указаны в запросе на оперирование кросс–чейновыми данными. В некоторых реализациях перед отправкой запроса провайдеру 440 услуги посещения данных, на этапе 432 провайдер 430 услуги смарт–контракта верифицирует, что доверенный провайдер 440 услуги посещения данных способен обеспечивать доверенные кросс–чейновые данные одной или нескольких сетей блокчейна, отличных от сети целевого блокчейна. В некоторых реализациях этот процесс верификации включает в себя то, что провайдер 430 услуги смарт–контракта верифицирует, что провайдер 440 услуги посещения данных включает в себя TEE.
[00103] В некоторых реализациях перед отправкой запроса провайдеру 440 услуги посещения данных, на этапе 434 провайдер 440 услуги посещения данных и провайдер 430 услуги смарт–контракта могут выполнять процесс верификации, чтобы установить доверие между обоими. В некоторых реализациях этот процесс верификации включает в себя то, что провайдер 430 услуги смарт–контракта удостоверяет провайдеру 440 услуги посещения данных, что провайдер 430 услуги смарт–контракта включает в себя TEE. В некоторых реализациях на обоих этапах 432 и 434 верифицирование/удостоверение существования TEE может выполняться тем же самым способом, как указано на этапе 426.
[00104] На этапе 436 провайдер 440 услуги посещения данных запрашивает данные из одной или нескольких сетей 450 блокчейна, отличных от сети 410 целевого блокчейна.
[00105] На этапе 438 провайдер 440 услуги посещения данных принимает данные из одной или нескольких сетей 450 блокчейна, отличных от сети 410 целевого блокчейна.
[00106] На этапе 439 провайдер 430 услуги смарт–контракта принимает кросс–чейновые данные от провайдера 440 услуги посещения данных. В некоторых реализациях кросс–чейновые данные получают из двух или более сетей блокчейна.
[00107] На этапе 441 TEE провайдера 430 услуги смарт–контракта генерирует результат с использованием принятых кросс–чейновых данных путем исполнения логик вычисления смарт–контракта. В некоторых реализациях результат генерируется посредством TEE, которая исполняет логики вычисления смарт–контракта с использованием кросс–чейновых данных. В некоторых реализациях EVM, включенная в TEE, исполняет код, чтобы выполнять вычисления с использованием вычислительных логик и принятых данных.
[00108] На этапе 442 провайдер 430 услуги смарт–контракта подписывает результат. В некоторых реализациях результат подписывается при помощи закрытого ключа. Например, TEE включает в себя закрытый ключ, которые изолирован от внешней среды и других компонентов TEE. В некоторых реализациях подпись, выполненная при помощи закрытого ключа, является доказательством того, что результат генерируется внутри TEE. В некоторых реализациях после того, как провайдер 430 услуги смарт–контракта подписывает результат, итоговый выведенный результат включает в себя: результат, сгенерированный посредством TEE, и значение хеша результата, подписанного при помощи закрытого ключа.
[00109] На этапе 443 провайдер 430 услуги смарт–контракта возвращает результат клиенту 420.
[00110] На этапе 444 клиент 420 дешифрует принятый результат. В некоторых реализациях клиент 420 дешифрует принятый результат с использованием открытого ключа, соответствующего закрытому ключу. В таких реализациях, принятый результат содержит результат, сгенерированный посредством TEE, и подписанное значение хеша этого результата. В таких реализациях, клиент 420 вычисляет значение хеша результата, сгенерированного посредством TEE, с использованием закрытого ключа и сравнивает его с подписанным значением хеша этого результата, чтобы выяснить, согласованы ли они.
[00111] На этапе 446 клиент 420 отправляет транзакцию на сеть 410 целевого блокчейна на основе принятого результата. В некоторых реализациях клиент 420 выгружает транзакцию в сеть 410 целевого блокчейна, чтобы обновить состояние клиента 420 или выполнить транзакцию на сети 410 целевого блокчейна.
[00112] В некоторых реализациях на этапе 452 провайдер 430 услуги смарт–контракта выгружает результат в сеть 410 целевого блокчейна. В некоторых реализациях перед выгрузкой результата в сеть целевого блокчейна, на этапе 448 провайдер услуги смарт–контракта удостоверяет сети целевого блокчейна, что провайдер услуги смарт–контракта включает в себя TEE. Способ, используемый здесь для верификации, может быть тем же самым, что и способ, используемый на этапе 426.
[00113] Со ссылкой на фиг. 5, фиг. 5 изображает пример диаграммы, иллюстрирующей модули устройства 500 согласно реализациям описания. Устройство 500 может представлять собой примерную реализацию провайдера услуги смарт–контракта, включающего в себя доверенную среду исполнения вычисления (TEE), причем провайдер услуги смарт–контракта находится вне сети целевого блокчейна. Устройство 500 для операции кросс–чейновых данных может использоваться в системе смарт–контракта вне цепочки на основе технологии сети блокчейна. Устройство 500 может соответствовать реализации, показанной на фиг. 3 и 4, и устройство 500 включает в себя следующее: первый приемник или блок 510 приема, сконфигурированный, чтобы принимать, от клиента, ассоциированного с сетью целевого блокчейна, запрос на оперирование кросс–чейновыми данными одной или нескольких сетей блокчейна, отличных от сети целевого блокчейна; передатчик или блок 520 передачи, сконфигурированный, чтобы отправлять запрос на кросс–чейновые данные; второй приемник или блок 530 приема, сконфигурированный, чтобы принимать кросс–чейновые данные от провайдера услуги посещения данных; генератор или блок 540 генерирования, сконфигурированный, чтобы генерировать кросс–чейновые данные от провайдера услуги посещения данных; и пользовательский интерфейс 550, сконфигурированный, чтобы возвращать результат клиенту.
[00114] В необязательной реализации запрос на оперирование кросс–чейновыми данными включает в себя логики вычисления смарт–контракта для оперирования кросс–чейновыми данными.
[00115] В необязательной реализации логики вычисления смарт–контракта для оперирования кросс–чейновыми данными самостоятельно разрабатываются клиентом.
[00116] В необязательной реализации, устройство 500 дополнительно включает в себя следующее: первый под–блок обеспечения, сконфигурированный, чтобы обеспечивать, что TEE включает в себя виртуальную машину, выполненную с возможностью, чтобы исполнять логики вычисления смарт–контракта в запросе на оперирование кросс–чейновыми данными.
[00117] В необязательной реализации перед приемом запроса на оперирование кросс–чейновыми данными от клиента, устройство дополнительно включает в себя следующее: второй под–блок обеспечения, сконфигурированный, чтобы обеспечивать, что провайдер услуги смарт–контракта включает в себя TEE.
[00118] В необязательной реализации устройство 500 дополнительно включает в себя следующее: третий под–блок обеспечения, сконфигурированный, чтобы обеспечивать, что провайдер услуги смарт–контракта включает в себя TEE; и под–блок верификации, сконфигурированный, чтобы верифицировать, что провайдер услуги посещения данных включает в себя TEE.
[00119] В необязательной реализации устройство 500 дополнительно включает в себя следующее: под–блок выгрузки, сконфигурированный, чтобы выгружать результат в сеть целевого блокчейна.
[00120] В необязательной реализации перед выгрузкой результата в сеть целевого блокчейна, устройство 500 дополнительно включает в себя следующее: четвертый под–блок обеспечения, сконфигурированный, чтобы обеспечивать, что провайдер услуги смарт–контракта включает в себя TEE.
[00121] В необязательной реализации провайдер услуги смарт–контракта включает в себя облачный сервер.
[00122] В необязательной реализации кросс–чейновые данные получают из двух или более сетей блокчейна.
[00123] Со ссылкой на фиг. 6, фиг. 6 изображает пример диаграммы, иллюстрирующей модули другого устройства 600 согласно реализациям описания. Устройство 600 может представлять собой пример реализации клиента, ассоциированного с сетью целевого блокчейна. Устройство 600 может использоваться в системе смарт–контракта вне цепочки на основе технологии сети блокчейна. Устройство 600 может соответствовать реализации, показанной на фиг. 3 и 4, и устройство 600 включает в себя следующее: генератор или блок 610 генерирования, сконфигурированный, чтобы генерировать запрос на оперирование кросс–чейновыми данными одной или нескольких сетей блокчейна, отличных от сети целевого блокчейна, причем запрос на оперирование кросс–чейновыми данными включает в себя логики вычисления смарт–контракта для оперирования кросс–чейновыми данными; передатчик или блок 620 передачи, сконфигурированный, чтобы отправлять запрос на оперирование кросс–чейновыми данными провайдеру услуги смарт–контракта, содержащему доверенную среду исполнения вычисления (TEE), причем провайдер услуги смарт–контракта находится вне сети целевого блокчейна; и приемник или блок 630 приема, сконфигурированный, чтобы принимать результат от провайдера услуги смарт–контракта, причем результат генерируется посредством TEE с использованием кросс–чейновых данных, полученных провайдером услуги смарт–контракта.
[00124] В необязательной реализации устройство 600 дополнительно включает в себя следующее: первый под–блок передачи, сконфигурированный, чтобы отправлять принятый результат в сеть целевого блокчейна.
[00125] В необязательной реализации перед отправкой запроса на оперирование кросс–чейновыми данными провайдеру услуги смарт–контракта, устройство 600 дополнительно включает в себя следующее: под–блок верификации, сконфигурированный, чтобы верифицировать, что TEE включает в себя виртуальную машину, выполненную с возможностью, чтобы исполнять логики вычисления смарт–контракта в запросе на оперирование кросс–чейновыми данными.
[00126] В необязательной реализации устройство 600 дополнительно включает в себя следующее: под–блок разработки, сконфигурированную, чтобы разрабатывать логики вычисления смарт–контракта для оперирования кросс–чейновыми данными.
[00127] В необязательной реализации, клиент включает в себя комплект разработки программного обеспечения (SDK).
[00128] В необязательной реализации результат подписывается посредством TEE с использованием закрытого ключа, устройство 600 дополнительно включает в себя следующее: под–блок дешифрования, сконфигурированный, чтобы дешифровывать принятый результат с использованием открытого ключа, соответствующего закрытому ключу.
[00129] В необязательной реализации перед отправкой запроса на оперирование кросс–чейновыми данными провайдеру услуги смарт–контракта, устройство 600 дополнительно включает в себя следующее: блок шифрования, сконфигурированный, чтобы зашифровывать запрос на оперирование кросс–чейновыми данными.
[00130] В необязательной реализации кросс–чейновые данные получают из двух или более сетей блокчейна.
[00131] Система, устройство, модуль или блок, проиллюстрированные в предыдущих реализациях, могут быть реализованы с использованием компьютерного чипа или объекта или могут быть реализованы с использованием продукта, имеющего определенную функцию. Обычное устройство реализации представляет собой компьютер, и компьютер может представлять собой персональный компьютер, ноутбук, сотовый телефон, камерофон, смартфон, персональный цифровой ассистент, медиа–плеер, устройство навигации, устройство приема и отправки электронной почты, игровую консоль, планшетный компьютер, носимое устройство или любую комбинацию этих устройств.
[00132] Для процесса реализации функций и ролей каждого блока в устройстве, можно сослаться на процесс реализации соответствующих этапов в вышеописанном способе. Подробности опущены здесь для простоты.
[00133] Поскольку реализация устройства в основном соответствует реализации способа, для связанных частей можно ссылаться на связанные описания в реализации способа. Ранее описанная реализация устройства представляет собой только пример. Блоки, описанные как отдельные части, могут или не могут быть физически отделены, и части, отображаемые как блоки, могут или не могут представлять собой физические блоки, могут быть расположены в одном местоположении или могут быть распределены по ряду сетевых блоков. Некоторые или все из модулей могут быть выбраны на основе действительных требований для достижений целей решений описания. Специалист в данной области техники может понять и реализовать реализации настоящей заявки без приложения творческих усилий.
[00134] Фиг. 5 представляет собой схематичную диаграмму, иллюстрирующую внутренний функциональный модуль и структуру устройства операции кросс–чейновых данных. Устройство операции кросс–чейновых данных может представлять собой пример провайдера услуги смарт–контракта, содержащего доверенную среду исполнения вычисления (TEE). Исполнительным объектом по существу может быть электронное устройство, и электронное устройство включает в себя следующее: один или несколько процессоров; и память, сконфигурированную, чтобы хранить исполняемую инструкцию одного или нескольких процессоров.
[00135] Один или несколько процессоров сконфигурированы, чтобы принимать от клиента, ассоциированного с сетью целевого блокчейна, запрос на оперирование кросс–чейновыми данными одной или нескольких сетей блокчейна, отличных от сети целевого блокчейна, причем провайдер услуги смарт–контракта находится вне сети целевого блокчейна; отправлять провайдеру услуги посещения данных запрос на кросс–чейновые данные; принимать кросс–чейновые данные от провайдера услуги посещения данных; генерировать, посредством TEE, результат с использованием кросс–чейновых данных; и возвращать результат клиенту.
[00136] Необязательно, запрос на оперирование кросс–чейновыми данными включает в себя логики вычисления смарт–контракта для оперирования кросс–чейновыми данными.
[00137] Необязательно, логики вычисления смарт–контракта для оперирования кросс–чейновыми данными самостоятельно разрабатываются клиентом.
[00138] Необязательно, результат генерируется посредством TEE, исполняющей логики вычисления смарт–контракта с использованием кросс–чейновых данных.
[00139] Необязательно, один или несколько процессоров сконфигурированы, чтобы удостоверять клиенту, что TEE включает в себя виртуальную машину, применяемую, чтобы исполнять логики вычисления смарт–контракта в запросе на оперирование с кросс–чейновыми данными.
[00140] Необязательно, перед приемом запроса на оперирование кросс–чейновыми данными от клиента, один или несколько процессоров сконфигурированы, чтобы удостоверять клиенту, что провайдер услуги смарт–контракта включает в себя TEE.
[00141] Необязательно, один или несколько процессоров сконфигурированы, чтобы удостоверять провайдеру услуги посещения данных, что провайдер услуги смарт–контракта включает в себя TEE; и верифицировать, что провайдер услуги посещения данных включает в себя TEE.
[00142] Необязательно, один или несколько процессоров сконфигурированы, чтобы выгружать результат в сеть целевого блокчейна.
[00143] Необязательно, перед выгрузкой результата в сеть целевого блокчейна, один или несколько процессоров сконфигурированы, чтобы удостоверять сети целевого блокчейна, что провайдер услуги смарт–контракта включает в себя TEE.
[00144] Необязательно, провайдер услуги смарт–контракта включает в себя облачный сервер.
[00145] Необязательно, результат подписывается посредством TEE с использованием закрытого ключа.
[00146] Необязательно, кросс–чейновые данные получают из двух или более сетей блокчейна.
[00147] Фиг. 6 представляет собой схематичную диаграмму, иллюстрирующую внутренний функциональный модуль и структуру другого устройства операции кросс–чейновых данных. Другое устройство операции кросс–чейновых данных может представлять собой пример клиента, ассоциированного с сетью целевого блокчейна. Исполнительным объектом по существу может быть электронное устройство, и электронное устройство включает в себя следующее: один или несколько процессоров; и память, сконфигурированную, чтобы хранить исполняемую инструкцию одного или нескольких процессоров.
[00148] Один или несколько процессоров сконфигурированы, чтобы генерировать запрос на оперирование кросс–чейновыми данными одной или нескольких сетей блокчейна, отличных от сети целевого блокчейна, причем запрос на оперирование кросс–чейновыми данными включает в себя логики вычисления смарт–контракта для оперирования кросс–чейновыми данными; отправлять запрос на оперирование кросс–чейновыми данными провайдеру услуги смарт–контракта, содержащему доверенную среду исполнения вычисления (TEE), причем провайдер услуги смарт–контракта находится вне сети целевого блокчейна; и принимать результат от провайдера услуги смарт–контракта, причем результат генерируется посредством TEE с использованием кросс–чейновых данных, полученных провайдером услуги смарт–контракта.
[00149] Необязательно, один или несколько процессоров сконфигурированы, чтобы отправлять принятый результат на сеть целевого блокчейна.
[00150] Необязательно, перед отправкой запроса на оперирование кросс–чейновыми данными провайдеру услуги смарт–контракта, один или несколько процессоров сконфигурированы, чтобы верифицировать, что провайдер услуги смарт–контракта включает в себя TEE.
[00151] Необязательно, один или несколько процессоров сконфигурированы, чтобы верифицировать, что TEE включает в себя виртуальную машину, выполненную с возможностью, чтобы исполнять логики вычисления смарт–контракта в запросе на оперирование кросс–чейновыми данными.
[00152] Необязательно, клиент включает в себя комплект разработки программного обеспечения (SDK).
[00153] Необязательно, результат подписывается посредством TEE с использованием закрытого ключа. Один или несколько процессоров сконфигурированы, чтобы дешифровать принятый результат с использованием открытого ключа, соответствующего закрытому ключу.
[00154] Необязательно, перед отправкой запроса на оперирование кросс–чейновыми данными провайдеру услуги смарт–контракта, один или несколько процессоров сконфигурированы, чтобы зашифровывать запрос на оперирование кросс–чейновыми данными.
[00155] Необязательно, кросс–чейновые данные получают из двух или более сетей блокчейна.
[00156] Реализации предмета и действия и операции, описанные в настоящей описания, могут быть реализованы в цифровой электронной схеме, в физически воплощенном компьютерном программном обеспечении или прошивке, в компьютерных аппаратных средствах, включая структуры, раскрытые в настоящей описания, и их структурные эквиваленты, или в комбинациях одного или нескольких из них. Реализации предмета, описанные в настоящей описания, могут быть реализованы как одна или несколько компьютерных программ, например, один или несколько модулей компьютерных программных инструкций, закодированных на носителе компьютерной программы, для исполнения посредством устройства обработки данных или управления его работой. Носитель может представлять собой физический не–временный компьютерный носитель хранения. Альтернативно или дополнительно, носитель может представлять собой искусственно сгенерированный распространяющийся сигнал, например, генерируемый машиной электрический, оптический или электромагнитный сигнал, который генерируется, чтобы кодировать информацию для передачи на подходящее устройство приемника для исполнения устройством обработки данных. Компьютерный носитель хранения может представлять собой или быть частью считываемого машиной устройства хранения, считываемой машиной субстрата хранения, устройства памяти произвольного или последовательного доступа или комбинации одного или нескольких из них. Компьютерный носитель хранения не является распространяющимся сигналом.
[00157] Термин “устройство обработки данных” охватывает все виды устройств, приборов и машин для обработки данных, включая в качестве примера программируемый процессор, компьютер или множество процессоров или компьютеров. Устройство обработки данных может включать в себя специализированную логическую схему, например, FPGA (программируемую вентильную матрицу), ASIC (специализированную интегральную схему) или GPU (графический процессор). Устройство может также включать в себя, в дополнение к аппаратным средствам, код, который создает среду исполнения для компьютерных программ, например, код, который составляет прошивку процессора, стек протоколов, систему администрирования базы данных, операционную систему или комбинацию одного или нескольких из них.
[00158] Компьютерная программа, которая может также упоминаться или описываться как программа, программное обеспечение, приложение программного обеспечения, приложение, модуль, модуль программного обеспечения, механизм, скрипт или код, может быть написана на языке программирования любой формы, включая компилированные или интерпретируемые языки или декларативные или процедурные языки; и она может быть развернута в любой форме, включая отдельную программу или модуль, компонент, механизм, подпрограмму или другой блок, подходящий для исполнения в вычислительной среде, причем среда может включать в себя один или несколько компьютеров, взаимно соединенных посредством сети передачи данных в одном или нескольких местоположениях.
[00159] Компьютерная программа может, но не обязательно, соответствовать файлу в файловой системе. Компьютерная программа может храниться в части файла, который хранит другие программы или данные, например, один или несколько скриптов, сохраненных в документе на языке разметки, в одном файле, выделенном для рассматриваемой программы, или во множестве координированных файлов, например, файлов, которые хранят один или несколько модулей, подпрограмм или частей кода.
[00160] Процессы и логические последовательности, описанные в настоящем описании, могут выполняться одним или несколькими компьютерами, исполняющими одну или несколько компьютерных программ для выполнения операций путем оперирования данными ввода и генерирования выходных данных. Процессы и логические последовательности могут также выполняться специализированной логической схемой, например, FPGA, ASIC или GPU или комбинацией специализированной логической схемы и одного или нескольких запрограммированных компьютеров.
[00161] Компьютеры, подходящие для исполнения компьютерной программы, могут быть основаны на универсальных или специализированных микропроцессорах или их обоих или любом другом виде центрального процессора. В общем центральный процессор будет принимать инструкции и данные из постоянной памяти или памяти с произвольным доступом или их обеих. Элементы компьютера могут включать в себя центральный процессор для исполнения инструкций и одно или несколько устройств памяти для хранения инструкций и данных. Центральный процессор и память могут быть дополняться специализированной логической схемой или встраиваться в нее.
[00162] В общем, компьютер будет подсоединен к по меньшей мере одному не–временному считываемому компьютером носителю хранения (также называемым считываемой компьютером памятью). Носитель хранения, подсоединенный к компьютеру, может представлять собой внутренний компонент компьютера (например, встроенный накопитель на жестком диске) или внешний компонент (например, накопитель на жестком диске универсальной последовательной шины (USB) или систему хранения, доступную по сети). Примеры носителей хранения могут включать в себя, например, магнитные, магнитно–оптические или оптические диски, твердотельные накопители, ресурсы сетевого хранения, такие как облачные системы хранения, или другие типы носителей хранения. Однако компьютеру не требуется иметь такие устройства. Более того, компьютер может быть встроен в другое устройство, например, мобильный телефон, персональный цифровой ассистент (PDA), мобильный аудио– или видео–плеер, игровую консоль, приемник глобальной системы позиционирования (GPS) или портативное устройство хранения, например, флэш–накопитель универсальной последовательной шины (USB), в качестве лишь некоторых примеров.
[00163] Чтобы обеспечить взаимодействие с пользователем, реализации сущности изобретения, описанного в настоящем описании, могут быть осуществлены или сконфигурированы, чтобы осуществлять связь с компьютером, имеющим устройство отображения, например монитор на LCD (жидкокристаллическом дисплее) для отображения информации пользователю, и устройство ввода, при помощи которого пользователь может обеспечивать ввод в компьютер, например клавиатуру или указательное устройство, например мышь, трекбол или панель касания. Другие виды устройств также могут использоваться, чтобы обеспечивать взаимодействие с пользователем; например, обратная связь, обеспечиваемая пользователю, может представлять собой любую форму воспринимаемой обратной связи, например, визуальную обратную связь, прослушиваемую обратную связь или тактильную обратную связь; и ввод от пользователя может приниматься в любой форме, включая акустический, речевой или тактильный ввод. Кроме того, компьютер может взаимодействовать с пользователем путем отправки документов на и приема документов от устройства, которое используется пользователем; например, путем отправки веб–страниц на веб–браузер на устройстве пользователя в ответ на запросы, принятые от веб–браузера, или путем взаимодействия с приложением, работающим на устройстве пользователя, например смартфоне или электронном планшете. Также, компьютер может взаимодействовать с пользователем путем отправки текстовых сообщений или других видов сообщения на персональное устройство, например, смартфон, который запускает приложение обмена сообщениями, и приема ответных сообщений от пользователя.
[00164] Настоящее описание использует термин “сконфигурированный, чтобы” в связи с системами, устройством и компонентами компьютерной программы. Для системы из одного или нескольких компьютеров, быть сконфигурированным, чтобы выполнять конкретные операции или действия, означает, что система имеет установленное на ней программное обеспечение, прошивку, аппаратные средства или комбинацию из них, которые при работе побуждают систему выполнять операции или действия. Для одной или нескольких компьютерных программ, быть сконфигурированной, чтобы выполнять конкретные операции или действия, означает, что одна или несколько программ включают в себя инструкции, которые, при исполнении устройством обработки данных, побуждают устройство выполнять операции или действия. Для специализированной логической схемы быть сконфигурированной, чтобы выполнять конкретные операции или действия, означает, что схема имеет электронную логику, которая выполняет операции или действия.
[00165] Хотя настоящее описание содержит множество конкретных подробностей реализации, они должны пониматься не как ограничения объема того, что заявлено, что определяется самой формулой изобретения, а как описания признаков, которые могут быть специфическими для конкретных реализаций. Некоторые признаки, которые описаны в настоящем описании в контексте отдельных реализаций, могут также быть реализованы в комбинации в одной реализации. Напротив, различные признаки, которые описаны в контексте одной реализации, могут также быть реализованы во множестве реализаций отдельно или в любой подходящей подкомбинации. Более того, хотя признаки могут быть описаны выше как действующие в определенных комбинациях и даже первоначально могут быть заявлены как таковые, один или несколько признаков из заявленной комбинации могут в некоторых случаях быть исключены из комбинации, и пункт формулы изобретения может быть направлен на подкомбинацию или вариант подкомбинации.
[00166] Аналогично, хотя операции изображены на чертежах и приведены в пунктах формулы изобретения в конкретном порядке, это не должно пониматься как требование, что такие операции должны выполняться в конкретном показанном порядке или в последовательном порядке, или что все проиллюстрированные операции должны выполняться, чтобы достичь желательных результатов. При определенных условиях многозадачность и параллельная обработка могут быть предпочтительными. Более того, разделение на различные системные модули и компоненты в реализациях, описанных выше, не должно пониматься как требование такого разделения во всех реализациях, и следует понимать, что описанные программные компоненты и системы могут, в общем, быть интегрированы вместе в один программный продукт или скомпонованы в несколько программных продуктов.
[00167] Были описаны конкретные реализации заявленного предмета. Другие реализации находятся в пределах объема следующей формулы изобретения. Например, действия, перечисленные в формуле изобретения, могут выполняться в другом порядке и все еще достигать желательных результатов. В качестве одного примера, процессы, изображенные на приложенных чертежах, не обязательно требуют конкретного показанного порядка или последовательного порядка для достижения желательных результатов. В некоторых случаях, многозадачность и параллельная обработка могут быть предпочтительными.

Claims (125)

1. Реализуемый компьютером способ для обеспечения услуги смарт-контракта, содержащий:
прием, провайдером услуги смарт-контракта, содержащим доверенную среду исполнения вычисления (TEE), от клиента, ассоциированного с сетью целевого блокчейна, запроса на оперирование кросс-чейновыми данными одной или нескольких сетей блокчейна, отличных от сети целевого блокчейна, причем провайдер услуги смарт-контракта находится вне сети целевого блокчейна;
отправку, провайдером услуги смарт-контракта провайдеру услуги посещения данных, запроса на кросс-чейновые данные;
прием, провайдером услуги смарт-контракта, кросс-чейновых данных от провайдера услуги посещения данных;
генерирование, посредством TEE, результата с использованием кросс-чейновых данных; и
возвращение, провайдером услуги смарт-контракта, результата клиенту.
2. Реализуемый компьютером способ по п. 1, причем запрос на оперирование кросс-чейновыми данными содержит логики вычисления смарт-контракта для оперирования кросс-чейновыми данными.
3. Реализуемый компьютером способ по п. 2, причем логики вычисления смарт-контракта для оперирования кросс-чейновыми данными самостоятельно разрабатываются клиентом.
4. Реализуемый компьютером способ по п. 2, причем результат генерируется посредством TEE, исполняющей логики вычисления смарт-контракта с использованием кросс-чейновых данных.
5. Реализуемый компьютером способ по п. 2, дополнительно содержащий удостоверение, провайдером услуги смарт-контракта клиенту, что TEE содержит виртуальную машину, выполненную с возможностью исполнять логики вычисления смарт-контракта в запросе на оперирование кросс-чейновыми данными.
6. Реализуемый компьютером способ по п. 1, дополнительно содержащий:
перед приемом запроса на оперирование кросс-чейновыми данными от клиента, удостоверение, провайдером услуги смарт-контракта клиенту, что провайдер услуги смарт-контракта включает в себя TEE.
7. Реализуемый компьютером способ по п. 1, дополнительно содержащий:
удостоверение, провайдером услуги смарт-контракта провайдеру услуги посещения данных, что провайдер услуги смарт-контракта включает в себя TEE; и
верифицирование, провайдером услуги смарт-контракта, что провайдер услуги посещения данных включает в себя TEE.
8. Реализуемый компьютером способ по п. 1, дополнительно содержащий:
выгрузку, провайдером услуги смарт-контракта, результата в сеть целевого блокчейна.
9. Реализуемый компьютером способ по п. 8, дополнительно содержащий:
перед выгрузкой результата в сеть целевого блокчейна, удостоверение, провайдером услуги смарт-контракта для сети целевого блокчейна, что провайдер услуги смарт-контракта включает в себя TEE.
10. Реализуемый компьютером способ по п. 1, причем провайдер услуги смарт-контракта содержит облачный сервер.
11. Реализуемый компьютером способ по п. 1, причем результат подписывается посредством TEE с использованием закрытого ключа.
12. Реализуемый компьютером способ по п. 1, причем кросс-чейновые данные получают из двух или более сетей блокчейна.
13. Реализуемый компьютером способ для обеспечения услуги смарт-контракта, содержащий:
генерирование клиентом, ассоциированным с сетью целевого блокчейна, запроса на оперирование кросс-чейновыми данными одной или нескольких сетей блокчейна, отличных от сети целевого блокчейна, причем запрос на оперирование кросс-чейновыми данными содержит логики вычисления смарт-контракта для оперирования кросс-чейновыми данными;
отправку от клиента запроса на оперирование кросс-чейновыми данными провайдеру услуги смарт-контракта, содержащему доверенную среду исполнения вычисления (TEE), причем провайдер услуги смарт-контракта находится вне сети целевого блокчейна; и
прием клиентом результата от провайдера услуги смарт-контракта, причем результат генерируется посредством TEE с использованием кросс-чейновых данных, полученных провайдером услуги смарт-контракта.
14. Реализуемый компьютером способ по п. 13, дополнительно содержащий отправку, клиентом, принятого результата на сеть целевого блокчейна.
15. Реализуемый компьютером способ по п. 13, дополнительно содержащий:
перед отправкой запроса на оперирование кросс-чейновыми данными провайдеру услуги смарт-контракта, верифицирование, клиентом, что провайдер услуги смарт-контракта включает в себя TEE.
16. Реализуемый компьютером способ по п. 15, дополнительно содержащий:
верифицирование клиентом, что TEE содержит виртуальную машину, выполненную с возможностью исполнять логики вычисления смарт-контракта в запросе на оперирование кросс-чейновыми данными.
17. Реализуемый компьютером способ по п. 13, дополнительно содержащий:
разработку клиентом логик вычисления смарт-контракта для оперирования кросс-чейновыми данными.
18. Реализуемый компьютером способ по п. 13, причем клиент содержит комплект разработки программного обеспечения (SDK).
19. Реализуемый компьютером способ по п. 13, причем результат подписывается посредством TEE с использованием закрытого ключа, причем способ дополнительно содержит дешифрование клиентом принятого результата с использованием открытого ключа, соответствующего закрытому ключу.
20. Реализуемый компьютером способ по п. 13, дополнительно содержащий:
перед отправкой запроса на оперирование кросс-чейновыми данными провайдеру услуги смарт-контракта шифрование клиентом запроса на оперирование кросс-чейновыми данными.
21. Реализуемый компьютером способ по п. 13, причем кросс-чейновые данные получают из двух или более сетей блокчейна.
22. Не-временный считываемый компьютером носитель хранения, подсоединенный к одному или нескольким компьютерам и сконфигурированный с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
принимать провайдером услуги смарт-контракта, содержащим доверенную среду исполнения вычисления (TEE), от клиента, ассоциированного с сетью целевого блокчейна, запрос на оперирование кросс-чейновыми данными одной или нескольких сетей блокчейна, отличных от сети целевого блокчейна, причем провайдер услуги смарт-контракта находится вне сети целевого блокчейна;
отправлять, провайдером услуги смарт-контракта провайдеру услуги посещения данных, запрос на кросс-чейновые данные;
принимать, провайдером услуги смарт-контракта, кросс-чейновые данные от провайдера услуги посещения данных;
генерировать, посредством TEE, результат с использованием кросс-чейновых данных; и
возвращать, провайдером услуги смарт-контракта, результат клиенту.
23. Не-временный считываемый компьютером носитель хранения по п. 22, причем запрос на оперирование кросс-чейновыми данными содержит логики вычисления смарт-контракта для оперирования кросс-чейновыми данными.
24. Не-временный считываемый компьютером носитель хранения по п. 23, причем логики вычисления смарт-контракта для оперирования кросс-чейновыми данными самостоятельно разрабатываются клиентом.
25. Не-временный считываемый компьютером носитель хранения по п. 23, причем результат генерируется посредством TEE, исполняющей логики вычисления смарт-контракта с использованием кросс-чейновых данных.
26. Не-временный считываемый компьютером носитель хранения по п. 23, дополнительно сконфигурированный с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
удостоверять, провайдером услуги смарт-контракта клиенту, что TEE содержит виртуальную машину, выполненную с возможностью исполнять логики вычисления смарт-контракта в запросе на оперирование кросс-чейновыми данными.
27. Не-временный считываемый компьютером носитель хранения по п. 22, перед приемом запроса на оперирование кросс-чейновыми данными от клиента, дополнительно сконфигурированный с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
удостоверять, провайдером услуги смарт-контракта клиенту, что провайдер услуги смарт-контракта включает в себя TEE.
28. Не-временный считываемый компьютером носитель хранения по п. 22, дополнительно сконфигурированный с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
удостоверять, провайдером услуги смарт-контракта провайдеру услуги посещения данных, что провайдер услуги смарт-контракта включает в себя TEE; и
верифицировать, провайдером услуги смарт-контракта, что провайдер услуги посещения данных включает в себя TEE.
29. Не-временный считываемый компьютером носитель хранения по п. 22, дополнительно сконфигурированный с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
выгружать, провайдером услуги смарт-контракта, результат в сеть целевого блокчейна.
30. Не-временный считываемый компьютером носитель хранения по п. 29, перед выгрузкой результата в сеть целевого блокчейна, дополнительно сконфигурированный с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
удостоверять, провайдером услуги смарт-контракта для сети целевого блокчейна, что провайдер услуги смарт-контракта включает в себя TEE.
31. Не-временный считываемый компьютером носитель хранения по п. 22, причем провайдер услуги смарт-контракта содержит облачный сервер.
32. Не-временный считываемый компьютером носитель хранения по п. 22, причем результат подписывается посредством TEE с использованием закрытого ключа.
33. Не-временный считываемый компьютером носитель хранения по п. 22, причем кросс-чейновые данные получают из двух или более сетей блокчейна.
34. Не-временный считываемый компьютером носитель хранения, подсоединенный к одному или нескольким компьютерам и сконфигурированный с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
генерировать клиентом, ассоциированным с сетью целевого блокчейна, запрос на оперирование кросс-чейновыми данными одной или нескольких сетей блокчейна, отличных от сети целевого блокчейна, причем запрос на оперирование кросс-чейновыми данными содержит логики вычисления смарт-контракта для оперирования кросс-чейновыми данными;
отправлять от клиента запрос на оперирование кросс-чейновыми данными провайдеру услуги смарт-контракта, содержащему доверенную среду исполнения вычисления (TEE), причем провайдер услуги смарт-контракта находится вне сети целевого блокчейна; и
принимать клиентом результат от провайдера услуги смарт-контракта, причем результат генерируется посредством TEE с использованием кросс-чейновых данных, полученных провайдером услуги смарт-контракта.
35. Не-временный считываемый компьютером носитель хранения по п. 34, дополнительно сконфигурированный с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
отправлять клиентом принятый результат на сеть целевого блокчейна.
36. Не-временный считываемый компьютером носитель хранения по п. 35, дополнительно сконфигурированный с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
перед отправкой запроса на оперирование кросс-чейновыми данными провайдеру услуги смарт-контракта, верифицировать клиентом, что провайдер услуги смарт-контракта включает в себя TEE.
37. Не-временный считываемый компьютером носитель хранения по п. 34, дополнительно сконфигурированный с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
верифицировать клиентом, что TEE содержит виртуальную машину, выполненную с возможностью исполнять логики вычисления смарт-контракта в запросе на оперирование кросс-чейновыми данными.
38. Не-временный считываемый компьютером носитель хранения по п. 34, дополнительно сконфигурированный с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
разрабатывать клиентом логики вычисления смарт-контракта для оперирования кросс-чейновыми данными.
39. Не-временный считываемый компьютером носитель хранения по п. 34, причем клиент содержит комплект разработки программного обеспечения (SDK).
40. Не-временный считываемый компьютером носитель хранения по п. 34, причем результат подписывается посредством TEE с использованием закрытого ключа, дополнительно сконфигурированный с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
дешифровать клиентом принятый результат с использованием открытого ключа, соответствующего закрытому ключу.
41. Не-временный считываемый компьютером носитель хранения по п. 34, дополнительно сконфигурированный с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
перед отправкой запроса на оперирование кросс-чейновыми данными провайдеру услуги смарт-контракта, зашифровывать клиентом, запрос на оперирование кросс-чейновыми данными.
42. Не-временный считываемый компьютером носитель хранения по п. 34, причем кросс-чейновые данные получают из двух или более сетей блокчейна.
43. Система для обеспечения услуги смарт-контракта, содержащая:
интерфейс, сконфигурированный, чтобы принимать от клиента, ассоциированного с сетью целевого блокчейна, запрос на оперирование кросс-чейновыми данными одной или нескольких сетей блокчейна, отличных от сети целевого блокчейна; причем система находится вне сети целевого блокчейна; и
доверенную среду исполнения вычисления (TEE), причем TEE содержит:
один или несколько компьютеров; и
одну или несколько считываемых компьютером памятей, подсоединенных к одному или нескольким компьютерам и сконфигурированных с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
отправлять запрос на кросс-чейновые данные провайдеру услуги посещения данных;
принимать кросс-чейновые данные от провайдера услуги посещения данных; и
генерировать результат с использованием кросс-чейновых данных; и
причем интерфейс сконфигурирован, чтобы возвращать результат клиенту.
44. Система по п. 43, причем запрос на оперирование кросс-чейновыми данными содержит логики вычисления смарт-контракта для оперирования кросс-чейновыми данными.
45. Система по п. 44, причем логики вычисления смарт-контракта для оперирования кросс-чейновыми данными самостоятельно разрабатываются клиентом.
46. Система по п. 44, причем результат генерируется посредством TEE, исполняющей логики вычисления смарт-контракта с использованием кросс-чейновых данных.
47. Система по п. 44, причем считываемые компьютером памяти дополнительно сконфигурированы с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
удостоверять провайдером услуги смарт-контракта клиенту, что TEE содержит виртуальную машину, выполненную с возможностью исполнять логики вычисления смарт-контракта в запросе на оперирование кросс-чейновыми данными.
48. Система по п. 43, в которой перед приемом запроса на оперирование кросс-чейновыми данными от клиента, причем считываемые компьютером памяти дополнительно сконфигурированы с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
удостоверять провайдером услуги смарт-контракта клиенту, что провайдер услуги смарт-контракта включает в себя TEE.
49. Система по п. 43, причем считываемые компьютером памяти дополнительно сконфигурированы с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
удостоверять провайдером услуги смарт-контракта провайдеру услуги посещения данных, что провайдер услуги смарт-контракта включает в себя TEE; и
верифицировать провайдером услуги смарт-контракта, что провайдер услуги посещения данных включает в себя TEE.
50. Система по п. 43, причем считываемые компьютером памяти дополнительно сконфигурированы с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
выгружать, провайдером услуги смарт-контракта, результат в сеть целевого блокчейна.
51. Система по п. 50, перед выгрузкой результата в сеть целевого блокчейна, причем считываемые компьютером памяти дополнительно сконфигурированы с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
удостоверять провайдером услуги смарт-контракта для сети целевого блокчейна, что провайдер услуги смарт-контракта включает в себя TEE.
52. Система по п. 43, причем провайдер услуги смарт-контракта содержит облачный сервер.
53. Система по п. 43, причем результат подписывается посредством TEE с использованием закрытого ключа.
54. Система по п. 43, причем кросс-чейновые данные получают из двух или более сетей блокчейна.
55. Система для обеспечения услуги смарт-контракта, содержащая:
один или несколько компьютеров; и
одну или несколько считываемых компьютером памятей, подсоединенных к одному или нескольким компьютерам и сконфигурированных с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
генерировать клиентом, ассоциированным с сетью целевого блокчейна, запрос на оперирование кросс-чейновыми данными одной или нескольких сетей блокчейна, отличных от сети целевого блокчейна, причем запрос на оперирование кросс-чейновыми данными содержит логики вычисления смарт-контракта для оперирования кросс-чейновыми данными;
отправлять от клиента запрос на оперирование кросс-чейновыми данными провайдеру услуги смарт-контракта, содержащему доверенную среду исполнения вычисления (TEE), причем провайдер услуги смарт-контракта находится вне сети целевого блокчейна; и
принимать клиентом результат от провайдера услуги смарт-контракта, причем результат генерируется посредством TEE с использованием кросс-чейновых данных, полученных провайдером услуги смарт-контракта.
56. Система по п. 55, причем считываемые компьютером памяти дополнительно сконфигурированы с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
отправлять клиентом принятый результат на сеть целевого блокчейна.
57. Система по п. 56, причем считываемые компьютером памяти дополнительно сконфигурированы с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
перед отправкой запроса на оперирование кросс-чейновыми данными провайдеру услуги смарт-контракта, верифицировать, клиентом, что провайдер услуги смарт-контракта включает в себя TEE.
58. Система по п. 55, причем считываемые компьютером памяти дополнительно сконфигурированы с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
верифицировать клиентом, что TEE содержит виртуальную машину, выполненную с возможностью исполнять логики вычисления смарт-контракта в запросе на оперирование кросс-чейновыми данными.
59. Система по п. 55, причем считываемые компьютером памяти дополнительно сконфигурированы с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
разрабатывать клиентом логики вычисления смарт-контракта для оперирования кросс-чейновыми данными.
60. Система по п. 55, причем клиент содержит комплект разработки программного обеспечения (SDK).
61. Система по п. 55, причем результат подписывается посредством TEE с использованием закрытого ключа, при этом считываемые компьютером памяти дополнительно сконфигурированы с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
дешифровать клиентом принятый результат с использованием открытого ключа, соответствующего закрытому ключу.
62. Система по п. 55, причем считываемые компьютером памяти дополнительно сконфигурированы с инструкциями, исполняемыми одним или несколькими компьютерами, чтобы:
перед отправкой запроса на оперирование кросс-чейновыми данными провайдеру услуги смарт-контракта, зашифровывать клиентом запрос на оперирование кросс-чейновыми данными.
63.Система по п. 55, причем кросс-чейновые данные получают из двух или более сетей блокчейна.
RU2019123415A 2018-12-13 2018-12-13 Услуга смарт-контракта вне цепочки на основе доверенной среды исполнения RU2729700C1 (ru)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/120887 WO2019072297A2 (en) 2018-12-13 2018-12-13 INTELLIGENT CONTRACT SERVICE OUTSIDE CHAIN REGISTRY ("OFF-CHAIN") BASED ON A CONFIDENTIAL EXECUTION ENVIRONMENT

Publications (1)

Publication Number Publication Date
RU2729700C1 true RU2729700C1 (ru) 2020-08-11

Family

ID=66100022

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2019123415A RU2729700C1 (ru) 2018-12-13 2018-12-13 Услуга смарт-контракта вне цепочки на основе доверенной среды исполнения

Country Status (14)

Country Link
US (1) US20190279206A1 (ru)
EP (1) EP3563329B1 (ru)
JP (1) JP6892513B2 (ru)
KR (1) KR102212817B1 (ru)
CN (1) CN110520884B (ru)
AU (1) AU2018347199B2 (ru)
BR (1) BR112019014847A2 (ru)
CA (1) CA3049924C (ru)
MX (1) MX2019008597A (ru)
PH (1) PH12019501714A1 (ru)
RU (1) RU2729700C1 (ru)
SG (1) SG11201906754SA (ru)
WO (1) WO2019072297A2 (ru)
ZA (1) ZA201904934B (ru)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019147758A1 (en) 2018-01-24 2019-08-01 Sensoriant, Inc. System and method establishing a trust model for shared content on the internet
US10728020B2 (en) * 2018-01-24 2020-07-28 Sensoriant, Inc. Efficient mining operations in blockchain environments with non-secure devices
US10686601B2 (en) * 2018-01-24 2020-06-16 Sensoriant, Inc. Consistency and consensus management in decentralized and distributed systems
US10764052B2 (en) 2018-01-24 2020-09-01 Sensoriant, Inc. User identity and trust models in decentralized and distributed systems
US20210136068A1 (en) * 2018-05-05 2021-05-06 Telefonaktiebolaget Lm Ericsson (Publ) Telecom node control via blockchain
US11966917B2 (en) * 2018-09-12 2024-04-23 Bitclave Pte. Ltd. Systems and methods for providing personal rewards in a trustless ecosystem
US10841213B2 (en) * 2018-10-15 2020-11-17 Moac Blockchain Tech Inc Apparatus and method for communication between chains in a decentralized system
US11068316B2 (en) 2018-12-24 2021-07-20 LiquidApps Ltd Systems and method for managing memory resources used by smart contracts of a blockchain
US10725744B2 (en) * 2018-12-27 2020-07-28 Silver Rocket Data Technology (Shanghai) Co., Ltd Method for adapting to blockchain and device, terminal and medium performing the same
US11546348B2 (en) * 2018-12-27 2023-01-03 Silver Rocket Data Technology (Shanghai) Co., Ltd. Data service system
US11108559B2 (en) * 2019-01-02 2021-08-31 International Business Machines Corporation Producing proof of receipt, existence and other data provenance evidence
CA3058236C (en) 2019-03-27 2020-08-25 Alibaba Group Holding Limited Retrieving public data for blockchain networks using highly available trusted execution environments
EP3673617B1 (en) * 2019-03-27 2021-11-17 Advanced New Technologies Co., Ltd. Retrieving public data for blockchain networks using trusted execution environments
EP3910907B1 (en) 2019-03-29 2023-08-02 Advanced New Technologies Co., Ltd. Retrieving access data for blockchain networks using highly available trusted execution environments
CN113835910B (zh) * 2019-04-19 2024-08-13 创新先进技术有限公司 在区块链网络之间建立通信的方法和设备
WO2019137565A2 (en) * 2019-04-26 2019-07-18 Alibaba Group Holding Limited Distributed key management for trusted execution environments
JP2020528224A (ja) * 2019-04-26 2020-09-17 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 信頼できる実行環境におけるスマート契約動作のセキュアな実行
CN109922162B (zh) * 2019-04-26 2021-09-28 山东建筑大学 一种基于区块链的扁平化建筑设备物联网监控系统及方法
CN110166249B (zh) * 2019-05-14 2022-03-04 数字钱包(北京)科技有限公司 一种信息传输方法、装置、验证端及计算机可读存储介质
CN110245946B (zh) * 2019-05-20 2021-04-27 创新先进技术有限公司 结合代码标注与多类型维度的收据存储方法和节点
SG11202005059PA (en) * 2019-06-28 2020-06-29 Alibaba Group Holding Ltd System and method for updating data in blockchain
CN116541465A (zh) * 2019-06-28 2023-08-04 创新先进技术有限公司 基于区块链的数据处理方法和装置
CN110471984B (zh) 2019-07-15 2020-08-25 阿里巴巴集团控股有限公司 基于区块链的业务处理方法及装置、电子设备
US10937096B2 (en) 2019-07-15 2021-03-02 Advanced New Technologies Co., Ltd. Transaction processing in a service blockchain
CN110472974A (zh) * 2019-07-16 2019-11-19 阿里巴巴集团控股有限公司 基于区块链智能合约的资产转移方法、装置及系统
US11277260B2 (en) * 2019-09-17 2022-03-15 International Business Machines Corporation Off-chain notification of updates from a private blockchain
CN110648235A (zh) * 2019-09-23 2020-01-03 刘佳 一种基于可信计算环境tee的跨链资产转移方法
KR20210040569A (ko) * 2019-10-04 2021-04-14 삼성에스디에스 주식회사 블록체인 기반 데이터 관리 시스템 및 그 방법
CN110780945B (zh) * 2019-10-24 2023-09-08 杭州趣链科技有限公司 一种异构区块链可插拔的跨链桥接方法、设备和存储介质
CN113221169B (zh) * 2019-10-30 2023-01-20 支付宝(杭州)信息技术有限公司 区块链隐私数据的查询方法及装置
US11349637B2 (en) 2019-11-04 2022-05-31 International Business Machines Corporation Random node selection for permissioned blockchain
CN111373402B (zh) 2019-11-08 2022-03-25 支付宝(杭州)信息技术有限公司 轻量去中心化应用平台
SG11202010736YA (en) 2019-11-08 2020-11-27 Alipay Hangzhou Inf Tech Co Ltd System and method for blockchain-based decentralized application development
CN110580413B (zh) * 2019-11-08 2020-03-24 支付宝(杭州)信息技术有限公司 基于链下授权的隐私数据查询方法及装置
CN110888935A (zh) * 2019-11-12 2020-03-17 北京芯际科技有限公司 一种基于区块链的数据交易方法
WO2020180365A1 (en) * 2019-12-05 2020-09-10 Futurewei Technologies, Inc. System and method of establishing a trusted relationship in a distributed system
CN112989400B (zh) * 2019-12-13 2023-07-28 北京百度网讯科技有限公司 一种隐私事务处理方法、装置、电子设备和介质
JP7403306B2 (ja) * 2019-12-16 2023-12-22 株式会社日立製作所 サーバ、データ処理方法、計算機システム及び計算機
CN111160905B (zh) * 2019-12-17 2023-07-18 浙江大学 一种区块链节点用户请求处理保护方法及装置
CN111222160B (zh) * 2019-12-30 2022-07-29 联动优势科技有限公司 一种智能合约执行方法及系统
CN111163093A (zh) * 2019-12-30 2020-05-15 杭州趣链科技有限公司 联盟区块链中从外部数据源获取外部数据的方法和装置
EP3846062B1 (en) * 2020-01-06 2024-08-28 Tata Consultancy Services Limited Method and system for processing transactions in a blockchain network
CN113111389A (zh) * 2020-01-13 2021-07-13 梅特勒-托利多(常州)精密仪器有限公司 测量设备的信息管理方法及装置
CN111258725B (zh) * 2020-01-17 2023-07-25 北京百度网讯科技有限公司 一种基于区块链的数据处理方法、装置、设备和介质
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
CN111352706B (zh) * 2020-02-28 2023-09-15 百度在线网络技术(北京)有限公司 一种数据访问方法、装置、设备及存储介质
CN112199701B (zh) * 2020-03-18 2024-06-14 支付宝(杭州)信息技术有限公司 调用合约的方法及装置
CN112329041B (zh) * 2020-03-18 2024-01-23 支付宝(杭州)信息技术有限公司 部署合约的方法及装置
CN111047450A (zh) * 2020-03-18 2020-04-21 支付宝(杭州)信息技术有限公司 链上数据的链下隐私计算方法及装置
CN111988141B (zh) * 2020-03-18 2022-08-02 支付宝(杭州)信息技术有限公司 共享集群密钥的方法及装置
CN111092726B (zh) * 2020-03-18 2020-07-28 支付宝(杭州)信息技术有限公司 生成共享合约密钥的方法及装置
CN111092914B (zh) * 2020-03-18 2020-06-26 支付宝(杭州)信息技术有限公司 访问外部数据的方法及装置
CN111898153B (zh) * 2020-03-18 2024-05-03 支付宝(杭州)信息技术有限公司 调用合约的方法及装置
CN111090888B (zh) * 2020-03-18 2020-07-07 支付宝(杭州)信息技术有限公司 验证合约的方法及装置
CN111478948B (zh) * 2020-03-20 2023-02-17 深圳市芯链科技有限公司 区块链接入方法、物联网设备及存储介质
CN111460458B (zh) * 2020-03-31 2022-05-27 腾讯科技(深圳)有限公司 一种数据处理方法、相关装置及计算机可存储介质
CN111510918B (zh) * 2020-04-28 2022-08-02 拉扎斯网络科技(上海)有限公司 通信方法、系统、装置、电子设备和可读存储介质
CN111510462B (zh) * 2020-04-28 2022-07-08 拉扎斯网络科技(上海)有限公司 通信方法、系统、装置、电子设备和可读存储介质
CN111586149B (zh) * 2020-04-30 2022-11-11 中国银行股份有限公司 基于云和区块链的网络系统及其业务处理方法、装置
CN111666337B (zh) * 2020-05-19 2023-04-25 武汉理工大学 基于区块链技术的专利技术转化运营平台及交易方法
CN113438289B (zh) * 2020-07-08 2023-05-12 支付宝(杭州)信息技术有限公司 基于云计算的区块链数据处理方法及装置
CN111738859B (zh) * 2020-07-08 2021-07-13 支付宝(杭州)信息技术有限公司 区块链一体机及区块链网络
CN111770201B (zh) * 2020-08-31 2020-12-04 支付宝(杭州)信息技术有限公司 一种数据验证方法、装置及设备
CN111930846B (zh) * 2020-09-15 2021-02-23 支付宝(杭州)信息技术有限公司 一种数据处理方法、装置及设备
CN111935318B (zh) * 2020-09-28 2021-01-19 北京百度网讯科技有限公司 跨链数据验证方法、装置、设备及介质
JP7534620B2 (ja) * 2020-09-28 2024-08-15 富士通株式会社 通信プログラム、通信装置、及び通信方法
WO2022076352A1 (en) 2020-10-05 2022-04-14 Redcom Laboratories, Inc. zkMFA: ZERO-KNOWLEDGE BASED MULTI-FACTOR AUTHENTICATION SYSTEM
CN112583585B (zh) * 2020-12-09 2022-06-28 杭州复杂美科技有限公司 交易执行方法、设备和存储介质
CN112511355B (zh) * 2020-12-18 2022-02-08 四川大学 一种跨链智能合约合作可能性评估方法
WO2022154339A1 (ko) * 2021-01-13 2022-07-21 서울대학교산학협력단 클라우드 내 증명가능한 데이터 삭제를 위한 추적성 보장 장치 및 방법
CN112948433B (zh) * 2021-02-24 2024-06-04 北京金山云网络技术有限公司 一种跨区块链查询方法、装置、系统、设备及介质
CN113052697B (zh) * 2021-03-10 2023-08-01 从法信息科技有限公司 一种基于可信度的跨链任务执行方法、装置和电子设备
CN112948900A (zh) * 2021-03-31 2021-06-11 工银科技有限公司 应用于区块链系统的链下数据获取方法和装置
CN113159769B (zh) * 2021-04-21 2022-07-19 中国人民解放军国防科技大学 一种基于区块链的数据流通智能合约实现方法及系统
CN112989319B (zh) * 2021-05-12 2021-08-31 支付宝(杭州)信息技术有限公司 一种实现可信计算的方法、装置、电子设备及存储介质
CN112948153B (zh) * 2021-05-14 2021-08-10 支付宝(杭州)信息技术有限公司 一种消息跨链传输的方法和装置
CN113419776B (zh) * 2021-07-09 2022-09-13 杭州复杂美科技有限公司 应用兼容方法、计算机设备和存储介质
US11954226B2 (en) * 2021-08-17 2024-04-09 International Business Machines Corporation Verifiable privacy preserving computation
CN115796861B (zh) * 2021-09-08 2024-01-30 区块链新科技(广州)有限公司 一种区块链上跨链交易方法、系统、设备及存储介质
CN114095497B (zh) * 2021-09-30 2024-04-19 网络通信与安全紫金山实验室 面向云网场景的基于区块链的资源使用量证明方法和系统
CN114677137A (zh) * 2022-03-30 2022-06-28 网易(杭州)网络有限公司 区块链跨链方法、系统及装置、电子设备、存储介质
JP2023168952A (ja) * 2022-05-16 2023-11-29 株式会社日立製作所 データ管理システム及びデータ管理方法
LU503272B1 (en) * 2022-12-29 2024-07-01 Luxembourg Inst Science & Tech List Method for executing confidential smart contracts in a blockchain network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170352027A1 (en) * 2016-06-07 2017-12-07 Cornell University Authenticated data feed for blockchains
RU2639015C1 (ru) * 2017-01-26 2017-12-19 Игорь Сан-Сенович Дю Способ контроля подлинности и качества продукции в процессе производства и реализации
US20170372300A1 (en) * 2016-06-24 2017-12-28 PokitDok, Inc. System and method for cryptographically verified data driven contracts
CN108898390A (zh) * 2018-06-27 2018-11-27 阿里巴巴集团控股有限公司 基于区块链的智能合约调用方法及装置、电子设备

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516326B2 (en) * 2004-10-15 2009-04-07 Hewlett-Packard Development Company, L.P. Authentication system and method
US8095118B2 (en) * 2009-01-09 2012-01-10 Microsoft Corporation Address book remote access and extensibility
US9904544B2 (en) * 2015-06-08 2018-02-27 Ripple Luxembourg S.A. System and method for determining that results produced from executions of software have not been altered or falsified
US11436598B2 (en) * 2017-12-15 2022-09-06 Fmr Llc Social data tracking datastructures, apparatuses, methods and systems
US20190188700A1 (en) * 2017-12-15 2019-06-20 Fmr Llc Social Data Tracking Datastructures, Apparatuses, Methods and Systems
US10423567B2 (en) * 2016-02-01 2019-09-24 Qualcomm Incorporated Unidirectional clock signaling in a high-speed serial link
US20170344988A1 (en) * 2016-05-24 2017-11-30 Ubs Ag System and method for facilitating blockchain-based validation
WO2018006072A1 (en) * 2016-06-30 2018-01-04 Clause, Inc. Systems and method for forming, storing, managing,and executing contracts
US11227675B2 (en) * 2016-08-23 2022-01-18 BBM Health LLC Blockchain-based mechanisms for secure health information resource exchange
US20180089760A1 (en) * 2016-09-26 2018-03-29 Shapeshift Ag System and method of providing a multi-asset rebalancing mechanism
US10356102B2 (en) * 2017-02-24 2019-07-16 Verizon Patent And Licensing Inc. Permissions using blockchain
US11538031B2 (en) * 2017-03-31 2022-12-27 Vijay Madisetti Method and system for identity and access management for blockchain interoperability
US12026685B2 (en) * 2017-04-21 2024-07-02 Blockdaemon Inc. Method and apparatus for blockchain management
US10742393B2 (en) * 2017-04-25 2020-08-11 Microsoft Technology Licensing, Llc Confidentiality in a consortium blockchain network
US20180315141A1 (en) * 2017-04-26 2018-11-01 Clause, Inc. System and method for business intelligence through data-driven contract analysis
CN108805562A (zh) * 2017-04-27 2018-11-13 中思博安科技(北京)有限公司 智能合约的执行方法和系统
US11165589B2 (en) * 2017-05-11 2021-11-02 Shapeshift Ag Trusted agent blockchain oracle
US10833858B2 (en) * 2017-05-11 2020-11-10 Microsoft Technology Licensing, Llc Secure cryptlet tunnel
CN107231299A (zh) * 2017-06-07 2017-10-03 众安信息技术服务有限公司 一种链路由及实现区块链跨链通信的系统
CN107342858B (zh) * 2017-07-05 2019-09-10 武汉凤链科技有限公司 一种基于可信环境的智能合约保护方法和系统
US11030681B2 (en) * 2017-07-21 2021-06-08 International Business Machines Corporation Intermediate blockchain system for managing transactions
WO2019023286A1 (en) * 2017-07-24 2019-01-31 Martino William SYSTEMS, METHODS AND APPARATUS BASED ON BLOCK CHAIN TO SECURE ACCESS TO INFORMATION STORES
US11146380B2 (en) * 2017-08-03 2021-10-12 Parity Technologies Ltd. Methods and systems for a heterogeneous multi-chain framework
US10547594B2 (en) * 2017-08-17 2020-01-28 Domanicom Corporation Systems and methods for implementing data communication with security tokens
GB2566741A (en) * 2017-09-26 2019-03-27 Phm Associates Ltd Integrity of data records
US11244309B2 (en) * 2017-11-22 2022-02-08 Cornell University Real-time cryptocurrency exchange using trusted hardware
US20190172026A1 (en) * 2017-12-02 2019-06-06 Alchemy Limited LLC Cross blockchain secure transactions
CN108154366B (zh) * 2017-12-25 2021-09-14 丁江 跨链数字资产转移方法和终端设备
CN108256864B (zh) * 2018-02-13 2019-06-07 中链科技有限公司 一种区块链之间的跨链联盟的建立及通信方法、系统
CN108416577B (zh) * 2018-03-02 2021-03-05 上海汉得信息技术股份有限公司 一种区块链服务系统
CN108492108B (zh) * 2018-03-29 2021-04-23 深圳前海微众银行股份有限公司 区块链跨链通信方法、系统和计算机可读存储介质
CN108712257B (zh) * 2018-04-03 2020-04-17 阿里巴巴集团控股有限公司 跨区块链的认证方法及装置、电子设备
US11194837B2 (en) * 2018-05-01 2021-12-07 International Business Machines Corporation Blockchain implementing cross-chain transactions
CN108694669A (zh) * 2018-07-18 2018-10-23 矩阵元技术(深圳)有限公司 一种区块链智能合约实现方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170352027A1 (en) * 2016-06-07 2017-12-07 Cornell University Authenticated data feed for blockchains
US20170372300A1 (en) * 2016-06-24 2017-12-28 PokitDok, Inc. System and method for cryptographically verified data driven contracts
RU2639015C1 (ru) * 2017-01-26 2017-12-19 Игорь Сан-Сенович Дю Способ контроля подлинности и качества продукции в процессе производства и реализации
CN108898390A (zh) * 2018-06-27 2018-11-27 阿里巴巴集团控股有限公司 基于区块链的智能合约调用方法及装置、电子设备

Also Published As

Publication number Publication date
CA3049924C (en) 2021-04-20
PH12019501714A1 (en) 2020-03-09
WO2019072297A2 (en) 2019-04-18
EP3563329B1 (en) 2022-02-09
JP6892513B2 (ja) 2021-06-23
EP3563329A4 (en) 2019-12-11
CN110520884B (zh) 2023-09-29
AU2018347199B2 (en) 2021-07-01
EP3563329A2 (en) 2019-11-06
AU2018347199A1 (en) 2020-07-02
US20190279206A1 (en) 2019-09-12
CN110520884A (zh) 2019-11-29
ZA201904934B (en) 2021-05-26
SG11201906754SA (en) 2019-08-27
MX2019008597A (es) 2019-09-09
KR20200074910A (ko) 2020-06-25
CA3049924A1 (en) 2019-04-18
KR102212817B1 (ko) 2021-02-08
WO2019072297A3 (en) 2019-07-18
JP2020516104A (ja) 2020-05-28
BR112019014847A2 (pt) 2020-04-14

Similar Documents

Publication Publication Date Title
RU2729700C1 (ru) Услуга смарт-контракта вне цепочки на основе доверенной среды исполнения
CN111566649B (zh) 使用公有侧链验证存储在联盟区块链中的数据的完整性
CN111095256B (zh) 在可信执行环境中安全地执行智能合约操作
RU2731417C1 (ru) Параллельное выполнение транзакций в сети цепочек блоков на основе белых списков смарт-контрактов
US11405372B2 (en) Retrieving access data for blockchain networks using highly available trusted execution environments
CN110915164B (zh) 基于可信执行环境中执行的智能合约操作处理区块链数据
JP6869374B2 (ja) トラステッド実行環境のための分散型鍵管理
RU2744827C2 (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