Patent ES-2880453-T3 (ES)
Title: Utilizar tabla de números de un solo uso para resolver fallas de transacciones concurrentes de cadena de bloques
Inventor: SHEN CHAO
IPC: G06F16/00
Filed: 2018-11-30
Granted: 2021-11-24
Abstract: Un método implementado por computadora para proporcionar valores de números de un solo uso para escribir transacciones en cadenas de bloques en una red de cadena de bloques, en donde cada una de las transacciones escrita con éxito en una cadena de bloques en la red de cadena de bloques utiliza un valor de número de un solo uso respectivo que no se utiliza para escribir otra transacción en una cadena de bloques en la red de cadena de bloques, y en donde el método se ejecuta por uno o más procesadores y comprende: inicializar (602) una tabla de números de un solo uso que comprende una pluralidad de ranuras de número de un solo uso, en donde i) cada una de las ranuras de número de un solo uso está asociada con un índice de número de un solo uso respectivo y un estado respectivo, ii) cada una de las ranuras de número de un solo uso almacena un valor de número de un solo uso respectivo, y iii) el estado respectivo indica si el valor de número de un solo uso respectivo está disponible para una transacción; recibir (604) una solicitud para un valor de número de un solo uso desde una aplicación y, en respuesta a recibir la solicitud de un valor de número de un solo uso, i) solicitar un valor de número de un solo uso desde la tabla de números de un solo uso y ii) recibir (606) un valor de número de un solo uso, en donde a) el valor de número de un solo uso recibido comprende un valor de número de un solo uso almacenado en una ranura de número de un solo uso con un estado asociado que indica que el valor de número de un solo uso está disponible para una transacción y b) un estado de la ranura de número de un solo uso correspondiente al valor de número de un solo uso recibido se actualiza a un estado ocupado para evitar que el valor de número de un solo uso recibido se utilice en múltiples transacciones; determinar si una transacción que utiliza el valor de número de un solo uso recibido se escribe con éxito en una cadena de bloques en la red de cadenas de bloques; en respuesta a determinar que una transacción que utiliza el valor de número de un solo uso recibido se escribe con éxito en la cadena de bloques, liberar el índice de número de un solo uso correspondiente al valor de número de un solo uso recibido, comprende i) actualizar el valor de número de un solo uso almacenado en la ranura de número aleatorio asociada con el valor de número de un solo uso recibido y ii) establecer el estado de número de un solo uso asociado con la ranura de número de un solo uso en no ocupado para indicar que el valor de número de un solo uso actualizado está disponible para una transacción; y en respuesta a determinar que una transacción que utiliza el valor de número de un solo uso recibido no se escribe con éxito en la cadena de bloques, restablecer el índice de número de un solo uso correspondiente al valor de número de un solo uso recibido actualizando el estado de número de un solo uso correspondiente al índice de número de un solo uso a no ocupado para indicar que el valor de número de un solo uso recibido está disponible para una transacción.