ES2869166T3 - Comercio de activos cruzados dentro de redes de cadena de bloques - Google Patents

Comercio de activos cruzados dentro de redes de cadena de bloques Download PDF

Info

Publication number
ES2869166T3
ES2869166T3 ES19717101T ES19717101T ES2869166T3 ES 2869166 T3 ES2869166 T3 ES 2869166T3 ES 19717101 T ES19717101 T ES 19717101T ES 19717101 T ES19717101 T ES 19717101T ES 2869166 T3 ES2869166 T3 ES 2869166T3
Authority
ES
Spain
Prior art keywords
node
value
transaction
blockchain network
data
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES19717101T
Other languages
English (en)
Inventor
Wenbin Zhang
Hao Lei
Lichun Li
Zhangjie Huang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Original Assignee
Advanced New Technologies Co 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Application granted granted Critical
Publication of ES2869166T3 publication Critical patent/ES2869166T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/381Currency conversion
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06Q2220/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Technology Law (AREA)
  • Marketing (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

Un método (500) implementado por computadora para el comercio de activos cruzados privado en una red de cadena de bloques, el método es ejecutado por uno o más procesadores y comprende: generar (506), por un primer nodo en la red de cadena de bloques y utilizando cifrado de Boneh-Goh-Nissim, BGN, textos cifrados en base a un primer valor y un segundo valor, siendo determinado el segundo valor en base una multiplicación homomórfica del primer valor y un tipo de cambio cifrado proporcionado por un segundo nodo en la red de cadena de bloques, en donde los textos cifrados y el tipo de cambio cifrado están en una misma curva elíptica; transmitir (508), por el primer nodo al segundo nodo, el primer valor y los textos cifrados; recibir (510), por el primer nodo y desde el segundo nodo, un primer conjunto de evidencia que comprende un conjunto de datos que se pueden utilizar para verificar el tipo de cambio en una rutina de prueba de conocimiento cero, ZKP, sin revelar el tipo de cambio; generar (512), mediante el primer nodo, un segundo conjunto de evidencia que comprende un conjunto de datos que se pueden utilizar para verificar, utilizando la rutina ZKP, que los textos cifrados están cifrados por una clave pública BGN del primer nodo; definir, por el primer nodo, una transacción que comprende una primera transacción entre el primer nodo y el segundo nodo para la transferencia del primer valor desde el primer nodo al segundo nodo, y una segunda transacción entre el segundo nodo y un tercer nodo para la transferencia del segundo valor desde el segundo nodo al tercer nodo; y transmitir (514), por el primer nodo, la transacción a al menos un nodo de consenso de la red de cadena de bloques para la verificación y ejecución de la transacción, la transacción se verifica en base al primer conjunto de evidencia y al segundo conjunto de evidencia, y en respuesta a verificar la transacción, ejecutar la primera transacción y la segunda transacción para disminuir un saldo del primer nodo por el primer valor, aumentar un primer saldo del segundo nodo por el primer valor, disminuir un segundo saldo del segundo nodo por el segundo valor y aumentar el saldo del tercer nodo por el segundo valor.

Description

DESCRIPCIÓN
Comercio de activos cruzados dentro de redes de cadena de bloques
ANTECEDENTES
Los sistemas de contabilidad distribuida (DLS), que también pueden denominarse redes de consenso y/o redes de cadena de bloques, permiten a las entidades participantes almacenar datos de forma segura e inmutable. Los DLS se conocen comúnmente como redes de cadena de bloques sin hacer referencia a un caso de uso en particular. Los tipos de ejemplo de redes de cadena de bloques pueden incluir redes de cadena de bloques públicas, redes de cadena de bloques privadas y redes de cadena de bloques de consorcio. Una red de cadena de bloques pública está abierta para que todas las entidades utilicen el DLS y participen en el proceso de consenso. Se proporciona una red de cadena de bloques privada para una entidad particular, que controla de forma centralizada los permisos de lectura y escritura. Se proporciona una red de cadena de bloques de consorcio para un grupo selecto de entidades, que controlan el proceso de consenso e incluye una capa de control de acceso.
Las redes de cadena de bloques se pueden utilizar para negociar valor a través de la transferencia y el intercambio de activos digitales, tal como divisas. Se pueden intercambiar varios tipos diferentes de activos digitales dentro de una red de cadena de bloques transfiriendo los activos digitales desde un nodo de una red de cadena de bloques a otro nodo. En algunos casos, la transferencia de activos digitales dentro de una red de cadena de bloques implica el intercambio de un tipo de activo digital por un segundo tipo de activo digital en base a un tipo de cambio.
Sin embargo, los participantes en una red de cadena de bloques pueden desear privacidad en sus transacciones, de modo que otros participantes, incluidos los nodos de consenso, desconozcan los detalles de la transacción (p. ej., cantidades de transacciones, tipos de cambio). Para proporcionar privacidad, se pueden utilizar esquemas de cifrado. Sin embargo, algunos esquemas de cifrado no soportan operaciones de multiplicación, tal como la multiplicación homomórfica. Aunque algunos esquemas de cifrado soportan tales operaciones de multiplicación, están limitados a una sola operación de multiplicación. Esto inhibe la capacidad de los participantes en una transacción de activos cruzados que incluye, por ejemplo, un tipo de cambio, para mantener la privacidad del tipo de cambio.
El documento CN 108335106 A de publicación de Solicitud de Patente China da a conocer un método de transferencia de canje de libros múltiples de conocimiento cero en base a una cadena de bloques.
S. Park, R. Rivest: "Towards Secure Quadratic Voting" da a conocer el uso del cifrado Boneh-Goh-Nissim, BGN, en aplicaciones de cadena de bloques que requieren una sólida preservación de la privacidad.
RESUMEN
Las implementaciones de esta memoria descriptiva incluyen métodos implementados por computadora para transferir divisa dentro de una red de cadena de bloques. Más particularmente, las implementaciones de esta memoria descriptiva están dirigidas a transacciones de activos cruzados dentro de una red de cadena de bloques utilizando datos de transacciones cifrados y tipos de cambio cifrados.
En algunas implementaciones, las acciones incluyen generar, por un primer nodo en la red de cadena de bloques y utilizando cifrado Boneh-Goh-Nissim (BGN), textos cifrados en base a un primer valor y un segundo valor, siendo el segundo valor determinado en base a una multiplicación homomórfica del primer valor y un tipo de cambio cifrado proporcionado por un segundo nodo en la red de cadena de bloques,
en donde los textos cifrados y el tipo de cambio cifrado están en una misma curva elíptica; transmitir, por el primer nodo al segundo nodo, el primer valor y los textos cifrados, recibir, por el primer nodo y desde el segundo nodo, un primer conjunto de evidencia que incluye un conjunto de datos que se pueden utilizar para verificar el tipo de cambio en un rutina de prueba de conocimiento cero (ZKP) sin revelar el tipo de cambio, generar, por el primer nodo, un segundo conjunto de evidencia que incluye un conjunto de datos que se pueden utilizar para verificar, utilizando la rutina ZKP, que los textos cifrados están cifrados por una clave pública de BGN del primer nodo, definir, por el primer nodo, una transacción que incluye una primera transacción entre el primer nodo y el segundo nodo para la transferencia del primer valor desde el primer nodo al segundo nodo, y una segunda transacción entre el segundo nodo y un tercer nodo para transferir el segundo valor desde el segundo nodo al tercer nodo, y transmitir, por el primer nodo, la transacción a al menos un nodo de consenso de la red de cadena de bloques para la verificación y ejecución de la transacción, verificándose la transacción en base al primer conjunto de evidencia y el segundo conjunto de evidencia, y en respuesta a la verificación de la transacción, ejecutar la primera transacción y la segunda transacción para disminuir un saldo del primer nodo por el primer valor, aumentar un primer saldo del segundo nodo por el primer valor, disminuir un segundo saldo del segundo nodo por el segundo valor y aumentar un saldo del tercer nodo por el segundo valor. Otras implementaciones incluyen sistemas, aparatos y programas informáticos correspondientes, configurados para realizar las acciones de los métodos, codificados en dispositivos de almacenamiento informáticos.
Cada una de estas y otras implementaciones puede incluir opcionalmente una o más de las siguientes características: el primer conjunto de evidencia lo proporciona el segundo nodo en base al primer valor, un par de números aleatorios proporcionados por el primer nodo y los textos cifrados; verificar la transacción por el al menos un nodo de consenso incluye verificar una firma digital del primer nodo y una firma digital del segundo nodo; verificar la transacción por el al menos un nodo de consenso incluye verificar una primera prueba de rango proporcionada por el primer nodo y una segunda prueba de rango proporcionada por el segundo nodo; la primera prueba de rango incluye una ZKP para probar que el primer valor es mayor que cero, y que el saldo del primer nodo es mayor o igual que el primer valor; la segunda prueba de rango incluye una ZKP para probar que el segundo saldo del segundo nodo es mayor o igual que el segundo valor; la transacción incluye además un conjunto de datos que incluye un conjunto de textos cifrados generados al menos parcialmente en base al cifrado BGN, utilizándose el conjunto de datos para verificar la transacción por el al menos un nodo de consenso; las acciones incluyen además recibir, por el primer nodo, el tipo de cambio del segundo nodo a través de un canal de subcadena de la red de cadena de bloques; al menos un texto cifrado de los textos cifrados se proporciona utilizando el Compromiso de Pedersen; el conjunto de datos del primer conjunto de evidencia incluye un primer valor de datos y un segundo valor de datos, determinándose cada uno del primer valor de datos y del segundo valor de datos en base a los parámetros utilizados para generar una clave pública BGN del segundo nodo; y el conjunto de datos del segundo conjunto de evidencia incluye un conjunto de textos cifrados y un conjunto de valores, basándose cada uno de los valores en el conjunto de valores al menos parcialmente en un resumen del conjunto de textos cifrados
Esta memoria descriptiva también proporciona uno o más medios de almacenamiento legibles por computadora no transitorios acoplados a uno o más procesadores y que tienen instrucciones almacenadas en los mismos que, cuando se ejecutan por uno o más procesadores, hacen que el uno o más procesadores realicen operaciones de acuerdo con las implementaciones de los métodos proporcionados en el presente documento.
Esta memoria descriptiva proporciona además un sistema para implementar los métodos proporcionados en el presente documento. El sistema incluye uno o más procesadores y un medio de almacenamiento legible por computadora acoplado al uno o más procesadores que tiene instrucciones almacenadas en el mismo que, cuando se ejecutan por el uno o más procesadores, hacen que el uno o más procesadores realicen operaciones de acuerdo con las implementaciones de los métodos proporcionados en el presente documento.
Se aprecia que los métodos de acuerdo con esta memoria descriptiva pueden incluir cualquier combinación de los aspectos y características descritos en el presente documento. Es decir, los métodos de acuerdo con esta memoria descriptiva no se limitan a las combinaciones de aspectos y características descritas específicamente en el presente documento, sino que también incluyen cualquier combinación de los aspectos y características proporcionados.
Los detalles de una o más implementaciones de esta memoria descriptiva se establecen en los dibujos adjuntos y la descripción a continuación. Otras características y ventajas de esta memoria descriptiva serán evidentes a partir de la descripción y los dibujos, y de las reivindicaciones.
El alcance de la protección está definido por las reivindicaciones.
DESCRIPCION DE LOS DIBUJOS
FIG. 1 muestra un ejemplo de un entorno que se puede utilizar para ejecutar implementaciones de esta memoria descriptiva.
FIG. 2 representa un ejemplo de una arquitectura conceptual de acuerdo con implementaciones de esta memoria descriptiva.
FIG. 3 representa un ejemplo de una plataforma de comercio de activos cruzados de acuerdo con implementaciones de esta memoria descriptiva.
FIG. 4 representa un ejemplo de un diagrama de señales para ejecutar una transacción de activos cruzados de acuerdo con implementaciones de esta memoria descriptiva.
FIG. 5 representa un ejemplo de un proceso que se puede ejecutar de acuerdo con implementaciones de esta memoria descriptiva.
FIG. 6 representa ejemplos de módulos de un aparato de acuerdo con implementaciones de esta memoria descriptiva.
Los símbolos de referencia similares en los diversos dibujos indican elementos similares.
DESCRIPCIÓN DETALLADA
Las implementaciones de esta memoria descriptiva incluyen métodos implementados por computadora para transferir activos dentro de una red de cadena de bloques. Más particularmente, las implementaciones de esta memoria descriptiva están dirigidas a transacciones de activos cruzados dentro de una red de cadena de bloques utilizando datos de transacciones cifrados y tipos de cambio cifrados.
Para proporcionar un contexto adicional para las implementaciones de esta memoria descriptiva, y como se introdujo anteriormente, los sistemas de contabilidad distribuida (DLS), que también pueden denominarse redes de consenso (p. ej., compuestas por nodos de igual a igual) y redes de cadena de bloques, permiten realizar a entidades participantes transacciones de forma segura e inmutable y almacenar datos. Aunque el término cadena de bloques se asocia generalmente con redes particulares y/o casos de uso, cadena de bloques se utiliza en el presente documento para referirse generalmente a un DLS sin referencia a un caso de uso particular.
Una cadena de bloques es una estructura de datos que almacena transacciones de manera que las transacciones sean inmutables. Por lo tanto, las transacciones registradas en una cadena de bloques son confiables y dignas de confianza. Una cadena de bloques incluye uno o más bloques. Cada uno de los bloques de la cadena está vinculado a un bloque anterior inmediatamente antes de él en la cadena al incluir un resumen criptográfico del bloque anterior. Cada uno de los bloques también incluye una marca de tiempo, su propio resumen criptográfico y una o más transacciones. Las transacciones, que ya han sido verificadas por los nodos de la red de cadena de bloques, se procesan y codifican en un árbol Merkle. Un árbol Merkle es una estructura de datos en la que los datos en los nodos hoja del árbol están resumidos, y todos los resúmenes en cada una de las ramas del árbol se concatenan en la raíz de la rama. Este proceso continúa subiendo por el árbol hasta la raíz de todo el árbol, que almacena un resumen que es representativo de todos los datos del árbol. Un resumen que pretende ser de una transacción almacenada en el árbol se puede verificar rápidamente determinando si es consistente con la estructura del árbol.
Mientras que una cadena de bloques es una estructura de datos descentralizada o al menos parcialmente descentralizada para almacenar transacciones, una red de cadenas de bloques es una red de nodos informáticos que gestionan, actualizan y mantienen una o más cadenas de bloques al transmitir, verificar y validar transacciones, etc. Una red de cadena de bloques de consorcio es privada entre las entidades participantes. En una red de cadena de bloques de consorcio, el proceso de consenso está controlado por un conjunto autorizado de nodos, uno o más nodos siendo operados por una respectiva entidad (p. ej., una institución financiera, una compañía de seguros). Por ejemplo, un consorcio de diez (10) entidades (p. ej., instituciones financieras, compañías de seguros) puede operar una red de cadena de bloques de consorcio, cada una de las cuales opera al menos un nodo en la red de cadena de bloques de consorcio. En consecuencia, la red de cadena de bloques de consorcio puede considerarse una red privada con respecto a las entidades participantes. En algunos ejemplos, cada una de las entidades (nodo) debe firmar cada uno de los bloques para que el bloque sea válido y se añada a la cadena de bloques. En algunos ejemplos, al menos un subconjunto de entidades (nodos) (p. ej., al menos 7 entidades) debe firmar cada uno de los bloques para que el bloque sea válido y se añada a la cadena de bloques.
Como se presentó anteriormente, una red de cadena de bloques se puede proporcionar como una red de cadena de bloques pública, una red de cadena de bloques privada o una red de cadena de bloques de consorcio. Las implementaciones de esta memoria descriptiva se describen con más detalle en el presente documento con referencia a una red de cadena de bloques de consorcio. Sin embargo, se contempla que las implementaciones de esta memoria descriptiva se puedan realizar en cualquier tipo apropiado de red de cadena de bloques. Aunque las técnicas descritas en esta memoria descriptiva se indican como relevantes para las redes de cadena de bloques de consorcio, las técnicas también se pueden utilizar, con o sin cambios, en otros tipos de redes de cadena de bloques, incluidas las redes de cadena de bloques públicas y las redes de cadena de bloques privadas.
En general, una red de cadena de bloques de consorcio es privada entre las entidades participantes. En una red de cadena de bloques de consorcio, el proceso de consenso está controlado por un conjunto autorizado de nodos, que pueden denominarse nodos de consenso, siendo uno o más nodos de consenso operados por una respectiva entidad (p. ej., una institución financiera, una compañía de seguros). Por ejemplo, un consorcio de diez (10) entidades (p. ej., instituciones financieras, compañías de seguros) puede operar una red de cadena de bloques de consorcio, cada una de las cuales opera al menos un nodo en la red de cadena de bloques del consorcio.
En algunos ejemplos, dentro de una red de cadena de bloques de consorcio, se proporciona una cadena de bloques global como una cadena de bloques que se replica en todos los nodos. Es decir, todos los nodos de consenso están en perfecto estado de consenso con respecto a la cadena de bloques global. Para lograr el consenso (p. ej., acuerdo para la adición de un bloque a una cadena de bloques), se implementa un protocolo de consenso dentro de la red de cadena de bloques de consorcio. Los protocolos de consenso de ejemplo incluyen, sin limitación, tolerancia práctica a fallas bizantinas (PBFT), prueba de trabajo (POW), prueba de participación (POS) y prueba de autoridad (POA).
Las redes de cadena de bloques de consorcio se pueden utilizar para realizar transferencias e intercambios de activos digitales. En algunos casos, un activo digital puede representar un activo del mundo real. En algunos casos, un activo digital puede representar un activo virtual. Por ejemplo, los activos virtuales pueden representar valor en el mundo real y pueden utilizarse para comprar productos y/o servicios. Los activos virtuales se proporcionan como una alternativa a los activos físicos del mundo real (p. ej., RMB chino, dólar estadounidense). La realización de transacciones dentro de una red de cadena de bloques de consorcio proporciona seguridad adicional, ya que la red de cadena de bloques de consorcio verifica y registra de manera inmutable la transacción. Las implementaciones de esta memoria descriptiva se describen con más detalle en el presente documento con referencia a divisas (p. ej., RMB, USD). Sin embargo, se contempla que las implementaciones se puedan realizar con cualquier activo digital apropiado.
FIG. 1 representa un ejemplo de un entorno 100 que puede utilizarse para ejecutar implementaciones de esta memoria descriptiva. En algunos ejemplos, el entorno 100 permite a las entidades participar en una red 102 de cadena de bloques de consorcio. El entorno 100 incluye dispositivos 106, 108 informáticos y una red 110. En algunos ejemplos, la red 110 incluye una red de área local (LAN), red de área amplia (WAN), el Internet o una combinación de las mismas, y conecta sitios web, dispositivos de usuario (p. ej., dispositivos informáticos) y sistemas de servidor. En algunos ejemplos, se puede acceder a la red 110 a través de un enlace de comunicaciones cableado y/o inalámbrico.
En el ejemplo representado, los sistemas 106, 108 informáticos pueden incluir cada uno cualquier sistema informático apropiado que permita la participación como nodo en la red 102 de cadena de bloques de consorcio. Los dispositivos informáticos de ejemplo incluyen, sin limitación, un servidor, una computadora de escritorio, una computadora portátil, un dispositivo informático tableta y un teléfono inteligente. En algunos ejemplos, los sistemas 106, 108 informáticos alojan uno o más servicios implementados por computadora para interactuar con la red 102 de cadena de bloques de consorcio. Por ejemplo, el sistema 106 informático puede alojar servicios implementados por computadora de una primera entidad (p. ej., el usuario A) , tal como un sistema de gestión de transacciones que utiliza la primera entidad para gestionar sus transacciones con una o más entidades (p. ej., otros usuarios) distintas. El sistema 108 informático puede alojar servicios implementados por computadora de una segunda entidad (p. ej., el usuario B), tal como un sistema de gestión de transacciones que la segunda entidad utiliza para gestionar sus transacciones con una o más entidades (p. ej., otros usuarios) distintas. En el ejemplo de la FIG. 1, la red 102 de cadena de bloques de consorcio se representa como una red de nodos de igual a igual, y los sistemas 106, 108 informáticos proporcionan nodos de la primera entidad y la segunda entidad, respectivamente, que participan en la red 102 de cadena de bloques de consorcio.
FIG. 2 representa un ejemplo de una arquitectura 200 conceptual de acuerdo con implementaciones de esta memoria descriptiva. La arquitectura 200 conceptual incluye una capa 202 de entidad, una capa 204 de servicios alojados y una capa 206 de red de cadena de bloques. En el ejemplo representado, la capa 202 de entidad incluye tres participantes, Participante A, Participante B y Participante C, cada uno de los participantes tiene un respectivo sistema 208 de gestión de transacciones.
En el ejemplo representado, la capa 204 de servicios alojados incluye interfaces 210 para cada uno de los sistemas 210 de gestión de transacciones. En algunos ejemplos, un respectivo sistema 208 de gestión de transacciones se comunica con una respectiva interfaz 210 a través de una red (p. ej., la red 110 de la FIG 1)). En algunos ejemplos, cada una de las interfaces 210 proporciona una conexión de comunicación entre un respectivo sistema 208 de gestión de transacciones y la capa 206 de red de cadena de bloques. Más particularmente, la interfaz 210 se comunica con una red 212 de cadena de bloques de la capa 206 de red de cadena de bloques. En algunos ejemplos, la comunicación entre una interfaz 210 y la capa 206 de red de cadena de bloques se realiza utilizando llamadas a procedimiento remoto (RPC). En algunos ejemplos, las interfaces 210 "alojan" los nodos de red de la cadena de bloques para los respectivos sistemas 208 de gestión de transacciones. Por ejemplo, las interfaces 210 proporcionan la interfaz de programación de aplicaciones (API) para acceder a la red 212 de cadena de bloques.
Como se describe en el presente documento, la red 212 de cadena de bloques se proporciona como una red de igual a igual que incluye una pluralidad de nodos 214 que registran información de manera inmutable en una cadena 216 de bloques. Aunque se representa esquemáticamente una única cadena 216 de bloques, se proporcionan múltiples copias de la cadena 216 de bloques y se mantienen a través de la red 212 de cadena de bloques. Por ejemplo, cada uno de los nodos 214 almacena una copia de la cadena de bloques. En algunas implementaciones, la cadena 216 de bloques almacena información asociada con las transacciones que se realizan entre dos o más entidades que participan en la red de cadena de bloques de consorcio.
Una cadena de bloques (p. ej., la cadena 216 de bloques de la FIG. 2) está formada por una cadena de bloques, cada uno de los bloques almacena datos. Los datos de ejemplo incluyen datos de transacciones representativos de una transacción entre dos o más participantes. Si bien las transacciones se utilizan en el presente documento a modo de ejemplo no limitativo, se contempla que cualquier dato apropiado se pueda almacenar en una cadena de bloques (p. ej., documentos, imágenes, vídeos, audio). Las transacciones de ejemplo pueden incluir, sin limitación, intercambios de algo de valor (p. ej., activos, productos, servicios, divisas). Los datos de transacción se almacenan de forma inmutable dentro de la cadena de bloques. Es decir, los datos de transacción no se pueden cambiar.
Antes de almacenarlos en un bloque, los datos de transacción se resumen. El resumen es un proceso de transformación de los datos de transacción (proporcionados como datos de cadena) en un valor de resumen de longitud fija (también proporcionado como datos de cadena). No es posible deshacer el resumen del valor de resumen para obtener los datos de transacción. El resumen asegura que incluso un pequeño cambio en los datos de transacción da como resultado un valor de resumen completamente diferente. Además, y como se indicó anteriormente, el valor de resumen es de longitud fija. Es decir, no importa el tamaño de los datos de transacción, la longitud del valor de resumen es fija. El resumen incluye procesar los datos de transacción a través de una función de resumen para generar el valor de resumen. Un ejemplo de función de resumen incluye, sin limitación, el algoritmo de resumen seguro (SHA)-256, que genera valores de resumen de 256 bits.
Los datos de transacción de múltiples transacciones se resumen y almacenan en un bloque. Por ejemplo, se proporcionan valores de resumen de dos transacciones y ellos mismos se resumen para proporcionar otro resumen. Este proceso se repite hasta que, para que todas las transacciones a ser almacenadas en un bloque, se proporciona un único valor de resumen. Este valor de resumen se denomina resumen de raíz de Merkle y se almacena en un encabezado del bloque. Un cambio en cualquiera de las transacciones dará como resultado un cambio en su valor de resumen y, en última instancia, un cambio en el resumen de raíz de Merkle.
Los bloques se agregan a la cadena de bloques a través de un protocolo de consenso. Múltiples nodos dentro de la red de cadena de bloques participan en el protocolo de consenso y realizan un trabajo para añadir un bloque a la cadena de bloques. Dichos nodos se denominan nodos de consenso. PBFT, presentado anteriormente, se utiliza como un ejemplo no limitativo de un protocolo de consenso. Los nodos de consenso ejecutan el protocolo de consenso para añadir transacciones a la cadena de bloques.
Con más detalle, el nodo de consenso genera un encabezado de bloque, resume todas las transacciones en el bloque y combina el valor de resumen en pares para generar valores de resumen adicionales hasta que se proporciona un solo valor de resumen para todas las transacciones en el bloque (el resumen de raíz de Merkle). Este resumen se añade al encabezado del bloque. El nodo de consenso también determina el valor de resumen del bloque más reciente en la cadena de bloques (es decir, el último bloque añadido a la cadena de bloques). El nodo de consenso también añade un valor nonce y una marca de tiempo al encabezado de bloque.
En general, PBFT proporciona una replicación de máquina de estado bizantina práctica que tolera fallas bizantinas (p. ej., nodos defectuosos, nodos maliciosos). Esto se logra en PBFT asumiendo que ocurrirán fallas (p. ej., asumiendo la existencia de fallas de nodos independientes y/o mensajes manipulados enviados por nodos de consenso). En PBFT, los nodos de consenso se proporcionan en una secuencia que incluye un nodo de consenso primario y nodos de consenso de respaldo. El nodo de consenso primario se cambia periódicamente, las transacciones se añaden a la cadena de bloques por todos los nodos de consenso dentro de la red de la cadena de bloques y llegan a un acuerdo sobre el estado mundial de la red de cadena de bloques. En este proceso, los mensajes se transmiten entre los nodos de consenso y cada uno de los nodos de consenso prueba que se recibe un mensaje desde un nodo igual especificado y verifica que el mensaje no se modificó durante la transmisión.
En PBFT, el protocolo de consenso se proporciona en múltiples fases con todos los nodos de consenso comenzando en el mismo estado. Para comenzar, un cliente envía una solicitud al nodo de consenso primario para invocar una operación de servicio (p. ej., ejecutar una transacción dentro de la red de cadena de bloques). En respuesta a la recepción de la solicitud, el nodo de consenso primario transmite la solicitud a los nodos de consenso de respaldo. Los nodos de consenso de respaldo ejecutan la solicitud y cada uno envía una respuesta al cliente. El cliente espera hasta que se recibe un número umbral de respuestas. En algunos ejemplos, el cliente espera que se reciban f 1 respuestas, donde f es el número máximo de nodos de consenso defectuosos que se pueden tolerar dentro de la red de cadena de bloques. El resultado final es que una cantidad suficiente de nodos de consenso llegan a un acuerdo sobre el orden del registro que se añadirá a la cadena de bloques, y el registro se acepta o se rechaza.
En algunas redes de cadena de bloques, la criptografía se implementa para mantener la privacidad de las transacciones. Por ejemplo, si dos nodos quieren mantener una transacción privada, de modo que otros nodos en la red de cadena de bloques no puedan discernir los detalles de la transacción, los nodos pueden cifrar los datos de transacción. La criptografía de ejemplo incluye, sin limitación, cifrado simétrico y cifrado asimétrico. El cifrado simétrico se refiere a un proceso de cifrado que utiliza una única clave tanto para el cifrado (generar texto cifrado a partir del texto plano) como para el descifrado (generar texto plano a partir del texto cifrado). En el cifrado simétrico, la misma clave está disponible para múltiples nodos, de modo que cada uno de los nodos puede cifrar/descifrar datos de transacción.
El cifrado asimétrico utiliza pares de claves, cada uno de los cuales incluye una clave privada y una clave pública, siendo la clave privada conocida solo por un respectivo nodo y la clave pública siendo conocida por cualquiera o todos los demás nodos en la red de cadena de bloques. Un nodo puede utilizar la clave pública de otro nodo para cifrar datos, y los datos cifrados se pueden descifrar utilizando la clave privada de otro nodo. Por ejemplo, y haciendo referencia de nuevo a la FIG. 2, el participante A puede utilizar la clave pública del participante B para cifrar los datos y enviar los datos cifrados al participante B. El participante B puede utilizar su clave privada para descifrar los datos cifrados (texto cifrado) y extraer los datos originales (texto plano). Los mensajes cifrados con la clave pública de un nodo solo se pueden descifrar utilizando la clave privada del nodo.
El cifrado asimétrico se utiliza para proporcionar firmas digitales, lo que permite a los participantes en una transacción confirmar a otros participantes en la transacción, así como la validez de la transacción. Por ejemplo, un nodo puede firmar digitalmente un mensaje y otro nodo puede confirmar que el mensaje fue enviado por el nodo en base la firma digital del Participante A. Las firmas digitales también se pueden utilizar para garantizar que los mensajes no sean manipulados en tránsito. Por ejemplo, y haciendo referencia de nuevo a la FIG. 2, el participante A debe enviar un mensaje al participante B. El participante A genera un resumen del mensaje y luego, utilizando su clave privada, cifra el resumen para proporcionar una firma digital como resumen cifrado. El participante A agrega la firma digital al mensaje y envía el mensaje con la firma digital al participante B. El participante B descifra la firma digital utilizando la clave pública del participante A y extrae el resumen. El participante B resume el mensaje y compara los resúmenes. Si los resúmenes son iguales, el participante B puede confirmar que el mensaje era realmente del participante A y que no se manipuló.
Al igual que con las transferencias de divisa físicas del mundo real, la transferencia efectiva de una representación digital de una divisa a veces requiere que el cesionario cambie un primer tipo de divisa por un segundo tipo de divisa. Por ejemplo, un primer miembro de una red de cadena de bloques de consorcio (p. ej., Participante A) que solo tiene un primer tipo de divisa (p. ej., dólares estadounidenses ($)) puede querer transferir divisa a un segundo miembro de la red de cadena de bloques de consorcio (p. ej., Participante C) en un segundo tipo de divisa (p. ej., RMB chino). Para que el Participante A transfiera valor al Participante C, se cambia una cantidad del primer tipo de divisa por un valor equivalente del segundo tipo de divisa antes de la transferencia al Participante C.
De acuerdo con las implementaciones de esta memoria descriptiva, y como se describe con más detalle en el presente documento, el intercambio de tipos de divisas se puede lograr a través de un tercer miembro de la red de cadena de bloques de consorcio (p. ej., el Participante B) como intermediario. Por ejemplo, el participante A puede transferir una cantidad del primer tipo de divisa al participante B, y el participante B puede transferir al participante C una cantidad del segundo tipo de divisa que tenga un valor equivalente en base a un tipo (ER) de cambio utilizado por el Participante B. En algunos ejemplos, el Participante B es una institución financiera que brinda servicios de cambio de divisa a los miembros de una red de cadena de bloques de consorcio.
Para garantizar la privacidad de las partes involucradas en los intercambios de divisas dentro de las redes de cadena de bloques, los datos de transacción subyacentes a los intercambios se cifran antes de la verificación y publicación del intercambio dentro de la red de cadena de bloques. En algunos ejemplos, los datos de transacción incluyen la cantidad transferida de la primera divisa (fi) y la cantidad de una segunda divisa (f?) proporcionada a cambio de la primera cantidad. Por lo general, los datos de transacción enviados a la cadena de bloques para su verificación se cifran mediante un esquema de cifrado homomórfico, tal como el cifrado Boneh-Goh-Nissim (BGN). Bajo esquemas de cifrado homomórfico, dos o más elementos de datos cifrados se pueden añadir juntos sin limitación. A diferencia de otros esquemas de cifrado (p. ej., cifrado de clave pública (PKE) de Paillier), el cifrado BGN permite la multiplicación homomórfica sobre dos textos cifrados (p. ej., multiplicación de p cifrado y fi cifrado). Sin embargo, los elementos de datos cifrados utilizando cifrado homomórfico se limitan a una sola multiplicación. Esto se debe a que el emparejamiento multiplicativo de dos elementos de datos cifrados utilizando cifrado homomórfico genera un producto cifrado que es de un orden diferente al de los multiplicadores cifrados.
La siguiente ecuación demuestra la naturaleza de una sola vez del homomorfismo multiplicativo, que generalmente se denomina emparejamiento en la curva elíptica
g
donde cada uno de los elementos de datos cifrados que se multiplica se encuentra en una curva elíptica diferente g
que el producto de la multiplicación que está en
Si
. Los elementos de datos cifrados generados por el homomorfismo multiplicativo no se pueden multiplicar ni dividir adicionalmente debido a este cambio de las curvas elípticas subyacentes. Además, los elementos de datos cifrados generados por el homomorfismo multiplicativo no se pueden comparar con los elementos de datos generados por el cifrado homomórfico directo. Por ejemplo, los dos primeros elementos de datos cifrados en la ecuación anterior en la misma curva elíptica
g
se pueden comparar entre sí, pero no se pueden comparar con el tercer elemento de datos cifrados en la curva elíptica Si
generado por homomorfismo multiplicativo debido a la diferencia en las curvas elípticas subyacentes
g
y
Qi
En el cifrado BGN, cada uno de los participantes i que va a utilizar el cifrado BGN recibe una clave pública (PK) BGN, un par de claves privadas (SK) (p. ej., PKbgnj, SKbgn_o) a través de un proceso de generación de claves. A través del proceso de generación de claves, se proporciona lo siguiente:
S K b g n j — V
dónde:
N = pq
p, q son números primos grandes
G
una curva elíptica de orden N
e: 9 x 5 5i
es una pareja
p e g ,
un generador
Q = qaP (un generador aleatorio de un subgrupo de
g
cuyo orden es p)
a < N
En el contexto de esta memoria descriptiva, bajo esquemas de cifrado homomórfico, las transacciones de intercambio que involucran un tipo de cambio público pueden ser verificadas y registradas por una red de cadena de bloques de consorcio sin revelar o publicar la cantidad transferida y/o las cantidades intercambiadas. Por ejemplo, tanto la cantidad de una primera divisa (h) transferida por el Participante A al proveedor de servicios de cambio Participante B, como la cantidad de una segunda divisa (fe) proporcionada por el Participante B a cambio de la primera cantidad se pueden cifrar utilizando cifrado homomórfico. Bajo este esquema, tanto h cifrado como fe cifrado están en la curva elíptica g
. La cantidad fi de transferencia cifrada se puede multiplicar por un tipo de cambio público del Participante B para determinar la cantidad de la segunda divisa que debe proporcionar el Participante B a cambio de fe. Debido a que el tipo de cambio del participante B es un valor público no cifrado en este ejemplo, el producto de t1 y el tipo de cambio público es un elemento de datos cifrado que está una misma curva elíptica
g
fi. La transacción de intercambio entre el Participante A y el Participante B puede ser verificada por la red de cadena de bloques comparando el producto cifrado de t1 y el tipo de cambio público con el elemento fe de datos cifrado. Si el producto cifrado de fe multiplicado por el tipo de cambio público es igual al elemento t2 de datos cifrados, entonces la transacción se verifica y se registra en la cadena de bloques.
Si bien este esquema de verificación proporciona un medio eficaz para verificar las transacciones de cambio que involucran tipos de cambio públicos, los miembros de la red de cadena de bloques que proporcionar servicios de cambio de divisas a menudo compiten con otros proveedores similares. En consecuencia, no quieren que sus tipos de cambio sean públicos dentro de la red de cadena de bloques. Por lo tanto, es deseable que el tipo de cambio, así como los datos de transacción, estén cifrados para las transacciones de intercambio realizadas dentro y verificadas por una red de cadena de bloques.
Sin embargo, cuando se utiliza la verificación descrita anteriormente, la limitación de la multiplicación única para el cifrado homomórfico crea una barrera para la verificación de las transacciones de intercambio, en las que tanto los datos de transacción como el tipo de cambio se cifran mediante cifrado homomórfico. Por ejemplo, la cantidad de una primera divisa (fe) transferida por el Participante A al proveedor de servicios de cambio Participante B, la cantidad de una segunda divisa (t2), por la cual el Participante B cambió la cantidad transferida de la primera divisa, y el tipo de cambio (fi) del Participante B pueden cifrarse cada uno utilizando cifrado homomórfico. Bajo este esquema, t1 cifrado, fe cifrado y ¡3 cifrado están todos en la misma curva elíptica
g
Como se discutió anteriormente, siempre que el tipo de cambio involucrado en la transacción de intercambio sea público, la transacción de intercambio puede ser verificada por la red de cadena de bloques comparando el producto de t1 y un tipo de cambio público con el elemento t2 de datos cifrados. Sin embargo, cuando el tipo de cambio está cifrado (/3), el producto de h y el tipo de cambio cifrado (/3) está en la curva elíptica
Gi
que difiere de la curva subyacente
g
de fe. En base a esta diferencia de orden resultante del homomorfismo multiplicativo, el producto de h multiplicado por el tipo de cambio cifrado (fi) no se puede comparar con fe. Como resultado, bajo los esquemas de verificación actuales, la verificación de las transacciones de intercambio que involucran el cifrado tanto de los datos de transacción como del tipo de cambio no se puede realizar dentro de una red de cadena de bloques.
En vista del contexto anterior, y como se describe con más detalle en el presente documento, las implementaciones de esta memoria descriptiva están dirigidas al comercio de activos cruzados dentro de una red de cadena de bloques utilizando datos de transacción cifrados y tipos de cambio cifrados. Más particularmente, la plataforma de comercio de activos cruzados de esta memoria descriptiva permite transacciones que se pueden realizar con verificación de tipo de cambio privada (cifrada).
FIG. 3 representa un ejemplo de una plataforma 300 de comercio de activos cruzados de acuerdo con implementaciones de esta memoria descriptiva. En el ejemplo representado, la plataforma 300 de comercio de activos cruzados de ejemplo incluye tres participantes, el participante A, el participante B y el participante C, asociados con los respectivos dispositivos 302, 304, 306. La plataforma 300 de comercio de activos cruzados de ejemplo también incluye un canal 308 de subcadena, una red 310 y una red 312 de cadena de bloques de consorcio.
En algunos ejemplos, la red 310 incluye una red de área local (LAN), red de área amplia (WAN), el Internet o una combinación de las mismas, y conecta sitios web, dispositivos de usuario (p. ej., dispositivos informáticos) y sistemas de servidor. En algunos ejemplos, se puede acceder a la red 110 a través de un enlace de comunicaciones cableado y/o inalámbrico.
Como se describe en el presente documento, la red 312 de cadena de bloques se proporciona como una red de igual a igual que incluye una pluralidad de nodos 314 que registran información de manera inmutable en una cadena 322 de bloques. Aunque se representa esquemáticamente una única cadena 322 de bloques, se proporcionan múltiples copias de la cadena 322 de bloques y se mantienen a través de la red 312 de cadena de bloques. Por ejemplo, cada uno de los nodos 314 almacena una copia de la cadena 322 de bloques. En algunas implementaciones, la cadena 322 de bloques almacena información asociada con transacciones que se realizan entre dos o más entidades que participan en la red 312 de cadena de bloques de consorcio. En algunos ejemplos, los dispositivos 302, 304, 306 son parte de los respectivos nodos 314 en la red 312 de cadena de bloques de consorcio.
En algunas implementaciones, el dispositivo 302, el dispositivo 304 y el dispositivo 306 incluyen las respectivas cuentas, Cuenta 316 A , Cuenta 318 B y Cuenta 320 C. En algunos ejemplos, la Cuenta 316 A, la Cuenta 318 B y la Cuenta 320 C almacenan activos financieros. En algunos ejemplos, la Cuenta 316 A, la Cuenta 318 B y la Cuenta 320 C almacenan cantidades de uno o más tipos de divisa.
En algunas implementaciones, el canal 308 de subcadena se puede utilizar para transferir información fuera de la red 312 de cadena de bloques entre dos miembros de la red 312 de cadena de bloques de consorcio. En algunos ejemplos, la información financiera privada se puede transferir desde un miembro de la red 312 de cadena de bloques de consorcio a otro miembro de la red 312 de cadena de bloques de consorcio fuera de la red 312 de cadena de bloques a través del canal 308 de subcadena. Por ejemplo, el dispositivo 304 puede transferir un tipo de cambio privado (^) al dispositivo 302 fuera de la red 312 de cadena de bloques transmitiendo el tipo de cambio sobre el canal 308 de subcadena.
En algunos ejemplos, una transacción entre dos o más miembros de la red 312 de cadena de bloques de consorcio puede enviarse a la red 312 de cadena de bloques para verificación y registro. En algunos ejemplos, una transacción de intercambio de activos (p. ej., divisa) entre dos o más miembros de la red 312 de cadena de bloques de consorcio puede enviarse a la red 312 de cadena de bloques para la verificación del intercambio. En algunos ejemplos, la información de transacción enviada a la red 312 de cadena de bloques está cifrada. En algunos ejemplos, la información de transacción enviada a la red 312 de cadena de bloques se cifra mediante cifrado homomórfico. En algunos ejemplos, la información de transacción incluye un tipo de cambio, una primera cantidad a ser transferida y una segunda cantidad a ser transferida. En algunos ejemplos, la segunda cantidad a transferir es igual al producto de la primera cantidad multiplicada por el tipo de cambio.
FIG. 4 representa un ejemplo de un diagrama 400 de señales para ejecutar una transacción de activos cruzados de acuerdo con implementaciones de esta memoria descriptiva. El diagrama 400 de señales de la FIG. 4 incluye una Cuenta 402 A (p. ej., un nodo en una red de cadena de bloques), una cuenta 404 B (p. ej., un nodo en la red de cadena de bloques) y un nodo 406 de consenso de la red de cadena de bloques. En algunos ejemplos, la Cuenta 402 A y la Cuenta 404 B se utilizan para gestionar activos de los participantes en la red de cadena de bloques (p. ej., Participante A y Participante B, respectivamente). En algunos ejemplos, la Cuenta 402 A y la Cuenta 404 B almacenan activos digitales del Participante A y del Participante B, respectivamente. En algunos ejemplos, el participante B es una institución financiera.
Un ejemplo de una transacción de activos cruzados se describe con más detalle en el presente documento con referencia a la FIG. 4. En la transacción de ejemplo, una cantidad (fi) en una primera divisa (p. ej., USD) se transfiere desde la Cuenta A a una cuenta de otro participante en la red de cadena de bloques (p. ej., Participante C) en una cantidad (fe) en una segunda divisa (p. ej., RMB). La cantidad (fi) se transfiere utilizando la Cuenta 404 B, un intermediario, que proporciona un tipo de cambio privado (^) entre la primera divisa y la segunda divisa. La Cuenta 402 A incluye una cantidad de saldo (sa), que es un saldo de valor en la primera divisa que la Cuenta 402 A tiene disponible. La Cuenta 404 B incluye una primera cantidad (s b i) de saldo, que es un saldo de valor en la primera divisa que la Cuenta 404 B tiene disponible, y una segunda cantidad (sb2) de saldo, que es un saldo de valor en la segunda divisa que la Cuenta 404 B tiene disponible.
En la transacción de activos cruzados de ejemplo, el tipo de cambio privado (fi) se transmite (408) desde la Cuenta 404 B a la Cuenta 402 A. El mensaje que transporta el tipo de cambio privado puede transmitirse a través de una red. En algunos ejemplos, el mensaje que transporta el tipo de cambio privado se transmite a través de un canal de subcadena (p. ej., el canal 308 de subcadena de la FIG. 3).
La cuenta A 402 genera (410) dos números (n, fe) aleatorios. La cuenta de A 402 calcula (412) una cantidad (í2) de cambio y conjuntos de textos cifrados (Xi, Y1, Z1) y (X2 , Y2, 22). En algunas implementaciones, la cantidad (fe) de cambio es igual al producto de la cantidad (ti) a ser transferida y el tipo (fi) de cambio privado como se muestra a continuación:
* 2 = f í t i
En algunas implementaciones, los conjuntos de textos cifrados (X1, Yí, Z1) y (X2 , Y2, Z2) se determinan en base a un esquema de compromiso y un esquema de cifrado. Un esquema de compromiso de ejemplo incluye, sin limitación, el Compromiso de Pedersen (PC). Un esquema de cifrado de ejemplo incluye, sin limitación, el cifrado BGN. Para el cifrado BGN, cada uno de los participantes incluye un par de clave pública (PK) y clave privada (SK) BGN. Por ejemplo, la Cuenta 402 A tiene un par PK-SK BGN (p. ej., PKbgn_a , SKbcn_a) asignado, la Cuenta 404 B tiene un par b Gn PK-SK (p. ej., PKbgn_b, SKbgn_b) asignado a la misma, y la Cuenta C (no representada en la FIG.
En algunas implementaciones, los conjuntos de textos cifrados (Xi, Yi , Z i ) y (X2 , Y2 , 22) se determinan respectivamente como:
Figure imgf000010_0001
La notación PC(t, r) indica el compromiso de Pedersen de t con un número aleatorio r como factor ciego. La notación BGNa indica cifrado BGN utilizando la clave pública de la Cuenta 402 A, la notación BGNb indica cifrado BGN utilizando la clave pública de la Cuenta 404 B y la notación BGNc indica cifrado BGN utilizando la clave pública de la Cuenta C. En algunos ejemplos, la Cuenta 402 A proporciona un texto cifrado de saldo como:
dondeM es un número aleatorio generado por la Cuenta 402 A.
Los subconjuntos de textos cifrados (Xi , Z i ) y (X2 , Y2), los números (ri, fe) aleatorios y la cantidad (í i ) se envían (414) desde la Cuenta 402 A a la Cuenta 404 B. En algunas implementaciones, el mensaje desde la Cuenta 402 A a la Cuenta 404 B es un mensaje cifrado (p. ej., utilizando el cifrado asimétrico descrito anteriormente). En algunos ejemplos, el mensaje se transmite a través de un canal de subcadena (p. ej., el canal 308 de subcadena de la FIG. 3). En algunos ejemplos, el mensaje (cifrado) incluye el conjunto [ti, ri, fe, Xi, Z i , X2 , Y2] de datos.
La cuenta B descifra el mensaje para revelar los datos (p. ej., [ti, ri, fe, Xi, Z i , X2 , Y2]). Los datos de texto cifrado se verifican (416) por la Cuenta 404 B. En algunos ejemplos, la Cuenta 404 B verifica los datos de texto cifrado comprobando si los textos cifrados Xi, Z i , X2 , Y2 son correctos en base a ti, ri, fe proporcionados por la Cuenta 402 A. Es decir, la Cuenta B recalcula Xi, Z i , X2 , Y2 y determina si son iguales a lo que se recibió desde la Cuenta 402 A. Si los textos cifrados son no son iguales, se puede enviar un error a la cuenta A y la transacción finaliza.
Si se verifican los textos cifrados, la Cuenta 404 B genera (418) una prueba (R Pb) de rango. En algunas implementaciones, la prueba (R Pb) de rango es una prueba de conocimiento cero (ZKP) que se puede utilizar para confirmar si la Cuenta 404 B tiene fondos suficientes para realizar la transacción de intercambio. Por ejemplo, la prueba (R P b) de rango se puede generar para probar lo siguiente:
En algunos ejemplos, la Cuenta 404 B proporciona un primer texto cifrado de saldo y un segundo texto cifrado de saldo, res ectivamente como:
( PC( sB2, rBz), BGNb ( sB2, rBz) )
donde raí y íbz son números aleatorios proporcionados por la Cuenta 404 B. En algunos ejemplos, la Cuenta 404 B proporciona un texto cifrado de intercambio como:
donde y es un número aleatorio generado por la Cuenta 404 B, y se comparte con otras cuentas (p. ej., proporcionado a la Cuenta 402 A con el tipo (fi) de cambio).
Se genera un conjunto (EX) de pruebas (420), que se puede utilizar para verificar el tipo (fi) de cambio privado. En algunas implementaciones, el conjunto (EX) de pruebas del tipo de cambio se proporciona como:
EX = (U ,V ,t" ,f" ,f" )
En algunos ejemplos, Uy V se calculan respectivamente como:
donde P b y Q b se proporcionan en PK bgn_a , y t', r' y r’son números aleatorios generados por la Cuenta 404 B. En algunos ejemplos, t", r", r"se calculan respectivamente como:
t" = t ' y t 2
f" = f ' + yf
f" = f + yf
donde y = Resumen(U, V), y r y f se calculan respectivamente como:
r = p t ± tyy + yrt qBa B
f = 2 t2 r 2qBa B
En algunos ejemplos, Resumen se puede proporcionar como cualquier función de resumen apropiada que sea públicamente conocida por los participantes, incluidos los nodos de consenso, en la red de cadena de bloques (p. ej., SHA-256).
En algunas implementaciones, la Cuenta 404 B devuelve (422) un mensaje cifrado a la Cuenta 402 A, que incluye el siguiente conjunto de datos de ejemplo:
donde SigB es la firma digital de la Cuenta 404 B. En algunos ejemplos, el mensaje se transmite a través de un canal de subcadena (p. ej., el canal 308 de subcadena de la FIG. 3).
La Cuenta 402 A genera (424) una prueba (RP a) de rango que sirve como ZKP de que la transacción tiene algún valor y que la Cuenta 402 A tiene suficientes activos para realizar la transacción. En otros términos, la prueba (RPa ) de rango se puede utilizar para demostrar que:
La Cuenta 404 A genera (426) subtransacciones que incluyen una primera subtransacción desde la Cuenta 402 A a la Cuenta 404 B por la cantidad (t1), y una segunda subtransacción desde la Cuenta 404 B a la Cuenta C por la cantidad (t2). En algunos ejemplos, la cuenta A genera números (t ', r ) aleatorios y proporciona un conjunto de textos cifrados como:
La cuenta A proporciona un conjunto de datos (PF) como:
PF = ( r , Y ',Z']t[,r[,t'2,r£)
donde:
rij, t'¿ = £' xtz, y r¡ = r ' xr 2
Figure imgf000011_0001
na la primera y segunda subtransacciones respectivamente como:
donde A es un identificador de la Cuenta 402 A, B es un identificador de la Cuenta 404 B y C es un identificador de la Cuenta C (p. ej., los identificadores se proporcionan como direcciones respectivas dentro de la red de cadena de bloques). Se proporciona una transacción, que incluye las subtransacciones primera y segunda, pruebas de rango y conjuntos de pruebas de soporte. Por ejemplo, la transacción se proporciona como
La transacción está firmada digitalmente (428) por la Cuenta 402 A e incluye tanto la firma de la Cuenta 402 A (SigÁ) como la firma de la Cuenta 404 B (SigB). La Cuenta 402 A envía (430) la transacción firmada al nodo 406 de consenso. La transacción firmada se puede proporcionar como:
(A, B: Xlt Yi,Zy,B,C\ X2, Y2,Z 2; RPA,P F ; RPb , EX; S igA,S ig B)
El nodo 406 de consenso verifica (432) las firmas de la Cuenta 402 A y de la Cuenta 404 B. Si las firmas no se verifican, la transacción finaliza y se puede proporcionar un mensaje de error a la Cuenta 402 A. Si las firmas se verifican, la prueba de rango (RPa ) y la prueba de rango (RP b) se verifican (434) por el nodo 406 de consenso. Debido a que las pruebas de rango son ZKP, cada una puede probarse como verdadera, o devolver falso sin revelar los datos de texto plano subyacentes. Si las pruebas de rango no se verifican, la transacción finaliza y se puede proporcionar un mensaje de error a la Cuenta 402 A. Si se verifican las pruebas de rango, se determina que la cantidad de la transacción es mayor que 0 y que tanto la Cuenta 402 A como la Cuenta 404 B tienen activos suficientes en las respectivas divisas para realizar las transacciones.
En algunas implementaciones, el nodo 406 de consenso verifica (436) la transacción, utilizando evidencia en el conjunto (PF) de datos y el conjunto (EX) de evidencia. En algunos ejemplos, el nodo 406 de consenso verifica si las siguientes relaciones son verdaderas:
PC (t[,r ¡ ) =X ' xXt
BGNA(t[,r0 = Y’ xY±
BGNB(t[,r¿) = T xZt
PC(t'2, r£) = X’ xX2
BGNB(t^ r i) = Y' xY 2
BGNc (t'2,r¿) = Z' xZ2
donde x = Resumen(X',Y\Z). Si las relaciones anteriores son verdaderas, se confirma que el texto cifrado (texto cifrado BGN) está cifrado con la clave pública adecuada y que las cantidades de la transacción son correctas.
También se verifica que la transacción se realice al tipo de cambio publicado (aunque cifrado). Por ejemplo, el nodo 406 de consenso verifica el tipo de cambio utilizando evidencia en el conjunto (EX) de datos. En algunos ejemplos, el nodo 406 de consenso calcula y = Resumen(U, V) y utiliza y para verificar si las siguientes relaciones son verdaderas: e(PB,PBf ' e ( f B,QB)i" = U t e(E2,Zl)y
Si las relaciones no son verdaderas, la transacción y/o el tipo de cambio no se verifican, la transacción finaliza y se puede proporcionar un mensaje de error a la Cuenta 402 A. Si las relaciones no son verdaderas, el nodo 406 de consenso registra (438) la transacción que se registra en la red de cadena de bloques de consorcio y se actualizan los saldos de las cuentas A 402, 404 B y C. Por ejemplo, el saldo (sa) de la Cuenta 402 A se reduce en la cantidad (U), el saldo (sb1) de la Cuenta 404 B se incrementa en la cantidad (U), el saldo (sb2) de la Cuenta 404 B se reduce en la cantidad (fe) y un saldo de la Cuenta C se incrementa en la cantidad (fe).
FIG. 5 representa un ejemplo de un proceso 500 que puede ejecutarse de acuerdo con implementaciones de esta memoria descriptiva. En algunas implementaciones, el proceso 500 de ejemplo puede realizarse utilizando uno o más programas ejecutables por computadora ejecutados utilizando uno o más dispositivos informáticos. En algunos ejemplos, el proceso 500 de ejemplo puede realizarse por nodos de una red de cadena de bloques de consorcio para realizar transacciones de activos cruzados dentro de una red de cadena de bloques.
Se recibe un tipo de cambio (502). Por ejemplo, un primer nodo asociado con un primer participante en una red de cadena de bloques (p. ej., un nodo de la red de cadena de bloques) recibe un tipo de cambio, desde un segundo nodo asociado con un segundo participante en la red de cadena de bloques (p. ej., un nodo de la red de cadena de bloques). En algunos ejemplos, el tipo de cambio se recibe a través de un canal de subcadena. En algunos ejemplos, el tipo de cambio es un tipo de cambio privado del segundo participante. En algunas implementaciones, el segundo participante es una institución financiera. En algunas implementaciones, el tipo de cambio especifica un tipo al que el segundo participante cambia un primer tipo de divisa por un segundo tipo de divisa. Por ejemplo, el tipo de cambio puede especificar el tipo al que el segundo participante cambiará USD por RMB.
El primer nodo (504) genera un primer número aleatorio y un segundo número aleatorio. Una primera cantidad y una segunda cantidad se cifran dentro de un primer conjunto de textos cifrados y un segundo conjunto de textos cifrados, respectivamente, utilizando el primer número aleatorio y el segundo número aleatorio, respectivamente (506). En algunos ejemplos, la primera cantidad es una cantidad de un primer tipo de activo a ser transferida por el primer participante al miembro participante para su intercambio. En algunos ejemplos, la segunda cantidad es la cantidad de un segundo tipo de activo a ser intercambiada por la primera cantidad. En algunos ejemplos, la segunda cantidad es igual al producto de la primera cantidad multiplicada por el tipo de cambio del segundo participante.
En algunos ejemplos, el primer conjunto de textos cifrados incluye un compromiso de número aleatorio de la primera cantidad y el primer número aleatorio y dos cifrados homomórficos de la primera cantidad y el primer número aleatorio. En algunos ejemplos, el segundo conjunto de textos cifrados incluye un compromiso de número aleatorio de la segunda cantidad y el segundo número aleatorio y dos cifrados homomórficos de la segunda cantidad y el segundo número aleatorio. En algunos ejemplos, el primer conjunto de textos cifrados incluye un PC de la primera cantidad y el primer número aleatorio, y cifrados BGN de la primera cantidad y el primer número aleatorio utilizando la clave pública BGN del primer participante y la clave pública BGN del segundo participante, respectivamente. En algunos ejemplos, el segundo conjunto de textos cifrados incluye un PC de la segunda cantidad y el segundo número aleatorio, y cifrados BGN de la segunda cantidad y el segundo número aleatorio utilizando la clave pública BGN del segundo participante y la clave pública BGN de un tercer participante, respectivamente.
La primera cantidad, el primer número aleatorio, el segundo número aleatorio y al menos una parte (subconjunto) del primer conjunto de textos cifrados, y al menos una parte (subconjunto) del segundo conjunto de textos cifrados se transmiten desde el primer nodo al segundo nodo (508). En algunas implementaciones, la primera cantidad, el primer número aleatorio, el segundo número aleatorio, la al menos una parte del primer conjunto de textos cifrados y la al menos una parte del segundo conjunto de textos cifrados se transmiten a través del canal de subcadena.
Se recibe una primera prueba de rango, un conjunto de evidencia del tipo de cambio y una primera firma (510). En algunas implementaciones, el primer nodo recibe la primera prueba de rango, el conjunto de evidencia del tipo de cambio y una primera firma desde el segundo nodo a través del canal de subcadena. En algunos ejemplos, la primera firma digital es la firma digital del segundo participante en base a un esquema de cifrado asimétrico. En algunos ejemplos, la primera prueba de rango proporciona evidencia de que una cuenta asociada con el segundo miembro tiene fondos suficientes del mismo tipo de activo que la segunda cantidad para intercambiar la primera cantidad por la segunda cantidad.
Se generan un conjunto de datos, una segunda prueba de rango y una segunda firma digital (512). En algunos ejemplos, el conjunto de datos se utiliza dentro de la red de cadena de bloques para confirmar al menos parcialmente la autenticidad de la transacción de activos cruzados. En algunos ejemplos, la segunda firma digital es la firma digital del primer participante en base al esquema de cifrado asimétrico. En algunos ejemplos, la segunda prueba de rango proporciona evidencia de que una cuenta asociada con el primer participante tiene fondos suficientes del mismo tipo de activo que la primera cantidad para transferir la primera cantidad al segundo participante, y que la primera cantidad no es negativa.
Se envía una transacción a la red de cadena de bloques para su verificación (514). En algunas implementaciones, la transacción enviada por el primer nodo a la red de cadena de bloques incluye el primer conjunto de textos cifrados, el segundo conjunto de textos cifrados, la primera prueba de rango, el conjunto de datos, la segunda prueba de rango, el conjunto de evidencia del tipo de cambio, la primera firma digital y la segunda firma digital. En algunas implementaciones, al menos un nodo de consenso dentro de la red de cadena de bloques verifica las firmas y las pruebas de rango. En algunas implementaciones, el al menos un nodo de consenso verifica la transacción sin que se revelen los datos de transacción (p. ej., la primera cantidad, la segunda cantidad, el tipo de cambio). En alguna implementación, en respuesta a la verificación exitosa de la transacción, la transacción se ejecuta dentro de la red de cadena de bloques. En algunos ejemplos, las cuentas del primer participante y del segundo participante se actualizan en la cadena de bloques para reflejar los activos intercambiados. En algunos ejemplos, la cuenta del tercer participante se actualiza para reflejar la recepción de la segunda cantidad.
FIG. 6 es un diagrama de un ejemplo de módulos de un aparato 600 de acuerdo con implementaciones de esta memoria descriptiva. El aparato 600 puede ser una implementación de ejemplo de un nodo de cadena de bloques configurado para participar en el comercio de activos cruzados privado en una red de cadena de bloques, en donde la red de cadena de bloques es una red de cadena de bloques de consorcio. El aparato 600 puede corresponder a las implementaciones descritas anteriormente, y el aparato 600 incluye lo siguiente:
Una unidad 602 de generación genera, utilizando cifrado BGN, textos cifrados en base a un primer valor y un segundo valor, determinándose el segundo valor en base al primer valor y un tipo de cambio proporcionado por un segundo nodo en la red de cadena de bloques. Una unidad 604 de transmisión transmite el primer valor y los textos cifrados a un segundo nodo. Una unidad 606 de recepción recibe un primer conjunto de evidencia que incluye un conjunto de datos que pueden utilizarse para verificar el tipo de cambio en una rutina ZKP sin revelar el tipo de cambio. La unidad 602 de generación genera un segundo conjunto de evidencia que incluye un conjunto de datos que pueden utilizarse para verificar, utilizando la rutina ZKP, que los textos cifrados están cifrados por una clave pública BGN.
Una unidad 608 de definición de transacción define una transacción que incluye una primera transacción entre el primer nodo y el segundo nodo para la transferencia del primer valor desde el primer nodo al segundo nodo, y una segunda transacción entre el segundo nodo y un tercer nodo para la transferencia. del segundo valor desde el segundo nodo al tercer nodo. La unidad 604 de transmisión transmite la transacción a al menos un nodo de consenso de la red de cadena de bloques para la verificación y ejecución de la transacción. Como se describe en el presente documento, la transacción se puede verificar en base al primer conjunto de evidencia y el segundo conjunto de evidencia. En respuesta a la verificación de la transacción, el nodo de consenso ejecuta la primera transacción y la segunda transacción para disminuir un saldo del primer nodo por el primer valor, aumentar un primer saldo del segundo nodo por el primer valor, disminuir un segundo saldo del segundo nodo por el segundo valor y aumentar el saldo del tercer nodo por el segundo valor.
En una implementación opcional, el primer conjunto de evidencia lo proporciona el segundo nodo en base al primer valor, un par de números aleatorios proporcionados por el primer nodo y los textos cifrados.
En una implementación opcional, verificar la transacción mediante el nodo de consenso incluye verificar una firma digital del primer nodo y una firma digital del segundo nodo.
En una implementación opcional, verificar la transacción mediante el nodo de consenso incluye verificar una primera prueba de rango proporcionada por el primer nodo y una segunda prueba de rango proporcionada por el segundo nodo.
En una implementación opcional, la primera prueba de rango incluye una ZKP para probar que el primer valor es mayor que cero y que el saldo del primer nodo es mayor o igual que el primer valor.
En una implementación opcional, la segunda prueba de rango incluye una ZKP para probar que el segundo saldo del segundo nodo es mayor o igual que el segundo valor.
En una implementación opcional, la transacción incluye además un conjunto de datos que incluye un conjunto de textos cifrados generados al menos parcialmente en base al cifrado b Gn , utilizándose el conjunto de datos para verificar la transacción por el al menos un nodo de consenso.
En una implementación opcional, la unidad 606 de recepción recibe el tipo de cambio desde el segundo nodo a través de un canal de subcadena de la red de cadena de bloques.
En una implementación opcional, al menos un texto cifrado de los textos cifrados se proporciona utilizando PC.
En una implementación opcional, el conjunto de datos del primer conjunto de evidencia incluye un primer valor de datos y un segundo valor de datos, determinándose cada uno del primer valor de datos y del segundo valor de datos en base a los parámetros utilizados para generar una clave pública BGN del segundo nodo.
En una implementación opcional, el conjunto de datos del segundo conjunto de evidencia incluye un conjunto de textos cifrados y un conjunto de valores, basándose cada uno de los valores en el conjunto de valores al menos parcialmente en un resumen del conjunto de textos cifrados.
El sistema, aparato, módulo o unidad ilustrado en las implementaciones anteriores puede implementarse utilizando un chip de computadora o una entidad, o puede implementarse utilizando un producto que tenga una determinada función. Un dispositivo de implementación típico es una computadora, y la computadora puede ser una computadora personal, una computadora portátil, un teléfono móvil, un teléfono con cámara, un teléfono inteligente, un asistente digital personal, un reproductor multimedia, un dispositivo de navegación, un dispositivo de recepción y envío de correos electrónicos, una consola de juegos, una computadora tableta, un dispositivo ponible o cualquier combinación de estos dispositivos.
Para un proceso de implementación de funciones y roles de cada una de las unidades en el aparato, se pueden hacer referencias a un proceso de implementación de los pasos correspondientes en el método anterior. Los detalles se omiten aquí por simplicidad.
Debido a que la implementación de un aparato corresponde básicamente a la implementación de un método, para partes relacionadas, se pueden hacer referencias a descripciones relacionadas en la implementación del método. La implementación del aparato descrita anteriormente es simplemente un ejemplo. Las unidades descritas como partes separadas pueden estar o no físicamente separadas, y las partes mostradas como unidades pueden o no ser unidades físicas, pueden estar ubicadas en una posición o pueden estar distribuidas en varias unidades de red. Algunos o todos los módulos pueden seleccionarse en base a las demandas reales para lograr los objetivos de las soluciones de la memoria descriptiva. Un experto en la técnica puede comprender e implementar sin esfuerzos creativos las implementaciones de esta solicitud.
Haciendo referencia de nuevo a la FIG. 6, se puede interpretar como una ilustración de un módulo funcional interno y una estructura de un aparato de comercio de activos cruzados privado. El aparato de comercio de activos cruzados privado puede ser un ejemplo de un nodo de cadena de bloques configurado para participar en el comercio de activos cruzados privado dentro de la red de la cadena de bloques. En esencia, un organismo de ejecución puede ser un dispositivo electrónico, y el dispositivo electrónico incluye lo siguiente: uno o más procesadores; y una memoria configurada para almacenar una instrucción ejecutable del uno o más procesadores.
Las implementaciones de la materia objeto y las acciones y operaciones descritas en esta memoria descriptiva se pueden implementar en circuitería electrónica digitales, en software o firmware de computadora incorporados de manera tangible, en hardware de computadora, incluidas las estructuras descritas en esta memoria descriptiva y sus equivalentes estructurales, o en combinaciones de uno o más de ellos. Las implementaciones de la materia objeto descrita en esta memoria descriptiva se pueden implementar como uno o más programas informáticos, p. ej., uno o más módulos de instrucciones de programa informático, codificados en un soporte de programa informático, para su ejecución por, o para controlar la operación de, aparatos de procesamiento de datos. Por ejemplo, un soporte de programa informático puede incluir uno o más medios de almacenamiento legibles por computadora que tienen instrucciones codificadas o almacenadas en los mismos. El soporte puede ser un medio legible por computadora tangible no transitorio, tal como un disco magnético, magneto óptico u óptico, una unidad de estado sólido, una memoria de acceso aleatorio (RAM), una memoria de solo lectura (ROM) u otros tipos de medios. Alternativa o adicionalmente, el soporte puede ser una señal propagada generada artificialmente, p. ej., una señal eléctrica, óptica o electromagnética generada por una máquina que se genera para codificar información para su transmisión a un aparato receptor adecuado para su ejecución por un aparato de procesamiento de datos. El medio de almacenamiento informático puede ser, o ser parte de, un dispositivo de almacenamiento legible por máquina, un sustrato de almacenamiento legible por máquina, un dispositivo de memoria de acceso aleatorio o en serie, o una combinación de uno o más de ellos. Un medio de almacenamiento informático no es una señal propagada.
Un programa informático, que también puede denominarse o describirse como un programa, software, una aplicación de software, una app, un módulo, un módulo de software, un motor, una secuencia de comandos o código, se puede escribir en cualquier forma de lenguaje de programación, incluidos los lenguajes compilados o interpretados, o los lenguajes declarativos o procedimentales; y se puede desplegar en cualquier forma, incluso como un programa independiente o como un módulo, componente, motor, subrutina u otra unidad adecuada para ejecutarse en un entorno informático, cuyo entorno puede incluir una o más computadoras interconectadas por una red de comunicaciones de datos en una o más ubicaciones.
Un programa informático puede, pero no necesariamente, corresponder a un archivo en un sistema de archivos. Un programa informático puede almacenarse en una parte de un archivo que contiene otros programas o datos, p. ej., una o más secuencias de comandos almacenadas en un documento de lenguaje de marcado, en un solo archivo dedicado al programa en cuestión, o en múltiples archivos coordinados, p. ej.., archivos que almacenan uno o más módulos, subprogramas o partes de código.
Los procesadores para la ejecución de un programa informático incluyen, a modo de ejemplo, microprocesadores tanto de uso general como especial, y uno o más procesadores de cualquier tipo de computadora digital. Generalmente, un procesador recibirá las instrucciones del programa informático para su ejecución, así como los datos desde un medio legible por computadora no transitorio acoplado al procesador.
El término "aparato de procesamiento de datos" abarca todo tipo de aparatos, dispositivos y máquinas para procesar datos, incluidos, a modo de ejemplo, un procesador programable, una computadora o múltiples procesadores o computadoras. El aparato de procesamiento de datos puede incluir circuitería lógica de propósito especial, p. ej., una FPGA (matriz de compuertas programables en campo), un ASIC (circuito integrado de aplicación específica) o una GPU (unidad de procesamiento de gráficos). El aparato también puede incluir, además del hardware, código que crea un entorno de ejecución para programas informáticos, p. ej., código que constituye el firmware del procesador, una pila de protocolo, un sistema de gestión de bases de datos, un sistema operativo o una combinación de uno o más de ellos.
Los procesos y flujos lógicos descritos en esta memoria descriptiva pueden realizarse por una o más computadoras o procesadores que ejecutan uno o más programas informáticos para realizar operaciones operando con datos de entrada y generando salida. Los procesos y flujos lógicos también se pueden realizar mediante circuitería lógica de propósito especial, p. ej., una FPGA, un ASIC o una GPU, o mediante una combinación de circuitería lógica de propósito especial y uno o más computadoras programadas.
Las computadoras adecuadas para la ejecución de un programa informático pueden estar basadas en microprocesadores de propósito general o especial o ambos, o cualquier otro tipo de unidad central de procesamiento. Generalmente, una unidad central de procesamiento recibirá instrucciones y datos desde una memoria de solo lectura o una memoria de acceso aleatorio o ambas. Los elementos de una computadora pueden incluir una unidad central de procesamiento para ejecutar instrucciones y uno o más dispositivos de memoria para almacenar instrucciones y datos. La unidad central de procesamiento y la memoria pueden complementarse o incorporarse en circuitería lógica de propósito especial.
Generalmente, una computadora también incluirá, o estará acoplada operativamente para recibir datos desde o transferir datos a, uno o más dispositivos de almacenamiento. Los dispositivos de almacenamiento pueden ser, por ejemplo, discos magnéticos, magneto ópticos u ópticos, unidades de estado sólido o cualquier otro tipo de medio legible por computadora no transitorio. Sin embargo, una computadora no necesita tener tales dispositivos. Por tanto, una computadora puede estar acoplada a uno o más dispositivos de almacenamiento, tales como una o más memorias, que son locales y/o remotas. Por ejemplo, una computadora puede incluir una o más memorias locales que son componentes integrales de la computadora, o la computadora puede acoplarse a una o más memorias remotas que se encuentran en una red en la nube. Además, una computadora puede integrarse en otro dispositivo, p. ej., un teléfono móvil, un asistente digital personal (PDA), un reproductor de audio o vídeo móvil, una consola de juegos, un receptor del sistema de posicionamiento global (GPS) o un dispositivo de almacenamiento portátil, p. ej., una unidad flash de bus serie universal (USB), por nombrar solo algunas.
Los componentes se pueden "acoplar" entre sí estando conectados conmutativamente, tal como eléctrica u ópticamente, entre sí, ya sea directamente o a través de uno o más componentes intermedios. Los componentes también se pueden "acoplar" entre sí si uno de los componentes está integrado en el otro. Por ejemplo, un componente de almacenamiento que está integrado en un procesador (p. ej., un componente de caché L2) está "acoplado" al procesador.
Para facilitar la interacción con un usuario, las implementaciones de la materia objeto descrita en esta memoria descriptiva se pueden implementar o configurar para comunicarse con una computadora que tenga un dispositivo de visualización, p. ej., un monitor LCD (pantalla de cristal líquido), para visualizar información al usuario, y un dispositivo de entrada mediante el cual el usuario puede proporcionar entrada a la computadora, p. ej., un teclado y un dispositivo señalador, p. ej., un ratón, una bola de seguimiento o un panel táctil. También se pueden utilizar otros tipos de dispositivos para proporcionar la interacción con un usuario; por ejemplo, la retroalimentación proporcionada al usuario puede ser cualquier forma de retroalimentación sensorial, p. ej., retroalimentación visual, retroalimentación auditiva o retroalimentación táctil; y la entrada del usuario se puede recibir de cualquier forma, incluida la entrada acústica, de voz o táctil. Además, una computadora puede interactuar con un usuario enviando documentos a y recibiendo documentos desde un dispositivo que se utiliza por el usuario; por ejemplo, enviando páginas web a un navegador web en el dispositivo de un usuario en respuesta a solicitudes recibidas desde el navegador web, o interactuando con una app que se ejecuta en un dispositivo de usuario, p. ej., un teléfono inteligente o tableta electrónica. Además, una computadora puede interactuar con un usuario enviando mensajes de texto u otras formas de mensaje a un dispositivo personal, p. ej., un teléfono inteligente que está ejecutando una aplicación de mensajería, y recibiendo de vuelta mensajes de respuesta del usuario.
Esta memoria descriptiva utiliza el término "configurado para" en relación con sistemas, aparatos y componentes de programas informáticos. Para que un sistema de una o más computadoras esté configurado para realizar operaciones o acciones particulares significa que el sistema tiene instalado software, firmware, hardware o una combinación de ellos que en funcionamiento hacen que el sistema realice las operaciones o acciones. Para que uno o más programas informáticos se configuren para realizar operaciones o acciones particulares significa que el uno o más programas incluyen instrucciones que, cuando se ejecutan por un aparato de procesamiento de datos, hacen que el aparato realice las operaciones o acciones. Para que la circuitería lógica de propósito especial se configure para realizar operaciones o acciones particulares, significa que la circuitería tiene lógica electrónica que realiza las operaciones o acciones.
Si bien esta memoria descriptiva contiene muchos detalles de implementación específica, estos no deben interpretarse como limitaciones en el alcance de lo que se reivindica, que está definido por las propias reivindicaciones, sino más bien como descripciones de características que pueden ser específicas de implementaciones particulares. Ciertas características que se describen en esta memoria descriptiva en el contexto de implementaciones separadas también se pueden realizar en combinación en una sola implementación. A la inversa, diversas características que se describen en el contexto de una sola implementación también se pueden realizar en múltiples implementaciones por separado o en cualquier subcombinación adecuada. Además, aunque las características pueden describirse anteriormente como que actúan en ciertas combinaciones e incluso inicialmente reivindicarse como tales, una o más características de una combinación reivindicada pueden en algunos casos eliminarse de la combinación, y la reivindicación puede estar dirigida a una subcombinación o variación de una subcombinación.
De manera similar, si bien las operaciones se describen en los dibujos y se enumeran en las reivindicaciones en un orden particular, esto no debe entenderse como que requiere que tales operaciones se realicen en el orden particular mostrado o en orden secuencial, o que se realicen todas las operaciones ilustradas, para lograr resultados deseables. En determinadas circunstancias, la multitarea y el procesamiento en paralelo pueden resultar ventajosos. Además, la separación de diversos módulos y componentes del sistema en las implementaciones descritas anteriormente no debe entenderse que requiera dicha separación en todas las implementaciones, y debe entenderse que los componentes y sistemas del programa descritos generalmente se pueden integrar juntos en un solo producto de software o empaquetarse en múltiples productos de software.
Se han descrito implementaciones particulares de la materia objeto. Otras implementaciones están dentro del alcance de las siguientes reivindicaciones. Por ejemplo, las acciones enumeradas en las reivindicaciones se pueden realizar en un orden diferente y aún así lograr resultados deseables. Como ejemplo, los procesos representados en las figuras adjuntas no requieren necesariamente el orden particular mostrado, o el orden secuencial, para lograr resultados deseables. En algunos casos, la multitarea y el procesamiento en paralelo pueden resultar ventajosos.

Claims (13)

REIVINDICACIONES
1. Un método (500) implementado por computadora para el comercio de activos cruzados privado en una red de cadena de bloques, el método es ejecutado por uno o más procesadores y comprende:
generar (506), por un primer nodo en la red de cadena de bloques y utilizando cifrado de Boneh-Goh-Nissim, BGN, textos cifrados en base a un primer valor y un segundo valor, siendo determinado el segundo valor en base una multiplicación homomórfica del primer valor y un tipo de cambio cifrado proporcionado por un segundo nodo en la red de cadena de bloques, en donde los textos cifrados y el tipo de cambio cifrado están en una misma curva elíptica; transmitir (508), por el primer nodo al segundo nodo, el primer valor y los textos cifrados;
recibir (510), por el primer nodo y desde el segundo nodo, un primer conjunto de evidencia que comprende un conjunto de datos que se pueden utilizar para verificar el tipo de cambio en una rutina de prueba de conocimiento cero, ZKP, sin revelar el tipo de cambio;
generar (512), mediante el primer nodo, un segundo conjunto de evidencia que comprende un conjunto de datos que se pueden utilizar para verificar, utilizando la rutina ZKP, que los textos cifrados están cifrados por una clave pública BGN del primer nodo;
definir, por el primer nodo, una transacción que comprende una primera transacción entre el primer nodo y el segundo nodo para la transferencia del primer valor desde el primer nodo al segundo nodo, y una segunda transacción entre el segundo nodo y un tercer nodo para la transferencia del segundo valor desde el segundo nodo al tercer nodo; y transmitir (514), por el primer nodo, la transacción a al menos un nodo de consenso de la red de cadena de bloques para la verificación y ejecución de la transacción, la transacción se verifica en base al primer conjunto de evidencia y al segundo conjunto de evidencia, y en respuesta a verificar la transacción, ejecutar la primera transacción y la segunda transacción para disminuir un saldo del primer nodo por el primer valor, aumentar un primer saldo del segundo nodo por el primer valor, disminuir un segundo saldo del segundo nodo por el segundo valor y aumentar el saldo del tercer nodo por el segundo valor.
2. El método de la reivindicación 1, en donde el primer conjunto de evidencia lo proporciona el segundo nodo en base al primer valor, un par de números aleatorios proporcionados por el primer nodo y los textos cifrados.
3. El método de la reivindicación 1, en donde verificar la transacción por el al menos un nodo de consenso comprende verificar una firma digital del primer nodo y una firma digital del segundo nodo.
4. El método de la reivindicación 1, en donde verificar la transacción por el al menos un nodo de consenso comprende verificar una primera prueba de rango proporcionada por el primer nodo y una segunda prueba de rango proporcionada por el segundo nodo.
5. El método de la reivindicación 4, en donde la primera prueba de rango comprende una ZKP para probar que el primer valor es mayor que cero, y que el saldo del primer nodo es mayor o igual que el primer valor.
6. El método de la reivindicación 4, en donde la segunda prueba de rango comprende un ZKP para probar que el segundo saldo del segundo nodo es mayor o igual que el segundo valor.
7. El método de la reivindicación 1, en donde la transacción comprende además un conjunto de datos que comprende un conjunto de textos cifrados generados utilizando cifrado BGN, utilizándose el conjunto de datos para verificar la transacción por el al menos un nodo de consenso.
8. El método de la reivindicación 1, que comprende además recibir, por el primer nodo, el tipo de cambio desde el segundo nodo a través de un canal de subcadena de la red de cadena de bloques.
9. El método de la reivindicación 1, en donde al menos un texto cifrado de los textos cifrados se proporciona utilizando el Compromiso de Pedersen.
10. El método de la reivindicación 1, en donde el conjunto de datos del primer conjunto de evidencia comprende un primer valor de datos y un segundo valor de datos, determinándose cada uno del primer valor de datos y del segundo valor de datos en base a parámetros utilizados para generar una clave pública BGN del segundo nodo.
11. El método de la reivindicación 1, en donde el conjunto de datos del segundo conjunto de evidencia comprende un conjunto de textos cifrados y un conjunto de valores, basándose cada uno de los valores del conjunto de valores en un resumen del conjunto de textos cifrados.
12. Uno o más medios de almacenamiento legibles por computadora codificados con instrucciones para el comercio de activos cruzados privado en una red de cadena de bloques, las instrucciones pueden ser ejecutadas por uno o más procesadores y hacen que el uno o más procesadores realicen un método de acuerdo con una cualquiera de las reivindicaciones anteriores.
13. Un sistema que comprende:
uno o más procesadores; y
una o más memorias legibles por computadora acopladas al uno o más procesadores y que tienen instrucciones almacenadas en las mismas para el comercio de activos cruzados privado en una red de cadena de bloques, las instrucciones pueden ser ejecutadas por el uno o más procesadores para realizar un método de acuerdo con una cualquiera de las reivindicaciones 1 a 11.
ES19717101T 2019-01-31 2019-01-31 Comercio de activos cruzados dentro de redes de cadena de bloques Active ES2869166T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/074057 WO2019072317A2 (en) 2019-01-31 2019-01-31 NEGOTIATION OF CROSSED ASSETS IN BLOCKCHAIN NETWORKS

Publications (1)

Publication Number Publication Date
ES2869166T3 true ES2869166T3 (es) 2021-10-25

Family

ID=66100007

Family Applications (1)

Application Number Title Priority Date Filing Date
ES19717101T Active ES2869166T3 (es) 2019-01-31 2019-01-31 Comercio de activos cruzados dentro de redes de cadena de bloques

Country Status (17)

Country Link
US (2) US10990963B2 (es)
EP (1) EP3602956B1 (es)
JP (1) JP6840268B2 (es)
KR (1) KR102194078B1 (es)
CN (1) CN110366738B (es)
AU (1) AU2019202832B2 (es)
BR (1) BR112019022731A2 (es)
CA (1) CA3061789C (es)
ES (1) ES2869166T3 (es)
MX (1) MX387320B (es)
PH (1) PH12019502464A1 (es)
PL (1) PL3602956T3 (es)
RU (1) RU2736447C1 (es)
SG (1) SG11201910095VA (es)
TW (1) TWI712306B (es)
WO (1) WO2019072317A2 (es)
ZA (1) ZA201907229B (es)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110458539B (zh) * 2019-07-09 2021-03-23 北京链上科技有限责任公司 一种加密货币自动提取方法及系统
CN110471984B (zh) 2019-07-15 2020-08-25 阿里巴巴集团控股有限公司 基于区块链的业务处理方法及装置、电子设备
US10937096B2 (en) 2019-07-15 2021-03-02 Advanced New Technologies Co., Ltd. Transaction processing in a service blockchain
CN110535659B (zh) * 2019-09-03 2020-11-03 北京海益同展信息科技有限公司 用于处理数据请求的方法、装置、电子设备和计算机可读介质
CN112750033A (zh) * 2019-10-30 2021-05-04 上海唯链信息科技有限公司 一种交易方法、装置、设备及系统
CN111047348A (zh) * 2019-11-08 2020-04-21 北京比特时刻图像科技有限公司 一种新型区块链共识算法及基于该算法的区块链网络系统
EP3769252B1 (en) * 2019-11-13 2022-10-19 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain data storage based on error correction code for permissioned blockchain network
CN111275414A (zh) * 2019-12-31 2020-06-12 深圳市网心科技有限公司 一种基于区块链的数字货币兑换方法、装置及系统
CN111275549A (zh) * 2019-12-31 2020-06-12 深圳市网心科技有限公司 基于区块链的数字货币交易方法及相关装置
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
CN111369250B (zh) * 2020-03-06 2023-09-05 微民保险代理有限公司 基于联盟链的数据处理方法、装置、设备以及存储介质
JP7583233B2 (ja) * 2020-05-05 2024-11-14 豊 仲宗根 取引システム、取引システムの制御方法及び取引システムの制御プログラム
SG10202006451QA (en) * 2020-07-03 2021-02-25 Alipay Labs Singapore Pte Ltd Managing transactions in multiple blockchain networks
CN111835500B (zh) * 2020-07-08 2022-07-26 浙江工商大学 基于同态加密与区块链的可搜索加密数据安全共享方法
CN112133386A (zh) * 2020-09-29 2020-12-25 深圳壹账通智能科技有限公司 一种基于区块链的信息处理方法、装置、设备及介质
CN112039926B (zh) * 2020-11-04 2021-03-26 南京金宁汇科技有限公司 一种区块链的双层链式架构实现方法
CN112751662B (zh) * 2020-12-29 2022-10-25 山西特信环宇信息技术有限公司 一种锥体区块链的共享链
CN112561407B (zh) * 2021-02-20 2021-06-22 支付宝(杭州)信息技术有限公司 基于区块链的资产管理方法、系统及装置
KR102671062B1 (ko) * 2021-07-07 2024-05-30 라인플러스 주식회사 보안 거래를 위한 방법 및 시스템
KR102372111B1 (ko) * 2021-10-25 2022-03-10 주식회사 온더 영지식 증명 기반 블록체인 가상머신 검증 시스템
CN114793228A (zh) * 2022-03-29 2022-07-26 上海万向区块链股份公司 基于零知识证明防止商户作恶的数据源筛选方法和系统
EP4336776A1 (en) * 2022-09-07 2024-03-13 Concept Technology AG Method and system for facilitating a secure transfer of assets
TWI823592B (zh) * 2022-09-30 2023-11-21 中華電信股份有限公司 基於大數型態及加法同態執行加密混音的系統及方法
US12574259B2 (en) * 2023-01-18 2026-03-10 International Business Machines Corporation Monitoring execution of actions in computer network environments
US20250111344A1 (en) * 2023-10-02 2025-04-03 Wells Fargo Bank, N.A. Systems and methods for virtual and physical tracking of assets
CN117726421B (zh) * 2024-02-07 2024-06-21 湖南三湘银行股份有限公司 一种应用于银行的权益管理方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2673842C1 (ru) * 2015-03-20 2018-11-30 Ривец Корп. Автоматическая аттестация сохранности устройства с применением цепочки блоков
US9870562B2 (en) * 2015-05-21 2018-01-16 Mastercard International Incorporated Method and system for integration of market exchange and issuer processing for blockchain-based transactions
US9875375B2 (en) * 2015-05-29 2018-01-23 Panasonic Intellectual Property Corporation Of America Method for performing similar-information search while keeping content confidential by encryption
JP6504013B2 (ja) * 2015-10-13 2019-04-24 富士通株式会社 暗号処理方法、暗号処理装置、および暗号処理プログラム
US20180331832A1 (en) 2015-11-05 2018-11-15 Allen Pulsifer Cryptographic Transactions System
US10841082B2 (en) 2015-11-24 2020-11-17 Adi BEN-ARI System and method for blockchain smart contract data privacy
WO2017171726A1 (en) * 2016-03-29 2017-10-05 Hewlett Packard Enterprise Development Lp Distributed data clustering using an untrusted mediator
KR101835518B1 (ko) * 2016-12-29 2018-04-19 주식회사 코인플러그 Utxo 기반 프로토콜을 사용하여 통합 포인트 서비스를 제공하는 방법 및 이를 이용한 지원 서버
WO2018140830A1 (en) * 2017-01-27 2018-08-02 Walmart Apollo, Llc Managing smart appliances using blockchain technology
US11481360B2 (en) * 2017-04-07 2022-10-25 Hwa-Shang CHANG Blockchain network and method of operation thereof
CN107231299A (zh) * 2017-06-07 2017-10-03 众安信息技术服务有限公司 一种链路由及实现区块链跨链通信的系统
WO2019028068A1 (en) * 2017-08-01 2019-02-07 Digital Asset (Switzerland) GmbH METHOD AND APPARATUS FOR AUTOMATICALLY ENGAGED PAYMENT OF DIGITAL GOODS
CN108335106A (zh) * 2018-01-24 2018-07-27 深圳壹账通智能科技有限公司 基于区块链的零知识多账本兑换转账方法、装置及存储介质
CN108764874B (zh) * 2018-05-17 2021-09-07 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、系统及存储介质
MX2019006095A (es) * 2018-12-29 2019-08-14 Alibaba Group Holding Ltd Sistema y metodo para proteccion de informacion.

Also Published As

Publication number Publication date
ZA201907229B (en) 2021-09-29
US20210312429A1 (en) 2021-10-07
MX2019012941A (es) 2019-12-16
US20190311351A1 (en) 2019-10-10
SG11201910095VA (en) 2019-11-28
PL3602956T3 (pl) 2021-07-26
JP6840268B2 (ja) 2021-03-10
CN110366738B (zh) 2023-09-26
BR112019022731A2 (pt) 2020-05-12
KR20200096722A (ko) 2020-08-13
CA3061789C (en) 2021-01-26
RU2736447C1 (ru) 2020-11-17
PH12019502464A1 (en) 2020-07-13
WO2019072317A2 (en) 2019-04-18
MX387320B (es) 2025-03-18
JP2020526053A (ja) 2020-08-27
EP3602956B1 (en) 2021-01-27
CA3061789A1 (en) 2019-04-18
TW202031012A (zh) 2020-08-16
CN110366738A (zh) 2019-10-22
AU2019202832A1 (en) 2020-08-13
TWI712306B (zh) 2020-12-01
KR102194078B1 (ko) 2020-12-24
EP3602956A4 (en) 2020-05-06
US10990963B2 (en) 2021-04-27
WO2019072317A3 (en) 2019-12-12
EP3602956A2 (en) 2020-02-05
AU2019202832B2 (en) 2020-09-24

Similar Documents

Publication Publication Date Title
ES2869166T3 (es) Comercio de activos cruzados dentro de redes de cadena de bloques
US11354657B2 (en) Managing transactions in multiple blockchain networks
RU2729700C1 (ru) Услуга смарт-контракта вне цепочки на основе доверенной среды исполнения
US10924288B2 (en) Managing blockchain-based centralized ledger systems
US11271760B2 (en) Managing blockchain-based centralized ledger systems
US11372848B2 (en) Managing transactions in multiple blockchain networks
US10790988B1 (en) Managing blockchain-based centralized ledger systems
US11403632B2 (en) Managing transactions in multiple blockchain networks
US20200344078A1 (en) Managing blockchain-based centralized ledger systems
HK40016076B (zh) 在区块链网络中的跨资产交易
HK40016076A (en) Cross-asset trading within blockchain networks
HK40017317B (zh) 基於可信执行环境的链外智能合约服务