ES2962109T3 - Procedimiento y sistema para la mejora del consenso en redes DLT utilizando mecanismos de computación cuántica - Google Patents
Procedimiento y sistema para la mejora del consenso en redes DLT utilizando mecanismos de computación cuántica Download PDFInfo
- Publication number
- ES2962109T3 ES2962109T3 ES19382928T ES19382928T ES2962109T3 ES 2962109 T3 ES2962109 T3 ES 2962109T3 ES 19382928 T ES19382928 T ES 19382928T ES 19382928 T ES19382928 T ES 19382928T ES 2962109 T3 ES2962109 T3 ES 2962109T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- qubits
- bits
- node
- nodes
- 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
- 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]
-
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0852—Quantum cryptography
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Electromagnetism (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Mathematical Optimization (AREA)
- Artificial Intelligence (AREA)
- Computational Mathematics (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Evolutionary Computation (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
- Storage Device Security (AREA)
Abstract
Método y sistema que proporciona un aumento de la seguridad básica, el rendimiento y la confianza de los algoritmos de consenso en sistemas distribuidos basados en el uso de tecnología cuántica (mecanismos de computación cuántica). Para ello, se construye una capa de red de confianza cuántica utilizando entrelazamiento cuántico entre nodos para evitar los problemas actuales en los algoritmos de consenso. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Procedimiento y sistema para la mejora del consenso en redes DLT utilizando mecanismos de computación cuántica
Campo técnico
La presente invención se refiere a redes DLT (Distributed Ledger Technology) y más particularmente, a un procedimiento y sistema para aprovechar el nivel de confianza, seguridad y rendimiento ofrecido en redes DLT (por ejemplo, en redes que utilizan tecnología blockchain (cadena de bloques)), utilizando comunicación cuántica (o en términos generales mecanismos de computación cuántica o tecnología cuántica).
Antecedentes de la invención
Un libro mayor distribuido (también llamado libro mayor compartido o tecnología de libro mayor distribuido, DLT) implica un consenso de datos digitales replicados, compartidos y sincronizados a través de múltiples nodos. No existe un administrador central ni un almacenamiento de datos centralizado. La base de datos del libro mayor distribuido está repartida entre varios nodos (dispositivos) en una red entre pares, donde cada uno replica y guarda una copia idéntica del libro mayor (datos) y se actualiza de forma independiente. Cuando se produce una actualización del libro mayor, cada nodo construye la nueva transacción y, a continuación, los nodos votan mediante un algoritmo de consenso qué copia es la correcta. Una vez determinado el consenso, todos los demás nodos se actualizan con la nueva copia correcta del libro mayor (la seguridad se consigue mediante claves criptográficas y firmas). Los nodos participantes (dispositivos) de un libro mayor distribuido pueden aplicar un protocolo acordado para verificar, almacenar, mantener y modificar los datos almacenados en el libro mayor distribuido. Una forma de diseño de libro mayor distribuido es el sistema blockchain; es decir, puede decirse que la tecnología blockchain es un tipo de DLT.
Los algoritmos de consenso son uno de los componentes centrales de los sistemas blockchain (y en general de los sistemas DLT). Es la pieza responsable de la orquestación de las transacciones, y de la sincronización y validación de los datos en la red. Durante la última década, se ha diseñado una gran gama de algoritmos de consenso. Sin embargo, estos algoritmos de consenso presentan varias limitaciones, y su diseño es siempre un compromiso entre nivel de descentralización, seguridad y rendimiento. Algunos de los algoritmos de consenso actuales son:
• Proof-of-work (Prueba de trabajo): En la prueba de trabajo, los mineros compiten por añadir el siguiente bloque en la cadena compitiendo por resolver un rompecabezas criptográfico extremadamente difícil. Bitcoin lleva diez años demostrando su seguridad. Sin embargo, tiene dos inconvenientes principales: su rendimiento es bastante bajo y la cantidad de energía computacional necesaria para el minado es extraordinaria, por lo que no es adecuado para soluciones de rendimiento medio o alto ni para productos centrados en el alto rendimiento o la eficiencia.
• Proof-of-stake (Prueba de participación): En este tipo de algoritmos de consenso, en lugar de invertir en costosos equipos informáticos en una carrera para minar bloques, un "validador" invierte en monedas del sistema. En la prueba de participación, su probabilidad de ser elegido para crear el siguiente bloque depende de la fracción de monedas del sistema que posea (o reserve para la participación). Un validador con 300 monedas tendrá tres veces más probabilidades de ser elegido que alguien con 100 monedas. Este consenso es más eficiente desde el punto de vista energético y, el hecho de que los mineros no tengan que resolver un difícil rompecabezas, permite mayores rendimientos. Sin embargo, como cada nodo de la red es un validador potencial, podemos enfrentarnos al problema del "nada en juego", en el que los nodos fuerzan las bifurcaciones en el libro mayor para ganar el doble en el proceso de validación. Por tanto, este algoritmo de consenso mejora el rendimiento de la prueba de trabajo a expensas de su nivel de seguridad y confianza.
• Proof-of-authority (Prueba de autoridad): En la prueba de autoridad se elige como validadores a un conjunto de nodos de confianza de la red. Sólo los validadores tienen derecho a validar el siguiente bloque, y este validador se elige aleatoriamente de forma que el mismo validador no pueda validar dos bloques consecutivamente. Un nodo validador que es sorprendido intentando falsificar el sistema es eliminado del grupo de validadores. Si los nodos validadores son de confianza, este algoritmo de consenso reduce el nivel de descentralización aumentando su rendimiento en comparación con otros algoritmos de consenso.
• Proof-of-elapsed time (Prueba del tiempo transcurrido): En lugar de obligar a los participantes a resolver un rompecabezas criptográfico, el algoritmo utiliza un entorno de ejecución de confianza (TEE) en su nodo -como el SGX de Intel- para garantizar que los bloques se producen de forma aleatoria mediante lotería, pero sin el trabajo necesario. Así, todos los participantes tienen las mismas probabilidades de ser seleccionados para la propuesta del siguiente bloque según un tiempo de espera aleatorio elegido en cada nodo. El nivel de descentralización y rendim iento de este algoritmo de consenso es muy alto; sin embargo, toda la confianza se delega en la implementación del TEE y su generación de números aleatorios, y los nodos no tienen forma de verificar que estos mecanismos han sido falsificados.
• Fast Probabilistic Consensus (Consenso probabilístico rápido): En cada ronda, cada nodo selecciona un nuevo subconjunto aleatorio de otros nodos y consulta sus opiniones actuales. La opinión de un nodo se forma entonces en función de la mayoría de las opiniones devueltas. Sin embargo, la noción de "mayoría" aquí fluctúa. En lugar de utilizar un umbral fijo del 50%, utilizamos un umbral de decisión derivado de una secuencia descentralizada de números aleatorios. Seleccionar un umbral global pero impredecible nos permite defendernos de un atacante que quiera retrasar el consenso.
Todos los algoritmos mencionados se implementan sobre diferentes protocolos de transporte P2P con sus correspondientes retrasos de transm isión. Estos retardos suponen una limitación adicional para el rendim iento de los algoritmos de consenso, ya que el rendim iento máximo de las transacciones para cualquier algoritmo de consenso vendrá determ inado por los tiempos mínimos de transm isión de los mensajes de validación entre nodos. En realidad, uno de los principales cuellos de botella en el rendim iento de los sistemas DLT es el retraso en la transm isión de los mensajes durante el proceso de validación, y el tiempo necesario para alcanzar la finalidad de los datos (es decir, el momento en que la ejecución y el almacenam iento de los datos pueden considerarse definitivos).
Con el fin de resolver (o al menos minimizar) las lim itaciones de estos algoritmos de consenso actuales, las presentes realizaciones proponen el uso de una comunicación cuántica (o, en térm inos generales, mecanismos de computación cuántica) para m ejorar la seguridad, la confianza y el rendim iento de y, en térm inos generales, de las redes DLT (por ejemplo, la tecnología blockchain).
La informática cuántica y la información cuántica aprovechan el uso de efectos de la mecánica cuántica para su funcionamiento. Algunos de los conceptos básicos y efectos cuánticos utilizados en estos campos son los siguientes:
• Cúbit (bit cuántico): En informática clásica, la información se representa mediante bits. Los bits siempre se encuentran en uno de estos dos estados: 1 o 0. En cambio, en la informática cuántica y la información cuántica, la información se representa mediante cúbits (o bits cuánticos). Los cúbits son sistemas mecánicos de dos estados. El sistema puede existir en una superposición coherente de ambos estados simultáneamente, característica explotada en los sistemas de información y computación cuánticos.
Los dos estados de un bit clásico se obtienen físicamente, por ejemplo, utilizando dos niveles de tensión diferentes. En cambio, para los estados cúbit, los ejemplos de sistemas físicos de mecánica cuántica de dos niveles utilizados son: el espín del electrón, en el que los dos niveles pueden tomarse como espín arriba y espín abajo; o la polarización de un solo fotón, en la que los dos estados pueden tomarse como polarización vertical y horizontal.
Matemáticamente, un único estado cúbit se describe mediante una combinación lineal del estado puro 0 (por ejemplo, espín del electrón hacia abajo) y 1 (espín hacia arriba) como tal:
jt¡>)=<q>|0) j(3|l)
Dondeaypson amplitudes de probabilidad y pueden, en general, ser números complejos. Así pues, este único estado cúbit se encuentra en una superposición de 0 y 1 con una probabilidad determinada porayp.Estar en superposición significa que el sistema físico es una combinación de todos sus estados posibles. Un cúbit está en este estado de superposición hasta que se mide. Cuando se mide, la superposición colapsa a uno de los dos elementos de base (0 o 1) con probabilidad\a\2para 0 y |p|2 para 1. Las mediciones son operaciones irreversibles en las que se obtiene información, por lo que una medición no puede revertirse directamente para obtener el estado de superposición coherente anterior.
• Quantum logic gates (Compuertas lógicas cuánticas): Se pueden realizar operaciones sobre los estados de los cúbits para modificarlos. Para ello se utilizan puertas lógicas cuánticas, el bloque básico de construcción de los circuitos cuánticos. Las puertas cuánticas operan sobre uno, dos o tres cúbits y realizan una transformación unitaria reversible. Una puerta cuántica interesante que funciona con dos cúbits es la puerta NOT controlada (C-Not), que puede utilizarse para entrelazar o desenlazar cúbits.
• Quantum Entanglement (Entrelazamiento cuántico): Una característica importante de los cúbits en comparación con los bits clásicos es que pueden presentar entrelazamiento cuántico. El entrelazamiento cuántico es una propiedad no local de dos o más cúbits que permite a un conjunto de cúbits expresar una correlación mayor que la posible en los sistemas clásicos. El estado de entrelazamiento más sencillo es el estado de Bell de dos cúbits entrelazados:
Este estado se denomina "superposición igual", y existe la misma probabilidad de medir el estado 00 u 11. No hay forma de saber si el primer cúbit va a ser 0 o 1. Sin embargo, debido al entrelazamiento cuántico entre el primer y el segundo cúbit, sabemos que, si el primer cúbit termina siendo un 1 después de la medición, el segundo cúbit debe ser necesariamente también un 1, y al revés si el primer cúbit es 0. Esta propiedad es muy interesante, porque se mantiene incluso si los dos cúbits están distantes en el espacio. Así, si Alice y Bob comparten un cúbit de un estado enredado de dos cúbits, cada vez que uno de ellos mide su cúbit, sabe que el resultado del otro debe haber conducido al mismo valor, es decir, existe una correlación perfecta entre los dos cúbits enredados.
El entrelazamiento cuántico puede crearse físicamente mediante distintas técnicas: puede crearse utilizando fuentes de "conversión paramétrica descendente", que emplean cristales ópticos no lineales para convertir fotones únicos de alta energía en pares de fotones con la mitad de la energía inicial enredada; utilizando el entrelazamiento de segunda generación, en el que un par de fotones enredados se dirigen a un par de átomos para obtener un entrelazamiento más duradero; o utilizando el "entrelazamiento por interacción", en el que se obliga a dos átomos de elementos diferentes a interactuar para que se entrelacen, de modo que el estado del primer átomo dependa del estado del segundo, y viceversa.
Dentro de la informática cuántica, un campo de investigación activo en la actualidad es la corrección cuántica de errores. Los algoritmos actuales de corrección de errores cuánticos se centran en la detección y corrección de cambios de bit y fase en canales y ordenadores cuánticos ruidosos. Los esquemas típicos de corrección de errores se basan en un conjunto de cúbits lógicos (estados) que representan los datos a transmitir, codificados con redundancia en un conjunto de cúbits físicos. Además, se utiliza un conjunto de cúbits ancilla relacionados con los cúbits (estados) físicos mencionados para detectar y corregir posibles errores.
Resumiendo, el diseño e implementación de mejores algoritmos de consenso para blockchain y redes distribuidas, y la superación de sus limitaciones de rendimiento, son campos activos de investigación. El diseño de los actuales algoritmos de consenso es un compromiso entre nivel de descentralización, seguridad y rendimiento. Algoritmos de consenso como el proof-of-work de Bitcoin han demostrado ser realmente seguros y descentralizados a expensas del rendimiento y la sostenibilidad. Otros algoritmos como el proof-of-stake o el proof-of-authority han demostrado ser relativamente eficaces eficiente y seguro en entornos de confianza a costa de la descentralización. Además, todo algoritmo de consenso está limitado por el retraso mínimo en el intercambio de mensajes de validación y bloques entre los nodos de la red. Estos mismos problemas se plantean en el algoritmo de consenso tradicional para sistemas distribuidos como RAFT o Paxos. De ahí que los algoritmos de consenso actuales carezcan de una forma de ofrecer seguridad, confianza, descentralización, rendimiento y seguridad al mismo tiempo en entornos sin confianza (como las redes distribuidas y blockchain).
Ejemplos adicionales del estado de la técnica en el presente campo técnico se divulgan en el documento US 2019/311296 A1 y en el artículo de LI JIAN ET AL. "Deterministic Quantum Secure Direct Communication Protocol Based on Hyper-Entangled State", IEEE ACCESS, vol. 7, 15 de abril de 2019 (2019-04-15), páginas 43948-43955, XP011718864, DOI: 10.1109/ACCESS.2019.2906941.
La invención propuesta pretende dotar de un mecanismo básico de seguridad, confianza y rendimiento mejorado a los algoritmos de consenso para evitar que los nodos puedan falsificar el consenso y "mentir" a otros nodos permitiendo el diseño de algoritmos de consenso mejorados con alto rendimiento, seguridad y descentralización al mismo tiempo. Este mismo mecanismo de seguridad puede utilizarse para el intercambio fiable de datos de validación pública entre nodos de un sistema distribuido (DLT) a través de un canal cuántico. El uso de los mecanismos de computación cuántica propuestos pretende ofrecer una capa básica de confianza, seguridad y rendimiento mejorados para permitir la implementación de algoritmos de consenso mejorados en los que se eliminan las típicas compensaciones de diseño e implementación entre seguridad, rendimiento y descentralización.
Sumario
Los objetos anteriores y otros se consiguen mediante el juego de reivindicaciones adjunto. Los problemas encontrados en las técnicas del arte previo son generalmente resueltos o eludidos, y ventajas técnicas se consiguen en general, mediante las realizaciones divulgadas que proporcionan un procedimiento y un sistema que proporciona un aumento de la seguridad básica, rendimiento y confianza de los algoritmos de consenso y sistemas distribuidos basados en el uso de la información cuántica (mecanismos de computación cuántica).
Para ello, las realizaciones propuestas construyen una capa de red de confianza cuántica independiente (o más simple, capa de confianza cuántica) basada, en la comunicación cuántica, que aprovecha el uso del entrelazamiento cuántico entre nodos para eliminar estas compensaciones en los algoritmos de consenso. En cada ronda de validación de bloques/datos en una red distribuida (una red DLT), se produce un pase de mensajes de datos entre nodos para determinar el nodo con derecho a sellar el siguiente bloque o aceptar los datos. Para garantizar que los mensajes relacionados con el consenso no han sido falsificados, y que se transmiten instantáneamente, estos cúbits de datos se enredan con cúbits de otros nodos de la red, de modo que cuando los cúbits de datos se miden convenientemente, los cúbits enredados correspondientes (redundancia) también se colapsan, lo que permite detectar la falsificación de datos en la comunicación. Así, los cúbits de datos de cada nodo de la red están enlazados con los de otros nodos de la red impidiendo la falsificación de información y garantizando un nivel básico de seguridad Byzantine Fault Tolerant (BFT) de alto rendimiento. Para su funcionamiento, las realizaciones propuestas pueden utilizar una combinación de canales de transmisión cuánticos (basados en el entrelazamiento entre cúbits de diferentes nodos), y un canal clásico como cualquier otro sistema de comunicación computacional.
La arquitectura de comunicación cuántica propuesta puede utilizarse para mejorar los algoritmos de consenso actuales, implementar otros nuevos o crear canales cuánticos de comunicación públicos y de confianza entre nodos de una red distribuida (red DLT). Permite la conexión de cualquier algoritmo de consenso sobre esta red cuántica para aprovechar sus ventajas, así como la implementación de cadena de bloques completos o, en términos generales, redes DLT, sobre ella.
De acuerdo con un primer aspecto, se propone un procedimiento para mejorar el consenso entre un grupo de nodos informáticos pertenecientes a la misma red de Tecnología de Libro Mayor Distribuido (DLT) o a diferentes redes DLT, estando los nodos conectados por una red de telecomunicaciones (formada por una o más subredes de telecomunicaciones), comprendiendo el procedimiento las siguientes etapas:
a) Un nodo informático solicita una ronda de validación (por ejemplo, a través de un canal de la red de telecomunicaciones) para b bits de datos;
b) Cuando se solicita la ronda de validación, cada nodo de computación del grupo obtiene bits cuánticos, cúbits de datos, correspondientes a los b bits de datos a validar en la ronda de validación (donde b es cualquier número de bits y es una opción de diseño);
c) Cada nodo informático del grupo, enredando sus cúbits de datos con uno o más nodos informáticos del grupo, de acuerdo con un esquema cuántico de corrección de errores, y validando después los bits de datos basándose en los cúbits de datos enredados medidos desde uno o más nodos informáticos del grupo (de acuerdo con el esquema cuántico de corrección de errores).
En una realización, la etapa c) comprende:
- Cada nodo de computación del grupo, obteniendo una secuencia de cúbits enredados con datos o cúbits ancilla de otros nodos de computación, nodos homólogos, según el esquema de corrección cuántica de errores, y compartiendo la secuencia de cúbits enredados con sus nodos homólogos;
- Cada nodo de computación del grupo, midiendo las secuencias de cúbits entrelazados para obtener los bits correspondientes y enviando un certificado de recepción, incluyendo los bits medidos junto con los bits de datos del nodo de computación a validar, al resto de nodos de computación del grupo utilizando uno o más canales de red de telecomunicaciones;
- Al recibir los certificados de recepción, cada nodo informático del grupo, valida los bits de datos según el esquema de corrección cuántica basándose en la información recibida en los certificados de recepción;
- Si alguna de las validaciones es negativa, considerando los datos validados (incluidos en el certificado recibido) como falsos.
El esquema cuántico de corrección de errores utilizado puede ser un esquema de corrección de errores de 3 cúbits.
En una realización, la etapa c) comprende:
- Asignar cada nodo informático del grupo a un fragmento, siendo N (normalmente N>1) el número total de fragmentos (donde cada fragmento se asigna con un cierto número de nodos informáticos);
- Cada nodo de cálculo (An) de cada fragmento n, n=1 ...N, prepara los siguientes grupos de cúbits enredados:
- un primer grupo de redundancia de b cúbits enredados con los cúbits de datos de un nodo de computación (Bn) del mismo fragmento n,
- un segundo grupo de redundancia de b cúbits enredados con los cúbits de datos de otro nodo informático (Cn) del mismo fragmento n, y
- un grupo de 2b cúbits ancilla enredados con los cúbits ancilla de un nodo de cálculo An+i perteneciente a un fragmento diferente;
(esto se hará para todos los nodos del fragmento, por lo que se hará también para Bn con An, Cn y Bn i y para Cn con An y Bn y Cn i)
- Compartiendo la secuencia de cúbits enredados ({rAnBn) {rAnCn) {aAnA(n+i)}) con sus nodos homólogos (Bn, Cn y An i respectivamente);
- Cada nodo de computación de cada fragmento mide las secuencias de cúbits enredados para obtener los bits correspondientes a cada cúbit;
- Cada nodo de computación de cada fragmento construye un certificado de recepción que incluye los b bits de datos del nodo de cálculo a validar, dAn, los bits correspondientes a la medición del a primer grupo de redundancia de b cúbits {rAnBn}, los bits correspondientes a la medición del segundo grupo de redundancia de b cúbits{rAnCn}y los bits correspondientes a la medición del grupo de 2b cúbits ancilla {aAnA(n+l)};
- Cada nodo de computación de cada fragmento, enviando dicho certificado de recepción al resto de nodos informáticos del grupo a través de uno o varios canales de la red de telecomunicaciones;
- Cada nodo de computación de cada fragmento, valida los b bits de datos del nodo de computación dAn, a partir de la información de los certificados de recepción recibidos, y si alguna de las validaciones es negativa, considera los datos a validar como falsificados.
La validación de los bits de datos del nodo de cálculo, dAn, en cada nodo de computación An puede considerarse positiva si:
d-An r (...)A n a ( ...)A n [l..b ] a (...)A n [b+ 1..2b ]
siendo r(...)An los bits de redundancia recibidos de sus correspondientes nodos de computación homólogos del mismo fragmento n (Bn, Cn) y siendoa(...)An{i...b}los primeros b bits, ya(...-)An{b+1..2b]los últimos b bits de los bits de ancilla recibidos de su nodo homólogo de otro fragmento (An<+1>).
En una realización, el número de fragmentos será (la parte entera de) N/3 y cada fragmento tiene asignado un mínimo de tres nodos de computación.
La asignación de nodos informáticos a fragmentos puede basarse en un número de identificación de cada nodo informático. Por ejemplo, los nodos informáticos de cada fragmento pueden ser los nodos informáticos con menor distancia entre sus números de identificación.
En una realización, el procedimiento comprende, además:
- Si todas las validaciones son positivas, seleccionar en cada nodo de computación uno de los datos validados para actualizar un ledger (libro mayor) correspondiente; en caso contrario, considerar el dato como falsificado y abortar la ronda de validación (notificándolo al resto de nodos del grupo) o, a partir de la información recibida en los certificados de recepción, corregir la falsificación y recuperar el dato.
Los certificados de recepción suelen estar firmados por el nodo informático que construye el certificado de recepción y la validación se realiza, únicamente, si la integridad y autenticidad del certificado de recepción se comprueba a través de la firma del certificado de recepción.
En una realización, para mejorar la seguridad, la etapa de validación lo realiza un nodo informático sólo si ha recibido un certificado de recepción de todos los nodos informáticos del grupo.
En una realización, los bits de datos b a validar incluyen los siguientes campos:
[SEQ |NÚMERO ALEATORIO|DATA]
donde SEQ es un número de secuencia que identifica la ronda de validación para la que se intercambian los datos, NÚMERO ALEATORIO es un número aleatorio utilizado para determinar el siguiente nodo informático con derecho a proponer los siguientes datos a validar y DATA es la información específica sobre la que debe establecerse el consenso entre los nodos informáticos del grupo.
El datagrama también puede incluir un campo de identificación, ID, (por ejemplo, al principio del datagrama) donde dicho campo de identificación se utiliza para identificar el algoritmo de consenso específico o la plataforma cadena de bloques a la que pertenecen los datos intercambiados. El número SEQ puede ser, por ejemplo, igual al resumen del certificado de recepción elegido de la ronda previamente validada.
El entrelazamiento entre cúbits puede realizarse utilizando fuentes de fotones de "conversión paramétrica descendente" o cualquier otra técnica conocida.
De acuerdo con un segundo aspecto, se proponen sistemas para implementar cualquiera de los procedimientos anteriormente divulgados. En particular, se propone un sistema para mejorar el consenso entre los nodos de computación, el sistema comprende un grupo de nodos de computación que pertenecen a la misma o diferente tecnología de libro mayor distribuido, DLT, redes conectadas por una red de telecomunicaciones, cada nodo de computación que comprende:
- Medios para solicitar una ronda de validación del envío de un mensaje a través de la red de telecomunicaciones;
- Medios para, cuando se ha solicitado una ronda de validación (por el propio nodo o por otro nodo) obtener los bits cuánticos, cúbits de datos, correspondientes a los b bits de datos a validar en la ronda de validación;
- Medios para entrelazar sus cúbits de datos con uno o más nodos de computación del grupo, siguiendo un esquema de corrección cuántica de errores y
- Un procesador configurado para validar los bits de datos del nodo de computación b utilizando el esquema de corrección cuántica de errores basado en los cúbits de datos entrelazados de uno o más nodos de computación del grupo, de acuerdo con el esquema de corrección cuántica de errores.
En una realización, los nodos de computación del sistema comprenden, además:
- Medios para obtener una secuencia de cúbits entrelazados mediante el entrelazamiento de cúbits con datos o cúbits ancilla de otros nodos de computación, nodos homólogos, según el esquema de corrección cuántica de errores;
- Medios de medición de los cúbits entrelazados para obtener los bits correspondientes;
- Medios para enviar un certificado de recepción, incluyendo los bits medidos junto con los bits de datos del nodo informático a validar, al resto de nodos informáticos del grupo utilizando uno o más canales de red de telecomunicaciones;
- Medios para la recepción de certificados de recepción del resto de nodos informáticos del grupo,
- El procesador está configurado para validar los bits de datos b según el esquema de corrección cuántica determinado basándose en la información recibida en los certificados de recepción y, si alguna de las validaciones es negativa, clasificar los datos validados como falsos.
En un último aspecto de la presente invención, se divulga un programa de ordenador que comprende medios de código de programa de ordenador adaptados para realizar las etapas de los procedimientos descritos, cuando dicho programa se ejecuta en medios de procesamiento de una entidad de red de una red OFDMA, siendo dichos medios de procesamiento, por ejemplo, un ordenador, un procesador de señales digitales, una matriz de puertas programable en campo (FPGA), un circuito integrado específico de aplicación (ASIC), un microprocesador, un microcontrolador o cualquier otra forma de hardware programable. En otras palabras, un ordenador programa informático que comprende instrucciones, haciendo que un ordenador que ejecuta el programa realice todos las etapas del procedimiento descrito, cuando el programa se ejecuta en un ordenador. También se proporciona un medio de almacenamiento digital de datos para almacenar un programa informático que comprende instrucciones, haciendo que un ordenador que ejecuta el programa realice todos las etapas de los procedimientos descritos cuando el programa se ejecuta en un ordenador.
En consecuencia, según la invención, se proporcionan un procedimiento, un sistema y un medio de almacenamiento según las reivindicaciones independientes. Las realizaciones favorables se definen en las reivindicaciones dependientes.
Por tanto, la solución propuesta implica, entre otras, las siguientes ventajas sobre las soluciones del estado de la técnica:
• Permite el intercambio seguro de datos de validación con efecto inmediato entre nodos garantizando que los datos no han sido falsificados.
• Combina el uso de un canal de comunicación cuántico y un canal clásico, por lo que puede integrarse fácilmente en los sistemas y redes existentes.
• El esquema de consenso propuesto minimiza el número de mensajes a intercambiar entre nodos y sus requisitos de ancho de banda, ofreciendo una capa de seguridad básica de alto rendimiento para algoritmos de consenso y redes distribuidas.
Estos y otros aspectos y ventajas de la invención serán evidentes y se dilucidarán con referencia a las realizaciones descritas a continuación.
Breve descripción de los dibujos
Para completar la descripción que se está realizando y con el objeto de ayudar a una mejor comprensión de las características de la invención, de acuerdo con un ejemplo preferido de realización práctica de la misma, se acompaña a dicha descripción como parte integrante de la misma, un juego de dibujos en los que, a título ilustrativo y no limitativo, se ha representado lo siguiente:
La figura 1 muestra un diagrama esquemático de una posible arquitectura de sistema según una realización de la invención.
La figura 2 muestra un diagrama esquemático de un esquema de corrección de errores cuánticos de inversión de bits de 3 cúbits utilizado en una realización de la invención.
La figura 3 muestra una arquitectura de red general esquemática con la distribución de nodos en fragmentos según una realización de la invención.
La figura 4 muestra un diagrama esquemático de la máquina de estados para el funcionamiento de cada nodo con el fin de alcanzar el consenso según una realización de la invención.
Las figuras 5a y 5b muestran ejemplos esquemáticos de diferentes configuraciones soportadas por Quantum Trust Ring según realizaciones de la invención.
Descripción de las realizaciones
Las presentes invenciones pueden plasmarse en otros sistemas y/o procedimientos específicos. Las realizaciones descritas deben considerarse en todos los aspectos como meramente ilustrativas y no restrictivas. En particular, el alcance de la invención viene indicado por las reivindicaciones adjuntas más que por la descripción y las figuras. Todos los cambios que entren dentro del significado y el rango de equivalencia de las reivindicaciones deben incluirse dentro de su alcance.
La presente invención pretende la implementación de una capa de red cuántica (denominada a partir de ahora, anillo de confianza cuántico) entre diferentes nodos subyacentes a diferentes redes DLT (por ejemplo, blockchain), algoritmos de consenso y sistemas distribuidos para ofrecerles un nivel básico mejorado de seguridad, confianza y rendimiento.
Cada red DLT comprende uno o varios (normalmente muchos) nodos (nodos informáticos); los nodos informáticos son dispositivos electrónicos de cualquier tipo (por ejemplo, servidores) que incluyen capacidad de almacenamiento de bases de datos (memoria) y capacidad de procesamiento (procesador).
De este modo, podrían implementarse directamente nuevos sistemas distribuidos (101) sobre el anillo cuántico de confianza, aprovechando el consenso que ofrece el anillo cuántico para su funcionamiento básico; o los sistemas DLT existentes (102) con sus propios algoritmos de consenso (103) podrían aprovechar el anillo cuántico de confianza (104) como canal de transporte adicional para mejorar el rendimiento y la seguridad de su consenso (véase, por ejemplo, la figura 1).
El anillo cuántico de confianza emplea algoritmos cuánticos de corrección de errores para reforzar la confianza de los datos entre redes. En lugar del uso típico de los algoritmos cuánticos de corrección de errores, aquí los algoritmos cuánticos de corrección de errores se utilizan de forma independiente del dispositivo cuántico para que los nodos intercambien datos instantáneamente entre ellos, lo que les permite detectar la falsificación de datos en este intercambio. Es decir, el propósito de los algoritmos cuánticos de corrección de errores en las realizaciones propuestas no es detectar y corregir interrupciones en un canal o cómputo cuántico, sino modificaciones o mediciones intencionadas de datos. Esta es la razón por la que es suficiente utilizar, por ejemplo, esquemas simples de corrección de errores de salto de bit y no se requiere explícitamente utilizar esquemas más avanzados de corrección de errores capaces de detectar varios saltos de bit y de fase para mejorar el nivel básico de seguridad requerido para esta invención.
Como se explicará más adelante, una realización de la invención se basa en un esquema simple de corrección de errores cuánticos de salto de bits, como el esquema de 3 cúbits, representado esquemáticamente en la figura 2 (esto es sólo un ejemplo y se puede utilizar cualquier otro esquema de corrección de errores cuánticos). En el esquema de 3 cúbits presentado en la figura 2, el estado cuántico que se va a transmitir (primer bloque, "Datos") se codifica utilizando dos cúbits redundantes adicionales (inicializados en el estado |0>) por cúbit de datos (segundo bloque, "Redundante"), entrelazados con dos cúbits ancilla (inicializados en el estado |0>) con fines de detección y corrección de errores (tercer bloque, "Ancilla"). Para ello, se utilizan puertas C-Not. Esta separación y relación entre cúbits de los esquemas cuánticos de corrección de errores se utiliza en las realizaciones de la invención.
En pocas palabras, el esquema de 3 cúbits funciona como sigue (figura 2): El primer cúbit se prepara en el estado |^>, el cúbit de datos, es decir, los datos que se quieren transmitir utilizando el esquema. Junto con este cúbit de datos, se preparan dos cúbits redundantes en estado |0> y se enredan con el cúbit de datos. Los cúbits ancilla se comportan como cúbits de paridad. Se excitan inicialmente en |0> y se entrelazan con el cúbit de datos y los dos redundantes. Así, los tres primeros cúbits (el cúbit de datos junto con los dos cúbits redundantes) conforman el cúbit lógico de datos ^ l, protegido contra errores a través de los dos cúbits ancilla.
(es decir, redundancia de paridad). Los tres cúbits de datos lógicos se envían utilizando un canal, (típicamente un canal propenso a errores, representado en la figura mediante la "caja de error"). Midiendo los dos cúbits ancilla (cajas M en la figura 2), los errores sobre el cúbit de datos pueden ser detectados, y eventualmente corregidos usando los datos medidos en los bits ancilla, y los valores obtenidos en el cúbit de datos y los dos cúbits de redundancia.
En las realizaciones propuestas, pueden distinguirse tres partes o niveles (o capas) diferentes: el intercambio seguro de datos (a través de un canal cuántico), la capa de consenso entre nodos y la arquitectura de alto nivel del sistema.
Intercambio seguro de datos
Para lograr el intercambio seguro e instantáneo de información entre nodos, se utiliza un sistema entrelazado entre nodos vecinos inspirado en un esquema simple de corrección de errores cuánticos (por ejemplo, el esquema de corrección de errores de 3 cúbits mencionado anteriormente). Este esquema impide que los nodos puedan falsificar la información intercambiada, y se utiliza para compartir la información necesaria para alcanzar un consenso y elegir el siguiente nodo habilitado para validar un bloque en la red.
Para la siguiente explicación, se considera una red distribuida (una red DLT) con un númeronde nodos (sin pérdida de generalidad). Estos nodos necesitan intercambiarbbits de datos de confianza entre ellos. Hay que ofrecer un nivel básico de seguridad Byzantine Fault Tolerant, es decir, la encarnación propuesta debe resistir que al menos un tercio de los nodos tengan fallos, estén comprometidos o sean maliciosos. Para hacer cumplir este nivel de seguridad básico, los nodos de la red se distribuyen en diferentes fragmentos (también llamados fragmentos o grupos), entrelazando los cúbits de datos de cada nodo con nodos dentro y fuera de su fragmento, siguiendo un mecanismo de entrelazamiento análogo al que se sigue en un esquema de corrección de errores, por ejemplo, en el esquema de corrección de errores de 3 cúbits.
Así, para aplicar una red BFT, una red connnodos se divide en el siguiente número de fragmentos:
Número de fragmentos= s = [n/3]
con al menos tres nodos por fragmento (o más concretamente, 3 ó 4 nodos por fragmento). Esta distribución de nodos y fragmentos en la red garantiza que el esquema propuesto sea capaz de detectar la acción de n/3 nodos defectuosos en la red, independientemente del fragmento. Para que el sistema funcione correctamente, cada nodo debe disponer, como mínimo, del siguiente número de cúbits:Número de cúbits por nodo =(1para datos1redundancia+ 2ancilla) cúbits= 4cúbits
Para determinar qué nodos englobar en cada fragmento, en una realización se emplea un algoritmo de distancia mínima (no obstante, se puede utilizar cualquier otro algoritmo o mecanismo para distribuir los nodos entre los fragmentos). Cada nodo se identifica mediante un ID en bits. En consecuencia, en cada fragmento los 3 (o 4) nodos con menor distancia entre ellos están englobados en el mismo fragmento. La distancia entre dos nodos A y B se calcula en esta realización (se puede utilizar cualquier otra definición de distancia) como:
d (AB) = idA xor idB
Si de acuerdo con el número de fragmentos se requieren más de tres nodos para acomodar todos los nodos del sistema, se incluye un 4° nodo en cada fragmento, por ejemplo, desde el último fragmento hasta el primero hasta que a cada nodo se le asigne un fragmento usando el mismo algoritmo de distancia mínima. En algunos casos, se puede utilizar cualquier otro esquema para elegir los fragmentos con 4 nodos (por ejemplo, elegir aleatoriamente los fragmentos con 4 nodos, elegir del primer al último nodo, etc.). Esto no afectará al correcto funcionamiento de la solución propuesta.
La configuración anterior conduce a una distribución general de nodos (arquitectura de red) como la que se presenta en la Figura 3. Para mayor claridad, la notación de los nodos de un fragmento elegida para el resto del documento es la siguiente: cada nodo se identifica en su fragmento con una letra (A, B, C), y el número que sigue a la letra determina el fragmento al que pertenece el nodo. Así, A1 es el nodo A del fragmento 1.
Tomando como base esta arquitectura de red (distribución de nodos), en una realización el procedimiento de entrelazamiento de cúbits de datos entre nodos se basa en una estructura similar a la de un esquema de corrección de errores de 3 cúbits, donde los cúbits redundantes relacionados con los cúbits de datos de un nodo se entrelazan con nodos dentro de su fragmento, mientras que los cúbits ancilla se enredados con la contraparte de un nodo fuera de su fragmento. Este mecanismo garantiza que, independientemente de los n/3 nodos específicos que coludan en la red (en el mismo fragmento o con nodos coludidos en cada fragmento), se detecte una falsificación de datos de un nodo utilizando sus cúbits de redundancia y ancilla entrelazados.
Cada fragmento se compone de al menos tres nodos, y los mecanismos de enredo son los siguientes:
Los cúbits de los nodos se organizan en los siguientes grupos: cúbits de datos, grupos de redundancia y cúbits ancilla. El grupo de cúbits de dos redundancias se entrelaza con los otros dos nodos del fragmento, mientras que el grupo de cúbits ancilla se entrelaza con el nodo del fragmento siguiente con el mismo prefijo (o el más cercano). Así, los cúbits ancilla del nodo A1 (nodo A del fragmento 1) se entrelazarán con los del nodo A2 (nodo A del fragmento 2). Cada nodo de la red tiene la siguiente estructura de cúbits, conbcúbits de datos,bcúbits de redundancia para un nodo del fragmento,bpara el otro, y2bde ancilla para el nodo fuera de su fragmento.
estructura de cúbits: [data | redundancia1 | redundancia2| ancilla]
Para ilustrar el procedimiento de entrelazamiento entre nodos, representemos el entrelazamiento de los tres nodos del fragmento 1 (A1, B1, C1).
Al \ [{dA1} , { r A \ c i \ Á aA\A2\\
S I : [{<¿£1.},í r B lC l }> { r B lA l } > í a B Í B 2 } \
C l : [{<¿(71}, í r C lB l}< {<q>C1C2}]
Donde{rArn i}, porejemplo, significa que los cúbits de redundancia de A1 están enredados con los cúbits de datos de B1,{rAic i },los cúbits de redundancia de A1 con C1 y así sucesivamente.
Por lo tanto, el grupo de dos cúbits redundantes de cada nodo en el fragmento está entrelazado con los otros dos nodos,{rAiB i}, {rA ici},mientras que los 2b cúbits ancilla están entrelazados con los cúbits ancilla del homólogo del nodo en el fragmento siguiente, {aA<1>A<2>} Siguiendo el esquema de corrección de errores bit flip de 3 cúbits en el que se inspira el sistema (Figura 2), se utilizan 2b cúbits ancilla para poder detectar no sólo errores en los cúbits de datos, sino también incoherencias entre los dos cúbits de redundancia. Este esquema permite la validación de cualquier dato intercambiado utilizando este canal cuántico (es decir, datos comunicados utilizando el mecanismo cuántico explicado). Cada vez que un nodo mide sus datos, los cúbits entrelazados de otros nodos se colapsan, enviando la información correspondiente. Utilizando este esquema de transmisión cuántica es como se intercambian los datos relacionados con los algoritmos de consenso y la información de validación.
Para el caso de un fragmento con 4 nodos, la estructura de enredo es la siguiente:
A1:{rA1Bi},{rAlcl}, {aAÍA2}]
S I:[{dB1l{rB lc l}, {rB1D1}, {aB1B2}]
Cl: [{dc l},{rclD1},{rclA1},{a C1C21]
DI:[{dc l } , {rD1A1} ,{rD1B1}, [aD1D2/C2}]
La estructura de entrelazamiento sigue el mismo esquema, cada nodo del fragmento está entrelazado a través de sus cúbits de redundancia con otros dos nodos dentro del fragmento, la principal diferencia cuando un fragmento tiene cuatro nodos radica en el entrelazamiento con un fragmento externo. Si el siguiente fragmento también tiene cuatro nodos, el esquema de entrelazamiento seguido es el mismo que en el caso de tres nodos, de modo que los cúbits ancilla del último nodo (D1) se entrelazan con su homólogo en el siguiente fragmento (D1),{aD1D2 }.Sin embargo, si el siguiente fragmento tiene tres nodos, el entrelazamiento se realiza con el nodo más cercano dentro del siguiente fragmento, haciendo que este nodo tenga dos nodos externos entrelazados a él{aoC2} y {a cic<2>}. En cualquier caso, este asunto no afecta al correcto funcionamiento del resto de la solución propuesta.
Capa de consenso
Sobre el esquema cuántico descrito anteriormente, se intercambian datos de validación para alcanzar el consenso. Esta capa de transmisión para el intercambio de mensajes de validación minimiza el retardo y el ancho de banda necesario para alcanzar el consenso. En una realización, los datos intercambiados utilizando los cúbits de datos de los canales cuánticos explicados anteriormente, tienen la siguiente estructura de datagrama (esto es sólo una opción y cualquier otra estructura de datagrama es posible). Esta estructura de datagrama es la que se envía a través de los cúbits de datos del esquema cuántico, comodA1 :
Estructura de datagrama:[(ID) |SEQ | NÚMERO ALEATORIO | DATA]
• ID es un campo opcional utilizado para identificar el algoritmo de consenso específico o la plataforma de cadena de bloques a la que pertenecen los datos intercambiados. Como se explicará más adelante, el anillo de confianza cuántico está diseñado para utilizarse como capa de seguridad independiente auxiliar para plataformas de cadena de bloques aisladas, sistemas DLT o consenso cuántico, o un grupo de ellos (véase, por ejemplo, la figura 1).
• SEQ es un número de secuencia que identifica la ronda de validación para la que se intercambian los datos. Este número SEQ puede ser igual al resumen de la ronda validada anteriormente, lo que impide que los nodos realicen ataques de repetición (utilizar datos de validación enviados previamente para falsificar algún tipo de información).
• NÚMERO ALEATORIO representa el número aleatorio utilizado para determinar el siguiente nodo con derecho a proponer el siguiente bloque en la plataforma cadena de bloques (o, en otras palabras, los siguientes datos a validar). En una realización, este número aleatorio se genera de la siguiente manera: al preparar los cúbits de datos, cada nodo dedica algunos de estos cúbits a preparar un estado de superposición pura para que, cuando se midan los datos, estos cúbits colapsen a un número aleatorio con un número de bits determinado por el número de cúbits preparados.
• DATA son los datos específicos de validación que se quieren intercambiar con todos los nodos de la red, o lo que es lo mismo, los datos a los que se quiere aplicar el algoritmo de consenso. Estos datos pueden ser una propuesta de bloque (con el formato específico de la plataforma cadena de bloques superpuesta), o cualquier otro dato que quiera ser compartido dentro de la red DLT y que, por tanto, deba ser validado.
Así, cada nodo prepara sus cúbits de datos usando la estructura de datagrama mencionada, donde los campos ID, SEQ y DATA se preparan usando estados puros para que cuando se midan el nodo sepa que colapsarán a los valores deseados para los que se prepararon, y el campo de número aleatorio se prepara en un estado de superposición, por lo que este valor sólo es conocido por el nodo (y todas sus contrapartes enredadas) en el momento de la medición (cuando colapsa a un número aleatorio específico).
En una realización, para alcanzar el consenso en la red de anillo de confianza cuántica propuesta, cada nodo opera siguiendo la máquina de estados descrita a continuación (véase la Figura 4):
• Estado inactivo (0x00): El anillo permanece en este estado (inactivo) mientras ningún nodo de la red solicite una nueva ronda de validación. Cada vez que un nodo desea iniciar una ronda de validación, envía un mensaje utilizando el canal clásico (es decir, el protocolo de transporte clásico disponible para la comunicación entre nodos).
El inicio de una nueva ronda de validación se notifica al resto de nodos, y todos los nodos pasan del estado inactivo (0x00) al estado de propuesta (0x01). Es decir, cuando los nodos envían o reciben una nueva ronda de validación, pasan del estado inactivo (0x00) al estado de propuesta (0x01).
• Estado Proponer (0x01): Los nodos en este estado preparan el estado de sus cúbits de datos para enviar los datos al resto de nodos. Esto se consigue de la siguiente manera: cada nodo prepara los 4b cúbits entrelazados (siendo b el número de bits de los datos de confianza a validar). Este entrelazamiento puede lograrse utilizando cualquier técnica de entrelazamiento conocida, por ejemplo, una de las técnicas mencionadas anteriormente, como el uso de fuentes de fotones de "conversión paramétrica descendente".
A continuación, los bits de datos se preparan con el datagrama correspondiente que quiere proponer el nodo, y todos los cúbits enredados son compartidos por el nodo con todos sus homólogos (es decir, con el resto de nodos con los que este nodo ha enredado sus cúbits). Una vez que los cúbits enredados son compartidos con cada contraparte, cada nodo mide sus cúbits forzando a cada redundancia y cúbit ancilla a colapsar a los mismos estados (cuánticos).
• Estado Rx (0x02): Cuando un nodo ha recibido los datos de todas sus contrapartes enredadas (es decir, se han medido todos sus cúbits), construye un certificado de recepción. Los certificados de recepción se utilizan para compartir con el resto de la red los datos de redundancia y ancilla medidos por un nodo, junto con sus propios datos. Así, un certificado de recepción para un nodo An tendría la siguiente estructura:
oRxCertifícate: ({dAn}, {rAnBn}, {rAnCn}, {aAnAín+1)})
Cada nodo comparte su certificado de recepción firmado (para garantizar su integridad) a través de la capa de transporte de red clásica correspondiente. Así, cada nodo enviaría la siguiente estructura de datos firmada con su clave privada:
classical tx: {RxCertif icate,hash(RxCertificate'),signsAn [RxCertificate,hash(RxCertificate)]}
Después de que estos datos estén convenientemente firmados, un nodo pasa al siguiente estado 0x03.
• Estado de validación (0x03): Los nodos permanecen en este estado hasta que reciben los certificados de recepción de cada nodo informático del anillo. Al recibir un certificado, el nodo verifica su integridad y autenticidad (mediante la firma del certificado). Tras recibir cada certificado de recepción, valida mediante los bits de ancilla y redundancia que no se ha falsificado ningún dato en la ronda de validación. Si todo es correcto, la propuesta de validación de, por ejemplo, el nodo que dio lugar a la medición del número aleatorio más pequeño es la seleccionada para actualizar el libro mayor y el estado de la red distribuida (normalmente, todos los nodos del anillo deben validar los certificados de recepción recibidos de cada uno de los demás nodos para consignar datos en el libro mayor). La validación de todos los certificados de recepción es sencilla. Si todas las firmas son válidas, los certificados de recepción se desempaquetan para extraer todos los datos relacionados con la información de los datos, la redundancia y la ancilla. Para que los datos intercambiados en la ronda de validación se consideren válidos, deben cumplirse las siguientes igualdades para cada datagrama de datos:
Es decir, para cada nodo, An, sus bits de datos deben ser iguales a los bits de redundancia enviados por sus correspondientes nodos de redundancia (los otros dos nodos del fragmento en el caso de un fragmento de 3 nodos), y los primeros b bits, y los últimos b bits de la estructura ancilla a(...)Ani{i...b},a(...)Ani{b+i...<2>b}(recuérdese del esquema de corrección de error de 3 cúbits que los bits ancilla están conformados por bits 2b) también deben ser iguales a los bits de datos. Si durante el proceso de validación alguna de estas igualdades no se mantiene, significa que los datos han sido falsificados y la ronda de validación se aborta para cada nodo del anillo. En esta fase, a través de los datos de los certificados de recepción, y utilizando toda la información redundante, si la falsificación es obvia, en lugar de abortar directamente la ronda de validación, se podría corregir adecuadamente la falsificación, y seguir operando como si no hubiera falsificación.
Una vez validados los certificados de recepción, cada nodo puede utilizar los datos con el número aleatorio más pequeño para actualizar el libro mayor y realizar las ejecuciones pertinentes. El identificador del bloque, o actualización del estado de la red almacenada, puede ser el resumen del certificado de recepción del nodo ganador. Este resumen se incluirá en el campo SEQ en la siguiente ronda de validación para que los nodos puedan detectar que no se ha modificado ningún dato, y que el certificado de recepción elegido en la ronda anterior era correcto. El almacenamiento de cada certificado de recepción ganador en cada ronda de validación permite sincronizar la incorporación de miembros al anillo, o futuras validaciones de chequeo de toda la red por parte de sus miembros o entidades externas.
Para su funcionamiento, los nodos pueden utilizar un registro clásico donde almacenan el estado en el que se encuentran en el proceso de validación, de forma que pueda ser solicitado en cualquier momento por cualquier subsistema del nodo o protocolo/aplicación de superposición. Además, se puede determinar un tiempo de espera para cada estado en cada nodo, de modo que si una ronda de validación se atasca mucho tiempo en el mismo estado (ya sea porque un nodo de la red no ha hecho ninguna propuesta de validación, o porque un nodo no recibe todos los certificados de recepción de la red), la ronda de validación se puede abortar, o se pueden utilizar sistemas de respaldo para distribuir los datos pendientes para los nodos atascados. Un nodo atascado podría sincronizarse fácilmente con el anillo solicitando a cualquiera de los miembros el historial de todos los certificados ganadores de cada ronda de validación anterior.
Infraestructura de alto nivel
El anillo de confianza cuántica puede diseñarse como una capa de red auxiliar independiente que puede implementarse como una red distribuida específica en la que los nodos del anillo de confianza cuántica están formados por los nodos de la red distribuida a la que da servicio (figura 5a, red única); o puede implementarse como una infraestructura auxiliar para dar servicio a diferentes redes distribuidas permitiéndoles aprovechar su seguridad, confianza y rendimiento mejorados. De este modo, diferentes redes independientes podrían utilizar un anillo cuántico de confianza como infraestructura auxiliar para su funcionamiento (figura 5b, redes múltiples).
La incorporación de nuevos nodos al anillo cuántico de confianza es inmediata. Según su ID específico, al nodo se le asigna un fragmento. Según su ID y su fragmento, se comparten con él y sus homólogos los correspondientes cúbits entrelazados necesarios para su funcionamiento. Antes de que pueda empezar a participar en el sistema, el nodo necesita sincronizarse con los datos de las rondas previamente validadas.
El funcionamiento del anillo cuántico de confianza sobre las configuraciones mencionadas será:
Red única (Figura 5a): En la configuración de red única, el anillo cuántico de confianza da servicio a una única red distribuida o algoritmo de consenso. Así, todos los mensajes intercambiados en el anillo pertenecen a la misma red. En esta configuración, normalmente cada bloque de la red superpuesta se valida utilizando el anillo.
Redes múltiples (Figura 5b): En esta configuración, cada red puede utilizar su propio algoritmo de consenso. Pueden optar por validar todos sus datos a través del anillo cuántico o, si sólo disponen de un número limitado de nodos cuánticos conectados al anillo de confianza, pueden preferir utilizar el anillo cuántico únicamente para la validación de determinados bloques. Así, cada vez que un nodo de una de las redes quiera activar una ronda de validación en el anillo cuántico, enviará un mensaje de "solicitud de validación" al nodo cuántico asignado a su red. El anillo cuántico realizaría el proceso de validación y devolvería el bloque validado a la red. Cada nodo del anillo almacena los
Bloques específicos validados en él para que los nodos de las redes que lo utilicen puedan solicitar los certificados de recepción de ganadores para validar que los bloques devueltos por su nodo cuántico asignado eran correctos. En esta configuración, el anillo cuántico puede verse como un módulo de consenso paralelo o capa de transporte a partir del cual las redes conectadas pueden aprovechar su seguridad y rendimiento cuando lo deseen.
Más arriba se han presentado algunas realizaciones de la solución de anillo cuántico de confianza propuesta en la presente solicitud de patente. Sin embargo, pueden implementarse otras realizaciones dentro del ámbito de la solución propuesta, implementando diferentes niveles de seguridad (normalmente más fuertes) que la solución propuesta anteriormente.
• Por ejemplo, en lugar de utilizar fragmentos con tres o más nodos o forzar el entrelazamiento de cada nodo dentro de un fragmento, si se dispusiera de más cúbits por nodo, se podrían diseñar esquemas de entrelazamiento adicionales inspirados en otros algoritmos cuánticos de corrección de errores distintos del algoritmo de volteo de bits de 3 cúbits seleccionado para la invención. Además, el esquema de enredo y la validación podrían generalizarse mediante el uso de estabilizadores cuánticos en lugar de utilizar únicamente el simple esquema de corrección de errores de 3 cúbits.
• Por otro lado, el algoritmo de consenso implementado sobre el canal cuántico propone un marco general que puede mejorarse fácilmente para casos de uso específicos. Se ha propuesto una estructura general de datagramas, pero podría ampliarse fácilmente para otros casos de uso. Además, podrían implementarse fácilmente nuevas topologías y configuraciones inspiradas en las dos arquitecturas de alto nivel propuestas en la invención.
• Por último, es importante señalar que la solución propuesta no implica el uso de ningún protocolo, capa de transporte o sistema criptográfico específico para la comunicación a través del enlace clásico. En otras palabras, cualquier protocolo de comunicaciones, capa de transporte o técnica criptográfica podría utilizarse para el intercambio de certificados de recepción en la invención propuesta.
La solución propuesta se ha presentado aquí de acuerdo con varias realizaciones, pero, por supuesto, se admiten varias implementaciones alternativas de esta arquitectura en función, por ejemplo, de las plataformas DLT subyacentes específicas conectadas a ella. En otras palabras, aunque la presente invención se ha descrito con referencia a realizaciones específicas, debe entenderse por los expertos en la materia que lo anterior y varios otros cambios, omisiones y adiciones en la forma y detalles de la misma se pueden hacer en ella sin apartarse del alcance de la invención tal como se define en las reivindicaciones siguientes. Además, todos los ejemplos que se citan en el presente documento tienen por objeto principal y expreso servir únicamente a efectos pedagógicos para ayudar al lector a comprender los principios de la invención y los conceptos aportados por el inventor o inventores para el desarrollo de la técnica, y deben interpretarse sin limitación a los ejemplos y condiciones específicamente citados. Además, todas las afirmaciones aquí contenidas que recitan principios, aspectos y realizaciones de la invención, así como ejemplos específicos de la misma, pretenden abarcar equivalentes de la misma.
Los expertos en la materia apreciarán que los diagramas de bloques representan vistas conceptuales de circuitos ilustrativos que incorporan los principios de la invención. Del mismo modo, se apreciará que cualquier diagramas de flujo, diagramas de flujo, diagramas de transición de estado, pseudocódigo, y similares representan diversos procesos que pueden ser sustancialmente representados en un medio legible por ordenador y así ejecutados por un ordenador o procesador, se muestre o no explícitamente dicho ordenador o procesador.
Claims (13)
1. Un procedimiento para mejorar el consenso entre un grupo de nodos informáticos pertenecientes a la misma o diferentes redes de tecnología de libro mayor distribuido, DLT, conectadas por una red de telecomunicaciones, el procedimiento comprende las siguientes etapas:
a) Un nodo informático solicita una ronda de validación;
b) Cuando se solicita la ronda de validación, cada nodo de computación del grupo obtiene bits cuánticos, cúbits de datos, correspondientes a b bits de datos a validar en la ronda de validación;
c) Cada nodo informático del grupo, entrelazando sus cúbits de datos con uno o más nodos informáticos del grupo y validando los bits de datos basándose en los cúbits de datos entrelazados de uno o más nodos informáticos del grupo, según un esquema de corrección cuántica de errores;
en el que la etapa c) comprende, además:
- Cada nodo de computación del grupo, obteniendo una secuencia de cúbits enredados con datos o cúbits ancilla de otros nodos de computación, nodos homólogos, según el esquema de corrección cuántica de errores;
- Cada nodo de computación del grupo, midiendo las secuencias de cúbits entrelazados para obtener los bits correspondientes y enviando un certificado de recepción, incluyendo los bits medidos junto con los bits de datos del nodo de computación a validar, al resto de nodos de computación del grupo utilizando uno o más canales de red de telecomunicaciones;
-A l recibir los certificados de recepción, cada nodo informático del grupo, valida los bits de datos según el esquema de corrección cuántica basándose en la información recibida en los certificados de recepción;
- Si alguna de las validaciones es negativa, considerar los datos validados como falsos.
2. Un procedimiento según cualquiera de las reivindicaciones anteriores, en el que el esquema de corrección de error cuántico es un esquema de corrección de errores de 3 cúbits.
3. Un procedimiento según cualquiera de las reivindicaciones anteriores, en el que la etapa c) comprende:
- Asignar cada nodo informático del grupo a un fragmento, siendo N el número total de fragmentos;
- Cada nodo de cálculo (An ) de cada fragmento n, n=1... N, prepara los siguientes grupos de cúbits enredados:
- un primer grupo de redundancia de b cúbits enredados con los cúbits de datos de un nodo de computación (Bn) del mismo fragmento n,
- un segundo grupo de redundancia de b cúbits enredados con los cúbits de datos de otro nodo informático (Cn) del mismo fragmento n, y
- un grupo de 2b cúbits ancilla enredados con los cúbits ancilla de un nodo de computación An i perteneciente a un fragmento diferente;
- Cada nodo de computación de cada fragmento mide las secuencias de cúbits enredados para obtener los bits correspondientes a cada cúbit;
- Cada nodo de cálculo de cada fragmento construye un certificado de recepción que incluye los b bits de datos del nodo de cálculo a validar, dAn , los bits correspondientes a la medición del a primer grupo de redundancia de b cúbits {rAnBn}, los bits correspondientes a la medición del segundo grupo de redundancia de b cúbits {rAnCn} y los bits correspondientes a la medición del grupo de 2b cúbits ancilla {aAnA(n+1)};
- Cada nodo informático de cada fragmento, enviando dicho certificado de recepción al resto de nodos informáticos del grupo a través de uno o varios canales de la red de telecomunicaciones;
- Cada nodo de computación de cada fragmento, valida los b bits de datos del nodo de computación dAn, a partir de la información de los certificados de recepción recibidos, y si alguna de las validaciones es negativa, considera los datos a validar como falsificados.
4. Un procedimiento según la reivindicación 3, en el que la validación de los bits de datos del nodo de cálculo, dAn , en cada nodo de cálculo An es positiva si:
dA n = ~ r (...)An = ~ a ( ...)A n l{ l ..b} = =a (...)Anl{b+1..2b)
siendor(.)An, los bits de redundancia recibidos de sus correspondientes nodos de computación homólogos del mismo fragmento n (Bn, Cn) y siendoa(...)Ani{i...b}los primeros b bits, ya(...)Ani{b+i...2b}los últimos b bits de los bits de ancilla recibidos de su nodo homólogo de otro fragmento (An+i).
5. Un procedimiento según cualquiera de las reivindicaciones anteriores 3-4, donde el número de fragmentos es la parte entera de N/3 y cada fragmento tiene asignado un mínimo de tres nodos de computación.
6. Un procedimiento según cualquiera de las reivindicaciones anteriores, donde el procedimiento comprende, además:
- Si todas las validaciones son positivas, seleccionar en cada nodo de computación uno de los datos validados para actualizar un libro mayor correspondiente; en caso contrario, considerar el dato como falsificado y abortar la ronda de validación o a partir de la información recibida en los certificados de recepción, corregir la falsificación y recuperar el dato.
7. Un procedimiento según cualquiera de las reivindicaciones anteriores, en el que los certificados de recepción son firmados por el nodo informático que crea el certificado de recepción y la validación se realiza, sólo si la integridad y autenticidad del certificado de recepción se comprueba a través de la firma del certificado de recepción.
8. Un procedimiento según cualquiera de las reivindicaciones anteriores, en el que la validación la realiza un nodo informático sólo si ha recibido un certificado de recepción de todos los nodos informáticos del grupo.
9. Un procedimiento según cualquiera de las reivindicaciones anteriores en el que los bits de datos b a validar incluyen los siguientes campos:
[SEQ|NÚMERO ALEATORIO|DATA]
donde SEQ es un número de secuencia que identifica la ronda de validación para la que se intercambian los datos, NÚMERO ALEATORIO es un número aleatorio utilizado para determinar el siguiente nodo informático con derecho a proponer los siguientes datos a validar y DATA es la información específica sobre la que se va a establecer el consenso entre los nodos informáticos del grupo.
10. Un procedimiento según la reivindicación 9, en el que el datagrama también incluye un campo de identificación, ID, en el que dicho campo de identificación se utiliza para identificar el algoritmo de consenso específico o la plataforma cadena de bloques a la que pertenecen los datos intercambiados.
11. Un procedimiento según cualquiera de las reivindicaciones anteriores 9-10 donde el número de SEQ es igual al resumen de la ronda previamente validada.
12. Un sistema para mejorar el consenso entre los nodos de computación, el sistema comprende un grupo de nodos de computación pertenecientes a la misma o diferente tecnología de libro mayor distribuido, DLT, redes conectadas por una red de telecomunicaciones, cada nodo de computación que comprende:
- Medios para solicitar una ronda de validación del envío de un mensaje a través de la red de telecomunicaciones; - Medios para, cuando se ha solicitado una ronda de validación obtener los bits cuánticos, cúbits de datos, correspondientes a los b bits de datos a validar en la ronda de validación;
- Medios para entrelazar sus cúbits de datos con uno o más nodos de computación del grupo, siguiendo un esquema de corrección cuántica de errores y
- Un procesador configurado para validar los bits de datos del nodo de computación b utilizando el esquema de corrección cuántica de errores basado en los cúbits de datos entrelazados de uno o más nodos de computación del grupo, de acuerdo con el esquema de corrección cuántica de errores;
donde los nodos informáticos del grupo comprenden, además:
- Medios para obtener una secuencia de cúbits entrelazados mediante el entrelazamiento de cúbits con datos o cúbits ancilla de otros nodos de computación, nodos homólogos, según el esquema de corrección cuántica de errores; - Medios de medición de los cúbits entrelazados para obtener los bits correspondientes;
- Medios para enviar un certificado de recepción, incluyendo los bits medidos junto con los bits de datos del nodo informático a validar, al resto de nodos informáticos del grupo utilizando uno o más canales de red de telecomunicaciones;
- Medios para recibir certificados de recepción del resto de nodos de computación del
grupo,
- El procesador está configurado para validar los bits de datos b según el esquema de corrección cuántica determinado basándose en la información recibida en los certificados de recepción y, si alguna de las validaciones es negativa, clasificar los datos validados como 10 falsificados.
13. Un medio de almacenamiento digital de datos no transitorio para almacenar un programa informático que comprende instrucciones que hacen que un ordenador que ejecuta el programa realice el procedimiento según cualquiera de las reivindicaciones 1-11.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP19382928.0A EP3813295B1 (en) | 2019-10-25 | 2019-10-25 | Method and system for dlt networks consensus enhancement using quantum computing mechanisms |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2962109T3 true ES2962109T3 (es) | 2024-03-15 |
Family
ID=68392920
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES19382928T Active ES2962109T3 (es) | 2019-10-25 | 2019-10-25 | Procedimiento y sistema para la mejora del consenso en redes DLT utilizando mecanismos de computación cuántica |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US11637711B2 (es) |
| EP (1) | EP3813295B1 (es) |
| ES (1) | ES2962109T3 (es) |
Families Citing this family (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11283594B2 (en) * | 2019-06-05 | 2022-03-22 | International Business Machines Corporation | Context data update in a blockchain network |
| US20220109577A1 (en) * | 2020-10-05 | 2022-04-07 | Thales DIS CPL USA, Inc | Method for verifying the state of a distributed ledger and distributed ledger |
| US11570007B2 (en) * | 2021-02-16 | 2023-01-31 | Bank Of America Corporation | Quantum-level cryptography for delegated digital signatures |
| WO2022254358A1 (en) * | 2021-06-01 | 2022-12-08 | Jio Platforms Limited | System for quantum entanglement in microservices- based realizations of blockchain platforms |
| CN114462612B (zh) * | 2021-08-12 | 2024-08-13 | 北京计算机技术及应用研究所 | 基于高性能异构集群的量子计算仿真原理验证方法 |
| CN113922864B (zh) * | 2021-10-09 | 2023-07-28 | 郑州大学 | 一种基于拜占庭共识的多层卫星网络安全保障方法 |
| WO2023128603A1 (ko) * | 2022-01-03 | 2023-07-06 | 엘지전자 주식회사 | 양자 통신 시스템에서 임의의 n-큐비트 얽힘 상태에 대하여 얽힘 오류를 검출하고 정정하기 위한 장치 및 방법 |
| US20230316119A1 (en) * | 2022-03-30 | 2023-10-05 | Bank Of America Corporation | Quantum approximation optimizer for distributed register validation |
| KR20250003932A (ko) * | 2022-04-21 | 2025-01-07 | 애니온 컴퓨팅 인코퍼레이티드 | 분산형 마이크로파 양자 컴퓨팅 시스템 |
| US12026279B2 (en) | 2022-06-16 | 2024-07-02 | Bank Of America Corporation | System and method for document validation based on extracted information from the document |
| US12095795B2 (en) | 2022-06-16 | 2024-09-17 | Bank Of America Corporation | Failure-tolerant system and method for establishing consensus among blocks within a blockchain network |
| CN115118420A (zh) * | 2022-08-26 | 2022-09-27 | 中国科学技术大学 | 基于量子可检测弱拜占庭协议的通信方法 |
| EP4354787A1 (en) * | 2022-10-11 | 2024-04-17 | Bull Sas | Method for creating a trusted map of verified secure nodes for a network of nodes in a quantum internet |
| US20240330729A1 (en) * | 2023-04-03 | 2024-10-03 | Abu Dhabi University | Quantum Blockchain |
| CN119182514B (zh) * | 2023-06-21 | 2025-10-10 | 济南量子技术研究院 | 量子通信网络中节点、传输线路及路径的风险度计算方法 |
| CN118449947B (zh) * | 2024-05-16 | 2026-01-13 | 浪潮云信息技术股份公司 | 分片许可链系统及核心共识节点的选择方法 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10540704B2 (en) * | 2007-09-06 | 2020-01-21 | Mohammad A. Mazed | System and method for machine learning based user application |
| US11477015B1 (en) * | 2017-12-27 | 2022-10-18 | Rigetti & Co, Llc | Quantum state blockchain |
| US20190311296A1 (en) * | 2018-04-10 | 2019-10-10 | Haining Fan | Method of Integrating Qubits for Room-Temperature Quantum Computing |
| US11599832B2 (en) * | 2019-06-27 | 2023-03-07 | The Regents Of The University Of California | Systems, circuits and computer program products providing a framework for secured collaborative training using hyper-dimensional vector based data encoding/decoding and related methods |
| CN110602077B (zh) * | 2019-09-03 | 2020-10-27 | 成都信息工程大学 | 基于信任评估的量子区块链网络匿名选举方法及存储介质 |
-
2019
- 2019-10-25 ES ES19382928T patent/ES2962109T3/es active Active
- 2019-10-25 EP EP19382928.0A patent/EP3813295B1/en active Active
-
2020
- 2020-10-22 US US17/076,837 patent/US11637711B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| EP3813295A1 (en) | 2021-04-28 |
| US11637711B2 (en) | 2023-04-25 |
| EP3813295C0 (en) | 2023-10-18 |
| US20210126800A1 (en) | 2021-04-29 |
| EP3813295B1 (en) | 2023-10-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11637711B2 (en) | Method and system for DLT networks consensus enhancement using quantum computing mechanisms | |
| JP7838154B2 (ja) | コンピュータ実装されるシステムおよび方法 | |
| ES2717548B2 (es) | Acuerdo seguro de clave con dispositivos no confiables | |
| US12323516B2 (en) | Computer-implemented system and method for time release encryption over a blockchain network | |
| ES2912265T3 (es) | Autenticación multifactor utilizando comunicación cuántica | |
| US20200162251A1 (en) | Systems and methods for distributed key storage | |
| ES2950584T3 (es) | Procedimiento y sistema para validar la prueba ordenada de tránsito de paquetes de tráfico en una red | |
| CN111615810B (zh) | 获取数字签名的数据的计算机实现方法和系统 | |
| US9454654B1 (en) | Multi-server one-time passcode verification on respective high order and low order passcode portions | |
| US9407631B1 (en) | Multi-server passcode verification for one-time authentication tokens with auxiliary channel compatibility | |
| Long et al. | Scalable BFT consensus mechanism through aggregated signature gossip | |
| Yang et al. | Arbitrated quantum signature of classical messages against collective amplitude damping noise | |
| Oh et al. | Algorithm based on Byzantine agreement among decentralized agents (BADA) | |
| Yan et al. | Quantum secure direct communication protocol with mutual authentication based on single photons and bell states | |
| Zhao et al. | Systematic research on technology and challenges of lightning network | |
| Abushgra et al. | A shared secret key initiated by EPR authentication and qubit transmission channels | |
| CN110945832B (zh) | 对称群体认证的方法和系统 | |
| Li et al. | SP-Chain: Boosting intra-shard and cross-shard security and performance in blockchain sharding | |
| ES2913657T3 (es) | Procedimiento para crear y distribuir claves criptográficas | |
| CN113746630B (zh) | 区块链证书管理方法、装置、联盟链及存储介质 | |
| Prajwal et al. | Quantum-safe authentication protocol leveraging qPUF for industrial internet of things | |
| Arslan et al. | Device-Independent Quantum Key Distribution: Protocols, Quantum Games, and Security | |
| ES2431465B1 (es) | Procedimiento y equipo de autenticación de contraseñas cuánticas | |
| ES2987338T3 (es) | Procedimiento y sistema para rendimiento mejorado de redes de DLT | |
| Rass | Perfectly secure communication, based on graph-topological addressing in unique-neighborhood networks |