ES2850923T3 - Métodos y dispositivos para procesar certificados en el sistema de cadena de bloques - Google Patents
Métodos y dispositivos para procesar certificados en el sistema de cadena de bloques Download PDFInfo
- Publication number
- ES2850923T3 ES2850923T3 ES19725914T ES19725914T ES2850923T3 ES 2850923 T3 ES2850923 T3 ES 2850923T3 ES 19725914 T ES19725914 T ES 19725914T ES 19725914 T ES19725914 T ES 19725914T ES 2850923 T3 ES2850923 T3 ES 2850923T3
- Authority
- ES
- Spain
- Prior art keywords
- certificates
- blockchain system
- certificate
- blockchain
- smart contract
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/387—Payment using discounts or coupons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3297—Cryptographic 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 time stamps, e.g. generation of time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Business processing using cryptography
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Power Engineering (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Un método implementado por ordenador para procesar certificados en un sistema de cadena de bloques (100), el método que se lleva a cabo por un dispositivo informático (102, 104, 106, 108, 110, 200) en comunicación con el sistema de cadena de bloques (100), el método que comprende: enviar una solicitud para generar un contrato inteligente al sistema de cadena de bloques, hacer que se genere un contrato inteligente (302) en el sistema de cadena de bloques (100), en donde el contrato inteligente incluye instrucciones legibles por ordenador para procesar certificados; después de que se genera el contrato inteligente, enviar una primera solicitud para una primera transacción al sistema de cadena de bloques (308), la primera transacción hace que el sistema de cadena de bloques ejecute el contrato inteligente para generar una especificación del certificado (310) en base a la primera solicitud; recibir, desde el sistema de cadena de bloques (100), la especificación del certificado (312); generar una segunda solicitud para una pluralidad de segundas transacciones en base a la especificación del certificado (314); enviar, al sistema de cadena de bloques (100), la segunda solicitud (316) para la pluralidad de segundas transacciones, la pluralidad de segundas transacciones que hace que el sistema de cadena de bloques (100) ejecute el contrato inteligente para generar una pluralidad de certificados (318), en donde la pluralidad de certificados comprende al menos uno de cupones, boletos o cupones; recibir la pluralidad generada de certificados del sistema de cadena de bloques; enviar, al sistema de cadena de bloques, una tercera solicitud para una tercera transacción (408), la tercera transacción que hace que el sistema de cadena de bloques (100) ejecute el contrato inteligente para cancelar un certificado de destino de la pluralidad de certificados (410); y recibir, del sistema de cadena de bloques, un resultado que indica que el certificado de destino se canceló (412).
Description
DESCRIPCIÓN
Métodos y dispositivos para procesar certificados en el sistema de cadena de bloques
Campo técnico:
La descripción se refiere generalmente a las tecnologías informáticas y, más particularmente, a los métodos y dispositivos para procesar certificados en un sistema de cadena de bloques.
Antecedentes
Los sistemas de cadena de bloques, también conocidos como sistemas de contabilidad distribuida (DLS) o sistemas de consenso, pueden permitir a las entidades participantes almacenen datos de forma segura e inmutable. Los sistemas de cadena de bloques pueden incluir cualquier DLS, sin hacer referencia a ningún caso de uso particular, y pueden usarse para redes de cadena de bloques públicas, privadas y del consorcio. Una red pública de cadena de bloques se abre para que todas las entidades usen el sistema y participen en el proceso de consenso. Se proporciona una red de cadena de bloques privada para una entidad en particular, que controla de forma centralizada los permisos de lectura y escritura. Se proporciona una red de cadena de bloques del consorcio para un grupo selecto de entidades, que controlan el proceso de consenso, e incluye una capa de control de acceso.
Un sistema de cadena de bloques mantiene una o más cadenas de bloques. Una cadena de bloques es una estructura de datos para almacenar datos, como transacciones, que puede evitar la alteración y manipulación de los datos por parte de partes malintencionadas.
Debido al requisito de transparencia, el procesamiento de certificados (por ejemplo, cupones, boletos y similares) puede implementarse en un sistema de cadena de bloques. Convencionalmente, se crea un certificado en base a una cuenta de contrato de un contrato inteligente que se ejecuta en el sistema de cadena de bloques. Por ejemplo, cuando se crea, distribuye o cancela un certificado, la cuenta del contrato inteligente debe actualizarse en consecuencia, para mantener la precisión y el saldo de la cuenta. Sin embargo, la actualización de la cuenta para un certificado puede tardar de unos segundos a unos minutos. Por lo tanto, durante un período de tiempo ocupado por el sistema, el procesamiento de un gran número de certificados de una manera convencional puede afectar el rendimiento del sistema de cadena de bloques. Resumen
En un aspecto, un método implementado por ordenador para procesar certificados en un sistema de cadena de bloques se describe como se mencionó en la reivindicación 1.
En otro aspecto, un dispositivo para procesar certificados en un sistema de cadena de bloques se describe como se mencionó en la reivindicación 9.
En otro aspecto, un medio legible por ordenador no transitorio se describe como se mencionó en la reivindicación 10. Breve descripción de las figuras
Los dibujos adjuntos, los cuales se incorporan y constituyen parte de esta descripción, ilustran las modalidades. En la siguiente descripción, el cual hace referencia a los dibujos, los mismos números en dibujos diferentes representan los mismos elementos o similares a menos que se representen de cualquier otra manera.
La Figura 1 es un diagrama esquemático de un sistema de cadena de bloques, de acuerdo con una modalidad.
La Figura 2 es un diagrama esquemático de un dispositivo informático para implementar un nodo en un sistema de cadena en bloques, de acuerdo con una modalidad.
La Figura 3 es un diagrama de flujo de un método para procesar certificados en un sistema de cadena de bloques, de acuerdo con una modalidad.
La Figura 4 es un diagrama de flujo de un método para procesar certificados en un sistema de cadena de bloques, de acuerdo con una modalidad.
La Figura 5 es un diagrama de flujo de un método implementado por ordenador para procesar certificados en un sistema de cadena de bloques, de acuerdo con una modalidad.
La Figura 6 es un diagrama de flujo de un método implementado por ordenador para procesar certificados en un sistema de cadena de bloques, de acuerdo con una modalidad.
La Figura 7 es un diagrama de bloques de un aparato para procesar certificados en un sistema de cadena de bloques, de acuerdo con una modalidad.
Descripción detallada
Las modalidades de la descripción proporcionan métodos y dispositivos para procesar certificados en un sistema de cadena de bloques. Los métodos y dispositivos pueden hacer un contrato inteligente que se genera en el sistema de cadena de bloques. El contrato inteligente incluye instrucciones legibles por ordenador para procesar certificados. Después de generar el contrato inteligente, los métodos y dispositivos pueden enviar una primera solicitud para una primera transacción al sistema de cadena de bloques, la primera transacción que hace que el sistema de cadena de bloques ejecute el contrato inteligente para generar una especificación del certificado en base a la primera solicitud. Los métodos y dispositivos pueden recibir la especificación del certificado del sistema de cadena de bloques. Los métodos y dispositivos pueden enviar además una segunda solicitud para una pluralidad de segundas transacciones al sistema de cadena de bloques. La pluralidad de segundas transacciones hace que el sistema de cadena de bloques ejecute el contrato inteligente para generar una pluralidad de certificados.
Las modalidades descritas en la descripción tienen uno o más efectos técnicos. En algunas modalidades, los métodos y dispositivos hacen que el sistema de cadena de bloques ejecute un contrato inteligente para generar la especificación del certificado. Esto permite que la especificación del certificado sea accesible públicamente en el sistema de cadena de bloques, lo que garantiza la transparencia de la actividad de la transacción. En algunas modalidades, los métodos y dispositivos hacen que el sistema de cadena de bloque ejecute el contrato inteligente para generar certificados en base a la especificación del certificado. Esto permite la generación de certificados precisos con la información especificada en la especificación del certificado, mejorando de esta manera el rendimiento del sistema y ahorrando el costo informático de ejecutar una cuenta de contrato en el sistema de cadena de bloques. En otras modalidades, los métodos y dispositivos hacen que el sistema de cadena de bloques ejecute una pluralidad de segundas transacciones para generar una pluralidad de certificados antes de recibir solicitudes para usar los certificados. Esto permite separar la generación de un certificado de la distribución y la cancelación del certificado, de modo que se reduzca el impacto del procesamiento de certificados en el rendimiento de la cadena de bloques. La generación de certificados en el sistema de cadena de bloques también proporciona una transparencia adicional de la actividad de la transacción. Por ejemplo, los nodos del sistema de cadena de bloques pueden verificar los certificados en base a la especificación del certificado.
La siguiente descripción proporciona detalles de las modalidades. En las modalidades, una cadena de bloques es una estructura de datos que almacena datos, por ejemplo, transacciones, de una manera que las transacciones pueden ser inmutables y subsecuentemente verificadas. Una cadena de bloques incluye uno o más bloques. Cada bloque se vincula a un bloque anterior inmediatamente antes de él en la cadena de bloques al incluir un hash criptográfico del bloque anterior. Cada bloque también puede incluir una marca de tiempo, su propio hash criptográfico y una o más transacciones. Las transacciones, que generalmente ya han sido verificadas por los nodos del sistema de cadena de bloques, pueden tener hash y codificarse en una estructura de datos, como un árbol de Merkle. En un árbol de Merkle, los datos en los nodos de las hojas del árbol tienen un hash y todos los hashes de cada rama del árbol pueden concatenarse en la raíz de la rama. Este proceso continúa hasta la raíz de todo el árbol, que almacena un hash que es representativo de todos los datos del árbol. Un hash que pretende ser de una transacción almacenada en el árbol puede verificarse rápidamente al determinar si es consistente con la estructura del árbol.
Un sistema de cadena de bloques incluye una red de nodos informáticos que administran, actualizan y mantienen una o más cadenas de bloques. La red puede ser una red de cadena de bloques pública, una red de cadena de bloques privada o una red cadena de bloques del consorcio. Por ejemplo, numerosas entidades, como cientos, miles o incluso millones de entidades, pueden operar en una red de cadena de bloques pública, y cada una de las entidades opera al menos un nodo en la red de cadena de bloques pública. En consecuencia, la red de cadena de bloques pública puede considerarse una red pública con respecto a las entidades participantes. A veces, la mayoría de las entidades (nodos) deben firmar cada bloque para que el bloque se valide y agregado a la cadena de bloques de la red de cadena de bloques. Los ejemplos de redes de cadenas de bloques públicas incluyen redes de pago de par a par particulares que aprovechan un libro mayor distribuido, denominado como cadena de bloques.
En general, una red de cadena de bloques pública puede admitir transacciones públicas. Una transacción pública se comparte con todos los nodos de la red de cadena de bloques pública y se almacena en una cadena de bloques global. Una cadena de bloques global es una cadena de bloques replicada en todos los nodos, y todos los nodos están en consenso con respecto a la cadena de bloques global. Para lograr un consenso (por ejemplo, un acuerdo para la adición de un bloque a una cadena de bloques), se implementa un protocolo de consenso en la red de cadenas de bloques pública. Algunos ejemplos de protocolos de consenso incluyen prueba de trabajo (POW) (por ejemplo, implementada en algunas redes de criptomonedas), la prueba de participación (POS) y la prueba de autoridad (POA).
En general, puede proporcionarse una red de cadena de bloques privada para una entidad en particular, que controla centralmente los permisos de lectura y escritura. La entidad controla qué nodos pueden participar en la red de cadena de bloques. En consecuencia, las redes de cadena de bloques privadas se denominan generalmente redes autorizadas que imponen restricciones a quién se le permite participar en la red y en su nivel de participación (por ejemplo, solo en ciertas
transacciones). Pueden usarse varios tipos de mecanismos de control de acceso (por ejemplo, los participantes existentes votan sobre la adición de nuevas entidades, una autoridad reguladora puede controlar la admisión).
En general, una red de cadena de bloques del consorcio puede ser privada entre las entidades participantes. En una red de cadena de bloques del consorcio, el proceso de consenso se controla por un conjunto autorizado de nodos, uno o más nodos operados por una entidad respectiva (por ejemplo, una institución financiera, compañía de seguros). Por ejemplo, un consorcio de diez (10) entidades (por ejemplo, instituciones financieras, compañías de seguros) puede operar una red de cadena de bloques del consorcio, cada una de las cuales opera al menos un nodo en la red de cadena de bloques del consorcio. En consecuencia, la red de cadena de bloques del consorcio puede considerarse una red privada con respecto a las entidades participantes. En algunos ejemplos, cada entidad (nodo) debe firmar cada bloque para que el bloque se valide y agregue a la cadena de bloques. En algunos ejemplos, al menos un subconjunto de entidades (nodos) (por ejemplo, al menos 7 entidades) debe firmar cada bloque para que el bloque se valide y agregue a la cadena de bloques.
La Figura 1 es un diagrama esquemático de un sistema de cadena de bloques 100, de acuerdo con una modalidad. Con referencia a la Figura 1, el sistema de cadena de bloques 100 puede incluir una pluralidad de nodos, por ejemplo, los nodos 102-110, configurados para operar en una cadena de bloques 120. Los nodos 102-110 pueden formar una red 112, como una red de par a par (P2P). Cada uno de los nodos 102-110 puede ser un dispositivo informático, como un ordenador o un sistema informático, configurado para almacenar una copia de la cadena de bloques 120, o puede ser un software que se ejecuta en el dispositivo informático, como un proceso o una aplicación. Cada uno de los nodos 102-110 puede tener un identificador único.
La cadena de bloques 120 puede incluir una creciente lista de registros en forma de bloques de datos, como los bloques B1-B5 en la Figura 1. Cada uno de los bloques B1-B5 puede incluir una marca de tiempo, un hash criptográfico de un bloque anterior y datos del bloque actual, que pueden ser transacciones como transacciones monetarias. Por ejemplo, como se ilustra en la Figura 1, el bloque B5 puede incluir una marca de tiempo, un hash criptográfico del bloque B4 y datos de transacción del bloque B5. También, por ejemplo, puede realizarse una operación de hash en el bloque anterior para generar el hash criptográfico del bloque anterior. La operación de hash puede convertir entradas de varias longitudes en salidas criptográficas de una longitud fija a través de un algoritmo hash, como SHA-256.
Los nodos 102-110 pueden configurarse para realizar una operación en la cadena de bloques 120. Por ejemplo, cuando un nodo, por ejemplo, el nodo 102, desea almacenar nuevos datos en la cadena de bloques 120, ese nodo puede generar un nuevo bloque que se agregará a la cadena de bloques 120 y transmitir el nuevo bloque a otros nodos, por ejemplo, los nodos 104-110, en la red 112. En base a la legitimidad del nuevo bloque, por ejemplo, la validez de su firma y transacciones, los otros nodos pueden determinar aceptar el nuevo bloque, de manera que el nodo 102 y los otros nodos pueden agregar el nuevo bloque a sus respectivas copias de la cadena de bloques 120. A medida que este proceso se repite, pueden agregarse más y más bloques de datos a la cadena de bloques 120.
El sistema de cadena de bloques 100 puede operar de acuerdo con uno o más contratos inteligentes. Cada contrato inteligente puede ser un protocolo informático en forma de código informático que se incorpora a la cadena de bloques 120, para facilitar, verificar o hacer cumplir la negociación o ejecución de un contrato. Por ejemplo, un usuario del sistema de cadena de bloques 100 puede programar los términos acordados en un contrato inteligente al usar un lenguaje de programación, como C++, Java, Solidity, Python, etc., y cuando se cumplen los términos, el contrato inteligente puede ejecutarse automáticamente por el sistema de cadena de bloques 100, por ejemplo, para realizar una transacción. También por ejemplo, el contrato inteligente puede incluir una pluralidad de subrutinas o funciones, cada una de las cuales puede ser una secuencia de instrucciones del programa que realiza una tarea específica. El contrato inteligente puede ser un código operativo que se ejecuta total o parcialmente sin interacción humana.
Como cada uno de los nodos 102-110 puede almacenar una copia de la cadena de bloques 120, cada uno de los nodos 102-110 también puede tener acceso a una copia del contrato inteligente incluido en la cadena de bloques 120. En una modalidad, el contrato inteligente puede asignarse con una dirección en la cadena de bloques 120, por ejemplo, después de que el contrato inteligente se compila en un código operativo. La dirección del contrato inteligente se configura o se usa para ubicar el contrato inteligente en la cadena de bloques 120.
En una modalidad, un nodo (por ejemplo, el nodo 102) en el sistema de cadena de bloques 100 puede realizar una transacción en base a una copia del contrato inteligente. Después de que un nuevo bloque que incluye la transacción se transmite al sistema de cadena de bloques 100, otros nodos en el sistema de cadena de bloques 100 pueden verificar el nuevo bloque. Después de que el nuevo bloque se verifica por la mayoría o todos los nodos en el sistema de cadena de bloques 100, el nuevo bloque puede agregarse a las copias respectivas de la cadena de bloques 120 en esos nodos, y la transacción se completa.
La Figura 2 es un diagrama esquemático de un dispositivo informático 200 para implementar un nodo, por ejemplo, el nodo 102 (Figura 1), en un sistema de cadena de bloques, de acuerdo con las modalidades de la descripción. Con referencia a la Figura 2, el dispositivo informático 200 puede incluir una interfaz de comunicación 202, un procesador 204 y una memoria 206.
La interfaz de comunicación 202 puede facilitar la comunicación entre el dispositivo informático 200 y los dispositivos que implementan otros nodos, por ejemplo, los nodos 104-110 (Figura 1), en la red. En algunas modalidades, la interfaz de comunicación 202 puede admitir uno o más estándares de comunicación, como un estándar o protocolo de Internet, un estándar de Red Digital de Servicios Integrados (ISDN), etc. En algunas modalidades, la interfaz de comunicación 202 puede incluir una o más de una tarjeta de red de área local (LAN), un módem de cable, un módem de satélite, un bus de datos, un cable, un canal de comunicación inalámbrico, un canal de comunicación basado en radio, un canal de comunicación celular, un dispositivo de comunicación basado en el Protocolo de Internet (IP) u otros dispositivos de comunicación para comunicaciones por cable y/o inalámbricas. En algunas modalidades, la interfaz de comunicación 202 puede ser en base a la infraestructura de nube pública, la infraestructura de nube privada, la infraestructura de nube híbrida pública/privada.
El procesador 204 puede incluir una o más unidades de procesamiento dedicadas, circuitos integrados específicos de la aplicación (ASIC), matrices de puertas programables en campo (FPGAs) o varios otros tipos de procesadores o unidades de procesamiento. El procesador 204 se acopla con la memoria 206 y ejecuta las instrucciones almacenadas en la memoria 206.
La memoria 206 puede almacenar instrucciones y datos ejecutables del procesador, como una copia de la cadena de bloques 120 (Figura 1). La memoria 206 puede incluir cualquier tipo de dispositivos de memoria volátiles o no volátiles, o una combinación de los mismos, como una memoria estática de acceso aleatorio (SRAM), una memoria programable de solo lectura borrable eléctricamente (EEPROM), una memoria de solo lectura programable borrable (EPROM), una memoria de solo lectura programable (PROM), una memoria de solo lectura (ROM), una memoria magnética, una memoria flash o un disco magnético u óptico. Cuando el procesador 204 ejecuta las instrucciones de la memoria 206, el dispositivo informático 200 puede realizar una operación en la cadena de bloques 120.
Refiriéndose a la Figura 1, el sistema de cadena de bloques 100 puede usarse en actividades de transacción que impliquen datos abiertos y términos transparentes, como una actividad de promoción de ventas, una actividad de marketing, etc. Por ejemplo, un comerciante puede emitir certificados, como cupones, a clientes que nunca compraron dichos productos. Al usar el sistema de cadena de bloques 100, la emisión de los cupones puede hacerse cumplir al usar un contrato inteligente. Por ejemplo, si un cliente cumple con un término especificado en un contrato inteligente (por ejemplo, "el consumidor nunca compró este producto"), un evento correspondiente puede aplicarse a ocurrir (por ejemplo, "emitir un cupón a ese consumidor"). El uso del contrato inteligente puede hacer que los términos y condiciones del contrato sean transparentes porque el contrato inteligente se almacena en una cadena de bloques y está abierto a los usuarios.
Los certificados pueden incluir cupones, boletos, vales o similares. Por ejemplo, los cupones pueden usarse en una actividad de promoción de ventas, al proporcionar descuentos a los usuarios de una plataforma en línea. También, por ejemplo, los boletos pueden usarse en un evento (por ejemplo, un concierto) o un sitio de interés (por ejemplo, un destino turístico, un museo o similar), al proporcionar acceso al evento o al sitio de interés. Como otro ejemplo, durante las vacaciones, un sitio de interés puede proporcionar un número limitado de boletos para controlar el tráfico de visitantes. En estos ejemplos, los certificados pueden ser populares entre los usuarios, lo que requiere además la transparencia para procesar los certificados. Como el sistema de cadena de bloques puede evitar la alteración y manipulación de los datos almacenados por partes malintencionadas y cada nodo del sistema de cadena de bloques puede incluir una copia de la cadena de bloques, el procesamiento de los certificados en un sistema de cadena de bloques puede ser confiable y verificable.
En una modalidad, un dispositivo 130 en la Figura 1 puede usarse por un usuario, por ejemplo, un comerciante, para interactuar con el sistema de cadena de bloques 100. El dispositivo 130 puede ser un dispositivo informático similar al dispositivo informático 200 (Figura 2), que puede incluir una interfaz de comunicación, un procesador y una memoria. En algunas modalidades, el dispositivo 130 opera como un nodo del sistema de cadena de bloques 100. En otras modalidades, el dispositivo 130 no opera como un nodo y puede interactuar con el sistema de cadena de bloques 100 a través de conexiones establecidas con uno o más nodos, por ejemplo, los nodos 102-110, del sistema de cadena de bloques 100. Las conexiones pueden establecerse a través de una o más interfaces de programación de aplicaciones (API). También pueden proporcionarse kits de desarrollo de software (SDK) para facilitar el establecimiento de dichas conexiones.
La Figura 3 es un diagrama de flujo de un método 300 para procesar certificados en un sistema de cadena de bloque, como el sistema de cadena de bloques 100 (Figura 1), de acuerdo con una modalidad. Por ejemplo, el método 300 se usa para generar certificados. También, por ejemplo, el método 300 puede realizarse por uno o más procesadores del dispositivo 130 (Figura 1), y uno o más procesadores pueden implementar un sistema de interfaz del usuario y un sistema de gestión de actividad. El sistema de interfaz del usuario puede interactuar con un usuario, por ejemplo, un comerciante, para introducir y generar datos, y enviar una solicitud para generar certificados al sistema de gestión de actividades. El sistema de gestión de actividades puede generar instrucciones o solicitudes al sistema de cadena de bloques 100 para su ejecución. En algunas modalidades, el sistema de cadena de bloques puede implementar una cadena de bloques del consorcio.
Con referencia a la Figura 3, en el paso 302, el sistema de gestión de actividades puede enviar al sistema de cadena de bloques una solicitud para generar un contrato inteligente. En algunas modalidades, el contrato inteligente puede proporcionarse por el usuario (por ejemplo, al enviar códigos de programa generados por el usuario a la cadena de bloques), o al seleccionar y configurar el usuario a partir de los contratos inteligentes de la plantilla proporcionados por el proveedor de servicios de cadena de bloques. Por ejemplo, el usuario puede seleccionar un contrato inteligente de un menú y proporcionar parámetros personalizados. El contrato inteligente puede representar una estrategia y reglas de la actividad de transacción establecidas por el usuario. Por ejemplo, en una actividad de promoción de ventas basada en cupones, las reglas pueden incluir limitaciones en un valor total permitido de cupones recibidos por cliente, un número total permitido de cupones recibidos por cliente, denominaciones de los cupones, tipos de cupones, un porcentaje de clientes específicos en una región geográfica designada, métodos para que los clientes reciban los cupones, condiciones y limitaciones para que los clientes usen los cupones, etc.
En consecuencia, en el paso 304, el sistema de cadena de bloques 100 puede generar el contrato inteligente y devolver una dirección del contrato inteligente generado. La dirección del contrato inteligente puede incluir una pluralidad de dígitos (por ejemplo, 160 dígitos binarios). En algunas modalidades, la dirección del contrato inteligente puede almacenarse y transmitirse al usar un valor hash correspondiente a la dirección. Cuando se envía una transacción a la dirección del contrato inteligente, la transacción puede ejecutarse por una función correspondiente del contrato inteligente. El contrato inteligente puede incluir una pluralidad de funciones, como una función de generación de especificación del certificado, una función de generación de certificado, una función de verificación de certificado o una función de cancelación. Se aprecia que, el contrato inteligente generado puede usarse para diferentes actividades de transacción, como la emisión de cupones, emisión de boletos, etc., de acuerdo con diferentes solicitudes.
En el paso 306, el sistema de gestión de actividades puede recibir una solicitud para generar certificados desde el sistema de interfaz del usuario. Por ejemplo, el sistema de interfaz del usuario puede generar la solicitud en base a la entrada del usuario. La solicitud de generación de certificados puede incluir información sobre los certificados que se van a generar. En algunas modalidades, la información relativa a los certificados puede incluir al menos uno de los tipos de certificado, un número de certificados para cada tipo de certificado, un número total de certificados o un período válido de cada certificado. Por ejemplo, una solicitud para generar cupones puede solicitar la generación de 1000 cupones para el descuento de tres dólares y 500 cupones para el descuento de cinco dólares, y estos cupones serán válidos durante tres días.
En base a la solicitud de generación de certificados recibidos del sistema de interfaz del usuario, el sistema de administración de actividad puede generar una primera solicitud para una primera transacción y la primera transacción se usa para hacer que el sistema de cadena de bloques ejecute el contrato inteligente para generar una especificación del certificado en base a la primera solicitud. En el paso 308, el sistema de gestión de actividades puede enviar además la primera solicitud de la primera transacción al sistema de cadena de bloques 100. Por ejemplo, la primera solicitud para la primera transacción puede enviarse a la dirección del contrato inteligente recibido del sistema de cadena de bloques en el paso 304.
En el paso 310, en respuesta a la primera solicitud de la primera transacción, el sistema de cadena de bloques 100 ejecuta el contrato inteligente para generar una especificación del certificado en base a la información de la solicitud de generación de certificados. Por ejemplo, el sistema de cadena de bloques 100 ejecuta la función de generación de especificación del certificado del contrato inteligente para ejecutar la primera transacción. Como resultado de la ejecución de la primera transacción, la especificación del certificado puede generarse y almacenarse, por ejemplo, como un valor hash. La especificación del certificado generada puede incluir al menos uno de los tipos de certificado de los certificados que se generarán, un número de certificados para cada tipo de certificado, un número total de certificados o un período válido de cada certificado. La especificación del certificado, como resultado de la ejecución de una transacción, puede registrarse en la cadena de bloques y ser accesible por los nodos del sistema de cadena de bloques 100. Por lo tanto, la especificación del certificado es pública en la cadena de bloques para garantizar la transparencia de la actividad de la transacción.
En el paso 312, el sistema de gestión de actividades puede recibir la especificación del certificado del sistema de cadena de bloques 100. En el paso 314, el sistema de gestión de actividades puede generar una segunda solicitud para generar certificados en base a la especificación del certificado. Por ejemplo, la especificación del certificado puede especificar 1000 cupones para el descuento de tres dólares y 500 cupones para el descuento de cinco dólares y, en consecuencia, el sistema de gestión de actividades puede generar la segunda solicitud para generar 1000 cupones para el descuento de tres dólares y 500 cupones para el descuento de cinco dólares, en base a la especificación del certificado. La segunda solicitud puede incluir una pluralidad de segundas transacciones correspondientes a los certificados. En algunas modalidades, cada una de la pluralidad de segundas transacciones corresponde a un certificado. Por ejemplo, una segunda transacción puede dirigirse a generar un cupón para el descuento de tres dólares, y otra segunda transacción puede dirigirse a generar un cupón para el descuento de cinco dólares. Se aprecia que una segunda transacción también puede dirigirse a la generación de múltiples certificados.
En el paso 316, el sistema de gestión de actividades puede enviar la segunda solicitud para las segundas transacciones al sistema de cadena de bloques 100. Por ejemplo, las segundas transacciones pueden enviarse a la dirección del contrato inteligente.
En el paso 318, en respuesta a la segunda solicitud para las segundas transacciones, el sistema de cadena de bloques 100 puede ejecutar el contrato inteligente para generar certificados correspondientes a las segundas transacciones. Como resultado de la ejecución de las segundas transacciones, los certificados pueden generarse y almacenarse, por ejemplo, como valores hash. Cada uno de los certificados generados puede incluir información relacionada con el certificado. Por ejemplo, si el certificado es un cupón, el certificado puede incluir un código del cupón, un tipo de cupón, descuento proporcionado por el cupón, una categoría aplicable del cupón, un período válido del cupón y similares. Los certificados generados pueden almacenarse en el sistema de cadena de bloques 100.
En algunas modalidades, en el paso 318, el sistema de cadena de bloques 100 también puede ejecutar la función de verificación del contrato inteligente para determinar si los certificados generados satisfacen con la especificación del certificado. La función de verificación puede monitorear tipos y varios de los certificados generados, y determinar si los tipos y el número de certificados generados satisfacen con el requisito de la especificación del certificado. Por ejemplo, si la especificación del certificado especifica 1000 cupones para el descuento de tres dólares y 500 cupones para el descuento de cinco dólares, y la función de verificación puede determinar que los certificados generados satisfacen con la especificación del certificado cuando la función de determinación de satisfacción determina que 1000 cupones para el descuento de tres dólares y 500 cupones para el descuento de cinco dólares. En respuesta a la determinación de que los certificados generados satisfacen la especificación del certificado, el contrato inteligente deja de generar certificados. Se aprecia que la función de verificación también puede verificar el período válido de cada certificado generado.
En el paso 320, el sistema de cadena de bloques 100 puede enviar los certificados generados al sistema de gestión de actividades. En consecuencia, en el paso 322, el sistema de gestión de actividades puede enviar al sistema de interfaz del usuario un mensaje que indica la generación satisfactoria de certificados.
La Figura 4 es un diagrama de flujo de un método 400 para procesar certificados en un sistema de cadena de bloques, de acuerdo con una modalidad. Por ejemplo, el método 400 se usa para distribuir certificados a los usuarios y cancelar los certificados distribuidos en el sistema de cadena de bloques. También, por ejemplo, el método 400 puede realizarse por el dispositivo 130 (Figura 1), que puede incluir el sistema de interfaz del usuario y el sistema de gestión de actividades.
Con referencia a la Figura 4, en el paso 402, el sistema de interfaz del usuario puede recibir una solicitud de usuario para un certificado de destino de un usuario. La solicitud del usuario puede incluir información de un certificado de destino, una identificación (ID) del usuario y similares. La información del certificado de destino puede incluir un tipo de certificado de destino. La ID puede usarse para identificar al usuario cuando el certificado de destino se distribuye al usuario. Se aprecia que el usuario puede solicitar el certificado de destino a través de cualquier tipo de redes, como Internet.
En el paso 404, el sistema de interfaz del usuario puede generar una solicitud de distribución de certificado en base a la solicitud del usuario y enviar la solicitud de distribución de certificado al sistema de gestión de actividades. El ID del usuario que solicita el certificado puede enviarse al sistema de gestión de actividades con la solicitud de distribución de certificado.
En base a la solicitud de distribución de certificado recibida, en el paso 406, el sistema de gestión de actividad puede determinar un certificado como el certificado de destino que se va a distribuir. Como se describió anteriormente, en el paso 320 (Figura 3), los certificados generados se envían al sistema de gestión de actividades. Por lo tanto, el sistema de gestión de actividades puede determinar el certificado de destino entre los certificados recibidos en base a la solicitud de distribución de certificados. Por ejemplo, el sistema de gestión de actividades puede determinar un tipo de certificado de destino y determinar si los certificados recibidos tienen un certificado válido del tipo determinado. En algunas modalidades, el sistema de gestión de actividades puede tener una lista de certificados válidos. Si la lista de certificados válidos tiene un certificado válido del tipo determinado, el sistema de gestión de actividades puede determinar el certificado válido como certificado de destino para el usuario.
Después de determinar el certificado de destino, en el paso 408, el sistema de gestión de actividades puede enviar una solicitud de una transacción de cancelación al sistema de cadena de bloques 100. Por ejemplo, la cancelación es una cancelación o eliminación de un artículo de una cuenta. En la modalidad, cuando un certificado se distribuye a un usuario, ese certificado no puede usarse por otro usuario y, por lo tanto, puede cancelarse. En algunas modalidades, la distribución del certificado puede verificarse antes de que se cancele el certificado. También por ejemplo, la transacción de cancelación puede enviarse a la dirección del contrato inteligente antes de que se distribuya el certificado de destino. Cuando el sistema de cadena de bloques 100 recibe la solicitud y cancela el certificado de destino, el certificado no puede usarse por otro usuario. En algunas modalidades, el sistema de gestión de actividades puede enviar de forma asincrónica, al sistema de cadena de bloques, una pluralidad de solicitudes de una pluralidad de transacciones de cancelación, cada una de la pluralidad de transacciones de cancelación al hacer que el sistema de cadena de bloques ejecute el contrato inteligente para cancelar un certificado de destino correspondiente de la pluralidad de certificados. Esto evita sobrecargar el sistema de cadena de bloques en un momento determinado.
En el paso 410, en respuesta a la solicitud de la transacción de cancelación, el sistema de cadena de bloques 100 ejecuta el contrato inteligente para cancelar el certificado de destino. Por ejemplo, el sistema de cadena de bloques 100 ejecuta la función de cancelación del contrato inteligente para ejecutar la transacción de cancelación. Por ejemplo, la función de cancelación del contrato inteligente puede determinar si el certificado de destino es válido. Se aprecia que el certificado de destino es válido cuando se va a cancelar el certificado de destino. Como el consenso del sistema de cadena de
bloques 100 puede tardar algún tiempo, por ejemplo, unos segundos, para alcanzar, otra solicitud para el certificado de destino puede recibirse antes de que se alcance el consenso. La función de cancelación del contrato inteligente cancela el certificado de destino después de distribuir el certificado. Por lo tanto, la función de cancelación puede responder a la otra solicitud de que el certificado ahora no es válido, y la respuesta también puede incluir información del usuario (por ejemplo, el ID del usuario) al se distribuye el certificado.
En el paso 412, el sistema de cadena de bloques 100 puede enviar un mensaje al sistema de gestión de actividades que indique la cancelación satisfactoria del certificado. Por otro lado, cuando se recibe la solicitud de la transacción de cancelación, el certificado puede distribuirse y ya no es válido. En esta situación, la cadena de bloques 100 puede enviar un mensaje que indica una cancelación fallida al sistema de gestión de actividades. Y el sistema de gestión de actividades puede volver a ejecutar el paso 406 para solicitar otro certificado de distribución.
En el paso 414, al recibir el mensaje que indica la cancelación satisfactoria del certificado, el sistema de gestión de actividades puede enviar un resultado de la distribución satisfactoria del certificado de destino al sistema de interfaz del usuario.
En el método 300 (Figura 3) y el método 400 (Figura 4), la distribución y la cancelación de un certificado se separan de la generación del certificado. Por lo tanto, la carga de cálculo en el sistema de cadena de bloques 100 puede extenderse durante un período de tiempo, y el impacto en el rendimiento del sistema de cadena de bloques 100 puede reducirse.
La Figura 5 es un diagrama de flujo de un método 500 implementado por ordenador para procesar certificados en un sistema de cadena de bloques, de acuerdo con una modalidad. El método 500 puede realizarse por un sistema informático. El sistema informático puede incluir una memoria que almacena un conjunto de instrucciones y al menos un procesador para ejecutar el conjunto de instrucciones para hacer que el sistema informático realice el método 500. Por ejemplo, el sistema informático puede ser el dispositivo 130 (Figura 1), que puede incluir el sistema de interfaz del usuario y el sistema de gestión de actividades (Figuras 3 y 4). Con referencia a la Figura 5, el método 500 puede incluir los siguientes pasos.
En el paso 502, el sistema informático puede hacer que se genere un contrato inteligente en el sistema de cadena de bloques, por ejemplo, el sistema de cadena de bloques 100 (Figura 1). Como se describió anteriormente, el contrato inteligente puede incluir instrucciones legibles por ordenador para procesar certificados. Los certificados pueden ser cupones, boletos, vales, etc.
En el paso 504, el sistema informático puede enviar una primera solicitud de una primera transacción al sistema de cadena de bloques, después de que se genere el contrato inteligente. La primera transacción puede enviarse a la dirección del contrato inteligente para su ejecución. Por ejemplo, la primera transacción puede hacer que el sistema de cadena de bloques ejecute el contrato inteligente para generar una especificación del certificado en base a la primera solicitud. La especificación del certificado puede incluir un valor hash que represente la ejecución de la primera transacción. La especificación del certificado también puede incluir al menos uno de los tipos de certificado, un número de certificados para cada tipo de certificado, un número total de certificados o un período válido de cada certificado. En algunas modalidades, los certificados incluyen al menos uno de cupones, boletos, vales o similares.
En el paso 506, el sistema informático puede recibir la especificación del certificado del sistema de cadena de bloques. En base a la especificación del certificado, el sistema informático puede generar una segunda solicitud para una pluralidad de segundas transacciones.
En el paso 508, el sistema informático puede enviar al sistema de cadena de bloques la segunda solicitud para la pluralidad de segundas transacciones. La pluralidad de segundas transacciones puede enviarse a la dirección del contrato inteligente. La pluralidad de segundas transacciones hace que el sistema de cadena de bloques ejecute el contrato inteligente para generar y verificar una pluralidad de certificados. En algunas modalidades, al verificar la pluralidad de certificados, el sistema de cadena de bloques puede hacerse para ejecutar el contrato inteligente para determinar si la pluralidad de certificados satisface la especificación del certificado. Por ejemplo, el sistema de cadena de bloques puede determinar si los certificados generados son certificados de un tipo de certificado solicitado, si un número de los certificados generados satisface el número solicitado para el tipo de certificado, si un número de todos los certificados generados satisface el número total solicitado de certificados, o si un período válido de un certificado generado satisface el período válido solicitado. En algunas modalidades, cuando se satisfacen todas las condiciones de la especificación del certificado, el sistema de cadena de bloques determina que la pluralidad de certificados satisface la especificación del certificado y envía un mensaje que indica que la pluralidad de certificados se genera satisfactoriamente al sistema informático.
El sistema informático también puede distribuir la pluralidad de certificados a los usuarios. Por ejemplo, el sistema informático puede recibir una solicitud para un certificado de destino. La solicitud del certificado de destino puede generarse en base a la entrada del usuario. Por ejemplo, el sistema de interfaz del usuario del sistema informático puede recibir la entrada del usuario al solicitar un certificado y generar la solicitud en consecuencia.
La Figura 6 es un diagrama de flujo de un método implementado por ordenador 600 para procesar certificados en un sistema de cadena de bloques, de acuerdo con una modalidad. El método 600 también puede realizarse por el sistema informático descrito en relación con la Figura 5. Se aprecia que el método 600 puede implementarse como parte del método 500 o como un método independiente. Con referencia a la Figura 6, el método 600 puede incluir los siguientes pasos.
En el paso 602, el sistema informático puede enviar una tercera solicitud para una tercera transacción al sistema de cadena de bloques. La tercera transacción puede enviarse a la dirección del contrato inteligente que se ejecuta en el sistema de cadena de bloques, antes de que se distribuya un certificado de destino de la pluralidad de certificados recibidos del sistema de cadena de bloques. El sistema de cadena de bloques puede hacerse por la tercera transacción para ejecutar el contrato inteligente para cancelar el certificado de destino. Como se describió anteriormente, la pluralidad de certificados pueden ser cupones, boletos, vales, etc. En algunas modalidades, cuando el certificado de destino es un cupón de destino, el sistema de cadena de bloques se hace para ejecutar el contrato inteligente para cancelar el cupón de destino. En algunas modalidades, el sistema informático puede enviar de forma asincrónica, al sistema de cadena de bloques, una pluralidad de terceras solicitudes de una pluralidad de terceras transacciones, cada una de la pluralidad de terceras transacciones que hace que el sistema de cadena de bloques ejecute el contrato inteligente para cancelar un certificado de destino correspondiente de la pluralidad de certificados. Esto evita sobrecargar el sistema de cadena de bloques en un momento determinado.
Puede generarse un resultado que indique que se implementa el certificado de destino y puede enviarse al sistema informático. Por lo tanto, en el paso 604, el sistema informático puede recibir del sistema de cadena de bloques el resultado que indica que se implementa el certificado de destino.
La Figura 7 es un diagrama de bloques de un aparato 700 para procesar certificados en un sistema de cadena de bloques, de acuerdo con una modalidad. Por ejemplo, el aparato 700 puede implementar el dispositivo 130 (Figura 1). También, por ejemplo, el aparato 700 puede realizar el método 500 (Figura 5) y el método 600 (Figura 6). Con referencia a la Figura 7, el aparato 700 puede incluir un módulo de generación de contratos inteligentes 702 y un módulo de generación de certificados 704.
El módulo de generación de contrato inteligente 702 puede hacer que se genere un contrato inteligente en el sistema de cadena de bloques. El contrato inteligente puede incluir instrucciones legibles por ordenador para procesar certificados. El módulo de generación de certificados 704 puede enviar una primera solicitud para una primera transacción al sistema de cadena de bloques, la primera transacción hace que el sistema de cadena de bloques ejecute el contrato inteligente para generar una especificación del certificado en base a la primera solicitud. El módulo de generación de certificados 704 puede recibir del sistema de cadena de bloques la especificación del certificado. El módulo de generación de certificados 704 puede enviar además, al sistema de cadena de bloques, una segunda solicitud para una pluralidad de segundas transacciones, la pluralidad de segundas transacciones hace que el sistema de cadena de bloques ejecute el contrato inteligente para generar una pluralidad de certificados.
En algunas modalidades, el aparato 700 también puede incluir un módulo de distribución de certificados 706. El módulo de distribución de certificados 706 puede enviar, al sistema de cadena de bloques, una tercera solicitud para una tercera transacción, la tercera transacción hace que el sistema de cadena de bloques ejecute el contrato inteligente para cancelar un certificado de destino de la pluralidad de certificados antes de que se distribuya el certificado de destino. El módulo de distribución de certificados 706 puede recibir, desde el sistema de cadena de bloques, un resultado que indica que el certificado de destino se canceló.
Cada uno de los módulos descritos anteriormente puede implementarse como software o hardware, o una combinación de software y hardware. Por ejemplo, cada uno de los módulos descritos anteriormente puede implementarse al usar un procesador que ejecuta instrucciones almacenadas en una memoria. Además, por ejemplo, cada uno de los módulos descritos anteriormente puede implementarse con uno o más circuitos integrados específicos de aplicaciones (ASIC), procesadores de señales digitales (DSP), dispositivos de procesamiento de señales digitales (DSPD), dispositivos lógicos programables (PLD), matriz de puertas programables en campo (FPGA), controladores, microcontroladores, microprocesadores u otros componentes electrónicos, para realizar los métodos descritos. Además, por ejemplo, cada uno de los módulos descritos anteriormente puede implementarse usando un chip de ordenador o una entidad, o implementarse al usar un producto que tenga una determinada función. En una modalidad, el aparato 700 puede ser un ordenador y el ordenador puede ser una ordenador personal, un ordenador portátil, un teléfono celular, un teléfono de 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 correo electrónico, una consola de juegos, una tableta, un dispositivo portátil o cualquier combinación de estos dispositivos.
Para un proceso de implementación de funciones y roles de cada módulo en el aparato 700, pueden hacer referencias a los pasos correspondientes en los métodos descritos anteriormente. Los detalles se omiten aquí por simplicidad.
En algunas modalidades, un producto de programa informático puede incluir un medio de almacenamiento no transitorio legible por ordenador que tiene instrucciones de programa legibles por ordenador en el mismo para hacer que un procesador lleve a cabo los métodos descritos anteriormente.
El medio de almacenamiento legible por computadora puede ser un dispositivo tangible que puede almacenar instrucciones para su uso por un dispositivo de ejecución de instrucciones. El medio de almacenamiento legible por ordenador puede ser, por ejemplo, pero no se limita a, un dispositivo de almacenamiento electrónico, un dispositivo de almacenamiento magnético, un dispositivo de almacenamiento óptico, un dispositivo de almacenamiento electromagnético, un dispositivo de almacenamiento semiconductor o cualquier combinación adecuada de los anteriores. Una lista no exhaustiva de ejemplos más específicos del medio de almacenamiento legible por ordenador incluye lo siguiente: un disquete de ordenador portátil, un disco duro, una memoria de acceso aleatorio (RAM), una memoria de solo lectura (ROM), una memoria programable de solo lectura borrable (EPROM), una memoria estática de acceso aleatorio (SRAM), una memoria portátil compacta de solo lectura de disco (CD-ROM), un disco digital versátil (DVD), una memoria, un disquete, un dispositivo codificado mecánicamente como tarjetas perforadas o estructuras elevadas en una ranura con instrucciones grabadas en el mismo, y cualquier combinación adecuada de lo anterior.
Las instrucciones del programa legibles por ordenador para llevar a cabo los métodos descritos anteriormente pueden ser instrucciones de ensamblador, instrucciones de arquitectura de conjunto de instrucciones (ISA), instrucciones de máquina, instrucciones dependientes de máquina, microcódigo, instrucciones de firmware, datos de configuración de estado o código fuente o código de objeto escrito en cualquier combinación de uno o más lenguajes de programación, incluido un lenguaje de programación orientado a objetos y lenguajes de programación procedimentales convencionales. Las instrucciones del programa legibles por ordenador pueden ejecutarse completamente en un dispositivo informático como un paquete de software independiente, o parcialmente en un primer dispositivo informático y parcialmente en un segundo dispositivo informático remoto desde el primer dispositivo informático. En el último escenario, el segundo dispositivo informático remoto puede conectarse al primer dispositivo informático a través de cualquier tipo de red, incluida una red de área local (LAN) o una red de área amplia (WAN).
Las instrucciones del programa legibles por ordenador pueden proporcionarse a un procesador de un ordenador de propósito general o de propósito especial, u otro aparato de procesamiento de datos programable para producir una máquina, de manera que las instrucciones, que se ejecutan a través del procesador del ordenador u otro aparato de procesamiento de datos programable, crean medios para implementar los métodos descritos anteriormente.
Los diagramas de flujo y diagramas de las figuras ilustran la arquitectura, funcionalidad y funcionamiento de posibles implementaciones de dispositivos, métodos y productos de programas informáticos de acuerdo con diversas modalidades de la descripción. Con respecto a esto, un bloque en los diagramas de flujo o diagramas puede representar un programa de software, segmento o parte de código, que comprende una o más instrucciones ejecutables para implementar funciones específicas. También debe tenerse en cuenta que, en algunas implementaciones alternativas, las funciones señaladas en los bloques pueden ocurrir fuera del orden señalado en las cifras. Por ejemplo, dos bloques mostrados en sucesión pueden, de hecho, ejecutarse sustancialmente simultáneamente, o los bloques pueden algunas veces ejecutarse en el orden inverso, al depender de la funcionalidad involucrada. También se observará que cada bloque de los diagramas y/o diagramas de flujo, y las combinaciones de bloques en los diagramas y diagramas de flujo, pueden implementarse por sistemas basados en hardware de propósito especial que realizan las funciones o actos especificados, o combinaciones de hardware de propósito especial e instrucciones informáticas.
Se aprecia que ciertas características de la invención, que son, para mayor claridad, descritas en el contexto de modalidades separadas, también pueden proporcionarse en combinación en una sola modalidad. Por el contrario, varias características de la descripción, que son, por brevedad, descritas en el contexto de una sola modalidad, también pueden proporcionarse por separado o en cualquier subcombinación adecuada o como sea adecuada en cualquier otra modalidad descrita de la descripción. Ciertas características descritas en el contexto de diversas modalidades no son características esenciales de esas modalidades, a menos que se indique como tales.
Aunque la invención se ha descrito junto con modalidades específicas, muchas alternativas, modificaciones y variaciones serán evidentes para los expertos en la técnica. En consecuencia, las siguientes reivindicaciones abarcan todas esas alternativas, modificaciones y variaciones que entran dentro de los términos de las reivindicaciones.
Claims (10)
1. Un método implementado por ordenador para procesar certificados en un sistema de cadena de bloques (100), el método que se lleva a cabo por un dispositivo informático (102, 104, 106, 108, 110, 200) en comunicación con el sistema de cadena de bloques (100), el método que comprende:
enviar una solicitud para generar un contrato inteligente al sistema de cadena de bloques,
hacer que se genere un contrato inteligente (302) en el sistema de cadena de bloques (100), en donde el contrato inteligente incluye instrucciones legibles por ordenador para procesar certificados;
después de que se genera el contrato inteligente, enviar una primera solicitud para una primera transacción al sistema de cadena de bloques (308), la primera transacción hace que el sistema de cadena de bloques ejecute el contrato inteligente para generar una especificación del certificado (310) en base a la primera solicitud; recibir, desde el sistema de cadena de bloques (100), la especificación del certificado (312);
generar una segunda solicitud para una pluralidad de segundas transacciones en base a la especificación del certificado (314);
enviar, al sistema de cadena de bloques (100), la segunda solicitud (316) para la pluralidad de segundas transacciones, la pluralidad de segundas transacciones que hace que el sistema de cadena de bloques (100) ejecute el contrato inteligente para generar una pluralidad de certificados (318), en donde la pluralidad de certificados comprende al menos uno de cupones, boletos o cupones;
recibir la pluralidad generada de certificados del sistema de cadena de bloques;
enviar, al sistema de cadena de bloques, una tercera solicitud para una tercera transacción (408), la tercera transacción que hace que el sistema de cadena de bloques (100) ejecute el contrato inteligente para cancelar un certificado de destino de la pluralidad de certificados (410); y
recibir, del sistema de cadena de bloques, un resultado que indica que el certificado de destino se canceló (412).
2. El método de la reivindicación 1, en donde el dispositivo informático comprende un sistema de gestión de actividades, y el método se lleva a cabo por el sistema de gestión de actividades.
3. El método de cualquier reivindicación anterior, en donde la especificación del certificado indica al menos uno de los tipos de certificado, un número de certificados para cada tipo de certificado, un número total de certificados o un período válido de cada certificado.
4. El método de la reivindicación 3, que comprende además:
hacer que el sistema de cadena de bloques ejecute el contrato inteligente para determinar si la pluralidad de certificados satisface la especificación del certificado; y
después que se determina que la pluralidad de certificados satisface la especificación del certificado, recibir un mensaje que indica que la pluralidad de certificados se generan satisfactoriamente.
5. El método de cualquier reivindicación anterior, que comprende además:
distribuir la pluralidad de certificados a los usuarios.
6. El método de la reivindicación 1 que comprende además:
enviar asincrónicamente, al sistema de cadena de bloques, una pluralidad de terceras solicitudes para una pluralidad de terceras transacciones, cada una de la pluralidad de terceras transacciones que hace que el sistema de cadena de bloques ejecute el contrato inteligente para cancelar un certificado de destino correspondiente de la pluralidad de certificados.
7. El método de cualquier reivindicación anterior, en donde la especificación del certificado incluye un valor hash que representa la ejecución de la primera transacción, y cada uno de la pluralidad de certificados incluye un valor hash que representa la ejecución de una segunda transacción correspondiente.
8. El método de cualquier reivindicación anterior, en donde el sistema de cadena de bloques implementa una cadena de bloques del consorcio.
9. Un dispositivo (200) para el procesamiento de certificados en un sistema de cadena de bloques (100), los certificados que comprenden al menos uno de cupones, boletos o vales, y el dispositivo que comprende: uno o más procesadores (204); y
una o más memorias legibles por ordenador (206) acopladas a uno o más procesadores y que tienen instrucciones almacenadas en el mismo que son ejecutables por uno o más procesadores para realizar el método de cualquiera de las reivindicaciones 1 a 8.
10. Un medio legible por ordenador no transitorio que tiene almacenada instrucciones que, cuando se ejecutan por un procesador de un dispositivo, hace que el dispositivo realice el método de cualquiera de las reivindicaciones 1 a 8.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/076866 WO2019101231A2 (en) | 2019-03-04 | 2019-03-04 | Methods and devices for processing certificates in blockchain system |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2850923T3 true ES2850923T3 (es) | 2021-09-01 |
Family
ID=66630432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES19725914T Active ES2850923T3 (es) | 2019-03-04 | 2019-03-04 | Métodos y dispositivos para procesar certificados en el sistema de cadena de bloques |
Country Status (12)
Country | Link |
---|---|
US (2) | US10700876B1 (es) |
EP (1) | EP3598879B1 (es) |
JP (1) | JP6806924B2 (es) |
KR (1) | KR102203758B1 (es) |
CN (1) | CN110520883B (es) |
AU (1) | AU2019203851B2 (es) |
CA (1) | CA3057388C (es) |
ES (1) | ES2850923T3 (es) |
PL (1) | PL3598879T3 (es) |
SG (1) | SG11201908647SA (es) |
TW (1) | TWI712974B (es) |
WO (1) | WO2019101231A2 (es) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111352996B (zh) * | 2020-02-26 | 2023-09-19 | 百度在线网络技术(北京)有限公司 | 基于区块链网络的数据共享方法、装置、设备及介质 |
CN111556035B (zh) * | 2020-04-20 | 2022-04-19 | 中国工商银行股份有限公司 | 多认证节点的联盟链系统及方法 |
CN111985918A (zh) * | 2020-07-27 | 2020-11-24 | 王李琰 | 基于区块链的电子凭证流通管理方法、系统及区块链平台 |
CN112418854A (zh) * | 2020-10-09 | 2021-02-26 | 深圳华工能源技术有限公司 | 一种基于区块链技术的节能证书管理方法 |
CN112837084A (zh) * | 2020-12-24 | 2021-05-25 | 四川新华万云科技有限公司 | 基于区块链网络的商品交易方法、装置及区块链网络节点 |
CN113159944A (zh) * | 2021-03-10 | 2021-07-23 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
KR102565970B1 (ko) * | 2022-04-19 | 2023-08-11 | 주식회사 블로코 | 블록체인을 활용한 인증서 발급 방법 및 이를 위한 시스템 |
KR102506431B1 (ko) * | 2022-04-19 | 2023-03-07 | 주식회사 블로코 | 블록체인을 활용한 인증서 관리 방법 및 이를 위한 시스템 |
KR102506432B1 (ko) * | 2022-04-19 | 2023-03-07 | 주식회사 블로코 | 인증서 폐기 리스트 관리 방법 및 이를 위한 시스템 |
CN116112177A (zh) * | 2022-12-27 | 2023-05-12 | 天翼物联科技有限公司 | 物联网设备身份认证的处理方法和系统 |
CN116112179B (zh) * | 2023-01-30 | 2024-10-18 | 成都质数斯达克科技有限公司 | 区块链证书管理方法、装置、设备及存储介质 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101661930B1 (ko) * | 2015-08-03 | 2016-10-05 | 주식회사 코인플러그 | 블록체인을 기반으로 하는 공인인증서 발급시스템 |
US9992028B2 (en) * | 2015-11-26 | 2018-06-05 | International Business Machines Corporation | System, method, and computer program product for privacy-preserving transaction validation mechanisms for smart contracts that are included in a ledger |
KR101680260B1 (ko) * | 2015-12-14 | 2016-11-29 | 주식회사 코인플러그 | 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 |
KR101661933B1 (ko) * | 2015-12-16 | 2016-10-05 | 주식회사 코인플러그 | 블록체인을 기반으로 하는 공인인증서 인증시스템 및 이를 이용한 인증방법 |
JP2018028762A (ja) * | 2016-08-16 | 2018-02-22 | 株式会社Sound−F | クーポン管理システムおよび方法 |
CN106504091B (zh) * | 2016-10-27 | 2018-06-29 | 深圳壹账通智能科技有限公司 | 区块链上交易的方法及装置 |
WO2018126065A1 (en) * | 2016-12-30 | 2018-07-05 | Intel Corporation | Decentralized data storage and processing for iot devices |
KR101937216B1 (ko) * | 2017-02-01 | 2019-01-11 | 주식회사 데일리인텔리전스 | 블록체인을 인증서 발급기관으로 이용해서 인증서를 관리하는 장치 및 방법 |
US10102526B1 (en) * | 2017-03-31 | 2018-10-16 | Vijay K. Madisetti | Method and system for blockchain-based combined identity, ownership, integrity and custody management |
US10102265B1 (en) * | 2017-04-12 | 2018-10-16 | Vijay K. Madisetti | Method and system for tuning blockchain scalability for fast and low-cost payment and transaction processing |
CN107274130A (zh) * | 2017-06-16 | 2017-10-20 | 合肥维天运通信息科技股份有限公司 | 一种基于区块链技术和物流信息平台的司机征信系统及方法 |
US11055703B2 (en) * | 2017-06-19 | 2021-07-06 | Hitachi, Ltd. | Smart contract lifecycle management |
US11132704B2 (en) * | 2017-07-06 | 2021-09-28 | Mastercard International Incorporated | Method and system for electronic vouchers via blockchain |
CN107360001B (zh) * | 2017-07-26 | 2021-12-14 | 创新先进技术有限公司 | 一种数字证书管理方法、装置和系统 |
US20190036896A1 (en) * | 2017-07-27 | 2019-01-31 | Cisco Technology, Inc. | Generic Bootstrapping Architecture (GBA) Based Security Over Constrained Application Protocol (CoAP) for IoT Devices |
CN107819749A (zh) * | 2017-10-26 | 2018-03-20 | 平安科技(深圳)有限公司 | 基于以太坊的区块链系统和交易数据处理方法 |
US20190180371A1 (en) * | 2017-12-07 | 2019-06-13 | Oliver Benkert | Atomically swapping ownership certificates |
CN108632045A (zh) * | 2018-05-10 | 2018-10-09 | 阿里巴巴集团控股有限公司 | 一种区块链数据处理方法、装置、处理设备及系统 |
US20190363896A1 (en) * | 2018-05-26 | 2019-11-28 | Keir Finlow-Bates | Blockchain based decentralized and distributed certificate authority |
CN108960825A (zh) * | 2018-06-26 | 2018-12-07 | 阿里巴巴集团控股有限公司 | 基于区块链的电子签名方法及装置、电子设备 |
US10915552B2 (en) * | 2018-06-28 | 2021-02-09 | International Business Machines Corporation | Delegating credentials with a blockchain member service |
US10243748B1 (en) * | 2018-06-28 | 2019-03-26 | Jonathan Sean Callan | Blockchain based digital certificate provisioning of internet of things devices |
CN108876382A (zh) * | 2018-08-09 | 2018-11-23 | 上海点融信息科技有限责任公司 | 在区块链上处理数字凭证的方法、装置和可读存储介质 |
CN109151013B (zh) * | 2018-08-13 | 2021-07-27 | 南京邮电大学 | 基于联盟区块链的物流业信息平台 |
CN109360054A (zh) * | 2018-09-30 | 2019-02-19 | 中链科技有限公司 | 基于区块链的汽车租赁方法、装置及电子设备 |
-
2019
- 2019-03-04 CA CA3057388A patent/CA3057388C/en active Active
- 2019-03-04 SG SG11201908647S patent/SG11201908647SA/en unknown
- 2019-03-04 KR KR1020197028573A patent/KR102203758B1/ko active IP Right Grant
- 2019-03-04 AU AU2019203851A patent/AU2019203851B2/en active Active
- 2019-03-04 ES ES19725914T patent/ES2850923T3/es active Active
- 2019-03-04 JP JP2019552922A patent/JP6806924B2/ja active Active
- 2019-03-04 EP EP19725914.6A patent/EP3598879B1/en active Active
- 2019-03-04 CN CN201980001785.5A patent/CN110520883B/zh active Active
- 2019-03-04 WO PCT/CN2019/076866 patent/WO2019101231A2/en unknown
- 2019-03-04 PL PL19725914T patent/PL3598879T3/pl unknown
- 2019-12-03 TW TW108144094A patent/TWI712974B/zh active
- 2019-12-18 US US16/719,548 patent/US10700876B1/en active Active
-
2020
- 2020-05-18 US US16/877,205 patent/US10833875B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2019101231A2 (en) | 2019-05-31 |
KR102203758B1 (ko) | 2021-01-18 |
EP3598879A2 (en) | 2020-01-29 |
JP2020526804A (ja) | 2020-08-31 |
US10833875B2 (en) | 2020-11-10 |
TWI712974B (zh) | 2020-12-11 |
TW202034250A (zh) | 2020-09-16 |
JP6806924B2 (ja) | 2021-01-06 |
EP3598879B1 (en) | 2021-01-20 |
KR20200107770A (ko) | 2020-09-16 |
EP3598879A4 (en) | 2020-05-20 |
AU2019203851B2 (en) | 2021-04-08 |
US20200287727A1 (en) | 2020-09-10 |
WO2019101231A3 (en) | 2019-12-19 |
SG11201908647SA (en) | 2019-10-30 |
PL3598879T3 (pl) | 2021-06-14 |
AU2019203851A1 (en) | 2019-05-31 |
CA3057388A1 (en) | 2019-05-31 |
CN110520883A (zh) | 2019-11-29 |
CA3057388C (en) | 2022-08-02 |
US10700876B1 (en) | 2020-06-30 |
CN110520883B (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2850923T3 (es) | Métodos y dispositivos para procesar certificados en el sistema de cadena de bloques | |
CA3057385C (en) | Methods and devices for protecting sensitive data of transaction activity based on smart contract in blockchain | |
US12033123B2 (en) | Cryptographic technology platform and methods for providers to enable users to monetize their data | |
US11455650B2 (en) | System and method for on-chain rewards | |
KR20200083929A (ko) | 정보 보호를 위한 시스템 및 방법 | |
KR101837167B1 (ko) | Utxo 기반 프로토콜에서 머클 트리 구조를 사용하여 통화를 발행 및 지급 결제하는 방법과 이를 이용한 서버 | |
CN111899001A (zh) | 基于区块链的汇款方法及装置 | |
EP3637342A1 (en) | Method and system for auditable and incentive compatible prevention of front-running | |
WO2021139605A1 (en) | Methods and devices for providing decentralized identity verification | |
JP6858919B2 (ja) | ブロックチェーンシステムにおいて証明書を処理するための方法及び装置 | |
US20220036355A1 (en) | Methods and devices for privacy-preserving verification of profit-sharing between users | |
Hegde et al. | METADRIVE-A Decentralized Ride Sharing App | |
Pasqualini | Tokenizing Transportation: Blockchain Solutions for MaaS Ticketing | |
CA3101606A1 (en) | Cryptographic technology platform and methods for providers to enable users to monetize their data |