Stateless API Consensus Token for Double Spending Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computer communication systems face challenges in replicating and fixing bugs due to server-side storage, lack of scalability, and issues with stateful API communications, where the responding computer cannot determine if the requesting computer has crashed or is disconnected, leading to problems with session management and double spending.
Innovation Solution
Implementing a stateless API communication method that uses a consensus token to ensure data consistency across computers, allowing them to reach consensus on value data without relying on previous requests or sessions, and preventing double spending by tying the consensus token to a previous interaction identifier.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If stateful API communication is used, then the responding computer can maintain session state, but it cannot determine if the requesting computer has crashed or is disconnected, leading to double spending problems
Solution Approach 1:
The patent extracts the session state from the server and places it in the client's consensus token. The token contains interaction identifiers and value data that the client maintains locally, eliminating the need for server-side session management while preventing double spending through cryptographic verification of the token's contents
Solution Approach 2:
The patent implements feedback by having the client include the consensus token in each API request, which contains the interaction identifier from previous transactions. The server verifies this token to confirm the client has not spent the same value twice, creating a feedback loop that prevents double spending without requiring continuous session state
2Reliability
If server-side storage is used for session data, then communication state can be maintained, but it makes it harder to replicate and fix bugs and reduces scalability
Solution Approach 1:
The patent segments the session state into individual consensus tokens that are distributed to each client independently. Each token is a self-contained unit with interaction identifiers and value data, allowing servers to process requests in parallel without sharing state, thereby improving scalability while maintaining communication state integrity
Solution Approach 2:
The patent creates copies of the session state in the form of consensus tokens that are stored locally on each client device. These tokens are cryptographic copies containing the necessary interaction identifiers and value data, eliminating the need for centralized server-side storage while maintaining state consistency across distributed systems
3Reliability
If consensus token verification is implemented, then double spending is prevented, but additional verification steps are required for each API request
Solution Approach 1:
The patent performs preliminary action by having the client generate and store the consensus token with the interaction identifier before making API requests. The token is prepared in advance with all necessary verification data, so the server only needs to verify the token's contents rather than maintaining complex session state or performing extensive validation during each request
Data Source
AI summary
A method includes receiving, by a first computer from a second computer, a stateless API request message comprising update value data, a consensus token, and a user identifier. The first computer determines whether or not the consensus token matches a previously stored consensus token. If the consensus token matches the previously stored consensus token, the first computer retrieves stored value data from a value data database based on the user identifier. The first computer then updates the stored value data with the update value data. The first computer generates an API response message comprising an indication of the update. The first computer transmits, to the second computer, the API response message.


