BR112019014847A2 - método implementado em computador, meio de armazenamento legível por computador não transitório e sistema para fornecer serviço de contrato inteligente - Google Patents

método implementado em computador, meio de armazenamento legível por computador não transitório e sistema para fornecer serviço de contrato inteligente Download PDF

Info

Publication number
BR112019014847A2
BR112019014847A2 BR112019014847A BR112019014847A BR112019014847A2 BR 112019014847 A2 BR112019014847 A2 BR 112019014847A2 BR 112019014847 A BR112019014847 A BR 112019014847A BR 112019014847 A BR112019014847 A BR 112019014847A BR 112019014847 A2 BR112019014847 A2 BR 112019014847A2
Authority
BR
Brazil
Prior art keywords
smart contract
service provider
cross
tee
computer
Prior art date
Application number
BR112019014847A
Other languages
English (en)
Inventor
Zhao Boran
Qiu Honglin
Lin Li
Song Xuyang
Yan Ying
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of BR112019014847A2 publication Critical patent/BR112019014847A2/pt

Links

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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • 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

implementações do relatório descritivo incluem receber, por um provedor de serviço de contrato inteligente incluindo um ambiente de execução de computação confiável (tee) de um cliente associado a uma rede blockchain alvo, uma solicitação para operar dados cross-chain de uma ou mais redes blockchain diferentes da blockchain alvo, em que o provedor de serviço de contrato inteligente está fora da rede blockchain; enviar, pelo provedor de serviço de contrato inteligente para um provedor de serviço de visitação de dados, um pedido para os dados cross-chain; receber, pelo provedor de serviço de contrato inteligente, os dados cross-chain a partir do provedor de serviço de visitação de dados; gerar, pelo tee, um resultado usando os dados cross-chain; e retornar, pelo provedor de serviço de contrato inteligente, o resultado para o cliente.

Description

“MÉTODO IMPLEMENTADO EM COMPUTADOR, MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO E SISTEMA PARA FORNECER SERVIÇO DE CONTRATO INTELIGENTE” Antecedentes da Invenção [0001] Sistemas de livro-razão distribuídos (distributed ledger systems) (DLSs), que também podem ser citados como redes de consenso e/ou redes de cadeia de blocos (blockchain), permitem que entidades participantes armazenem dados de forma segura e imutável. Os DLSs são comumente citados como redes blockchain sem referenciar qualquer caso de usuário específico. Exemplos de tipos de redes blockchain podem incluir redes blockchain públicas, redes blockchain privadas e redes blockchain de consórcios. Uma rede blockchain pública é aberta para todas as entidades usarem o DLS e participarem do processo de consenso. Uma rede blockchain é fornecida para uma entidade específica, que controla centralmente as permissões de leitura e gravação. Uma rede blockchain de consórcio é fornecida para um seleto grupo de entidades, que controla o processo de consenso e inclui uma camada de controle de acesso.
[0002] Blockchain é uma tecnologia de armazenamento de dados distribuídos descentralizada e à prova de violação. Os dados de usuário e contratos são operados e armazenados logicamente na cadeia de uma maneira pública. Em muitos cenários, os usuários precisam atender aos requisitos de proteção de privacidade e não querem que seus dados e lógicas sejam divulgados a partes não autorizadas.
[0003] Embora possa ser usada a criptografia para melhorar a proteção de privacidade para alguns projetos de cenários específicos, é desejável uma solução mais versátil e eficiente para resolver questões de privacidade existentes das operações blockchain.
Descrição Resumida da Invenção [0004] Implementações do relatório descritivo incluem métodos
Petição 870190068195, de 18/07/2019, pág. 65/135
2/50 implementados em computador para um serviço de contrato inteligente off-chain (fora da cadeia) com base em tecnologias de blockchain (cadeia de blocos) (citado como um serviço de contrato inteligente off-chain blockchain (fora da cadeia da cadeia de blocos) ou, simplesmente, um serviço de contrato inteligente). Mais particularmente, as implementações do relatório descritivo são direcionadas para fornecer um serviço de contrato inteligente off-chain capaz de operar dados cross-chain em um ambiente de execução confiável (TEE).
[0005] Em algumas implementações, as ações incluem receber, por um provedor de serviço de contrato inteligente incluindo um ambiente de execução de computação confiável (TEE) de um cliente associado a uma rede blockchain alvo, uma solicitação para operar dados cross-chain de uma ou mais redes blockchain diferentes da rede blockchain alvo, e o provedor de serviço de contrato inteligente está fora da rede blockchain; enviar, pelo provedor de serviço de contrato inteligente para um provedor de serviço de visitação de dados, um pedido para os dados cross-chain; receber, pelo provedor de serviço de contrato inteligente, os dados cross-chain a partir do provedor de serviço de visitação de dados; gerar, pelo TEE, um resultado usando os dados cross-chain; e retornar, pelo provedor de serviço de contrato inteligente, o resultado para o cliente. Outras implementações incluem sistemas correspondentes, aparelhos e programas de computador, configurados para realizar as ações dos métodos, codificados nos dispositivos de armazenamento de computador.
[0006] Em algumas implementações, um meio de armazenamento legível por computador não transitório é acoplado a um ou mais computadores e configurado com instruções executáveis por um ou mais computadores para: receber, por um provedor de serviço de contrato inteligente (smart contract) que compreende um ambiente de execução de computação confiável (TEE) de um cliente associado a uma rede blockchain alvo, uma solicitação para operar dados cross-chain de uma ou mais redes de cadeia de blocos diferentes da rede de
Petição 870190068195, de 18/07/2019, pág. 66/135
3/50 cadeia de blocos alvo, em que o provedor de serviço de contrato inteligente está fora da rede de cadeia de blocos; enviar, pelo provedor de serviço de contrato inteligente para um provedor de serviço de visitação de dados, um pedido para os dados cross-chain: receber, pelo provedor de serviço de contrato inteligente, os dados cross-chain a partir do provedor de serviço de visitação de dados; gerar, pelo TEE, um resultado usando os dados cross-chain: e retornar, pelo provedor de serviço de contrato inteligente, o resultado para o cliente.
[0007] Em algumas implementações, um sistema para fornecer serviço de contrato inteligente inclui uma interface configurada para receber, a partir de um cliente associado a uma rede blockchain alvo, uma solicitação para operar dados cross-chain de uma ou mais redes blockchain diferentes da rede blockchain alvo; em que o sistema é desligado da rede blockchain alvo; e um ambiente de execução de computação confiável (TEE), em que o TEE inclui um ou mais computadores; e uma ou mais memórias legíveis por computador acopladas a um ou mais computadores e configuradas com instruções executáveis por um ou mais computadores para: enviar uma solicitação para os dados cross-chain para um dado que visita um provedor de serviços; receber os dados cross-chain a partir dos dados que visitam o provedor de serviços; e gerar um resultado usando os dados cross-chain: e em que a interface é configurada para retornar o resultado para o cliente.
[0008] Estas e outras implementações podem incluir, cada uma, opcionalmente, uma ou mais das seguintes características:
[0009] Uma primeira característica, combinável com qualquer das seguintes características, em que a solicitação para operar dados cross-chain inclui lógicas computacionais de contrato inteligente para operar os dados crosschain.
[0010] Uma segunda característica, combinável com qualquer uma das seguintes características, em que as lógicas computacionais de
Petição 870190068195, de 18/07/2019, pág. 67/135
4/50 contrato inteligente para operar os dados cross-chain são autoprojetadas pelo cliente.
[0011] Uma terceira característica, combinável com qualquer uma das seguintes características, em que o resultado é gerado pelo TEE que executa as lógicas computacionais de contrato inteligente usando os dados cross-chain.
[0012] Uma quarta característica, combinável com qualquer uma das seguintes características, ainda inclui provar, pelo provedor de serviço de contrato inteligente para o cliente, que o TEE inclui uma máquina virtual operável para executar as lógicas computacionais de contrato inteligente na solicitação para operar dados cross-chain.
[0013] Uma quinta característica, combinável com qualquer uma das seguintes características, ainda inclui antes de receber uma solicitação para operar dados cross-chain a partir do cliente, provar, pelo provedor de serviço de contrato inteligente para o cliente, que o provedor de serviço de contrato inteligente inclui o TEE.
[0014] Uma sexta característica, combinável com qualquer uma das seguintes características, ainda inclui provar, pelo provedor de serviço de contrato inteligente para provedor de serviço que visita os dados, que o provedor de serviço de contrato inteligente inclui o TEE; e verificar, pelo provedor de serviço de contrato inteligente, que o provedor de serviços que visita os dados inclui um TEE.
[0015] Uma sétima característica, combinável com qualquer uma das seguintes características, ainda inclui carregar (uploading), pelo provedor de serviço de contrato inteligente, o resultado para a rede blockchain alvo.
[0016] Uma oitava característica, combinável com qualquer uma das seguintes características, ainda inclui carregar (uploading) o resultado para a rede blockchain alvo, provando, pelo provedor de serviço de contrato
Petição 870190068195, de 18/07/2019, pág. 68/135
5/50 inteligente para a rede blockchain alvo, que o provedor de serviço de contrato inteligente inclui o TEE.
[0017] Uma nona característica, combinável com qualquer uma das seguintes características, em que o provedor de serviço de contrato inteligente inclui um servidor baseado em nuvem.
[0018] Uma décima característica, combinável com qualquer uma das seguintes características, na qual o resultado é assinado pelo TEE usando uma chave privada.
[0019] Uma décima primeira característica, combinável com qualquer uma das seguintes características, em que os dados cross-chain são obtidos a partir de duas ou mais redes blockchain.
[0020] Em algumas implementações, as ações incluem gerar, por um cliente associado a uma rede blockchain alvo, uma solicitação para operar dados cross-chain de uma ou mais redes blockchain diferentes da rede blockchain alvo, em que a solicitação para operar dados cross-chain inclui lógicas computacionais de contrato inteligente para operar os dados cross-chain; enviar, a partir do cliente, a solicitação para operar dados cross-chain para o provedor de serviço de contrato inteligente incluindo um ambiente de execução de computação confiável (TEE), em que o provedor de serviço de contrato inteligente está desligado da rede blockchain alvo; e receber, pelo cliente, um resultado a partir do provedor de serviço de contrato inteligente, em que o resultado é gerado pelo TEE usando os dados cross-chain obtidos pelo provedor de serviço de contrato inteligente. Outras implementações incluem sistemas correspondentes, aparelhos e programas de computador, configurados para realizar as ações dos métodos, codificados nos dispositivos de armazenamento de computador.
[0021] Em algumas implementações, um meio de armazenamento legível por computador não transitório é acoplado a um ou mais computadores e
Petição 870190068195, de 18/07/2019, pág. 69/135
6/50 configurados com instruções executáveis por um ou mais computadores para gerar, por um cliente associado a uma rede blockchain alvo, uma solicitação para operar dados cross-chain de uma ou mais redes blockchain diferentes da rede blockchain alvo, em que a solicitação para operar dados cross-chain inclui lógicas computacionais de contrato inteligente para operar os dados cross-chain; enviar, a partir do cliente, a solicitação para operar dados cross-chain para o provedor de serviço de contrato inteligente que compreende um ambiente de execução de computação confiável (TEE), em que o provedor de serviço de contrato inteligente está desligado da rede blockchain alvo; e receber, pelo cliente, um resultado a partir do provedor de serviço de contrato inteligente, em que o resultado é gerado pelo TEE usando os dados cross-chain obtidos pelo provedor de serviço de contrato inteligente.
[0022] Em algumas implementações, um sistema inclui um ou mais computadores; e uma ou mais memórias legíveis por computador acopladas a um ou mais computadores e configuradas com instruções executáveis por um ou mais computadores para: gerar, por um cliente associado a uma rede blockchain alvo, uma solicitação para operar dados cross-chain de uma ou mais redes blockchain diferentes da rede blockchain alvo, em que a solicitação para operar dados cross-chain inclui lógicas computacionais de contrato inteligente para operar os dados cross-chain; enviar, a partir do cliente, a solicitação para operar dados cross-chain para o provedor de serviço de contrato inteligente que compreende um ambiente de execução de computação confiável (TEE), em que o provedor de serviço de contrato inteligente está desligado da rede blockchain alvo; e receber, pelo cliente, um resultado a partir do provedor de serviço de contrato inteligente, em que o resultado é gerado pelo TEE usando os dados cross-chain obtidos pelo provedor de serviço de contrato inteligente.
[0023] Estas e outras implementações podem incluir, cada uma,
Petição 870190068195, de 18/07/2019, pág. 70/135
7/50 opcionalmente, uma ou mais das seguintes características:
[0024] Uma primeira característica, combinável com qualquer uma das seguintes características, ainda inclui enviar, pelo cliente, o resultado recebido para a rede blockchain alvo.
[0025] Uma segunda característica, combinável com qualquer uma das seguintes características, ainda inclui, antes de enviar a solicitação para operar dados cross-chain para o provedor de serviço de contrato inteligente, verificar, pelo cliente, que o provedor de serviço de contrato inteligente inclui o TEE.
[0026] Uma terceira característica, combinável com qualquer uma das seguintes características, ainda inclui verificar, pelo cliente, que o TEE inclui uma máquina virtual operável para executar as lógicas computacionais de contrato inteligente na solicitação para operar os dados cross-chain.
[0027] Uma quarta característica, combinável com qualquer uma das seguintes características, ainda inclui projetar, pelo cliente, as lógicas computacionais de contrato inteligente para operar os dados cross-chain.
[0028] Uma quinta característica, combinável com qualquer uma das seguintes características, em que o cliente inclui um kit de desenvolvimento de software (SDK).
[0029] Uma sexta característica, combinável com qualquer uma das seguintes características, em que o resultado é assinado pelo TEE com o uso de uma chave privada, o método incluindo ainda descriptografar, pelo cliente, o resultado recebido com o uso de uma chave pública correspondente à chave privada.
[0030] Uma sétima característica, combinável com qualquer uma das seguintes características, ainda inclui, antes de enviar a solicitação para operar dados cross-chain para o provedor de serviço de contrato inteligente, criptografar, pelo cliente, a solicitação para operar dados cross-chain.
Petição 870190068195, de 18/07/2019, pág. 71/135
8/50 [0031] Uma oitava característica, combinável com qualquer uma das seguintes características, em que os dados cross-chain são obtidos a partir de duas ou mais redes blockchain.
[0032] O relatório descritivo também fornece um ou mais meios de armazenamento legíveis por computador não temporários acoplados a um ou mais processadores e tendo instruções armazenadas neste que, quando executadas por um ou mais processadores, faz com que um ou mais processadores realizem operações de acordo com a implementações dos métodos fornecidos no presente pedido.
[0033] O relatório descritivo fornece ainda um sistema para implementar os métodos fornecidos no presente pedido. O sistema inclui um ou mais processadores, e um meio de armazenamento legível por computador acoplado a um ou mais processadores que têm instruções armazenadas neste que, quando executado por um ou mais processadores, faz com que um ou mais processadores realizem operações de acordo com implementações dos métodos fornecidos no presente pedido.
[0034] O provedor de serviço de contrato inteligente off-chain descrito não é acoplado a nenhuma rede blockchain específica e, dessa forma, o serviço fornecido não está limitado a uma forma específica de um contrato (por exemplo, configurado para uma rede blockchain específica), mas suporta computações off-chain definidas pelo usuário. Além disso, o provedor de serviço de contrato inteligente off-chain descrito pode suportar visitas de dados crosschain e permitir mutuamente que partes não confiáveis executem contratos inteligentes sobre dados privados de uma ou mais redes blockchain. As técnicas descritas podem obter algumas vantagens. Por exemplo, usando um TEE como uma mídia temporária para realizar os cálculos pode proteger a privacidade dos dados. Além disso, o descarregamento das tarefas computacionais a partir da rede blockchain para o TEE off-chain pode economizar tempo de computação e
Petição 870190068195, de 18/07/2019, pág. 72/135
9/50 recursos da rede blockchain. Além disso, devido ao fato do usuário poder autoprojetar lógicas computacionais para os cálculos que precisam e solicitam, o TEE executa os cálculos usando essas lógicas computacionais, e vários cálculos podem ser realizados de uma maneira mais flexível.
[0035] Considera-se que métodos de acordo de com o relatório descritivo podem incluir qualquer combinação dos aspectos e características descritas no presente pedido. Isto é, métodos de acordo com o relatório descritivo não se limitam às combinações de aspectos e características especificamente descritas no presente pedido, mas também incluem qualquer combinação dos aspectos e características fornecidas.
[0036] Os detalhes de uma ou mais implementações da especificação são apresentados nas Figuras anexas e na descrição abaixo. Outras características e vantagens da especificação serão evidentes a partir da descrição e figuras, e das reivindicações.
Descrição das Figuras [0037] A Figura 1 representa um exemplo de um ambiente que pode ser usado para executar implementações do relatório descritivo.
[0038] A Figura 2 representa um exemplo de uma arquitetura conceituai de acordo com implementações do relatório descritivo.
[0039] A Figura 3 representa um exemplo de um processo para fornecer serviço de dados cross-chain para um cliente de acordo com implementações do relatório descritivo.
[0040] A Figura 4 representa um exemplo de um processo que pode ser executado de acordo com implementações do relatório descritivo.
[0041] A Figura 5 representa um exemplo de um diagrama que ilustra módulos de um aparelho de operação de dados cross-chain de acordo com implementações do relatório descritivo.
[0042] A Figura 6 representa um exemplo de um diagrama que
Petição 870190068195, de 18/07/2019, pág. 73/135
10/50 ilustra módulos de outro aparelho de operação de dados cross-chain de acordo com implementações do relatório descritivo.
[0043] Símbolos de referência semelhantes nas várias figuras indicam elementos semelhantes.
Descrição Detalhada [0044] Implementações do relatório descritivo incluem métodos implementados em computador para um serviço de contrato inteligente off-chain (fora da cadeia) com base em tecnologias de blockchain (cadeia de blocos) (citado como um serviço de contrato inteligente off-chain blockchain (fora da cadeia da cadeia de blocos) ou, simplesmente, um serviço de contrato inteligente). Mais particularmente, as implementações do relatório descritivo são direcionadas para fornecer um serviço de contrato inteligente off-chain capaz de operar dados cross-chain em um ambiente de execução confiável.
[0045] Para fornecer mais contexto para implementações do relatório descritivo, e conforme introduzido acima, sistemas de livro-razão distribuídos (DLSs), que também podem ser citados como redes de consenso (por exemplo, composto de nós ponto-a-ponto (peer-to-peep) e redes blockchain, permitem que entidades participantes realizem transações de forma segura e imutável, e armazene dados. O termo blockchain é usado no presente pedido para se referir geralmente a um DLS sem referência a qualquer caso de uso específico.
[0046] Uma blockchain é uma estrutura de dados que armazena transações de uma maneira que as transações sejam imutáveis, e pode ser verificada subsequentemente. Uma blockchain inclui um ou mais blocos. Cada bloco na cadeia é ligado a um bloco anterior imediatamente antes dele na cadeia, incluindo uma dispersão (hash) criptográfica do bloco anterior. Cada bloco também inclui uma marca temporal (timestamp), sua própria dispersão criptográfica, e uma ou mais transações. As transações, que já tenham sido
Petição 870190068195, de 18/07/2019, pág. 74/135
11/50 verificadas pelos nós da rede blockchain, são dispersas e codificadas em uma árvore de Merkle. Uma árvore de Merkle é uma estrutura de dados em que os dados nos nós das folhas são dispersos, e todas as dispersões (hashes) em cada ramo da árvore são concatenadas na raiz do ramo. Este processo continua subindo a árvore até a raiz da árvore inteira, que armazena uma dispersão (hash) que é representativa de todos os dados na árvore. Uma dispersão (hash) supostamente de uma transação armazenada na árvore pode ser rapidamente verificada determinando se é consistente com a estrutura da árvore.
[0047] Enquanto que uma blockchain é uma estrutura de dados para armazenamento de transações, uma rede blockchain é uma rede de nós de computação que gerencia, atualiza e mantém uma ou mais blockchains. Conforme introduzido acima, uma rede blockchain pode ser fornecida como uma rede blockchain pública, uma rede blockchain privada, ou uma rede blockchain de consórcio.
[0048] Em uma rede blockchain pública, o processo de consenso é controlado pelos nós da rede de consenso. Por exemplo, centenas, milhares, mesmo milhões de entidades podem cooperar com uma rede blockchain pública, cada uma das quais opera pelo menos um nó na rede blockchain pública. Consequentemente, a rede blockchain pública pode ser considerada uma rede pública em relação às entidades participantes. Em alguns exemplos, a maioria das entidades (nós) deve assinar cada bloco a fim de que o bloco seja validado e adicionado à blockchain (livro-razão distribuído) da rede blockchain. Redes blockchain públicas de exemplo incluem redes de pagamento peer-to-peer (ponto a ponto) que aproveitam um livro-razão distribuído, citado como blockchain. Conforme observado acima, o termo blockchain, no entanto, é usado para geralmente se referir a livros-razão distribuídos sem referência particular a qualquer rede blockchain específica.
[0049] Em geral, uma rede blockchain pública suporta transações
Petição 870190068195, de 18/07/2019, pág. 75/135
12/50 públicas. Uma transação pública é compartilhada com todos os nós dentro da rede blockchain pública, e é armazenada em uma blockchain global. Uma blockchain global é uma blockchain que é replicada através de todos os nós. Isto é, todos os nós estão em perfeito estado consenso em relação à blockchain global. Para obter consenso (por exemplo, acordo para a adição de um bloco a uma blockchain), um protocolo de consenso é implementado dentro da rede blockchain pública. Exemplos de protocolos de consenso incluem, sem limitação, prova de trabalho (POA), prova de participação (POS) e prova de autoridade (POA). POW é ainda referenciada no presente pedido como um exemplo não limitante.
[0050] Em geral, uma rede blockchain privada é fornecida para uma entidade específica, que controla centralmente as permissões de leitura e gravação. A entidade controla, quais nós são capazes de participar na rede blockchain. Consequentemente, redes blockchain privadas são geralmente citadas como redes permissionadas que colocam restrições sobre quem pode participar na rede e sobre o seu nível de participação (por exemplo, somente em certas transações). Vários tipos de mecanismos de controle de acesso podem ser usados (por exemplo, participantes existentes votam sobre a adição de novas entidades, uma autoridade reguladora pode controlar a admissão).
[0051] Em geral, uma rede blockchain de consórcio é privada entre as entidades participantes. Em uma rede blockchain de consórcio, o processo de consenso é controlado por um conjunto autorizado de nós, um ou mais nós sendo operado por uma respectiva entidade (por exemplo, uma instituição financeira, companhia de seguros). Por exemplo, um consórcio de dez (10) entidades (por exemplo, instituições financeiras, companhias de seguros) pode operar uma rede blockchain de consórcio, cada uma das quais opera pelo menos um nó na rede blockchain de consórcio. Consequentemente, a rede blockchain de consórcio pode ser considerada uma rede privada em relação às entidades
Petição 870190068195, de 18/07/2019, pág. 76/135
13/50 participantes. Em alguns exemplos, cada entidade (nó) deve assinar cada bloco a fim de que o bloco seja validado e adicionado à blockchain. Em alguns exemplos, pelo menos um subconjunto de entidades (nós) (por exemplo, pelo menos 7 entidades) deve assinar cada bloco a fim de que o bloco seja validado e adicionado à blockchain.
[0052] Uma blockchain é um livro-razão digital compartilhado à prova de adulteração que registra transações em uma rede ponto a ponto pública ou privada. O livro-razão é distribuído para todos os nós membros na rede, e o histórico de transações de recursos que ocorre na rede é registrado permanentemente no bloco. Antes de participar de uma transação, um nó na blockchain pode necessitar executar cálculos usando várias técnicas. Mediante soluções atuais, devido ao fato de cada serviço ser independente, um nó de uma blockchain não pode se comunicar com outras cadeias. Por exemplo, um nó não pode ler os dados de outras blockchains ou trocar os dados com outras blockchains. Além disso, mesmo se um nó não necessitar de dados de outras blockchains para executar um cálculo, realizar esses cálculos inteiramente em uma blockchain pode consumir muito tempo e recursos computacionais da blockchain, se estes exigirem lógicas computacionais complicadas e protocolos.
[0053] Implementações do relatório descritivo são descritas em mais detalhes no presente pedido com referência a uma rede blockchain de consórcio, que é pública entre as entidades participantes. Contempla-se, no entanto, que implementações do relatório descritivo podem ser realizadas em qualquer tipo de rede blockchain.
[0054] Implementações do relatório descritivo são descritas em mais detalhes no presente pedido em vista do contexto acima. Mais particularmente, e conforme introduzido acima, as implementações do relatório descritivo são direcionadas para fornecer um serviço de contrato inteligente offchain capaz de operar dados cross-chain em um ambiente de execução
Petição 870190068195, de 18/07/2019, pág. 77/135
14/50 confiável.
[0055] Técnicas para abordar estas questões podem incluir o uso de um serviço de contrato inteligente off-chain para realizar cálculos e operar dados cross-chain. Um contrato inteligente pode ser um acordo de computador projetado disseminar, verificar ou fazer cumprir contratos em uma maneira informativa. Contratos inteligentes permitem que transações confiáveis sejam realizadas sem o envolvimento de terceiros. Estas transações são rastreáveis e irreversíveis. Um contrato inteligente inclui lógica ou programas de computador que realizam os acordos ou regras de uma transação. Por exemplo, um contrato inteligente pode incluir lógicas que controlam a transferência de moedas ou recursos digitais entre as partes sob determinadas condições. Contratos inteligentes podem ser codificados em uma linguagem de programação e instalados na plataforma de tempo de execução de rede blockchain.
[0056] Em algumas implementações, o processamento off-chain pode ser usado para executar ou instalar contratos inteligente. Por exemplo, as lógicas incluídas no contrato inteligente podem ser executadas fora dos limites de uma rede blockchain, por exemplo, por um provedor de serviço de contrato inteligente off-chain, enquanto mantendo a confiança e a transparência de uma rede blockchain. Por exemplo, um provedor de serviço de contrato inteligente offchain pode ser um computador, servidor ou outros tipos de aparelhos de processamento de dados independente de uma rede blockchain. Com processamento off-chain, lógicas de contrato inteligente podem ser executadas em um ambiente de execução confiável (TEE) para preservar a confiança e a transparência de uma rede blockchain. O TEE pode ser usado para executar lógicas em um contrato inteligente e realizar outras operações e transações incluídas no contrato inteligente, fora de uma rede blockchain. O TEE pode vincular o código ao contrato inteligente, e fornecer vários serviços, como verificação de identidade, gerenciamento de chaves, serviço cerográfico e
Petição 870190068195, de 18/07/2019, pág. 78/135
15/50 interações com o mundo exterior. O ambiente confiável de TEE garante que somente o código autorizado tem permissão para acessar os dados, e essas proteções são aplicadas ao longo de toda execução do código dentro deste. Em algumas implementações, o resultado da execução do contrato inteligente devolvido pelo serviço de contrato inteligente off-chain pode ser carregado ou, de outro modo, transmitido para a rede blockchain, por exemplo, para atualizar o estado da rede blockchain. Como tal, o provedor de serviço de contrato inteligente off-chain pode descarregar uma carga computacional a partir da rede blockchain e ter mais flexibilidade para realizar lógicas computacionais e protocolos diferentes e complicados.
[0057] Em algumas implementações, o provedor de serviço de contrato inteligente off-chain descrito não é acoplado a nenhuma rede blockchain específica e, dessa forma, o serviço fornecido não está limitado a uma forma específica de um contrato (por exemplo, configurado para uma rede blockchain específica), mas suporta computações off-chain definidas pelo usuário.
[0058] Além disso, o provedor de serviço de contrato inteligente off-chain descrito pode suportar visitas de dados cross-chain e permitir mutuamente que partes não confiáveis executem contratos inteligentes sobre dados privados de uma ou mais redes blockchain. Por exemplo, um cliente de uma rede blockchain A pode definir um contrato inteligente que opera em ambos os dados do cliente a partir da rede blockchain A, mas também os dados de uma rede blockchain diferente, rede blockchain B. Em algumas implementações, o cliente solicita um serviço de contrato off-chain para executar seu contrato inteligente definido. O serviço de contrato off-chain pode buscar os dados solicitados a partir da rede blockchain A e rede blockchain B, executar o contrato inteligente definido pelo cliente fora da rede blockchain A e rede blockchain B para obter um resultado, e então envia o resultado para a rede blockchain A para atualizar os estados do cliente.
Petição 870190068195, de 18/07/2019, pág. 79/135
16/50 [0059] As técnicas de exemplo são descritas para tornar possível e mais fácil para um nó de rede blockchain executar cálculos complicados, e uso de dados de uma ou mais dentre outras redes para realizar esses cálculos. As técnicas de exemplo podem ser baseadas em um ambiente de execução confiável (TEE). Uma TEE é uma área segura em um processador hospedeiro que garante a segurança, confidencialidade e integridade dos códigos e dados carregados para o ambiente. Uma TEE fornece um ambiente de execução isolado (por exemplo, com o uso de hardware dedicado e isolado) que tem vários recursos de segurança, como uma execução isolada, integridade de aplicativos confiáveis, confidencialidade de dados confiáveis e armazenamento seguro. O provedor de serviço de contrato inteligente off-chain descrito pode incluir um TEE e implementar o cálculo de rede blockchain no TEE. As técnicas descritas podem ter algumas vantagens. Por exemplo, usando um TEE como uma mídia temporária para realizar os cálculos pode proteger a privacidade dos dados. Por exemplo, um usuário de rede blockchain A necessita dos dados da rede blockchain B e rede blockchain C para realizar um cálculo. Normalmente, cada uma das redes blockchain B e C é uma cadeia fechada e não está disposta a compartilhar seus dados para o usuário de rede blockchain A devido às preocupações de privacidade. Com o uso do TEE, o cálculo pode ser realizado sem divulgar as informações detalhadas dos dados da rede blockchain B e C para a rede blockchain A, mas ainda percebendo a visita de dados cross-chain e a execução do contrato inteligente com base nos dados cross-chain. Além disso, conforme descrito anteriormente, realizar cálculos complicados em uma rede blockchain custa recursos computacionais da cadeia. O descarregamento das tarefas computacionais a partir da rede blockchain para o TEE off-chain pode economizar tempo de computação e recursos da rede blockchain. Além disso, devido ao fato do usuário poder autoprojetar lógicas computacionais para os cálculos que precisam e solicitam, o TEE executa os cálculos usando essas
Petição 870190068195, de 18/07/2019, pág. 80/135
17/50 lógicas computacionais, e vários cálculos podem ser realizados de uma maneira mais flexível e extensiva.
[0060] Em algumas implementações, as técnicas propostas podem fornecer um serviço de contrato inteligente universal com proteção de privacidade. Por exemplo, contratos inteligentes usados para transações financeiras precisam esconder o montante da transferência e partes (como remetente e beneficiário) devido às preocupações com privacidade. Mediante a abordagem proposta, um remetente pode criptografar o conteúdo da transação e solicitar um serviço de contrato inteligente off-chain. O serviço de contrato inteligente off-chain pode descriptografar o conteúdo da transação em um TEE, executar a transação no TEE e, em seguida, retornar o resultado da transação para a cadeia sob uma forma de texto codificado (por exemplo, com prova de que a transação é executada na lógica correta). Após a rede blockchain verificar o resultado retornado, o resultado pode ser atualizado para refletir o estado mais recente na rede blockchain.
[0061] Em algumas implementações, as técnicas propostas podem fornecer serviços de computação de dados cross-chain. Como exemplo, as técnicas propostas podem ser usadas para calcular pontuações de crédito pessoal. Na prática, as pessoas precisam participar de vários serviços envolvendo a avaliação de crédito. Por exemplo, aplicativos de empréstimo bancário, aluguéis de imóveis e aluguéis de carros. Cada serviço pode ser executado e mantido por uma rede blockchain de consórcio independente ou uma rede blockchain privada. Cada serviço pode não querer compartilhar dados para outros serviços, e eles podem criptografar dados pessoais possuídos por eles, em alguns casos. Para se obter uma avaliação de crédito global da pessoa de diferentes áreas, a solução proposta pode ser usada. Em algumas implementações, o usuário pode fornecer as lógicas computacionais de crédito (códigos), autorização de solicitação de dados (por exemplo, com o uso de uma
Petição 870190068195, de 18/07/2019, pág. 81/135
18/50 assinatura ou chave privada) para iniciar uma solicitação de avaliação de crédito com o uso de um canal privado. O serviço na solução proposta solicita dados de várias cadeias e descriptografa os dados em um TEE, garantindo que o resultado seja gerado mediante a lógica de cálculo correta. O resultado e um certificado para o resultado são retornados para o usuário, e o usuário pode garantir a confidencialidade e a integridade de dados e lógica através de prova de verificação. O usuário pode, então, usar esse resultado e prova para fornecer uma pontuação de crédito pessoal certificado para outros nós em sua rede blockchain.
[0062] Em algumas implementações, quando um usuário precisa executar uma transação mediante um contrato de rede blockchain, esta pode entregar os cálculos complicados no contrato para o serviço de contrato inteligente off-chain antecipadamente e, em seguida, carregar e armazenar o resultado na rede blockchain. Em algumas implementações, o resultado pode ser usado diretamente como uma entrada para uma transação realizada na rede blockchain, reduzindo o tempo de funcionamento do contrato da rede blockchain e aprimorando a eficiência. Nessas implementações, se o usuário não desejar expor contratos privados ou protocolos de segurança que são aplicados na rede blockchain, o cálculo pode ser feito com o uso do serviço de contrato inteligente off-chain e os dados da rede blockchain podem ser acessados de forma confiável.
[0063] A Figura 1 representa um exemplo de um ambiente (100) que pode ser usado para executar implementações do relatório descritivo. Em alguns exemplos, o ambiente (100) permite que entidades participem em uma rede blockchain (102). O ambiente (100) inclui dispositivos de computação (106), (108) e uma rede (110). Em alguns exemplos, a rede (110) inclui uma rede de área local (LAN), rede de área ampla (WAN), a Internet ou uma combinação das mesmas, e conecta websites, dispositivos do usuário (por exemplo, dispositivos
Petição 870190068195, de 18/07/2019, pág. 82/135
19/50 de computação) e sistemas back-end. Em alguns exemplos, a rede (110) pode ser acessada através de uma rede com fio e/ou um link de comunicação sem fio. Em alguns exemplos, a rede (110) permite comunicação com, e dentro da rede blockchain (102). Em geral, a rede (110) representa uma ou mais redes de comunicação. Em alguns casos, os dispositivos de computação (106), (108) podem ser nós de um sistema de computação em nuvem (não mostrado) ou cada dispositivo de computação (106), (108) pode ser um sistema de computação em nuvem separado incluindo uma série de computadores interconectados por uma rede e que funcionam como um sistema de processamento distribuído.
[0064] No exemplo representado, cada um dos sistemas de computação (106), (108) pode incluir qualquer sistema de computação apropriado que permite participação como um nó na rede blockchain (102). Exemplos de dispositivos de computação incluem, sem limitação, um servidor, um computador desktop, um computador portátil, um tablet, dispositivo de computação e um smartphone. Em alguns exemplos, os sistemas de computação (106), (108), hospedam um ou mais serviços implementados em computador para interagir com a rede blockchain (102). Por exemplo, o sistema de computação (106) pode hospedar serviços implementados em computador de uma primeira entidade (por exemplo, Participante A), como sistema de gerenciamento de transação que a primeira entidade usa para gerenciar suas transações com uma ou mais dentre outras entidades (por exemplo, outros participantes). O sistema de computação (108) pode hospedar serviços implementados em computador de uma segunda entidade (por exemplo, Participante B), como o sistema de gerenciamento de transações que a segunda entidade usa para gerenciar suas transações com uma ou mais dentre outras entidades (por exemplo, outros participantes). No exemplo da Figura 1, a rede blockchain (102) é representada como uma rede de nós ponto-a-ponto (peer-to
Petição 870190068195, de 18/07/2019, pág. 83/135
20/50 peek), e os sistemas de computação (106), (108) fornece nós da primeira entidade e da segunda entidade, respectivamente, que participa na rede blockchain (102).
[0065] A Figura 2 representa um exemplo de uma arquitetura conceituai (200) de acordo com implementações do relatório descritivo. O exemplo de uma arquitetura conceituai (200) inclui sistemas participantes (202), (204), (206) que correspondem ao Participante A, Participante B e Participante C, respectivamente. Cada participante (por exemplo, usuário, empresa) participa em uma rede blockchain (212) fornecida como uma rede ponto-a-ponto (peer-topeef) incluindo uma série de nós (214), pelo menos alguns dos quais gravam informações de forma imutável em uma blockchain (216). Embora uma única blockchain (216) seja esquematicamente representada dentro da rede blockchain (212), várias cópias da blockchain (216) são fornecidas e são mantidas através da rede blockchain (212), conforme descrito em mais detalhes no presente pedido.
[0066] No exemplo representado, cada sistema participante (202), (204), (206) é fornecido pelo, ou em nome do Participante A, Participante B e Participante C, respectivamente, e funciona como um respectivo nó (214) dentro da rede blockchain. Como usado no presente pedido, um nó geralmente referese a um sistema individual (por exemplo, computador, servidor) que está conectado à rede blockchain (212) e permite que um respectivo participante participe na rede blockchain. No exemplo da Figura 2, um participante corresponde a cada nó (214). Contempla-se, no entanto, que um participante pode operar vários nós (214) dentro da rede blockchain (214) e/ou vários participantes podem compartilhar um nó (214). Em alguns exemplos, os sistemas participantes (202), (204), (206) se comunicam com, ou através da rede blockchain (212) com o uso de um protocolo (por exemplo, protocolo de transferência de hipertexto seguro (HTTPS)) e/ou com o uso de chamadas
Petição 870190068195, de 18/07/2019, pág. 84/135
21/50 remotas de procedimento (RPCs).
[0067] Os nós (214) podem ter graus variados de participação dentro da rede blockchain (212). Por exemplo, alguns nós (214) podem participar do processo de consenso (por exemplo, como nós inspetores que adicionam blocos à blockchain (216)), enquanto outros nós (214) não participam no processo de consenso. Como outro exemplo, alguns nós (214) armazenam uma cópia completa da blockchain (216), enquanto outros nós (214) armazenam somente cópias de porções da blockchain (216). Por exemplo, os privilégios de acesso de dados pode limitar os dados da blockchain que um respectivo participante armazena dentro de seu respectivo sistema. No exemplo da Figura 2, os sistemas participantes (202), (204), (206), armazenam as respectivas cópias completas (216’), (216”), (216”’) da blockchain (216).
[0068] Uma blockchain (por exemplo, a blockchain (216) da Figura 2) é composta por uma cadeia de blocos, cada bloco armazenando dados. Exemplos de dados incluem dados de transação representativos de uma transação entre dois ou mais participantes. Enquanto as transações são usadas no presente pedido a título de exemplo, contempla-se que quaisquer dados apropriados podem ser armazenados em uma blockchain (por exemplo, documentos, imagens, vídeos, áudio). Exemplos de transações podem incluir, sem limitação, a troca de algo de valor (por exemplo, recursos, produtos, serviços e moeda). Os dados de transação são armazenados de forma imutável dentro da blockchain. Isto é, os dados de transação não podem ser alterados.
[0069] Antes de armazenar em um bloco, os dados de transação são dispersos (hashed). Dispersão hashing é um processo para transformar os dados de transação (fornecidos como dados de cadeia de caracteres (string data)) em um valor de dispersão (hash) de tamanho fixo (também fornecido como dados de cadeia de caracteres (string data)). Não é possível não dispersar (unhash) o valor de dispersão (hash) para se obter os dados de transação. A
Petição 870190068195, de 18/07/2019, pág. 85/135
22/50 dispersão (hashing) assegura que mesmo uma ligeira alteração nos dados de transação resulta em um valor de dispersão (hash) completamente diferente. Além disso, conforme observado acima, o valor de dispersão (hash) é de comprimento fixo. Isto é, não importa o tamanho dos dados de transação que o comprimento do valor de dispersão (hash) é fixo. A dispersão (hashing) inclui processar os dados de transação através de uma função de dispersão (hash) para gerar o valor de dispersão (hash). Exemplos de uma função de dispersão (hash) incluem, sem limitação, o algoritmo de dispersão seguro (SHA)-256, que gera 256 bits de valores de dispersão (hash).
[0070] Os dados de transação de várias transações são dispersos e armazenados em um bloco. Por exemplo, são fornecidos valores de dispersão (hash) de duas transações e são eles próprios dispersos (hashed) para fornecer outra dispersão (hash). Este processo é repetido, para todas as transações serem armazenadas em um bloco, até que um único valor de dispersão (hash) é fornecido. Este valor de dispersão (hash) é citado como uma dispersão (hash) de raiz de Merkle, e é armazenado em um cabeçalho do bloco. Uma alteração em qualquer uma das transações resultará em alteração de seu valor de dispersão (hash) e, em última instância, uma alteração na dispersão de raiz (hash) de Merkle.
[0071] Os blocos são adicionados à blockchain através de um protocolo de consenso. Vários nós dentro da rede blockchain participam do protocolo de consenso, e competem para ter um bloco adicionado à blockchain. Esses nós são citados como mineiros (miners) (ou nós inspetores (minder nodes)). POW, introduzido acima, é usado como um exemplo não limitante.
[0072] Os nós mineiros executam o processo de consenso para adicionar transações à blockchain. Embora vários nós mineiros participem no processo de consenso, somente um nó mineiro pode escrever o bloco para a blockchain. Isto é, os nós mineiros competem no processo de consenso para
Petição 870190068195, de 18/07/2019, pág. 86/135
23/50 terem seus blocos adicionados à blockchain. Em mais detalhes, um nó mineiro coleta periodicamente transações pendentes de um grupo de transação (por exemplo, até um limite predefinido no número de transações que pode ser incluído em um bloco, se houver). O grupo de transação inclui mensagens de transação de participantes na rede blockchain. O nó mineiro (miner node) constrói um bloco e adiciona as transações ao bloco. Antes de adicionar as transações ao bloco, o nó mineiro verifica se qualquer uma das transações já está incluída em um bloco da blockchain. Se uma transação já está incluída em outro bloco, a transação é descartada.
[0073] O nó mineiro gera um cabeçalho de bloco, dispersa (hashes) todas as transações no bloco, e combina o valor de dispersão (hash) em pares para gerar valores de dispersão (hash) adicionais até que um único valor de dispersão (hash) é fornecido para todas as transações no bloco (raiz de dispersão (hash) de Merkle). Esta dispersão (hash) é adicionada ao cabeçalho do bloco. O mineiro também determina o valor de dispersão (hash) do bloco mais recente na blockchain (isto é, o último bloco adicionado à blockchain). O nó mineiro também adiciona um valor nonce, e uma marca temporal (timestamp) para o cabeçalho do bloco. Em um processo de mineração, o nó mineiro tenta encontrar um valor de dispersão (hash) que atenda aos parâmetros necessários. O nó mineiro continua mudando o valor nonce até encontrar um valor de dispersão (hash) que atenda os parâmetros necessários.
[0074] Cada mineiro na rede blockchain tenta encontrar um valor de dispersão (hash) que encontra os parâmetros necessários e, deste modo, competem uns com os outros. Eventualmente, um dos nós mineiros encontra um valor de dispersão (hash) que encontra os parâmetros necessários, e anuncia isto para todos os outros nós mineiros na rede blockchain. Os outros nós mineiros verificar o valor de dispersão (hash) e, se determinado estar correto, verifica cada transação no bloco, aceita o bloco, e anexa o bloco a sua cópia da
Petição 870190068195, de 18/07/2019, pág. 87/135
24/50 blockchain. Desta maneira, um estado global da blockchain é consistente em todos os nós mineiros dentro da rede blockchain. O processo descrito acima é o protocolo de consenso POW.
[0075] Um exemplo não limitante é fornecido com referência à Figura 2. Neste exemplo, o Participante A quer enviar um montante de fundo para o Participante B. O participante A gera uma mensagem de transação (por exemplo, incluindo De, Para e campos de Valor), e envia a mensagem de transação para a rede blockchain, que adiciona a mensagem de transação para um grupo de transação. Cada nó mineiro na rede blockchain cria um bloco e leva todas as transações do grupo de transação (por exemplo, até um limite predefinido do número de transações que podem ser adicionadas a um bloco, se houver) e adiciona as transações ao bloco. Desta maneira, a transação publicada pelo Participante A é adicionada aos blocos dos nós mineiros.
[0076] Em algumas redes blockchain, a criptografia é implementada para manter a privacidade das transações. Por exemplo, se dois nós querem manter uma transação privada, de modo que outros nós na rede blockchain não possam discernir detalhes da transação, os nós podem criptografar os dados de transação. Exemplos de métodos criptográficos incluem, sem limitação, criptografia simétrica e criptografia assimétrica. Criptografia simétrica refere-se a um processo de criptografia que usa uma única chave tanto para criptografia (gerando o texto codificado a partir de texto sem formatação) como descriptografia (gerando texto sem formatação a partir de texto codificado). Na criptografia simétrica, a mesma chave está disponível para vários nós, portanto, cada nó critpgrafa/descriptografa os dados da transação.
[0077] A criptografia assimétrica usa pares de chaves que incluem uma chave privada e uma chave pública, a chave privada sendo conhecida somente para um respectivo nó, e a chave pública sendo conhecida para qualquer um ou todos os outros nós na rede blockchain. Um nó pode usar a
Petição 870190068195, de 18/07/2019, pág. 88/135
25/50 chave pública de outro nó para criptografar os dados, e os dados criptografados podem ser descriptografados com o uso da chave privada do outro nó. Por exemplo, e referindo-se outra vez à Figura 2, o Participante A pode usar a chave pública do Participante B para criptografar os dados, e envia os dados criptografados para o participante B. O participante B pode usar sua chave privada para descriptografar os dados criptografados (texto codificado) e extrair os dados originais (texto sem formatação). As mensagens criptografadas com uma chave pública do nó só podem ser descriptografadas com o uso da chave privada do nó.
[0078] É usada criptografia assimétrica para fornecer assinaturas digitais, o que permite aos participantes de uma transação confirmar outros participantes na transação, bem como a validade da transação. Por exemplo, um nó pode assinar digitalmente uma mensagem, e outro nó pode confirmar que a mensagem foi enviada pelo nó com base na assinatura digital do participante A. Assinaturas digitais também podem ser usadas para assegurar que as mensagens não sejam adulteradas em trânsito. Por exemplo, e referindo-se outra vez à Figura 2, o Participante A enviará uma mensagem ao Participante B. O participante A gera uma dispersão (hash) da mensagem e, em seguida, usa sua chave privada, criptografa a dispersão (hash) para fornecer uma assinatura digital como a dispersão (hash) criptografada. O participante A anexa a assinatura digital à mensagem e envia a mensagem com assinatura digital para o Participante B. O participante B descriptografa a assinatura digital com o uso da chave pública do Participante A, e extrai a dispersão (hash). O participante B dispersa (hash) a mensagem e compara as dispersões (hashes). Se as dispersões (hashes) forem as mesmas, o Participante B pode confirmar que a mensagem era de fato do participante A, e não foi adulterada.
[0079] A Figura 3 representa um exemplo de um processo (300) para fornecer serviço de dados cross-chain para um cliente de acordo com
Petição 870190068195, de 18/07/2019, pág. 89/135
26/50 implementações do relatório descritivo. Em algumas implementações, um cliente (302) representa um aplicativo (por exemplo, um aplicativo de cliente) em conexão com uma rede blockchain como uma rede blockchain alvo (306). Por exemplo, o cliente (302) pode incluir um kit de desenvolvimento de software (SDK) para acessar e se comunicar com a rede blockchain (306). O cliente (302) pode ser instalado em um dispositivo (também citado como um de cliente ou um nó) de um usuário (não mostrado na Figura 3). Em algumas implementações, o usuário pode participar de uma transação da rede blockchain alvo (306), iniciando a transação com o uso do cliente (302). Em algumas implementações, informações sobre a conta do usuário podem ser armazenadas na rede blockchain alvo (306) e o usuário tem autorização para realizar transações na rede blockchain alvo. O cliente (302) pode acessar e ler os dados armazenados na rede blockchain alvo (306). Em algumas implementações, para obter dados cross-chain, por exemplo, dados de uma ou mais redes diferentes (por exemplo, (316), (328) e (320) na Figura 3, o cliente (302) pode precisar de uma retransmissão ou provedor de serviço de visitação de dados confiável (312) para preencher a lacuna de comunicação entre o cliente (302) da rede blockchain alvo (306) e as outras redes blockchain diferentes.
[0080] Em algumas implementações, o cliente (302) pode iniciar uma transação confidencial mediante um contrato da rede blockchain alvo, e essa informação de transação é visível somente para o usuário de cliente (302) e possivelmente outros participantes ou partes da transação, mas não quaisquer outras partes dentro ou fora da rede blockchain. Em algumas implementações, o cliente (302) precisa apresentar um resultado para outra entidade dentro ou fora da rede blockchain alvo (306).
[0081] Em algumas implementações, uma transação do cliente (302) da rede blockchain alvo (316) pode incluir várias operações computacionais com o uso de dados da rede blockchain alvo (316), os dados
Petição 870190068195, de 18/07/2019, pág. 90/135
27/50 cross-chain (por exemplo, dados de uma ou mais redes blockchain diferentes (316), (318) ou (320)), ou ambos. Em algumas implementações, uma transação do cliente (302) da rede blockchain alvo (316) pode incluir um resultado calculado com o uso dos dados da rede blockchain alvo (316), os dados cross-chain, ou ambos. Em algumas implementações, a transação pode incluir várias lógicas computacionais e protocolos. Em algumas implementações, o cálculo pode ser complicado e consome recursos computacionais da rede blockchain. Em algumas implementações, a transação pode ser especificada em um contrato inteligente projetado pelo cliente (302).
[0082] Por exemplo, conforme mostrado na Figura 3, o cliente (302) pode, por exemplo, usar o SDK do cliente (304) para preparar um contrato inteligente que inclui lógicas computacionais autoprojetadas e protocolos para realizar uma transação baseada nos dados cross-chain (por exemplo, dados de uma ou mais redes blockchain diferentes (316), (318) ou (320)). O cliente (302) pode enviar o contrato inteligente para um provedor de serviço de contrato inteligente (308) para execução. O provedor de serviço de contrato inteligente (308) está fora da rede blockchain alvo (306), de modo que o provedor de serviço de contrato inteligente (308) pode realizar a lógica computacional e protocolos, conforme definido no contrato inteligente independentemente da rede blockchain alvo (306).
[0083] Ao receber e analisar o contrato inteligente, o provedor de serviço de contrato inteligente (308) determina que dados cross-chain são necessários para executar o contrato inteligente. O provedor de serviço de contrato inteligente (308) pode enviar uma solicitação para dados cross-chain para um provedor de serviço de visitação de dados confiável (312) para obter dados a partir dos dados cross-chain. Por exemplo, o cliente (302) pode querer realizar um cálculo de “a mais b”, onde a são dados da rede blockchain alvo (306), e b são dados de rede blockchain (306). Neste caso, o contrato inteligente
Petição 870190068195, de 18/07/2019, pág. 91/135
28/50 enviado a partir do cliente (302) contém a lógica computacional para adicionar a e b juntos e indicador de localizações de dados a e b. O provedor de serviço de contrato inteligente (308) pode enviar uma solicitação para um provedor de serviço de visitação de dados confiável (312) para obter dados privados b da rede blockchain (316). Em algumas implementações, o contrato inteligente pode ser criptografado para proteger a privacidade do usuário.
[0084] Em algumas implementações, o provedor de serviço de contrato inteligente off-chain (308) pode ser um provedor servidor baseado em nuvem. Em algumas implementações, esse provedor servidor em nuvem pode ser um provedor servidor terceirizado, como Alibaba®. Em algumas implementações, várias entidades são os recursos de dados dos dados crosschain, e nenhuma delas quer descarregar seus próprios dados para um provedor de serviços terceirizado. Nesses casos, essas próprias entidades podem criar um provedor de serviço de contrato inteligente.
[0085] O provedor de serviço de contrato inteligente off-chain (308) inclui um ambiente de execução de computação confiável (TEE) (310), a qual fornece um ambiente de execução de computação seguro. Em algumas implementações, o cálculo TEE (310) é um módulo de hardware independente cuja independência garante a segurança dos dados executados dentro do TEE (310). Em algumas implementações, para configurar o TEE (310) para operações de rede blockchain, uma ou mais dentre uma máquina virtual, uma interface de aplicativo ou um sistema operacional podem ser programados, codificados ou, de outra forma, configurados no TEE (310) de modo a tornar o TEE (310) adequado para executar lógica computacional definida em um contrato inteligente. Em algumas implementações, antes de enviar o contrato inteligente para o provedor de serviço de contrato inteligente off-chain (308), o cliente (302) pode verificar se o provedor de serviço de contrato inteligente offchain inclui um TEE (310), e o TEE (310) inclui programas de execução ou
Petição 870190068195, de 18/07/2019, pág. 92/135
29/50 ambiente que corresponde ao cliente (302). Por exemplo, se a rede blockchain alvo (306) for uma rede blockchain baseada em Ethereum e o SDK (304) do cliente (302) for um cliente SDK baseado em Ethereum (por exemplo, com o uso da linguagem Solidity), o cliente (302) pode verificar se o TEE (302) inclui uma Máquina Virtual Ethereum (EVM) (por exemplo, que suporta a linguagem Solidity) para executar lógicas computacionais baseadas em Ethereum antes do cliente (302) enviar uma solicitação para execução de um contrato inteligente para o provedor de serviço de contrato inteligente off-chain (308).
[0086] Após receber a solicitação para execução de um contrato inteligente, se a solicitação for criptografada, o TEE (310) primeiro descriptografa a solicitação, analisa o contrato inteligente e identifica os dados necessários para execução do contrato inteligente. O TEE (310) pode solicitar ao provedor de serviço de visitação de dados confiável (312) para obter os dados de uma ou mais fontes diferentes, por exemplo, através da interface de programa de aplicativo (API) (314) do provedor de serviço de visitação de dados confiável (312). O provedor de serviço de visitação de dados confiável (312) pode ser uma parte confiável que pode recuperar os dados de uma ou mais redes blockchain diferentes. O provedor de serviço de visitação de dados confiável (312) pode fornecer dados confiáveis para o TEE (310) do provedor de serviço de contrato inteligente off-chain (308) e assegurar a privacidade e precisão dos dados.
[0087] Em algumas implementações, o provedor de serviço de visitação de dados confiável (312) também pode conter um TEE, por exemplo, para recuperar dados de localizações corretas de uma ou mais redes blockchain diferentes. Em algumas implementações, as lógicas de TEE incluídas no provedor de serviço de visitação de dados confiável (312) são mais simples do que as do TEE (310) no provedor de serviço de contrato inteligente off-chain (308), já que o primeiro é usado principalmente para a recuperação de dados e não precisa realizar cálculos sobre esses dados recuperados.
Petição 870190068195, de 18/07/2019, pág. 93/135
30/50 [0088] Em algumas implementações, antes do TEE (310) solicitar o API (314), um processo de verificação de duas vias é realizado entre o provedor de serviço de contrato inteligente (308) e o provedor de serviço de visitação de dados confiável (312). Em algumas implementações, durante o processo de verificação, cada um prova que incluiu um TEE para a outra parte.
[0089] Em algumas implementações, o provedor de serviço de visitação de dados confiável (312) pode recuperar dados de uma ou mais fontes diferentes, incluindo uma ou mais redes blockchain, uma colaboração de rede blockchain, ou uma plataforma de rede blockchain (coletivamente citada como uma ou mais redes blockchain). Exemplos de redes blockchain são mostrados como Mychain (316), Hiperleger (318) e Ethereum (320) na Figura 3. Os dados obtidos são enviados de volta para o TEE (310), que executa lógicas computacionais com o uso dos dados obtidos.
[0090] Em algumas implementações, após ser gerado o resultado de cálculo no cálculo do TEE (310), o TEE (310) assina o resultado com uma chave privada para provar a integridade e a precisão do resultado. Em algumas implementações, a assinatura é uma prova indicando que o resultado de cálculo é executado pelo TEE (310) de acordo com lógicas computacionais incluídas no contrato inteligente enviado pelo cliente (302). Como tal, o resultado pode ser de confiança pelos outros nós da rede blockchain alvo (306).
[0091] Em algumas implementações, o TEE (310) retorna o resultado para o cliente (302). Por exemplo, o cliente (302) descriptografa o resultado com uma chave pública correspondente à chave privada do TEE (310). Em algumas implementações, o cliente (302) carrega o resultado para a rede blockchain alvo (306), de modo que o resultado possa ser usado para atualizar o estado do cliente (302) ou como uma entrada para uma transação da rede blockchain alvo (306). Em algumas implementações, o cliente (302) pode usar o resultado para propósitos não relacionados à rede blockchain, como para
Petição 870190068195, de 18/07/2019, pág. 94/135
31/50 calcular a pontuação média de crédito do usuário. Por exemplo, o usuário pode obter informações de dados de diferentes cadeias (cada um representa um prestador de serviços, como um serviço de aluguel de carros, um empréstimo bancário ou um aluguel de casa), e usa os dados para calcular a pontuação média de crédito do usuário. O usuário pode apresentar o resultado para um comerciante sem descarregar o resultado para qualquer rede blockchain.
[0092] Em algumas implementações, o TEE (310) pode retornar o resultado diretamente para a cadeia alvo (306). Nessas implementações, antes de retornar o resultado, a rede blockchain alvo (306) pode verificar se o provedor de serviço de contrato inteligente off-chain (308) inclui o TEE necessário para estabelecer confiança entre o provedor de serviço de contrato inteligente offchain (308) e a cadeia alvo (306).
[0093] A Figura 4 representa um exemplo de um processo (400) que pode ser executado de acordo com implementações do relatório descritivo. Em algumas implementações, o processo de exemplo (400) pode ser realizado com o uso de um ou mais programas executáveis por computador executado com o uso de um ou mais dispositivos de computação. Para clareza de apresentação, a descrição que se segue descreve de maneira geral o método (400) no contexto das outras Figuras nesta descrição. Por exemplo, o cliente (420) pode ser o cliente (302), o provedor de serviço de contrato inteligente (430) pode ser o provedor de serviço de contrato inteligente (308), o provedor de serviço de visitação de dados confiável (440) pode ser o provedor de serviço de visitação de dados confiável (312), as redes blockchain (450) podem ser Mychain (316), HyperLeger (318) e/ou Ethereum (320) e a rede blockchain alvo (410) pode ser a rede blockchain alvo (306), conforme descrito em relação à Figura 3. No entanto, será entendido que o método (400) pode ser realizado, por exemplo, por qualquer sistema adequado, ambiente, software e hardware, ou uma combinação de sistemas, ambientes, softwares e hardwares, conforme
Petição 870190068195, de 18/07/2019, pág. 95/135
32/50 apropriado. Em algumas implementações, várias etapas do método (400) podem ser executadas em paralelo, em combinação, em alças (loops), ou em qualquer ordem.
[0094] Em (412), um cliente (420) associado a uma rede blockchain alvo (410) gera uma solicitação para operar dados cross-chain de uma ou mais redes blockchain diferentes da rede blockchain alvo. A solicitação para operar dados cross-chain inclui lógicas computacionais de contrato inteligente para operar os dados cross-chain. Em algumas implementações, a solicitação para operar dados cross-chain pode ser escrita como um contrato inteligente. A solicitação para operar dados cross-chain pode ser um exemplo da solicitação para execução de um contrato inteligente conforme descrito em relação à Figura 3.
[0095] Em algumas implementações, as lógicas computacionais de contrato inteligente para operar os dados cross-chain são autoprojetadas pelo cliente, permitindo ao usuário liberdade e flexibilidade para especificar as lógicas computacionais de contrato inteligente para obter os propósitos do usuário, sem se limitar às lógicas computacionais definidas pela rede blockchain alvo. Nessas implementações, gerar a solicitação inclui projetar, pelo cliente, as lógicas computacionais de contrato inteligente para operar os dados cross-chain. Em algumas implementações, o cliente inclui um kit de desenvolvimento de software (SDK) que permite ao usuário escrever as lógicas computacionais de contrato inteligente. Em algumas implementações, as lógicas computacionais podem ser escritas em linguagem Solidity. Em algumas implementações, a solicitação para operar dados cross-chain é criptografada pelo cliente.
[0096] Em (414), um cliente (420) associado a uma rede blockchain alvo (410) envia a um provedor de serviço de contrato inteligente (430) a solicitação para operar dados cross-chain de uma ou mais redes blockchain diferentes da rede blockchain alvo (410). O provedor de serviço de
Petição 870190068195, de 18/07/2019, pág. 96/135
33/50 contrato inteligente (430) inclui um ambiente de execução de computação confiável (TEE). O provedor de serviço de contrato inteligente (430) está fora da rede blockchain alvo. Em algumas implementações, os dados de cross-chain são obtidos a partir de duas ou mais redes blockchain. Em algumas implementações, o provedor de serviço de contrato inteligente (430) inclui um servidor baseado em nuvem.
[0097] Em algumas implementações, a solicitação para visita de dados cross-chain é uma solicitação de visita de dados. Nessas implementações, o TEE recupera dados e retorna os dados para o cliente (420).
[0098] Em algumas implementações, além de recuperar os dados a partir de múltiplas redes blockchain, o TEE opera sobre os dados com base nas lógicas computacionais de contrato inteligente incluídas na solicitação. Em algumas implementações, o provedor de serviço de contrato inteligente (430) pode configurar o TEE, por exemplo, incorporando um EVM dentro do TEE, para o TEE executar corretamente as lógicas computacionais de contrato inteligente incluídas na solicitação.
[0099] Em algumas implementações, antes de enviar a solicitação para operar os dados cross-chain, em (426), o cliente (420) verifica o provedor de serviço de contrato inteligente (430) que é capaz de executar as lógicas computacionais de contrato inteligente de uma maneira segura. Em algumas implementações, este processo de verificação inclui: o provedor de serviço de contrato inteligente (430) prova para o cliente (420) que o provedor de serviço de contrato inteligente (430) inclui o TEE; e o provedor de serviço de contrato inteligente (430) prova para o cliente (420) que o TEE inclui uma máquina virtual operável para executar as lógicas computacionais de contrato inteligente na solicitação para operar dados cross-chain.
[00100] Por exemplo, o TEE pode ser Intel® SGX. Neste exemplo, se o provedor de serviço de contrato inteligente (430) inclui o SGX é provado por
Petição 870190068195, de 18/07/2019, pág. 97/135
34/50 uma assinatura e serviço de verificação fornecido pela Intel®. Além disso, para provar o TEE inclui uma EVM necessária, o TEE calcula uma dispersão (hash) do chamado script e codifica a EVM e envia a dispersão (hash) para o cliente (420) para verificação. Devido ao cliente (420) também ter um conjunto de códigos de EVM completos, ele também pode calcular um valor de dispersão (hash) do script e os códigos da EVM que tem, e comparar se os dois valores de dispersão (hash) são consistentes.
[00101] Em algumas implementações, antes de gerar a solicitação, o cliente (420) e o provedor de serviço de contrato inteligente (430) podem configurar um par de chaves. Portanto, após o provedor de serviço de contrato inteligente (430) receber a solicitação assinada por uma das chaves, ele pode descriptografar a solicitação pela outra chave do par. Em (428), o provedor de serviço de contrato inteligente (430) descriptografa e analisa a solicitação recebida. Em algumas implementações, a solicitação é escrita em um formato de dados predefinido durante o desenvolvimento, e nesses casos, a solicitação é analisada por cada segmento de dados.
[00102] Em (435), o provedor de serviço de contrato inteligente (430) envia uma solicitação para os dados cross-chain para um provedor de serviço de visitação de dados (440) para obter os dados cross-chain que são especificados na solicitação para operar os dados cross-chain. Em algumas implementações, antes de enviar a solicitação para o provedor de serviço de visitação de dados (440), o provedor de serviço de contrato inteligente (430) verifica se o provedor de serviço de visitação de dados confiável (440) é capaz de fornecer dados cross-chain confiáveis de uma ou mais redes blockchain diferentes da rede blockchain alvo. Em algumas implementações, este processo de verificação inclui que o prestador de serviço de contrato inteligente (430) verifica que o provedor de serviço de visitação de dados (440) inclui um TEE.
[00103] Em algumas implementações, antes de enviar a
Petição 870190068195, de 18/07/2019, pág. 98/135
35/50 solicitação para o provedor de serviço de visitação de dados (440), em (434), o provedor de serviço de visitação de dados (440) e o provedor de serviço de contrato inteligente (430) podem realizar um processo de verificação para estabelecer confiança entre os dois. Em algumas implementações, este processo de verificação inclui o provedor de serviço de contrato inteligente (430) para o provedor de serviço de visita de dados (440) que o provedor de serviço de contrato inteligente (430) inclui o TEE. Em algumas implementações, em ambas as etapas de (432) e (434), verificar/provar a existência de TEE pode ser realizado pelo mesmo método, conforme referido na etapa (426).
[00104] Em (436), o provedor de serviço de visitação de dados (440) solicita dados de uma ou mais redes blockchain (450) diferentes da rede blockchain alvo (410).
[00105] Em (438), o provedor de serviço de visitação de dados (440) recebe os dados de uma ou mais redes blockchain (450) diferentes da rede blockchain alvo (410).
[00106] Em (439), o provedor de serviço de contrato inteligente (430) recebe os dados cross-chain a partir do provedor de serviço de visitação de dados (440). Em algumas implementações, os dados de cross-chain são obtidos a partir de duas ou mais redes blockchain.
[00107] Em (441), o TEE do provedor de serviço de contrato inteligente (430) gera um resultado com o uso dos dados cross-chain recebidos executando as lógicas computacionais de contrato inteligente. Em algumas implementações, o resultado é gerado pelo TEE que executa as lógicas computacionais de contrato inteligente com o uso dos dados cross-chain. Em algumas implementações, o EVM inclui executar o código no TEE para realizar cálculos com o uso das lógicas computacionais e dados recebidos.
[00108] Em (442), o provedor de serviço de contrato inteligente (430) assina o resultado. Em algumas implementações, o resultado é assinado
Petição 870190068195, de 18/07/2019, pág. 99/135
36/50 por uma chave privada. Por exemplo, o TEE inclui uma chave privada que é isolada a partir de componentes externos e outros do TEE. Em algumas implementações, a assinatura assinada pela chave privada é uma prova de que o resultado é gerado dentro do TEE. Em algumas implementações, após o provedor de serviço de contrato inteligente (430) assinar o resultado, o resultado de saída final inclui: o resultado gerado pelo TEE e um valor de dispersão (hash) do resultado assinado pela chave privada.
[00109] Em (443), o provedor de serviço de contrato inteligente (430) retorna o resultado para o cliente (420).
[00110] Em (444), o cliente (420) descriptografa o resultado recebido. Em algumas implementações, o cliente (420) descriptografa o resultado recebido com o uso de uma chave pública que corresponde à chave privada. Nessas implementações, o resultado recebido contém o resultado gerado pelo TEE e, assinou o valor de dispersão (hash) desse resultado. Nessas implementações, o cliente (420) calcula um valor de dispersão (hash) do resultado gerado pelo TEE com o uso da chave privada, e compara-o com o valor de dispersão (hash) assinado desse resultado para ver se eles são consistentes.
[00111] Em (446), o cliente (420) envia uma transação para a rede blockchain alvo (410) com base no resultado recebido. Em algumas implementações, o cliente (420) carrega (uploads) a transação para a rede blockchain alvo (410), para atualizar o estado do cliente (420) ou realizar uma transação na rede blockchain alvo (410).
[00112] Em algumas implementações, em (452), o provedor de serviço de contrato inteligente (430) carrega (uploads) o resultado para a rede blockchain alvo (410). Em algumas implementações, antes de carregar (uploading) o resultado para a rede blockchain alvo, em (448), o provedor de serviço de contrato inteligente prova para a rede blockchain alvo, que o provedor
Petição 870190068195, de 18/07/2019, pág. 100/135
37/50 de serviço de contrato inteligente inclui o TEE. O método usado no presente pedido para verificação pode ser o mesmo que o usado na etapa (426).
[00113] Referindo-se à Figura 5, a Figura 5 representa um exemplo de um diagrama que ilustra módulos de um aparelho (500) de acordo com implementações do relatório descritivo. O aparelho (500) pode ser um exemplo de implementação de um provedor de serviço de contrato inteligente que inclui um ambiente de execução de computação confiável (TEE), em que o provedor de serviço de contrato inteligente está fora a rede blockchain alvo. O aparelho (500) para operação de dados cross-chain pode ser usado em um sistema de contrato inteligente off-chain baseado na tecnologia de rede blockchain. O aparelho (500) pode corresponder à implementação mostrada nas Figuras 3 e 4 e o aparelho (500) inclui o seguinte: um primeiro receptor ou unidade receptora (510), configurada para receber, a partir de um cliente associado a uma rede blockchain alvo, uma solicitação para operar dados crosschain de uma ou mais redes blockchain diferentes da rede blockchain alvo; um transmissor ou unidade de transmissão (520), configurada para enviar uma solicitação para os dados cross-chain; um segundo receptor ou unidade receptora (530), configurada para receber dados cross-chain a partir do provedor de serviço de visitação de dados; um gerador ou unidade geradora (540), configurada para gerar os dados cross-chain a partir dos dados do provedor de serviço de visitação; e uma interface de usuário (550), configurada para retornar o resultado para o cliente.
[00114] Em uma implementação adicional, a solicitação para operar dados cross-chain inclui lógicas computacionais de contrato inteligente para operar os dados cross-chain.
[00115] Em uma implementação adicional, as lógicas computacionais de contrato inteligente para operar os dados cross-chain são autoprojetadas pelo cliente.
Petição 870190068195, de 18/07/2019, pág. 101/135
38/50 [00116] Em uma implementação opcional, o aparelho (500) ainda inclui o seguinte: uma primeira subunidade de fornecimento, configurada para possibilitar que o TEE inclua uma máquina virtual operável para executar as lógicas computacionais de contrato inteligente na solicitação para operar dados cross-chain.
[00117] Em uma implementação opcional, antes de receber uma solicitação para operar dados cross-chain do cliente, o aparelho ainda inclui o seguinte: uma segunda subunidade de fornecimento, configurada para possibilitar que o provedor de serviço de contrato inteligente inclui o TEE.
[00118] Em uma implementação opcional, o aparelho (500) ainda inclui o seguinte: uma terceira subunidade de fornecimento, configurada para possibilitar que o provedor de serviço de contrato inteligente inclui o TEE; e uma subunidade de verificação, configurada para verificar se o provedor de serviço de visitação de dados inclui um TEE.
[00119] Em uma implementação opcional, o aparelho (500) ainda inclui o seguinte: uma subunidade de carregamento (uploading), configurada para carregar (upload) o resultado para a rede blockchain alvo.
[00120] Em uma implementação opcional, antes de carregar (uploading) o resultado para a rede blockchain alvo, o aparelho (500) ainda inclui o seguinte: uma quarta subunidade de fornecimento, configurada para possibilitar que o provedor de serviço de contrato inteligente inclui o TEE.
[00121] Em uma implementação, o provedor de serviço de contrato inteligente inclui um servidor baseado na nuvem.
[00122] Em uma implementação opcional, os dados cross-chain são obtidos a partir de duas ou mais redes blockchain.
[00123] Referindo-se à Figura 6, a Figura 6 representa um exemplo de um diagrama que ilustra módulos de outro aparelho (600) de acordo com implementações do relatório descritivo. O aparelho (600) pode ser um
Petição 870190068195, de 18/07/2019, pág. 102/135
39/50 exemplo de implementação de um cliente associado a uma rede blockchain alvo. O aparelho (600) pode ser usado em um sistema de contrato inteligente off-chain baseado na tecnologia de rede blockchain. O aparelho (600) pode corresponder à implementação mostrada nas Figuras 3 e 4 e o aparelho (600) inclui o seguinte: um gerador ou unidade de geração (610), configurados para gerar uma solicitação para operar dados cross-chain de uma ou mais redes blockchain diferentes da rede blockchain alvo, em que a solicitação para operar dados cross-chain inclui lógicas computacionais de contrato inteligente para operar os dados cross-chain; um transmissor ou unidade de transmissão (620) configurados para enviar a solicitação para operar dados cross-chain para o provedor de serviço de contrato inteligente que compreende um ambiente de execução de computação confiável (TEE), em que o provedor de serviço de contrato inteligente está desligado da rede blockchain alvo; e um receptor ou unidade de receptora (630), configurado para receber um resultado a partir do provedor de serviço de contrato inteligente, em que o resultado é gerado pelo TEE usando os dados cross-chain obtidos pelo provedor de serviço de contrato inteligente.
[00124] Em uma implementação opcional, o aparelho (600) ainda inclui o seguinte: uma primeira subunidade, configurada para enviar o resultado recebido para a rede blockchain alvo.
[00125] Em uma implementação opcional, antes de enviar a solicitação para operar dados cross-chain para o provedor de serviço de contrato inteligente, o aparelho (600) ainda inclui o seguinte: uma subunidade de verificação, configurada para verificar se o TEE inclui uma máquina virtual operável para executar as lógicas computacionais de contrato inteligente na solicitação para operar os dados cross-chain.
[00126] Em uma implementação opcional, o aparelho (600) ainda inclui o seguinte: uma subunidade de projeto, configurada para projetar as
Petição 870190068195, de 18/07/2019, pág. 103/135
40/50 lógicas computacionais de contrato inteligente para operar os dados cross-chain.
[00127] Em uma implementação adicional, o cliente inclui um kit de desenvolvimento de software (SDK).
[00128] Em uma implementação opcional, o resultado é assinado pelo TEE com o uso de uma chave privada, o aparelho (600) ainda inclui o seguinte: uma subunidade de descriptografia configurada para descriptografar o resultado recebido com o uso de uma chave pública que corresponde à chave privada.
[00129] Em uma implementação opcional, antes de enviar a solicitação para operar dados cross-chain para o provedor de serviço de contrato inteligente, o aparelho (600) ainda inclui o seguinte: Uma unidade de criptografia, configurada para criptografar a solicitação para operar dados cross-chain.
[00130] Em uma implementação opcional, os dados cross-chain são obtidos a partir de duas ou mais redes blockchain.
[00131] O sistema, aparelho, módulo ou unidade ilustrado nas implementações anteriores pode ser implementado com o uso de um chip de computador ou de uma entidade, ou pode ser implementado com o uso de um produto que tem uma certa função. Um dispositivo de implementação típico é um computador, e o computador pode ser um computador pessoal, um computador portátil, um telefone celular, um telefone com câmera, um smartphone, um assistente pessoal digital, um reprodutor de mídia, um dispositivo de navegação, um dispositivo que recebe e envia e-mail, um console de jogo, um tablet, um dispositivo portátil ou qualquer combinação destes dispositivos.
[00132] Para um processo de implementação de funções e papéis de cada unidade no aparelho, podem ser feitas referências a um processo de implementação de etapas correspondentes no método anterior. Os detalhes são omitidos no presente pedido para simplificar.
[00133] Devido a uma implementação do aparelho corresponder
Petição 870190068195, de 18/07/2019, pág. 104/135
41/50 basicamente a uma implementação do método, para partes relacionadas, podem ser feitas referências relacionadas as descrições na implementação do método. A implementação do aparelho anteriormente descrito é meramente um exemplo. As unidades descritas como partes separadas podem ou não ser fisicamente separadas, e as partes exibidas como unidades podem ou não ser unidades físicas, podem ser localizadas em uma posição, ou podem ser distribuídas em um número de unidades de rede. Alguns ou todos os módulos podem ser selecionados com base nas demandas reais para atingir os objetivos das soluções do relatório descritivo. Um técnico no assunto pode compreender e implementar as implementações do presente pedido sem esforços criativos.
[00134] A Figura 5 é um diagrama esquemático que ilustra um módulo funcional interno e uma estrutura de um aparelho de operação de dados cross-chain. O aparelho de operação de dados cross-chain pode ser um exemplo de um provedor de serviço de contrato inteligente que compreende um ambiente de execução de computação confiável (TEE). Um corpo de execução, em essência, pode ser um dispositivo eletrônico e o dispositivo eletrônico inclui o seguinte: um ou mais processadores; e uma memória configurada para armazenar instruções executáveis de um ou mais processadores.
[00135] receber, por um provedor de serviço de contrato inteligente (smart contract) que compreende um ambiente de execução de computação confiável (TEE) de um cliente associado a uma rede blockchain alvo, uma solicitação para operar dados cross-chain de uma ou mais redes de cadeia de blocos diferentes da rede de cadeia de blocos alvo, em que o provedor de serviço de contrato inteligente está fora da rede de cadeia de blocos; enviar, pelo provedor de serviço de contrato inteligente para um provedor de serviço de visitação de dados, um pedido para os dados cross-chain; receber, pelo provedor de serviço de contrato inteligente, os dados cross-chain a partir do provedor de serviço de visitação de dados; gerar, pelo TEE, um resultado usando os dados
Petição 870190068195, de 18/07/2019, pág. 105/135
42/50 cross-chain; e retornar, pelo provedor de serviço de contrato inteligente, o resultado para o cliente.
[00136] Opcionalmente, a solicitação para operar dados crosschain inclui lógicas computacionais de contrato inteligente para operar os dados cross-chain.
[00137] Opcionalmente, as lógicas computacionais de contrato inteligente para operar os dados cross-chain são autoprojetadas pelo cliente.
[00138] Opcionalmente, o resultado é gerado pelo TEE que executa as lógicas computacionais de contrato inteligente com o uso dos dados cross-chain.
[00139] Opcionalmente, um ou mais processadores são configurados para provar para o cliente que o TEE inclui uma máquina virtual operável para executar as lógicas computacionais de contrato inteligente na solicitação para operar dados cross-chain.
[00140] Opcionalmente, antes de receber uma solicitação para operar dados cross-chain a partir do cliente, um ou mais processadores são configurados para provar para o cliente que o provedor de serviço de contrato inteligente inclui o TEE.
[00141] Opcionalmente, um ou mais processadores são configurados para provar para o provedor de serviço de visitação de dados que o provedor de serviço de contrato inteligente inclui o TEE; e verificar se o provedor de serviço de visitação de dados inclui um TEE.
[00142] Opcionalmente, um ou mais processadores são configurados para carregar (upload) o resultado para a rede blockchain alvo.
[00143] Opcionalmente, antes de carregar (uploading) o resultado para a rede blockchain alvo, um ou mais processadores são configurados para provar para a rede blockchain alvo, que o provedor de serviço de contrato inteligente inclui o TEE.
Petição 870190068195, de 18/07/2019, pág. 106/135
43/50 [00144] Opcionalmente, o provedor de serviço de contrato inteligente inclui um servidor baseado em nuvem.
[00145] Opcionalmente, o resultado é assinado pelo TEE com o uso de uma chave privada.
[00146] Opcionalmente, os dados cross-chain são obtidos a partir de duas ou mais redes blockchain.
[00147] A Figura 6 é um diagrama esquemático que ilustra um módulo funcional interno e uma estrutura de outro aparelho de operação de dados cross-chain. O outro aparelho de operação de dados cross-chain pode ser um exemplo de um cliente associado a uma rede blockchain alvo. Um corpo de execução, em essência, pode ser um dispositivo eletrônico e o dispositivo eletrônico inclui o seguinte: um ou mais processadores; e uma memória configurada para armazenar instruções executáveis de um ou mais processadores.
[00148] Um ou mais processadores são configurados para gerar uma solicitação para operar dados cross-chain de uma ou mais redes blockchain diferentes da rede blockchain alvo, em que a solicitação para operar dados cross-chain inclui lógicas computacionais de contrato inteligente para operar os dados cross-chain; enviar a solicitação para operar dados cross-chain para o provedor de serviço de contrato inteligente que compreende um ambiente de execução de computação confiável (TEE), em que o provedor de serviço de contrato inteligente está desligado da rede blockchain alvo; e receber um resultado a partir do provedor de serviço de contrato inteligente, em que o resultado é gerado pelo TEE usando os dados cross-chain obtidos pelo provedor de serviço de contrato inteligente.
[00149] Opcionalmente, um ou mais processadores são configurados para enviar o resultado recebido para a rede blockchain alvo.
[00150] Opcionalmente, antes de enviar a solicitação para operar
Petição 870190068195, de 18/07/2019, pág. 107/135
44/50 dados cross-chain para o provedor de serviço de contrato inteligente, um ou mais processadores são configurados para verificar se o provedor de serviço de contrato inteligente inclui o TEE.
[00151] Opcionalmente, um ou mais processadores são configurados para verificar se o TEE inclui uma máquina virtual operável para executar as lógicas computacionais de contrato inteligente na solicitação para operar os dados cross-chain.
[00152] Opcionalmente, o cliente inclui um kit de desenvolvimento de software (SDK).
[00153] Opcionalmente, o resultado é assinado pelo TEE com o uso de uma chave privada. Um ou mais processadores são configurados para descriptografar o resultado recebido com o uso de uma chave pública que corresponde à chave privada.
[00154] Opcionalmente, antes de enviar a solicitação para operar dados cross-chain para o provedor de serviço de contrato inteligente, um ou mais processadores são configurados para criptografar a solicitação para operar dados cross-chain.
[00155] Opcionalmente, os dados cross-chain são obtidos a partir de duas ou mais redes blockchain.
[00156] Implementações da matéria em questão e as ações e operações descritas neste relatório descritivo podem ser implementadas em circuitos eletrônicos digitais, em software ou firmware de computador tangivelmente incorporado, em hardware de computador, incluindo as estruturas divulgadas neste relatório descritivo e seus equivalentes estruturais ou em combinações de um ou mais deles. Implementações da matéria em questão descritas neste relatório descritivo podem ser implementadas em um ou mais programas de computador, por exemplo, um ou mais módulos de instruções de programa de computador, codificado em um portador de programa de
Petição 870190068195, de 18/07/2019, pág. 108/135
45/50 computador, para execução pela, ou para controlar a operação do aparelho de processamento de dados. O portador pode ser um meio de armazenamento de computador não transitório tangível. De maneira alternativa, ou em adição, ao portador pode ser um sinal propagado gerado artificialmente, por exemplo, um sinal elétrico, óptico ou eletromagnético gerado por máquina que é gerado para codificar informações para transmissão ao aparelho receptor adequado para execução por um aparelho de processamento de dados. O meio de armazenamento de computador pode ser ou ser parte de um dispositivo de armazenamento legível por máquina, um substrato de armazenamento legível por máquina, um dispositivo de memória de acesso aleatório ou serial, ou uma combinação de um ou mais destes. Um meio de armazenamento em computador não é um sinal propagado.
[00157] O termo “aparelho de processamento de dados” engloba todos os tipos de aparelhos, dispositivos e máquinas para processamento de dados, incluindo, a título de exemplo, um processador programável, um computador ou vários processadores ou computadores. O aparelho de processamento de dados pode incluir circuitos lógicos de uso específico, por exemplo, um FPGA (arranjo de portas programável em campo), um ASIC (circuito integrado de aplicação específica) ou uma GPU (unidade de processamento gráfico). O aparelho também pode incluir, em adição ao hardware, o código que cria um ambiente de execução para programas de computador, por exemplo, o código que constitui o firmware do processador, uma pilha de protocolos, um sistema de gerenciamento de banco de dados, um sistema operacional, ou uma combinação de um ou mais destes.
[00158] Um programa de computador, que também pode ser citado ou descrito como um programa, software, um aplicativo de software, um aplicativo (app), um módulo, um módulo de software, uma máquina, um script ou código, pode ser escrito sob qualquer forma de linguagem de programação,
Petição 870190068195, de 18/07/2019, pág. 109/135
46/50 incluindo linguagens compilados ou interpretadas, ou linguagens declarativas ou procedimentais; e pode ser instalado de qualquer forma, incluindo como um programa independente ou como um módulo, componente, máquina, sub-rotina, ou outra unidade adequada para executar em um ambiente de computação, cujo ambiente pode incluir um ou mais computadores interconectados por uma rede de comunicação de dados em uma ou mais localizações.
[00159] Um programa de computador pode, mas não precisa corresponder a um arquivo em um sistema de arquivos. Um programa de computador pode ser armazenado em uma porção de um arquivo que contém outros programas ou dados, por exemplo, um ou mais scripts armazenados em um documento de linguagem de marcação, em um único arquivo dedicado para o programa em questão, ou em múltiplos arquivos de coordenadas, por exemplo, arquivos que armazenam um ou mais módulos, subprogramas ou porções de código.
[00160] Os processos e fluxos lógicos descritos no relatório descritivo podem ser realizados por um ou mais computadores executando um ou mais programas de computador para realizar operações operando nos dados de entrada (input) e gerando saída (output). Os processos e fluxos lógicos também podem ser realizados por circuitos lógicos de uso específico, por exemplo, um FPGA, um ASIC ou uma GPU, ou por uma combinação de circuitos lógicos de uso específico e um ou mais computadores programados.
[00161] Computadores adequados para a execução de um programa de computador podem ser baseados em microprocessadores de uso geral ou específico, ou ambos, ou qualquer outro tipo de unidade de processamento central. Geralmente, uma unidade de processamento central receberá instruções e dados de uma memória somente de leitura ou uma memória de acesso aleatório, ou ambas. Elementos de um computador podem incluir uma unidade de processamento central para executar instruções e um ou
Petição 870190068195, de 18/07/2019, pág. 110/135
47/50 mais dispositivos de memória para armazenar instruções e dados. A unidade de processamento central e a memória podem ser suplementadas ou incorporadas em circuito lógico de uso específico.
[00162] Geralmente, um computador será acoplado a pelo menos um meio de armazenamento legível por computador não transitório (também citado como uma memória legível por computador). O meio de armazenamento acoplado ao computador pode ser um componente interno do computador (por exemplo, um disco rígido integrado) ou um componente externo (por exemplo, disco rígido de barramento serial universal (USB) ou um sistema de armazenamento acessado através de uma rede). Exemplos de meios de armazenamento podem incluir, por exemplo, discos magnéticos, magnético-ópticos ou óticos, unidades de estado sólido, recursos de armazenamento de rede, como sistemas de armazenamento em nuvem ou outros tipos de meio de armazenamento. No entanto, um computador não necessita ter esses dispositivos. Além disso, um computador pode ser incorporado em outro dispositivo, por exemplo, um telefone móvel, um assistente digital pessoal (PDA), um reprodutor de áudio ou vídeo móvel, um console de jogo, um receptor de Sistema de Posicionamento Global (GPS) ou um dispositivo de armazenamento portátil, por exemplo, uma pen drive de barramento serial universal (USB), para citar apenas alguns.
[00163] Para propiciar interação com o usuário, as implementações da matéria em questão descritas neste relatório descritivo podem ser implementados ou configuradas para se comunicar com um computador que tem um dispositivo de exibição, por exemplo, um monitor LCD (tela de cristal líquido), para exibir informações para o usuário, e um dispositivo de entrada pelo qual o usuário pode fornecer dados para o computador, por exemplo, um teclado e um dispositivo apontador, por exemplo, um mouse, trackball ou touchpad. Outros tipos de dispositivos podem ser usados para
Petição 870190068195, de 18/07/2019, pág. 111/135
48/50 propiciar interação com um usuário, bem como, por exemplo, retroinformação (feedback) fornecida para o usuário pode ser qualquer forma de retroinformação sensorial, por exemplo, retroinformação visual, retroinformação auditiva ou retroinformação tátil; e a entrada do usuário pode ser recebida de qualquer forma, incluindo entrada acústica, de fala ou tátil. Além disso, um computador pode interagir com um usuário enviando documentos e recebendo documentos a partir de um dispositivo que é usado pelo usuário; por exemplo, enviando páginas da web para um navegador web em um dispositivo do usuário em resposta a solicitações recebidos a partir do navegador web ou interagindo com um aplicativo em execução em um dispositivo do usuário, por exemplo, um smartphone ou tablet eletrônico. Além disso, um computador pode interagir com um usuário enviando mensagens de texto ou outras formas de mensagem para um dispositivo pessoal, por exemplo, um smartphone que está executando um pedido de transmissão de mensagens e recebendo mensagens responsivas do usuário em troca.
[00164] Este relatório descritivo usa o termo “configurado para” em conexão com sistemas, aparelhos e componentes de programa de computador. Para um sistema de um ou mais computadores ser configurado para executar operações ou ações específicas, significa que o sistema tem instalado em seu software, hardware, firmware ou uma combinação deles, que em operação fazem com que o sistema realize as operações ou ações. Para um ou mais programas de computador ser configurado para realizar operações ou ações específicas, significa que um ou mais programas incluem instruções que, quando executadas por aparelhos de processamento de dados, fazem com que o aparelho realize as operações ou ações. Para circuitos lógicos de uso específico serem configurados para executar operações ou ações específicas, significa que o circuito tem lógica eletrônica que realiza as operações ou ações.
[00165] Embora este relatório descritivo contém muitos detalhes
Petição 870190068195, de 18/07/2019, pág. 112/135
49/50 de implementação específicos, estes devem ser interpretados como limitações do escopo do que está sendo reivindicado, que é definido pelas reivindicações em si, mas de preferência como descrições de recursos que podem ser específicos para implementações específicas. Certas características que são descritas no relatório descritivo no contexto de implementações separadas também podem ser realizadas em combinação em uma implementação única. Por outro lado, várias características que são descritas no contexto de uma implementação única também podem ser realizadas em várias implementações separadamente ou em qualquer subcombinação adequada. Além disso, embora possam ser descritas características acima como agir em certas combinações e até mesmo ser inicialmente reivindicado como tal, uma ou mais características de uma combinação reivindicada pode, em alguns casos, ser excisada da combinação, e a reivindicação pode ser direcionada para uma subcombinação ou variação de uma subcombinação.
[00166] De maneira similar, enquanto as operações são representadas nas figuras e recitadas nas reivindicações em uma ordem específica, isto não deve ser entendido como exigência de que essas operações são realizadas na ordem específica mostrada ou em ordem sequencial, ou que todas as operações ilustradas sejam realizadas, para obter resultados desejáveis. Em certas circunstâncias, pode se ser vantajoso multitarefa e processamento paralelo. Além disso, a separação de vários módulos e componentes do sistema nas implementações descritas acima não deve ser entendida como exigindo essa separação em todas as implementações, e deve ser entendida que os componentes e sistemas de programa descritos geralmente podem ser integrados juntos em um único produto de software ou empacotado em vários produtos de software.
[00167] Foram descritas implementações específicas da matéria em questão. Outras implementações estão dentro do escopo das reivindicações
Petição 870190068195, de 18/07/2019, pág. 113/135
50/50 a seguir. Por exemplo, as ações recitadas nas reivindicações podem ser realizadas em uma ordem diferente e ainda obter resultados desejáveis. Como um exemplo, os processos representados nas figuras anexas não exigem necessariamente a ordem específica mostrada, ou ordem sequencial, para obter resultados desejáveis. Em alguns casos, pode se ser vantajoso multitarefa e processamento paralelo.

Claims (63)

  1. Reivindicações
    1. MÉTODO IMPLEMENTADO EM COMPUTADOR caracterizado pelo fato de compreender:
    receber, por um provedor de serviço de contrato inteligente que compreende um ambiente de execução de computação confiável (TEE) de um cliente associado a uma rede blockchain alvo, uma solicitação para operar dados cross-chain de uma ou mais redes blockchain diferentes da rede blockchain alvo, em que o provedor de serviço de contrato inteligente está fora da rede blockchain alvo;
    enviar, pelo provedor de serviço de contrato inteligente para um provedor de serviço de visitação de dados, uma solicitação para os dados crosschain:
    receber, pelo provedor de serviço de contrato inteligente, os dados cross-chain a partir do provedor de serviço de visitação de dados;
    gerar, pelo TEE, um resultado com o uso dos dados cross-chain: e retornar, pelo provedor de serviço de contrato inteligente, o resultado para o cliente.
  2. 2. MÉTODO IMPLEMENTADO EM COMPUTADOR, de acordo com a reivindicação 1, caracterizado pelo fato da solicitação para operar dados cross-chain compreender lógicas computacionais de contrato inteligente para operar os dados cross-chain.
  3. 3. MÉTODO IMPLEMENTADO EM COMPUTADOR, de acordo com a reivindicação 2, caracterizado pelo fato das lógicas computacionais de contrato inteligente para operar os dados cross-chain serem autoprojetadas pelo cliente.
  4. 4. MÉTODO IMPLEMENTADO EM COMPUTADOR, de acordo com a reivindicação 2, caracterizado pelo fato do resultado ser gerado pelo TEE que executa as lógicas computacionais de contrato inteligente usando
    Petição 870190068195, de 18/07/2019, pág. 115/135
    2/14 os dados cross-chain.
  5. 5. MÉTODO IMPLEMENTADO EM COMPUTADOR, de acordo com a reivindicação 2, caracterizado pelo fato de ainda compreender provar, pelo provedor de serviço de contrato inteligente para o cliente, que o TEE compreende uma máquina virtual operável para executar as lógicas computacionais de contrato inteligente na solicitação para operar dados crosschain.
  6. 6. MÉTODO IMPLEMENTADO EM COMPUTADOR, de acordo com a reivindicação 1, caracterizado pelo fato de ainda compreender:
    antes de receber uma solicitação para operar dados cross-chain a partir do cliente, provar, pelo provedor de serviço de contrato inteligente para o cliente, que o provedor de serviço de contrato inteligente inclui o TEE.
  7. 7. MÉTODO IMPLEMENTADO EM COMPUTADOR, de acordo com a reivindicação 1, caracterizado pelo fato de ainda compreender:
    provar, pelo serviço de contrato inteligente para o provedor de serviço de visitação de dados, que o provedor de serviço de contrato inteligente inclui o TEE; e verificar, pelo provedor de serviço de contrato inteligente, que o provedor de serviço de visitação de dados inclui um TEE.
  8. 8. MÉTODO IMPLEMENTADO EM COMPUTADOR, de acordo com a reivindicação 1, caracterizado pelo fato de ainda compreender:
    carregar (uploading), pelo provedor de serviço de contrato inteligente, o resultado para a rede blockchain alvo.
  9. 9. MÉTODO IMPLEMENTADO EM COMPUTADOR, de acordo com a reivindicação 8, caracterizado pelo fato de ainda compreender:
    antes de carregar (uploading) o resultado para a rede blockchain alvo, provar, pelo provedor de serviço de contrato inteligente para a rede blockchain alvo, que o provedor de serviço de contrato inteligente inclui o TEE.
    Petição 870190068195, de 18/07/2019, pág. 116/135
    3/14
  10. 10. MÉTODO IMPLEMENTADO EM COMPUTADOR, de acordo com a reivindicação 1, caracterizado pelo fato do provedor de serviço de contrato inteligente compreender um servidor baseado em nuvem.
  11. 11. MÉTODO IMPLEMENTADO EM COMPUTADOR, de acordo com a reivindicação 1, caracterizado pelo fato do resultado ser assinado pelo TEE com o uso de uma chave privada.
  12. 12. MÉTODO IMPLEMENTADO EM COMPUTADOR, de acordo com a reivindicação 1, caracterizado pelo fato dos dados cross-chain serem obtidos a partir de duas ou mais redes blockchain.
  13. 13. MÉTODO IMPLEMENTADO EM COMPUTADOR caracterizado pelo fato de compreender:
    gerar, por um cliente associado a uma rede blockchain alvo, uma solicitação para operar dados cross-chain de uma ou mais redes blockchain diferentes a partir da rede blockchain alvo, em que a solicitação para operar dados cross-chain compreende lógicas computacionais de contrato inteligente para operar os dados cross-chain;
    enviar, a partir do cliente, a solicitação para operar dados crosschain para um provedor de serviço de contrato inteligente que compreende um ambiente de execução de computação confiável (TEE), em que o provedor de serviço de contrato inteligente está fora da rede blockchain alvo; e receber, pelo cliente, um resultado a partir do provedor de serviço de contrato inteligente, em que o resultado é gerado pelo TEE com o uso dos dados cross-chain obtidos pelo provedor de serviço de contrato inteligente.
  14. 14. MÉTODO IMPLEMENTADO EM COMPUTADOR, de acordo com a reivindicação 13, caracterizado pelo fato de ainda compreender, enviar, pelo cliente, o resultado recebido para a rede blockchain alvo.
  15. 15. MÉTODO IMPLEMENTADO EM COMPUTADOR, de acordo com a reivindicação 13, caracterizado pelo fato de ainda compreender:
    Petição 870190068195, de 18/07/2019, pág. 117/135
    4/14 antes de enviar a solicitação para operar dados cross-chain para o provedor de serviço de contrato inteligente, verificar, pelo cliente, que o provedor de serviço de contrato inteligente inclui o TEE.
  16. 16. MÉTODO IMPLEMENTADO EM COMPUTADOR, de acordo com a reivindicação 15, caracterizado pelo fato de ainda compreender:
    verificar, pelo cliente, que o TEE compreende uma máquina virtual operável para executar as lógicas computacionais de contrato inteligente na solicitação para operar os dados cross-chain.
  17. 17. MÉTODO IMPLEMENTADO EM COMPUTADOR, de acordo com a reivindicação 13, caracterizado pelo fato de ainda compreender:
    projetar, pelo cliente, as lógicas computacionais de contrato inteligente para operar os dados cross-chain.
  18. 18. MÉTODO IMPLEMENTADO EM COMPUTADOR, de acordo com a reivindicação 13, caracterizado pelo fato do cliente compreender um kit de desenvolvimento de software (SDK).
  19. 19. MÉTODO IMPLEMENTADO EM COMPUTADOR, de acordo com a reivindicação 13, caracterizado pelo fato do resultado ser assinado pelo TEE com o uso de uma chave privada, o método compreendendo ainda descriptografar, pelo cliente, o resultado recebido com o uso de uma chave pública correspondente à chave privada.
  20. 20. MÉTODO IMPLEMENTADO EM COMPUTADOR, de acordo com a reivindicação 13, caracterizado pelo fato de ainda compreender:
    antes de enviar a solicitação para operar dados cross-chain para o provedor de serviço de contrato inteligente, criptografar, pelo cliente, a solicitação para operar dados cross-chain.
  21. 21. MÉTODO IMPLEMENTADO EM COMPUTADOR, de acordo com a reivindicação 13, caracterizado pelo fato dos dados cross-chain serem obtidos a partir de duas ou mais redes blockchain.
    Petição 870190068195, de 18/07/2019, pág. 118/135
    5/14
  22. 22. MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO acoplado a um ou mais computadores e configurado com instruções executáveis por um ou mais computadores para:
    receber, por um provedor de serviço de contrato inteligente que compreende um ambiente de execução de computação confiável (TEE) de um cliente associado a uma rede blockchain alvo, uma solicitação para operar dados cross-chain de uma ou mais redes blockchain diferentes da rede blockchain alvo, caracterizado pelo fato do provedor de serviço de contrato inteligente estar fora da rede blockchain alvo;
    enviar, pelo provedor de serviço de contrato inteligente para um provedor de serviço de visitação de dados, uma solicitação para os dados crosschain;
    receber, pelo provedor de serviço de contrato inteligente, os dados cross-chain a partir do provedor de serviço de visitação de dados;
    gerar, pelo TEE, um resultado com o uso dos dados cross-chain; e retornar, pelo provedor de serviço de contrato inteligente, o resultado para o cliente.
  23. 23. MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, de acordo com a reivindicação 22, caracterizado pelo fato da solicitação para operar dados cross-chain compreender lógicas computacionais de contrato inteligente para operar os dados cross-chain.
  24. 24. MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, de acordo com a reivindicação 23, caracterizado pelo fato das lógicas computacionais de contrato inteligente para operar os dados cross-chain serem autoprojetadas pelo cliente.
  25. 25. MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, de acordo com a reivindicação 23,
    Petição 870190068195, de 18/07/2019, pág. 119/135
    6/14 caracterizado pelo fato do resultado ser gerado pelo TEE que executa as lógicas computacionais de contrato inteligente usando os dados cross-chain.
  26. 26. MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, de acordo com a reivindicação 23, caracterizado pelo fato de ainda ser configurado com instruções executáveis por um ou mais computadores para:
    provar, pelo provedor de serviço de contrato inteligente para o cliente, que o TEE compreende uma máquina virtual operável para executar as lógicas computacionais de contrato inteligente na solicitação para operar dados cross-chain.
  27. 27. MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, de acordo com a reivindicação 22, caracterizado pelo fato de antes de receber uma solicitação para operar dados cross-chain do cliente, ainda ser configurado com instruções executáveis por um ou mais computadores para:
    provar, pelo provedor de serviço de contrato inteligente para o cliente, que o provedor de serviço de contrato inteligente inclui o TEE.
  28. 28. MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO de acordo com a reivindicação 22, caracterizado pelo fato de ainda ser configurado com instruções executáveis por um ou mais computadores para:
    provar, pelo serviço de contrato inteligente para o provedor de serviço de visitação de dados, que o provedor de serviço de contrato inteligente inclui o TEE; e verificar, pelo provedor de serviço de contrato inteligente, que o provedor de serviço de visitação de dados inclui um TEE.
  29. 29. MEIO, de armazenamento legível por computador não transitório, de acordo com a reivindicação 22, caracterizado pelo fato de ainda
    Petição 870190068195, de 18/07/2019, pág. 120/135
    7/14 ser configurado com instruções executáveis por um ou mais computadores para: carregar (upload), pelo provedor de serviço de contrato inteligente, o resultado para a rede blockchain alvo.
  30. 30. MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, de acordo com a reivindicação 29, caracterizado pelo fato de antes de carregar (upload) o resultado para a rede blockchain alvo, ainda ser configurado com instruções executáveis por um ou mais computadores para:
    provar, pelo provedor de serviço de contrato inteligente para a rede blockchain alvo, que o provedor de serviço de contrato inteligente inclui o TEE.
  31. 31. MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO de acordo com a reivindicação 22, caracterizado pelo fato do provedor de serviço de contrato inteligente compreender um servidor baseado em nuvem.
  32. 32. MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, de acordo com a reivindicação 22, caracterizado pelo fato do resultado ser assinado pelo TEE com o uso de uma chave privada.
  33. 33. MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, de acordo com a reivindicação 29, caracterizado pelo fato dos dados cross-chain serem obtidos a partir de duas ou mais redes blockchain.
  34. 34. MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO caracterizado por ser acoplado a um ou mais computadores e configurado com instruções executáveis por um ou mais computadores para:
    gerar, por um cliente associado a uma rede blockchain alvo, uma solicitação para operar dados cross-chain de uma ou mais redes blockchain
    Petição 870190068195, de 18/07/2019, pág. 121/135
    8/14 diferentes a partir da rede blockchain alvo, em que a solicitação para operar dados cross-chain compreende lógicas computacionais de contrato inteligente para operar os dados cross-chain;
    enviar, a partir do cliente, a solicitação para operar dados crosschain para um provedor de serviço de contrato inteligente que compreende um ambiente de execução de computação confiável (TEE), em que o provedor de serviço de contrato inteligente está fora da rede blockchain alvo; e receber, pelo cliente, um resultado a partir do provedor de serviço de contrato inteligente, em que o resultado é gerado pelo TEE com o uso dos dados cross-chain obtidos pelo provedor de serviço de contrato inteligente.
  35. 35. MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, de acordo com a reivindicação 34, caracterizado pelo fato de ainda ser configurado com instruções executáveis por um ou mais computadores para:
    enviar, pelo cliente, o resultado recebido para a rede blockchain alvo.
  36. 36. MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, de acordo com a reivindicação 35, caracterizado pelo fato de ainda ser configurado com instruções executáveis por um ou mais computadores para:
    antes de enviar a solicitação para operar dados cross-chain para o provedor de serviço de contrato inteligente, verificar, pelo cliente, que o provedor de serviço de contrato inteligente inclui o TEE.
  37. 37. MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, de acordo com a reivindicação 34, caracterizado pelo fato de ainda ser configurado com instruções executáveis por um ou mais computadores para:
    verificar, pelo cliente, que o TEE compreende uma máquina virtual
    Petição 870190068195, de 18/07/2019, pág. 122/135
    9/14 operável para executar as lógicas computacionais de contrato inteligente na solicitação para operar os dados cross-chain.
  38. 38. MEIO, de armazenamento legível por computador não transitório, de acordo com a reivindicação 34, caracterizado pelo fato de ainda ser configurado com instruções executáveis por um ou mais computadores para:
    projetar, pelo cliente, as lógicas computacionais de contrato inteligente para operar os dados cross-chain.
  39. 39. MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, de acordo com a reivindicação 34, caracterizado pelo fato do cliente compreender um kit de desenvolvimento de software (SDK).
  40. 40. MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, de acordo com a reivindicação 34, caracterizado pelo fato do resultado ser assinado pelo TEE com o uso de uma chave privada, além disso, configurado com instruções executáveis por um ou mais computadores para:
    descriptografar, pelo cliente, o resultado recebido com o uso de uma chave pública que corresponde à chave privada.
  41. 41. MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, de acordo com a reivindicação 34, caracterizado pelo fato de ainda ser configurado com instruções executáveis por um ou mais computadores para:
    antes de enviar a solicitação para operar dados cross-chain para o provedor de serviço de contrato inteligente, criptografar, pelo cliente, a solicitação para operar dados cross-chain.
  42. 42. MEIO DE ARMAZENAMENTO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, de acordo com a reivindicação 34, caracterizado pelo fato dos dados cross-chain serem obtidos a partir de duas ou
    Petição 870190068195, de 18/07/2019, pág. 123/135
    10/14 mais redes blockchain.
  43. 43. SISTEMA PARA FORNECER SERVIÇO DE CONTRATO INTELIGENTE, caracterizado pelo fato de compreender:
    uma interface configurada para receber, a partir de um cliente associado a uma rede blockchain alvo, uma solicitação para operar dados crosschain de uma ou mais redes blockchain diferentes da rede blockchain alvo, em que o sistema está fora da rede blockchain alvo; e um ambiente de execução de computação confiável (TEE), em que o TEE compreende:
    um ou mais computadores; e uma ou mais memórias legíveis por computador acopladas a um ou mais computadores e configuradas com instruções executáveis por um ou mais computadores para:
    enviar uma solicitação para os dados cross-chain para um provedor de serviço de visitação dados;
    receber os dados cross-chain a partir do provedor de serviço de visitação de dados; e gerar um resultado com o uso dos dados cross-chain; e em que a interface é configurada para retornar o resultado para o cliente.
  44. 44. SISTEMA, de acordo com a reivindicação 43, caracterizado pelo fato da solicitação para operar dados cross-chain compreender lógicas computacionais de contrato inteligente para operar os dados cross-chain.
  45. 45. SISTEMA, de acordo com a reivindicação 44, caracterizado pelo fato das lógicas computacionais de contrato inteligente para operar os dados cross-chain serem autoprojetadas pelo cliente.
  46. 46. SISTEMA, de acordo com a reivindicação 44, caracterizado pelo fato do resultado ser gerado pelo TEE que executa as lógicas
    Petição 870190068195, de 18/07/2019, pág. 124/135
    11/14 computacionais de contrato inteligente usando os dados cross-chain.
  47. 47. SISTEMA, de acordo com a reivindicação 44, caracterizado pelo fato das memórias legíveis por computador ainda serem configuradas com instruções executáveis por um ou mais computadores para:
    provar, pelo provedor de serviço de contrato inteligente para o cliente, que o TEE compreende uma máquina virtual operável para executar as lógicas computacionais de contrato inteligente na solicitação para operar dados cross-chain.
  48. 48. SISTEMA, de acordo com a reivindicação 43, antes de receber uma solicitação para operar dados cross-chain do cliente, caracterizado pelo fato das memórias legíveis por computador ainda serem configuradas com instruções executáveis por um ou mais computadores para:
    provar, pelo provedor de serviço de contrato inteligente para o cliente, que o provedor de serviço de contrato inteligente inclui o TEE.
  49. 49. SISTEMA, de acordo com a reivindicação 43, caracterizado pelo fato das memórias legíveis por computador ainda serem configuradas com instruções executáveis por um ou mais computadores para:
    provar, pelo serviço de contrato inteligente para o provedor de serviço de visitação de dados, que o provedor de serviço de contrato inteligente inclui o TEE; e verificar, pelo provedor de serviço de contrato inteligente, que o provedor de serviço de visitação de dados inclui um TEE.
  50. 50. SISTEMA, de acordo com a reivindicação 43, caracterizado pelo fato das memórias legíveis por computador ainda serem configuradas com instruções executáveis por um ou mais computadores para:
    carregar (upload), pelo provedor de serviço de contrato inteligente, o resultado para a rede blockchain alvo.
  51. 51. SISTEMA, de acordo com a reivindicação 50, antes de
    Petição 870190068195, de 18/07/2019, pág. 125/135
    12/14 carregar (upload) o resultado para a rede blockchain alvo, caracterizado pelo fato das memórias legíveis por computador ainda serem configuradas com instruções executáveis por um ou mais computadores para:
    provar, pelo provedor de serviço de contrato inteligente para a rede blockchain alvo, que o provedor de serviço de contrato inteligente inclui o TEE.
  52. 52. SISTEMA, de acordo com a reivindicação 43, caracterizado pelo fato do provedor de serviço de contrato inteligente compreender um servidor baseado em nuvem.
  53. 53. SISTEMA, de acordo com a reivindicação 43, caracterizado pelo fato do resultado ser assinado pelo TEE com o uso de uma chave privada.
  54. 54. SISTEMA, de acordo com a reivindicação 43, caracterizado pelo fato dos dados cross-chain serem obtidos a partir de duas ou mais redes blockchain.
  55. 55. SISTEMA, caracterizado pelo fato de compreender:
    um ou mais computadores; e uma ou mais memórias legíveis por computador acopladas a um ou mais computadores e configuradas com instruções executáveis por um ou mais computadores para:
    gerar, por um cliente associado a uma rede blockchain alvo, uma solicitação para operar dados cross-chain de uma ou mais redes blockchain diferentes a partir da rede blockchain alvo, em que a solicitação para operar dados cross-chain compreende lógicas computacionais de contrato inteligente para operar os dados cross-chain;
    enviar, a partir do cliente, a solicitação para operar dados crosschain para um provedor de serviço de contrato inteligente que compreende um ambiente de execução de computação confiável (TEE), em que o provedor de serviço de contrato inteligente está fora da rede blockchain alvo; e receber, pelo cliente, um resultado a partir do provedor de serviço
    Petição 870190068195, de 18/07/2019, pág. 126/135
    13/14 de contrato inteligente, em que o resultado é gerado pelo TEE com o uso dos dados cross-chain obtidos pelo provedor de serviço de contrato inteligente.
  56. 56. SISTEMA, de acordo com a reivindicação 55, caracterizado pelo fato das memórias legíveis por computador ainda serem configuradas com instruções executáveis por um ou mais computadores para:
    enviar, pelo cliente, o resultado recebido para a rede blockchain alvo.
  57. 57. SISTEMA, de acordo com a reivindicação 56, caracterizado pelo fato das memórias legíveis por computador ainda serem configuradas com instruções executáveis por um ou mais computadores para:
    antes de enviar a solicitação para operar dados cross-chain para o provedor de serviço de contrato inteligente, verificar, pelo cliente, que o provedor de serviço de contrato inteligente inclui o TEE.
  58. 58. SISTEMA, de acordo com a reivindicação 55, caracterizado pelo fato das memórias legíveis por computador ainda serem configuradas com instruções executáveis por um ou mais computadores para:
    verificar, pelo cliente, que o TEE compreende uma máquina virtual operável para executar as lógicas computacionais de contrato inteligente na solicitação para operar os dados cross-chain.
  59. 59. SISTEMA, de acordo com a reivindicação 55, caracterizado pelo fato das memórias legíveis por computador ainda serem configuradas com instruções executáveis por um ou mais computadores para:
    projetar, pelo cliente, as lógicas computacionais de contrato inteligente para operar os dados cross-chain.
  60. 60. SISTEMA, de acordo com a reivindicação 55, caracterizado pelo fato do cliente compreender um kit de desenvolvimento de software (SDK).
  61. 61. SISTEMA, de acordo com a reivindicação 55, caracterizado pelo fato do resultado ser assinado pelo TEE com o uso de uma chave privada,
    Petição 870190068195, de 18/07/2019, pág. 127/135
    14/14 as memórias legíveis por computador ainda são configuradas com instruções executáveis por um ou mais computadores para:
    descriptografar, pelo cliente, o resultado recebido com o uso de uma chave pública que corresponde à chave privada.
  62. 62. SISTEMA, de acordo com a reivindicação 55, caracterizado pelo fato das memórias legíveis por computador ainda serem configuradas com instruções executáveis por um ou mais computadores para:
    antes de enviar a solicitação para operar dados cross-chain para o provedor de serviço de contrato inteligente, criptografar, pelo cliente, a solicitação para operar dados cross-chain.
  63. 63. SISTEMA, de acordo com a reivindicação 55, caracterizado pelo fato dos dados cross-chain serem obtidos a partir de duas ou mais redes blockchain.
BR112019014847A 2018-12-13 2018-12-13 método implementado em computador, meio de armazenamento legível por computador não transitório e sistema para fornecer serviço de contrato inteligente BR112019014847A2 (pt)

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
BR112019014847A2 true BR112019014847A2 (pt) 2020-04-14

Family

ID=66100022

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019014847A BR112019014847A2 (pt) 2018-12-13 2018-12-13 método implementado em computador, meio de armazenamento legível por computador não transitório e sistema para fornecer serviço de contrato inteligente

Country Status (14)

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

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10728020B2 (en) * 2018-01-24 2020-07-28 Sensoriant, Inc. Efficient mining operations in blockchain environments with non-secure devices
US10764052B2 (en) 2018-01-24 2020-09-01 Sensoriant, Inc. User identity and trust models in decentralized and distributed systems
US11218315B2 (en) 2018-01-24 2022-01-04 Safeshare, Inc. System and method establishing a trust model for shared content on the internet
US10686601B2 (en) * 2018-01-24 2020-06-16 Sensoriant, Inc. Consistency and consensus management in decentralized and distributed systems
EP3791545A1 (en) * 2018-05-05 2021-03-17 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
US11546348B2 (en) * 2018-12-27 2023-01-03 Silver Rocket Data Technology (Shanghai) Co., Ltd. Data service system
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
US11108559B2 (en) * 2019-01-02 2021-08-31 International Business Machines Corporation Producing proof of receipt, existence and other data provenance evidence
AU2019204708B2 (en) 2019-03-27 2020-08-20 Advanced New Technologies Co., Ltd. Retrieving public data for blockchain networks using highly available trusted execution environments
WO2019179541A2 (en) * 2019-03-27 2019-09-26 Alibaba Group Holding Limited Improving integrity of communications between blockchain networks and external data sources
SG11201908983WA (en) 2019-03-29 2019-10-30 Alibaba Group Holding Ltd Retrieving access data for blockchain networks using highly available trusted execution environments
EP3632082B1 (en) * 2019-04-19 2023-09-06 Advanced New Technologies Co., Ltd. Methods and devices for establishing communication between blockchain networks
CN111095256B (zh) * 2019-04-26 2023-12-01 创新先进技术有限公司 在可信执行环境中安全地执行智能合约操作
CN109922162B (zh) * 2019-04-26 2021-09-28 山东建筑大学 一种基于区块链的扁平化建筑设备物联网监控系统及方法
JP6869374B2 (ja) * 2019-04-26 2021-05-12 アドバンスド ニュー テクノロジーズ カンパニー リミテッド トラステッド実行環境のための分散型鍵管理
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
CN110347750B (zh) * 2019-06-28 2023-06-13 创新先进技术有限公司 基于区块链的数据处理方法和装置
US10937096B2 (en) 2019-07-15 2021-03-02 Advanced New Technologies Co., Ltd. Transaction processing in a service blockchain
CN110471984B (zh) 2019-07-15 2020-08-25 阿里巴巴集团控股有限公司 基于区块链的业务处理方法及装置、电子设备
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 杭州趣链科技有限公司 一种异构区块链可插拔的跨链桥接方法、设备和存储介质
CN111222157B (zh) * 2019-10-30 2021-03-23 支付宝(杭州)信息技术有限公司 区块链隐私数据的查询方法及装置
US11349637B2 (en) 2019-11-04 2022-05-31 International Business Machines Corporation Random node selection for permissioned blockchain
WO2020035089A2 (en) 2019-11-08 2020-02-20 Alipay (Hangzhou) Information Technology Co., Ltd. System and method for blockchain-based decentralized application development
WO2020035090A2 (en) 2019-11-08 2020-02-20 Alipay (Hangzhou) Information Technology Co., Ltd. Lightweight decentralized application platform
CN111475827A (zh) * 2019-11-08 2020-07-31 支付宝(杭州)信息技术有限公司 基于链下授权的隐私数据查询方法及装置
CN110888935A (zh) * 2019-11-12 2020-03-17 北京芯际科技有限公司 一种基于区块链的数据交易方法
EP4055774A1 (en) * 2019-12-05 2022-09-14 Huawei Technologies Co., Ltd. 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 杭州趣链科技有限公司 联盟区块链中从外部数据源获取外部数据的方法和装置
EP3846062A1 (en) * 2020-01-06 2021-07-07 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 北京百度网讯科技有限公司 一种基于区块链的数据处理方法、装置、设备和介质
CN111352706B (zh) * 2020-02-28 2023-09-15 百度在线网络技术(北京)有限公司 一种数据访问方法、装置、设备及存储介质
CN111090874B (zh) * 2020-03-18 2020-09-01 支付宝(杭州)信息技术有限公司 调用合约的方法及装置
CN111090888B (zh) * 2020-03-18 2020-07-07 支付宝(杭州)信息技术有限公司 验证合约的方法及装置
CN111092726B (zh) * 2020-03-18 2020-07-28 支付宝(杭州)信息技术有限公司 生成共享合约密钥的方法及装置
CN111047450A (zh) * 2020-03-18 2020-04-21 支付宝(杭州)信息技术有限公司 链上数据的链下隐私计算方法及装置
CN112329041B (zh) * 2020-03-18 2024-01-23 支付宝(杭州)信息技术有限公司 部署合约的方法及装置
CN111092727B (zh) * 2020-03-18 2020-07-17 支付宝(杭州)信息技术有限公司 共享集群密钥的方法及装置
CN111898153B (zh) * 2020-03-18 2024-05-03 支付宝(杭州)信息技术有限公司 调用合约的方法及装置
CN111092914B (zh) * 2020-03-18 2020-06-26 支付宝(杭州)信息技术有限公司 访问外部数据的方法及装置
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 武汉理工大学 基于区块链技术的专利技术转化运营平台及交易方法
CN111541785B (zh) * 2020-07-08 2021-05-04 支付宝(杭州)信息技术有限公司 基于云计算的区块链数据处理方法及装置
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 北京百度网讯科技有限公司 跨链数据验证方法、装置、设备及介质
US11700125B2 (en) 2020-10-05 2023-07-11 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 서울대학교산학협력단 클라우드 내 증명가능한 데이터 삭제를 위한 추적성 보장 장치 및 방법
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 株式会社日立製作所 データ管理システム及びデータ管理方法

Family Cites Families (38)

* 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
US20190188700A1 (en) * 2017-12-15 2019-06-20 Fmr Llc Social Data Tracking Datastructures, Apparatuses, Methods and Systems
US11436598B2 (en) * 2017-12-15 2022-09-06 Fmr Llc Social data tracking datastructures, apparatuses, methods and systems
WO2017136452A1 (en) * 2016-02-01 2017-08-10 Qualcomm Incorporated Programmable distributed data processing in a serial link
US20170344988A1 (en) * 2016-05-24 2017-11-30 Ubs Ag System and method for facilitating blockchain-based validation
US11829998B2 (en) * 2016-06-07 2023-11-28 Cornell University Authenticated data feed for blockchains
US10108954B2 (en) * 2016-06-24 2018-10-23 PokitDok, Inc. System and method for cryptographically verified data driven contracts
WO2018006072A1 (en) * 2016-06-30 2018-01-04 Clause, Inc. Systems and method for forming, storing, managing,and executing contracts
AU2017315345B2 (en) * 2016-08-23 2022-01-06 BBM Health LLC Blockchain-based mechanisms for secure health information resource exchange
US20180089758A1 (en) * 2016-09-26 2018-03-29 Shapeshift Ag System and method of providing a contract-creator application
RU2639015C1 (ru) * 2017-01-26 2017-12-19 Игорь Сан-Сенович Дю Способ контроля подлинности и качества продукции в процессе производства и реализации
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
US20180308072A1 (en) * 2017-04-21 2018-10-25 Gem 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
CN108898390B (zh) * 2018-06-27 2021-01-12 创新先进技术有限公司 基于区块链的智能合约调用方法及装置、电子设备
CN108694669A (zh) * 2018-07-18 2018-10-23 矩阵元技术(深圳)有限公司 一种区块链智能合约实现方法及装置

Also Published As

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

Similar Documents

Publication Publication Date Title
BR112019014847A2 (pt) método implementado em computador, meio de armazenamento legível por computador não transitório e sistema para fornecer serviço de contrato inteligente
JP6690066B2 (ja) パブリックサイドチェーンを使用してコンソーシアムブロックチェーンに記憶されたデータの完全性を検証すること
US11153072B2 (en) Processing blockchain data based on smart contract operations executed in a trusted execution environment
TWI707245B (zh) 使用高可用性的可信執行環境檢索區塊鏈網路的存取資料
KR102263325B1 (ko) 신뢰 실행 환경에서 스마트 계약 동작을 안전하게 실행하는 방법
ES2872101T3 (es) Gestión de claves distribuidas para entornos de ejecución confiables
US10860710B2 (en) Processing and storing blockchain data under a trusted execution environment
BR112019016064A2 (pt) Método implementado por computador, meio de armazenamento legível e sistema
CN110417750B (zh) 基于区块链技术的文件读取和存储的方法、终端设备和存储介质
BR112019016290A2 (pt) método implementado por computador, meio de armazenamento não transitório legível por computador e sistema
US20190027237A1 (en) Blockchain network for secure exchange of healthcare information
BR112019016188A2 (pt) método implementado por computador para o controle do acesso aos contratos inteligentes, meio de armazenamento legível por computador não transitório e sistema
CN111066019A (zh) 处理存储在区块链网络中的数据元素
US20220182237A1 (en) Entangled token structure for blockchain networks
CN117043772A (zh) 区块链数据分离

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD. (KY)

B25A Requested transfer of rights approved

Owner name: ADVANCED NEW TECHNOLOGIES CO., LTD. (KY)

B350 Update of information on the portal [chapter 15.35 patent gazette]
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 5A ANUIDADE.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: EM VIRTUDE DO ARQUIVAMENTO PUBLICADO NA RPI 2753 DE 10-10-2023 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDO O ARQUIVAMENTO DO PEDIDO DE PATENTE, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.