US20230136590A1 - Systems and methods for locking queued distributed network tokens - Google Patents
Systems and methods for locking queued distributed network tokens Download PDFInfo
- Publication number
- US20230136590A1 US20230136590A1 US17/951,884 US202217951884A US2023136590A1 US 20230136590 A1 US20230136590 A1 US 20230136590A1 US 202217951884 A US202217951884 A US 202217951884A US 2023136590 A1 US2023136590 A1 US 2023136590A1
- Authority
- US
- United States
- Prior art keywords
- token
- transfer event
- event request
- processor
- pending
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/25—Integrating or interfacing systems involving database management systems
- G06F16/256—Integrating or interfacing systems involving database management systems in federated or virtual databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
Definitions
- the present disclosure generally relates to computer-based systems configured for permission events management on a blockchain and methods of use thereof.
- N-of-M multi-signature For example, sending from a “2 of 3” multisig wallet would require that two of three parties consent to submit a transaction. In a blockchain sense, a transaction is not real until sent out and confirmed on the blockchain.
- Embodiments described herein include a method for events management on a blockchain via locking queued distributed network tokens.
- the method includes: receiving, by a processor, from a first node associated with a first token storage, a transfer event request for a movement of a requested token amount relative to the first token storage via a distributed network, the requested token amount being associated with at least one token; accessing, by the processor, a pending transfer event log configured to queue a plurality of pending transfer event requests associated with the first token storage, each pending transfer event request within the pending transfer event log being associated with at least one pending token; modifying, by the processor, based on the access, the pending transfer event log, the modification comprising adding the transfer event request to a queue of the plurality of pending transfer event requests; locking, by the processor, the at least one token associated with the transfer event request upon the transfer event request being added to the queue of the pending transfer event log; and transmitting, by the processor, the transfer event request to the distributed network, the transmission of the transfer event request
- Embodiments described herein include a non-transitory computer-readable storage medium that has tangibly stored thereon, or tangibly encoded thereon, computer readable instructions that when executed by at least one processor cause the at least one processor to perform a method for events management on a blockchain via locking queued distributed network tokens.
- the computer-executed method includes: receiving, by the processor, from a first node associated with a first token storage, a transfer event request for a movement of a requested token amount relative to the first token storage via a distributed network, the requested token amount being associated with at least one token; accessing, by the processor, a pending transfer event log configured to queue a plurality of pending transfer event requests associated with the first token storage, each pending transfer event request within the pending transfer event log being associated with at least one pending token; modifying, by the processor, based on the access, the pending transfer event log, the modification comprising adding the transfer event request to a queue of the plurality of pending transfer event requests; locking, by the processor, the at least one token associated with the transfer event request upon the transfer event request being added to the queue of the pending transfer event log; and transmitting, by the processor, the transfer event request to the distributed network, the transmission of the transfer event request causing
- Embodiments described herein include a system for events management on a blockchain via locking queued distributed network tokens.
- the system includes at least one processor in communication with at least one storage device.
- the at least one processor is configured to access software instructions in the at least one storage device that cause the at least one processor to perform steps to: receive, from a first node associated with a first token storage, a transfer event request for a movement of a requested token amount relative to the first token storage via a distributed network, the requested token amount being associated with at least one token; access a pending transfer event log configured to queue a plurality of pending transfer event requests associated with the first token storage, each pending transfer event request within the pending transfer event log being associated with at least one pending token; modify, based on the access, the pending transfer event log, the modification comprising adding the transfer event request to a queue of the plurality of pending transfer event requests; lock the at least one token associated with the transfer event request upon the transfer event request being added to the queue of the pending transfer event log; and transmit
- Embodiments of one or more methods and/or systems for events management on a blockchain via locking queued distributed network tokens further include modifying, by the processor, the first token storage based on said locking of the at least one token, the modification comprising applying a token lock to the at least one token, the token lock preventing a subsequent transfer event request from being associated with the at least one token.
- Embodiments of one or more methods and/or systems for events management on a blockchain via locking queued distributed network tokens further include where the at least one pending token of each pending transfer event request comprising a token lock that prevents a subsequent transfer event request from being associated with the at least one pending token of each pending transfer event request.
- Embodiments of one or more methods and/or systems for events management on a blockchain via locking queued distributed network tokens further include determining, by the processor, that the at least one token of the transfer event request is not subject to the token lock, wherein the modification of the pending transfer event log is performed based on the determination.
- Embodiments of one or more methods and/or systems for events management on a blockchain via locking queued distributed network tokens further include applying a token lock to at least a portion of other tokens within the first token storage.
- Embodiments of one or more methods and/or systems for events management on a blockchain via locking queued distributed network tokens further include determining, by the processor, a write permission related to the transfer event request; and unlocking the at least one token based on the write permission, the unlocking enabling the transmission of the transfer event request to the distributed network.
- Embodiments of one or more methods and/or systems for events management on a blockchain via locking queued distributed network tokens further include identifying, by the processor, a denial instruction related to the transfer event request; and unlocking the at least one token based on the denial instruction, the unlocking enabling a subsequent transfer event request in association with the at least one token via the first token storage.
- Embodiments of one or more methods and/or systems for events management on a blockchain via locking queued distributed network tokens further include tracking, by the processor, a status of the at least one token; and synchronizing, by the processor, a source of truth (SOT) associated with the distributed network based on the tracked status.
- SOT source of truth
- Embodiments of one or more methods and/or systems for events management on a blockchain via locking queued distributed network tokens further include where the distributed network is a blockchain.
- FIG. 1 A depicts a block diagram of a distributed network architecture for event permission in a permission queue for submission to a blockchain in accordance with one or more embodiments of the present disclosure.
- FIG. 1 B depicts a block diagram of a smart contract 151 including a mapping of user wallets on the blockchain 150 to user accounts in the asset database 140 in accordance with one or more embodiments of the present disclosure.
- FIG. 2 illustrates a workflow orchestration for event request permission via a workflow service for controlling blockchain events in accordance with one or more embodiments of the present disclosure.
- FIG. 3 illustrates another workflow orchestration for event request permission via the workflow service for controlling blockchain events in accordance with one or more embodiments of the present disclosure.
- FIG. 4 illustrates a workflow orchestration for a token redeem event request and event processing based on the workflow service for controlling blockchain events in accordance with one or more embodiments of the present disclosure.
- FIG. 5 illustrates a workflow orchestration for a token deposit event request and event processing based on the workflow service for controlling blockchain events in accordance with one or more embodiments of the present disclosure.
- FIG. 6 is a block diagram of an exemplary computer-based system for event request permission via a workflow service of a blockchain environment in accordance with one or more embodiments of the present disclosure.
- FIG. 7 depicts a block diagram of another exemplary computer-based system and platform for event request permission via a workflow service of a blockchain environment in accordance with one or more embodiments of the present disclosure.
- FIG. 8 depicts illustrative schematics of an exemplary implementation of the cloud computing/architecture(s) in which embodiments of a system for event request permission via a workflow service of a blockchain environment may be specifically configured to operate in accordance with some embodiments of the present disclosure.
- FIG. 9 depicts illustrative schematics of another exemplary implementation of the cloud computing/architecture(s) in which embodiments of a system for event request permission via a workflow service of a blockchain environment may be specifically configured to operate in accordance with some embodiments of the present disclosure.
- the terms “and” and “or” may be used interchangeably to refer to a set of items in both the conjunctive and disjunctive in order to encompass the full description of combinations and alternatives of the items.
- a set of items may be listed with the disjunctive “or”, or with the conjunction “and.” In either case, the set is to be interpreted as meaning each of the items singularly as alternatives, as well as any combination of the listed items.
- FIGS. 1 through 9 illustrate systems and methods of pre-validating event requests before multisig permission on a blockchain.
- the following embodiments provide technical solutions and technical improvements that overcome technical problems, drawbacks and/or deficiencies in the technical fields involving blockchain event permissions that utilize a multisig permission process for each event on the blockchain, even where events are duplicates or with respect to the same tokens.
- technical solutions and technical improvements herein include aspects of improved event validation efficiency to decrease blockchain resource demands by establishing pre-permission to prevent multiple use of individual tokens without requiring multi sig permission.
- N-of-M multisignature For example, sending from a “2 of 3” multisig wallet would require that two of three parties consent to submit an event. In a blockchain sense, a transaction is not real until sent out and confirmed on chain.
- tokens may be locked while in proposed (unapproved) event request.
- event requests e.g., blockchain transactions
- permission queue By using the permission queue to lock tokens while in a proposed state, subsequent event requests for the same tokens or for more tokens than exist in the user's wallet may be rejected before the locked event request or subsequent event request(s) are submitted to the blockchain.
- the tokens without locking tokens in the permission queue, the tokens could be in the queue multiple times. For example, for a wallet with 1,000 tokens where user A is a maker and user B is an approver, user A may submit a send for 700 tokens and another for 1,000 tokens, and another for 800 tokens . . . and so on.
- any subsequent requests can be approved or denied based on the tokens of the first send request being locked and removed from the wallet of user A. If the first send request is approved, the locked tokens are included in a transaction on the blockchain. If a transaction is rejected, the tokens are unlocked and returned to available in the wallet.
- FIG. 1 A depicts a block diagram of a distributed network architecture for event permission in a permission queue for submission to a blockchain in accordance with one or more embodiments of the present disclosure.
- FIG. 1 B depicts a block diagram of a smart contract 151 including a mapping of user wallets on the blockchain 150 to user accounts in the asset database 140 in accordance with one or more embodiments of the present disclosure.
- a hybrid blockchain environment 100 may include nodes including user device 101 that interface with a blockchain 150 via one or more service layers.
- the service layers may include, e.g., a front-end service 110 , a workflow service 120 and a back-end service 130 .
- Each user device 101 may submit event requests 102 that employ tokens on the blockchain by submitting the event request 102 via the front-end service 110 .
- the front-end service 110 may engage the workflow service 120 to initiate a workflow based on the event request 102 , which may employ the back-end service 130 to instruct the blockchain 150 as well as an asset database 140 to store, transfer, record or otherwise operate on asset records associated with the token(s) of the event request 102 .
- the asset database 140 may track one or more state(s) of one or more asset(s) and/or operation(s) on asset(s) represented by token(s) of the blockchain 150 .
- the asset database 140 may be the source of truth for in-progress workflows with regards to event requests 102 . Thus, states of the workflow may depend on entries in the asset database 140 .
- the workflow service 120 may track the state of each event request 102 in order to maintain a synchronized source of truth. In so doing, the workflow service 120 may track states of each token in each event request 102 and lock each token and/or token quantity while in an in-progress workflow.
- the hybrid blockchain environment 100 may receive event requests 102 from one or more user devices 101 that interface with the front-end service 110 .
- the hybrid blockchain environment 100 may be a part of the user computing device 101 .
- the hybrid blockchain environment 100 may include hardware and software components including, e.g., user computing device 101 hardware and software, cloud or server hardware and software, or a combination thereof.
- the hybrid blockchain environment 100 may include hardware components such as one or more processors, which may include local or remote processing components.
- the processor(s) may include any type of data processing capacity, such as a hardware logic circuit, for example an application specific integrated circuit (ASIC) and a programmable logic, or such as a computing device, for example, a microcomputer or microcontroller that include a programmable microprocessor.
- the processor(s) may include data-processing capacity provided by the microprocessor.
- the microprocessor may include memory, processing, interface resources, controllers, and counters.
- the microprocessor may also include one or more programs stored in memory.
- the hybrid blockchain environment 100 may include storage, such as one or more local and/or remote data storage solutions such as, e.g., local hard-drive, solid-state drive, flash drive, database or other local data storage solutions or any combination thereof, and/or remote data storage solutions such as a server, mainframe, database or cloud services, distributed database or other suitable data storage solutions or any combination thereof.
- the storage may include, e.g., a suitable non-transient computer readable medium such as, e.g., random access memory (RAM), read only memory (ROM), one or more buffers and/or caches, among other memory devices or any combination thereof.
- RAM random access memory
- ROM read only memory
- server should be understood to refer to a service point which provides processing, database, and communication facilities.
- server can refer to a single, physical processor with associated communications and data storage and database facilities, or it can refer to a networked or clustered complex of processors and associated network and storage devices, as well as operating software and one or more database systems and application software that support the services provided by the server. Cloud servers are examples.
- cloud As used herein, terms “cloud,” “Internet cloud,” “cloud computing,” “cloud architecture,” and similar terms correspond to at least one of the following: (1) a large number of computers connected through a real-time communication network (e.g., Internet); (2) providing the ability to run a program or application on many connected computers (e.g., physical machines, virtual machines (VMs)) at the same time; (3) network-based services, which appear to be provided by real server hardware, and are in fact served up by virtual hardware (e.g., virtual servers), simulated by software running on one or more real machines (e.g., allowing to be transferred around and scaled up (or down) on the fly without affecting the end user).
- a real-time communication network e.g., Internet
- VMs virtual machines
- the asset database 140 may be a database in the hybrid blockchain environment 100 , or may be a database in communication with the hybrid blockchain environment 100 . Accordingly, in some embodiments, the asset database 140 may be implemented either in direct communication with cloud server(s) to provide software services, e.g., controlled by the back-end service 130 , or may be remote from the cloud server(s), e.g., via messaging across a network between the back-end service 130 and the asset database 140 . In some embodiments, the asset database 140 may accessed directly via suitable database queries, or indirectly via suitable application programming interface (API) calls, or other suitable messaging data querying technologies or any combination thereof.
- API application programming interface
- the hybrid blockchain environment 100 may implement computer engines for the front-end service 110 , workflow service 120 , back-end service, asset database 140 and blockchain 150 .
- the terms “computer engine” and “engine” identify at least one software component and/or a combination of at least one software component and at least one hardware component which are designed/programmed/configured to manage/control other software and/or hardware components (such as the libraries, software development kits (SDKs), objects, etc.).
- the front-end service 110 , workflow service 120 , back-end service, and asset database 140 may be associated with and/or manage by the same administrator (e.g., enterprise). In some embodiments, the front-end service 110 , workflow service 120 , and back-end service may be associated with and/or manage by one entity/administrator (e.g., a first enterprise); and the asset database 140 may be associated with and/or manage by another entity/administrator (e.g., a second enterprise).
- entity/administrator e.g., a first enterprise
- the asset database 140 may be associated with and/or manage by another entity/administrator (e.g., a second enterprise).
- Examples of hardware elements may include processors, microprocessors, circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), logic gates, registers, semiconductor device, chips, microchips, chip sets, and so forth.
- the one or more processors may be implemented as a Complex Instruction Set Computer (CISC) or Reduced Instruction Set Computer (RISC) processors; x86 instruction set compatible processors, multi-core, or any other microprocessor or central processing unit (CPU).
- the one or more processors may be dual-core processor(s), dual-core mobile processor(s), and so forth.
- Examples of software may include software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. Determining whether an embodiment is implemented using hardware elements and/or software elements may vary in accordance with any number of factors, such as desired computational rate, power levels, heat tolerances, processing cycle budget, input data rates, output data rates, memory resources, data bus speeds and other design or performance constraints.
- each of the front-end service 110 , workflow service 120 , back-end service, asset database 140 and blockchain 150 may include separate hardware and/or software components. Accordingly, in some embodiments, each of the front-end service 110 , workflow service 120 , back-end service, asset database 140 and blockchain 150 may include at least one processor(s) and at least one memory and/or storage solution, among other hardware and/or software components.
- the front-end service 110 , workflow service 120 , back-end service, asset database 140 and blockchain 150 may share one or more hardware and/or software components, such as, e.g., in a cloud environment and/or distributed network. Accordingly, in some embodiments, one or more of the front-end service 110 , workflow service 120 , back-end service, asset database 140 and/or blockchain 150 may share one or more processor(s) and/or one or more storage/memory solutions. Hardware components and software components of the blockchain environment 100 may be employed in any suitable combination of shared and/or dedicated forms to provide the front-end service 110 , workflow service 120 , back-end service, asset database 140 and blockchain 150 .
- the user devices 101 may include or be incorporated, partially or entirely into at least one personal computer (PC), laptop computer, ultra-laptop computer, tablet, touch pad, portable computer, handheld computer, palmtop computer, personal digital assistant (PDA), cellular telephone, combination cellular telephone/PDA, television, smart device (e.g., smart phone, smart tablet or smart television), mobile internet device (MID), messaging device, data communication device, and so forth.
- PC personal computer
- laptop computer ultra-laptop computer
- tablet touch pad
- portable computer handheld computer
- palmtop computer personal digital assistant
- PDA personal digital assistant
- cellular telephone combination cellular telephone/PDA
- television smart device (e.g., smart phone, smart tablet or smart television), mobile internet device (MID), messaging device, data communication device, and so forth.
- smart device e.g., smart phone, smart tablet or smart television
- MID mobile internet device
- the user devices 101 may include any computing device from electronic activities are performed or executed, such as, e.g., a terminal, personal computer, or mobile computing device for performing Internet-based and application-based activities (e.g., account logins, account information changes, online purchases, instant message communications, social media posts, among others and combinations thereof).
- a terminal e.g., a terminal, personal computer, or mobile computing device for performing Internet-based and application-based activities (e.g., account logins, account information changes, online purchases, instant message communications, social media posts, among others and combinations thereof).
- application-based activities e.g., account logins, account information changes, online purchases, instant message communications, social media posts, among others and combinations thereof.
- the user devices 101 may include a physical terminal for performing electronic transactions, such as, e.g., a point-of-sale device, automated teller machine (ATM) or other device.
- a physical terminal for performing electronic transactions such as, e.g., a point-of-sale device, automated teller machine (ATM) or other device.
- ATM automated teller machine
- data entries may be produced for entry into the user's account.
- the electronic activity execution device may produce an electronic activity data entry.
- the front-end service 110 may provide an interface between the user devices 101 and the back-end service 130 .
- the front-end service 110 may include any user-facing part of the platform architecture, such as, e.g., subcomponents that make up the user experience.
- the front-end service 110 may include a user interface and/or any software that allows platform software to be provided to the user devices 101 , such as, e.g., a web browser, a client-side application, or other software enabling the user to interact with the hybrid blockchain platform 100 from a user device 101 .
- the front-end service 110 may interact with the workflow service 120 and/or the back-end service 130 .
- the front-end service 110 may receive user inputs and user selections from the user devices 101 and convey data representing the user input and/or user selections to the workflow service 120 and/or the back-end service 130 via a suitable messaging and/or interface technology, such as, e.g., one or more application programming interfaces (API).
- API application programming interface
- the term “application programming interface” or “API” may include a computing interface that defines interactions between multiple software intermediaries.
- An “application programming interface” or “API” defines the kinds of calls or requests that can be made, how to make the calls, the data formats that should be used, the conventions to follow, among other requirements and constraints.
- An “application programming interface” or “API” can be entirely custom, specific to a component, or designed based on an industry-standard to ensure interoperability to enable modular programming through information hiding, allowing users to use the interface independently of the implementation.
- the workflow service 120 may one or more applications, software, services, microservices and/or functions provided by the back-end service 130 , such as, e.g., a cloud service or microservice.
- the workflow service 120 may include one or more applications, services and/or functions for managing operations and components of the back-end service 130 .
- Management software is in charge of allocating specific resources for certain tasks.
- the workflow service 120 may include, e.g., middleware that interfaces between the back-end service 130 and the front-end service 110 , an orchestrator and/or scheduler for the back-end service 130 , or other software for coordinating and orchestrating resources of the back-end service 130 in a dynamic and real-time manner.
- the back-end service 130 may include one or more components of the hybrid blockchain platform 100 such as hardware and storage for providing one or more applications, servicers and/or functions to the user devices 101 via the front-end service 110 responsive to the user input and/or user selection.
- the back-end service 130 may provide software functionality to the front-end service 110 via, e.g., one or more networks.
- the network may include any suitable computer network, including, two or more computers that are connected with one another for the purpose of communicating data electronically.
- the network may include a suitable network type, such as, e.g., a local-area network (LAN), a wide-area network (WAN) or other suitable type.
- a LAN may connect computers and peripheral devices in a physical area, such as a business office, laboratory, or college campus, by means of links (wires, Ethernet cables, fiber optics, wireless such as Wi-Fi, etc.) that transmit data.
- a LAN may include two or more user devices 101 including, e.g., personal computers, printers, and high-capacity disk-storage devices called file servers, which enable each computer on the network to access a common set of files.
- LAN operating system software which interprets input and instructs networked devices, may enable communication between devices to share the printers and storage equipment, simultaneously access centrally located processors, data, or programs (instruction sets), and other functionalities.
- Devices on a LAN may also access other LANs or connect to one or more WANs.
- a WAN may connect computers and smaller networks to larger networks over greater geographic areas.
- a WAN may link the computers by means of cables, optical fibers, or satellites, or other wide-area connection means.
- an example of a WAN may include the Internet and/or a blockchain network (e.g., the blockchain 150 ).
- a user device 101 may instruct the front-end service 110 to issue an event request 102 with respect to a token storage, such as a cryptocurrency wallet or other wallet, of a node on the blockchain 150 .
- a token storage such as a cryptocurrency wallet or other wallet
- the user device 101 may be the node and/or may be associated with the node.
- the event request 102 may include a request to perform a movement of tokens from the token storage to another token storage of another node on the blockchain 150 , such as, e.g., another user device 101 and/or a token storage associated with the hybrid blockchain platform 100 , e.g., associated with the asset database 140 .
- the user device 101 may present an event control graphical user interface (GUI) for producing event requests 102 , notifying the user of approved and/or rejected event requests 102 , as well as other information such as user account information (e.g., for a user account in the asset database 140 ), user wallet information (e.g., associated with a blockchain wallet on the blockchain 150 ), etc.
- GUI graphical user interface
- the front-end service 110 may provide the event control GUI to a user device 101 to enable the user to select a particular event request related to an account operation and/or wallet operation.
- the front-end service 110 may issue the event request 102 to the workflow service 120 and/or the back-end service 130 , e.g., via an API or other suitable interface and/or messaging technology.
- the workflow service 120 may be an application, service or other software function implemented by the back-end service 130 for controlling a workflow associated with an event request 102 , and/or the workflow service 120 may manage the back-end service 140 to implement the workflow associated with the event request 102 .
- the event request 102 may be associated with a particular workflow for effectuating events on the blockchain 150 and/or in the asset database 140 to perform account-related operations.
- the event request 102 may include a request for a movement of assets and/or tokens with respect to another user. The movement may be subdivided into a workflow of tasks. For example, sending assets and/or tokens to a destination, such as to another user and/or to an omnibus account for conversion to an asset, may include the tasks of depositing assets to mint tokens for the first user, sending the tokens to the destination, and the redeeming the tokens in exchange for the assets at the destination.
- sequence of tasks can be used to perform operations such a transfer of assets, a withdrawal of assets, a deposit of assets, among other operations using the blockchain 150 to provide a verifiable and immutable record for more efficient and secure operations.
- Other operations and workflows may implement.
- the workflow service 120 may identify a workflow associated with the event request 102 and exchange one or more task-related messages 104 with the back-end service 140 to implement the workflow. Because the workflow affects the movement of assets in a user account via the movement of tokens on the blockchain 150 , the movement of assets is controlled by authentication by the blockchain 150 . Indeed, the movement associated with each event request 102 is authenticated on the blockchain 150 before allowing assets to leave and/or enter a user account in the asset database 140 . As a result, the movements in the asset database 140 between accounts, the movements of tokens on the blockchain 150 , the issuance of event requests 102 may become out of synchronization upon multiple event requests 102 while the authentication of each movement is performed. As a result, events requested by event requests 102 may be rejected by the blockchain 150 in an unpredictable manner as some events achieve authentication faster before others in an asynchronous manner.
- the workflow service 130 may provide a source of truth for tracking in progress events in a sequential queue based on first-in-first-out ordering. Therefore, any particular event request 102 may be processed in the order that is submitted, thus preventing unpredictable and improper authentications, such as, e.g., double spend transactions, quantities of movement in excess of an account and/or token storage balance, among other improper authentications before requiring blockchain 150 resources.
- Table 1 below shows an example of an account record of the asset database 140 as a source of truth for operations. As shown in Table 1, the deposit request for operation 100 , the deposit request for operation 200 and the operation request for operation 300 may be acknowledged out of order with which the operations were requested. As a result, the asset database 140 value, and thus the workflow value, diverge from the true value of assets available in a particular user account.
- the permission queue of the workflow service 120 may identify the tokens and/or number of tokens subject to the workflow of the event request 102 and lock the tokens and/or number of tokens from use for subsequent movements until the event request 102 has been either approved or rejected.
- Table 2 below shows an example illustrating using the workflow service 120 to provide the source of truth. As shown in Table 2, while the asset database 140 shows a lag in updating the value available to the user account, the workflow service 120 can ignore the lag to show the true value, and thus approve or reject operations before submission to the blockchain 150 and recordation in the asset database 140 .
- the workflow service 120 may maintain an event log record database for a particular user.
- the event log record database may record a token quantity and an operation requested via the event request 102 .
- the event request 102 may include additional data attributes, such as, e.g., an operation type, a destination token storage for a movement, a source token storage for a movement, a user identifier, a transaction identifier, among other data attributes or any combination thereof.
- the workflow service 120 may record the token quantity of each event request 102 to determine a transaction queue token quantity indicative of a total number of tokens subject to one or more operations for a given token storage of a given user.
- the transaction queue token quantity may be used to automatically approve and/or reject subsequent event requests 102 based on a comparison of the transaction queue token quantity and a token quantity balance in the given token storage. If the transaction queue token quantity is equal to or exceeds the token quantity balance, the workflow service 120 may automatically reject the subsequent event request, effectively locking the tokens subject to existing event requests 102 in the transaction queue. As a result, the user is prevented from requesting operations using more tokens than are available in the given token storage. Where the transaction queue token quantity is less than the token quantity balance, the workflow service 120 may determine a first permission approving the event request 102 as a valid event request 102 .
- the event requests 102 in the transaction queue may be passed to the back-end service 130 via one or more task-related messages 104 for processing in the order in which they were received.
- the task-related message(s) 104 may include, e.g., one or more tasks identified by the workflow service 120 as associated with a particular event request 102 , such as, e.g., an operation request for an account operation, an operation acknowledgement approving an account operation, an operation rejection rejecting an account operation, among other task-related messages 104 for performing tasks to carry out an event request 102 , or any combination thereof.
- the processing of the task-related message(s) 104 may include operation instructions 105 to the asset database 140 , the blockchain 150 or both.
- the workflow service 120 approves an event request 102 and enters the event request 102 into the transaction queue
- an associated task-related message 104 is sent to the back-end service 130 .
- the back-end service 130 may generate an operation initiation instruction 105 to the blockchain 150 to cause the blockchain 150 to perform the movement of tokens according to the task-related message(s) 104 .
- the operation initiation instruction 105 may specify the operation to be performed related to tokens of the user's token storage.
- the operation initiation instruction 105 may include data attributes such as a token quantity, an operation type, a source token storage, a destination token storage, a transaction identifier, among other data attributes or any suitable combination thereof.
- the operation initiation instruction 105 may cause the blockchain 150 to initiate a smart contract 151 for performing the operation.
- the operation type may include, e.g., a token redeem, a token deposit, a token transfer, among other operation types or any combination thereof.
- a token redeem operation may cause a smart contract 151 for burning tokens (e.g., erasing tokens from the blockchain), and thus removing the tokens from the token storage of the user.
- the smart contract 151 and/or the back-end service 130 may issue an operation initiation instruction 105 to the asset database 140 to provide assets represented by the tokens to the user, e.g., in the user's account in the asset database 140 .
- a token deposit operation may cause a smart contract 151 for minting tokens (e.g., producing new tokens on the blockchain), and thus adding the tokens from the token storage of the user.
- the smart contract 151 and/or the back-end service 130 may issue an operation initiation instruction 105 to the asset database 140 to remove assets represented by the tokens from the user, e.g., from the user's account in the asset database 140 .
- a token transfer operation may cause a smart contract 151 to move tokens from a first token storage (the source token storage) to a second token storage (the destination token storage).
- the transfer of tokens from the first to the second token storage may cause a movement of assets from a first user account to a second user account associated with users of the first token storage and the second token storage, respectively.
- the token transfer operation may cause a smart contract 151 to perform a token redeem operation for the first token storage to thereby remove a corresponding quantity of assets from the user account.
- the quantity of assets may then be transferred via the asset database 140 to a second user account associated with the second token storage, and the same or a different smart contract 151 may perform a token deposit operation to mint tokens on the blockchain in the second token storage.
- the smart contract 151 may specify the user account associated with each token storage of the movement of tokens. Accordingly, in some embodiments, the smart contract 151 may employ a mapping of user accounts to user token storages (e.g., wallets) as illustrated in FIG. 1 B . In some embodiments, User A may have a User A Account 1 143 in the asset database 140 mapped to a User A wallet 1 153 on the blockchain 150 .
- User A may have a User A Account 2 144 in the asset database 140 mapped to a User A wallet 2 154 on the blockchain 150
- User B may have a User B Account 1 145 in the asset database 140 mapped to a User B wallet 1 155 on the blockchain 150
- User C may have a User C Account 1 146 in the asset database 140 mapped to a User C wallet 1 156 on the blockchain 150 , etc. for each account of each user in a one-to-one manner.
- there may be an omnibus account 142 in the asset database 140 e.g., associated with a financial entity (e.g., bank, mortgage company, lender, credit agency, credit union, etc.) or other asset management entity or any combination thereof.
- a financial entity e.g., bank, mortgage company, lender, credit agency, credit union, etc.
- the omnibus account 142 may be mapped to a contract total supply 152 that specifies a total number of tokens on the blockchain 150 .
- the smart contract 151 may specify account operations based on token operations performed on the blockchain 150 in order to allow the back-end service 130 to match operations in the asset database 140 to the immutable ledger of the blockchain 150 .
- the blockchain 150 may include one or more private and/or private-permissioned cryptographically-protected, distributed databased such as, without limitation, a blockchain (distributed ledger technology), Ethereum (Ethereum Foundation, Switzerland), and/or other similar distributed data management technologies.
- distributed database(s) such as distributed ledgers ensure the integrity of data by generating a digital chain of data blocks linked together by cryptographic hashes of the data records in the data blocks. For example, a cryptographic hash of at least a portion of data records within a first block, and, in some cases, combined with a portion of data records in previous blocks is used to generate the block address for a new digital identity block succeeding the first block.
- a new data block is generated containing respective updated data records and linked to a preceding block with an address based upon a cryptographic hash of at least a portion of the data records in the preceding block.
- the linked blocks form a blockchain that inherently includes a traceable sequence of addresses that can be used to track the updates to the data records contained therein.
- the linked blocks may be distributed among multiple network nodes within a computer network such that each node may maintain a copy of the blockchain. Malicious network nodes attempting to compromise the integrity of the database must recreate and redistribute the blockchain faster than the honest network nodes, which, in most cases, is computationally infeasible.
- a central trust authority for sensor data management may not be needed to vouch for the integrity of the distributed database hosted by multiple nodes in the network.
- the exemplary distributed blockchain-type ledger implementations of the present disclosure with associated devices may be configured to affect transactions involving Bitcoins and other cryptocurrencies into one another and also into (or between) so-called FIAT money or FIAT currency and vice versa.
- the exemplary distributed blockchain-type ledger implementations of the present disclosure with associated devices are configured to utilize smart contracts that are computer processes that facilitate, verify and/or enforce negotiation and/or performance of one or more particular activities among users/parties.
- an exemplary smart contract may be configured to be partially or fully self-executing and/or self-enforcing.
- the exemplary inventive asset-tokenized distributed blockchain-type ledger implementations of the present disclosure may utilize smart contract architecture that can be implemented by replicated asset registries and contract execution using cryptographic hash chains and Byzantine fault tolerant replication.
- each node in a peer-to-peer network or blockchain distributed network may act as a title registry and escrow, thereby executing changes of ownership and implementing sets of predetermined rules that govern transactions on the network.
- each node may also check the work of other nodes and in some cases, as noted above, function as miners or validators.
- the operations of the existing event requests 102 in the transaction queue may be approved and/or rejected on the blockchain 150 .
- the blockchain 150 produce a write permission determination regarding the movement of the tokens with respect to the associated token storages.
- the write permission determination may include, e.g., the transaction details of a new block in the ledger, an indication of a permission or rejection, among other data indicative of whether the operation is successful or unsuccessful or any combination thereof.
- the back-end service 130 may provide the write permission determination to the workflow service 120 , e.g., via a task-related message 104 .
- the workflow service 120 may then update the event log record database to reflect a completed event request of the associated event request 102 in the event log record database.
- the event log record database may be updated to release the tokens from the event log record database, thus removing the tokens subject to the associated event request 102 from the total number of tokens of the event log record database.
- the event log record database is synchronized with the token storage to provide an accurate and efficient source of truth for allowing or rejecting event requests 102 prior to submission to the back-end service 130 and blockchain 150 , thus preventing the attempted use of tokens that are already subject to operations associated with existing event requests 102 .
- FIG. 2 illustrates a workflow orchestration for event request permission via a workflow service for controlling blockchain events in accordance with one or more embodiments of the present disclosure.
- the front-end service 110 may determine a permission workflow for approving the event request.
- the event request may be provided at step 1 via a first node user device, termed a maker device 101 A.
- the event request may include a request to perform one or more operations relative to a maker token storage.
- the front-end service 110 may transmit a balance inquiry request to the asset database 140 based on the event request.
- the event request may include a data attribute including a number of tokens needed for effectuating a movement of tokens.
- the movement of tokens corresponds to an account operation relative to a user account associated with the maker device 101 A.
- the front-end service 110 may issue the balance inquiry request to query a balance of assets in the user account.
- the asset database 140 may return the asset balance in a balance inquiry response.
- the balance inquiry response may specify a quantity or value of assets associated with the user account of the maker device 101 A.
- the front-end service 110 may produce a permission request.
- the permission request may include, e.g., the data attributes of the event request, the quantity or value of assets associated with the user account, among other suitable data attributes characterizing the movement of the number of tokens.
- the front-end service 110 may communicate the permission request to the workflow service 120 for entry of the event request into a transaction queue of the workflow service.
- the workflow service 120 may perform an event validation based on the permission request.
- the event validation may include appending the data attributes of the event request to the transaction queue and updating an event log record database and transaction queue token quantity.
- the workflow service 120 may approve the permission request.
- the workflow service 120 may send a permission response to the front-end service 110 specifying that the movement of tokens is approved.
- the front-end service 110 may provide the permission response to an approver device 101 B.
- the approver device 101 B may include, e.g., a computing device associated with a supervisory or administrative node of the hybrid blockchain platform 100 .
- the approver device 101 B may be responsible for verifying permission responses, e.g., where the permission response includes an exception or error. Accordingly, an approver user at the approver device 101 B may select via a suitable permission GUI presented by the front-end service 110 , the data attributes associated with the movement of the quantity of the tokens with respect to the maker token storage.
- the approver user may select to approve the movement via the permission GUI, causing the approver device 101 B to send a permission to the front-end service 110 .
- the permission may include an approved event request including the data attributes of the movement and/or an indication of the permission.
- the front-end service 110 may communicate the permission to the workflow service 120 .
- the workflow service 120 may return a permission acknowledgement acknowledging receipt of the permission.
- the workflow service 120 may issue an initiate event command to the back-end service 130 .
- the initiate event command may include, e.g., one or more task-related messages 104 to trigger processing the event request and the movement of the number of tokens.
- the task-related message(s) 104 may include, e.g., one or more tasks identified by the workflow service 120 as associated with the event request.
- the initiate event command may cause an event processing 200 sequence associated with the operations of the event request, such as, e.g., triggering a smart contract associated with the movement of the quantity of the tokens on the blockchain 150 .
- the issuance of the initiate event command may also cause the workflow service 120 to update the transaction queue to remove the event request from the event log record database and remove the number of tokens from the transaction queue token quantity.
- the front-end service 110 may confirm to the maker device 101 A the event processing 200 , e.g., via an event acknowledgement.
- the event acknowledgement may cause an update to the event control GUI of the maker device 101 A to reflect the movement of the quantity of the tokens and/or update a displayed availability of tokens in the maker token storage.
- FIG. 3 illustrates another workflow orchestration for event request permission via the workflow service for controlling blockchain events in accordance with one or more embodiments of the present disclosure.
- the front-end service 110 may determine a permission workflow for approving the event request.
- the event request may be provided at step 1 via a first node user device, termed a maker device 101 A.
- the event request may include a request to perform one or more operations relative to a maker token storage.
- the front-end service 110 may transmit a balance inquiry request to the asset database 140 based on the event request.
- the event request may include a data attribute including a number of tokens needed for effectuating a movement of tokens.
- the movement of tokens corresponds to an account operation relative to a user account associated with the maker device 101 A.
- the front-end service 110 may issue the balance inquiry request to query a balance of assets in the user account.
- the asset database 140 may return the asset balance in a balance inquiry response.
- the balance inquiry response may specify a quantity or value of assets associated with the user account of the maker device 101 A.
- the front-end service 110 may produce a permission request.
- the permission request may include, e.g., the data attributes of the event request, the quantity or value of assets associated with the user account, among other suitable data attributes characterizing the movement of the number of tokens.
- the front-end service 110 may communicate the permission request to the workflow service 120 for entry of the event request into a transaction queue of the workflow service.
- the workflow service 120 may perform an event validation based on the permission request.
- the event validation may include appending the data attributes of the event request to the transaction queue and updating an event log record database and transaction queue token quantity.
- the workflow service 120 may approve the permission request.
- the workflow service 120 may send a permission response to the front-end service 110 specifying that the movement of tokens is approved.
- the front-end service 110 may provide the permission response to an approver device 101 B.
- the approver device 101 B may include, e.g., a computing device associated with a supervisory or administrative node of the hybrid blockchain platform 100 .
- the approver device 101 B may be responsible for verifying permission responses, e.g., where the permission response includes an exception or error. Accordingly, an approver user at the approver device 101 B may select via a suitable permission GUI presented by the front-end service 110 , the data attributes associated with the movement of the quantity of the tokens with respect to the maker token storage.
- the approver user may select to reject the movement via the permission GUI, causing the approver device 101 B to send a rejection to the front-end service 110 .
- the rejection may include a rejected event request including the data attributes of the movement and/or an indication of the rejection.
- the front-end service 110 may communicate the rejection to the workflow service 120 .
- the workflow service 120 may update the transaction queue to remove the event request from the event log record database and remove the number of tokens from the transaction queue token quantity.
- the workflow service 120 may then return a permission rejection acknowledging the rejection.
- the front-end service 110 may confirm to the maker device 101 A the permission rejection, e.g., via an update to the event control GUI of the maker device 101 A to reflect a rejection of the movement of the quantity of the tokens.
- FIG. 4 illustrates a workflow orchestration for a token redeem event request and event processing based on the workflow service for controlling blockchain events in accordance with one or more embodiments of the present disclosure.
- the front-end service 110 may transmit a balance inquiry request to the asset database 140 to identify a balance of assets of a particular user account.
- the front-end service 110 may issue the balance inquiry request to query a balance of assets in the user account.
- the asset database 140 may return the asset balance in a balance inquiry response.
- the balance inquiry response may specify a quantity or value of assets associated with a user account of a user device, such as a maker device.
- the front-end service 110 may receive, at step 3 , an event request, e.g., from the user device 101 , including a redeem request.
- the event request may require permission before being acknowledged and provided to the event processing 200 .
- the front-end service 110 may begin event processing 200 upon permission via the workflow service 120 (e.g., as illustrated in FIG. 2 above).
- the front-end service 100 may provide the redeem request to the back-end service 130 .
- the redeem request may include, e.g., the data attributes of the event request such as the quantity or value of assets associated with the user account, the quantity or value of tokens to be redeemed, a user identifier identifying the user and/or the user account, a transaction identifier, among other suitable data attributes characterizing the movement of the number of tokens in a redeem operation.
- the back-end service 130 may instruct, via a burn request, the blockchain 150 to perform a token movement corresponding to the asset movement.
- the movement of tokens is to reflect the removal of assets, e.g., from the user account of the asset database 140 , and thus includes a corresponding removal of tokens from the token storage by burning the tokens from the blockchain 150 using the smart contract 151 .
- the burn request may include a transfer request form the token storage to an omnibus token storage or other custodial and/or omnibus token storing structure.
- the blockchain 150 may employ a smart contract 151 to perform the token burn at step 8 .
- the removal may include a movement to a custodial or omnibus token storage mapped to the omnibus account.
- the removal is a burn of tokens, thereby removing the tokens from the blockchain 150 .
- the blockchain 150 may return a burn response to the back-end service 130 to acknowledge the token burn and the change to the user's token storage.
- the back-end service 130 may initiate a transfer request at step 8 .
- step 7 is depicted as occurring after steps 5 , 6 and 7 , but in some embodiments, step 8 may be performed before or concurrently with any one or more of step 5 , step 6 and/or step 7 .
- the transfer request is sent to the asset database 140 to request a movement of assets out of the user account such that the user may extract and use the assets outside of the user account.
- the movement of assets may include a movement out of the user account into an omnibus account (see, e.g., the smart contract 151 mapping illustrated in FIG. 1 B above).
- the omnibus account is a custodian of assets to enable asset use with systems and entities outside of the asset database 140 .
- the redeem request may cause the back-end service 130 to issue a transfer request from the user account to the omnibus account such that the omnibus account may provide an equivalent value in cash to the ATM for dispensation.
- the omnibus account may serve a similar role in transferring assets to another entity or account that is distinct from the omnibus account, the asset database 140 and/or the hybrid blockchain platform 100 , such as another bank or other financial entity.
- the asset database 140 may return a transfer response to the back-end service 130 .
- the transfer response may acknowledge a completion of an operation in the asset database 140 include the transfer for the redemption of tokens to extract assets from the user account.
- the back-end service 130 may confirm to the front-end service the redemption of tokens via a redeem response.
- the front-end service 110 may confirm to the user device the event processing 200 including the redeem response.
- the redeem response may cause an update to the event control GUI of the user device 101 to reflect the redemption of the quantity of the tokens and/or update a displayed availability of tokens in the token storage less the redeemed tokens.
- FIG. 5 illustrates a workflow orchestration for a token deposit event request and event processing based on the workflow service for controlling blockchain events in accordance with one or more embodiments of the present disclosure.
- the front-end service 110 may transmit a balance inquiry request to the asset database 140 to identify a balance of assets of a particular user account.
- the front-end service 110 may issue the balance inquiry request to query a balance of assets in the user account.
- the asset database 140 may return the asset balance in a balance inquiry response.
- the balance inquiry response may specify a quantity or value of assets associated with a user account of a user device, such as a maker device.
- the front-end service 110 may receive, at step 3 , an event request, e.g., from the user device 101 , including a deposit request.
- the event request may require permission before being acknowledged and provided to the event processing 200 .
- the front-end service 110 may begin event processing 200 upon permission via the workflow service 120 (e.g., as illustrated in FIG. 2 above).
- the front-end service 100 may provide the deposit request to the back-end service 130 .
- the deposit request may include, e.g., the data attributes of the event request such as the quantity or value of assets associated with the user account, the quantity or value of tokens to be deposited, a user identifier identifying the user and/or the user account, a transaction identifier, among other suitable data attributes characterizing the movement of the number of tokens in a deposit operation.
- the back-end service 130 may initiate a transfer request at step 5 .
- the transfer request is sent to the asset database 140 to request a movement of assets into the user account from outside of the user account.
- the movement of assets may include a movement into the user account from an omnibus account (see, e.g., the smart contract 151 mapping illustrated in FIG. 1 B above).
- the omnibus account is a custodian of assets to enable asset use with systems and entities outside of the asset database 140 .
- the deposit request may cause the back-end service 130 to issue a transfer request from the omnibus account to the user account based on cash deposited at the ATM, such that the omnibus account may provide an equivalent value in assets to the user account.
- the omnibus account may serve a similar role in transferring assets from another entity or account that is distinct from the omnibus account, the asset database 140 and/or the hybrid blockchain platform 100 , such as another bank or other financial entity.
- the asset database 140 may return a transfer response to the back-end service 130 .
- the transfer response may acknowledge a completion of an operation in the asset database 140 including the transfer for the deposit of tokens into the user account.
- the back-end service 130 may instruct, via a mint request, the blockchain 150 to perform a token movement corresponding to the asset movement.
- step 7 is depicted as occurring after steps 5 and 6 , but in some embodiments, step 7 may be performed first or concurrently with step 5 and/or step 6 .
- the movement of tokens is to reflect the addition of assets, and thus includes a corresponding addition of tokens into the token storage.
- the blockchain 150 may employ a smart contract 151 to perform the token mint at step 8 .
- the addition of tokens may include a movement from a custodial or omnibus token storage mapped to the omnibus account.
- the addition of tokens is a mint of tokens, thereby creating the tokens on the blockchain 150 and assigning the created tokens to the token storage mapped to the user account.
- the blockchain 150 may return a mint response to the back-end service 130 to acknowledge the token mint and the change to the user's token storage.
- the back-end service 130 may confirm to the front-end service the deposit of tokens via a deposit response.
- the front-end service 110 may confirm to the user device the event processing 200 including the deposit response.
- the deposit response may cause an update to the event control GUI of the user device 101 to reflect the deposit of the quantity of the tokens and/or update a displayed availability of tokens in the token storage including the deposited tokens.
- FIG. 6 depicts a block diagram of an exemplary computer-based system and platform 600 for event request permission via a workflow service of a blockchain environment in accordance with one or more embodiments of the present disclosure.
- the illustrative computing devices and the illustrative computing components of the exemplary computer-based system and platform 600 may be configured to manage a large number of members and concurrent transactions, as detailed herein.
- the exemplary computer-based system and platform 600 may be based on a scalable computer and network architecture that incorporates varies strategies for assessing the data, caching, searching, and/or database connection pooling.
- An example of the scalable architecture is an architecture that is capable of operating multiple servers.
- member computing device 602 , member computing device 603 through member computing device 604 (e.g., clients) of the exemplary computer-based system and platform 600 may include virtually any computing device capable of receiving and sending a message over a network (e.g., cloud network), such as network 605 , to and from another computing device, such as servers 606 and 607 , each other, and the like.
- the member devices 602 - 604 may be personal computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, and the like.
- one or more member devices within member devices 602 - 604 may include computing devices that typically connect using a wireless communications medium such as cell phones, smart phones, pagers, walkie talkies, radio frequency (RF) devices, infrared (IR) devices, GB-s citizens band radio, integrated devices combining one or more of the preceding devices, or virtually any mobile computing device, and the like.
- a wireless communications medium such as cell phones, smart phones, pagers, walkie talkies, radio frequency (RF) devices, infrared (IR) devices, GB-s citizens band radio, integrated devices combining one or more of the preceding devices, or virtually any mobile computing device, and the like.
- one or more member devices within member devices 602 - 604 may be devices that are capable of connecting using a wired or wireless communication medium such as a PDA, POCKET PC, wearable computer, a laptop, tablet, desktop computer, a netbook, a video game device, a pager, a smart phone, an ultra-mobile personal computer (UMPC), and/or any other device that is equipped to communicate over a wired and/or wireless communication medium (e.g., NFC, RFID, NBIOT, 3G, 4G, 5G, GSM, GPRS, WiFi, WiMax, CDMA, OFDM, OFDMA, LTE, satellite, ZigBee, etc.).
- a wired or wireless communication medium such as a PDA, POCKET PC, wearable computer, a laptop, tablet, desktop computer, a netbook, a video game device, a pager, a smart phone, an ultra-mobile personal computer (UMPC), and/or any other device that is equipped to communicate over a wired and/or wireless
- one or more member devices within member devices 602 - 604 may include may run one or more applications, such as Internet browsers, mobile applications, voice calls, video games, videoconferencing, and email, among others. In some embodiments, one or more member devices within member devices 602 - 604 may be configured to receive and to send web pages, and the like.
- applications such as Internet browsers, mobile applications, voice calls, video games, videoconferencing, and email, among others.
- one or more member devices within member devices 602 - 604 may be configured to receive and to send web pages, and the like.
- an exemplary specifically programmed browser application of the present disclosure may be configured to receive and display graphics, text, multimedia, and the like, employing virtually any web based language, including, but not limited to Standard Generalized Markup Language (SMGL), such as HyperText Markup Language (HTML), a wireless application protocol (WAP), a Handheld Device Markup Language (HDML), such as Wireless Markup Language (WML), WMLScript, XML, JavaScript, and the like.
- SMGL Standard Generalized Markup Language
- HTML HyperText Markup Language
- WAP wireless application protocol
- HDML Handheld Device Markup Language
- WMLScript Wireless Markup Language
- a member device within member devices 602 - 604 may be specifically programmed by either Java, .Net, QT, C, C++, Python, PHP and/or other suitable programming language.
- device control may be distributed between multiple standalone applications.
- software components/applications can be updated and redeployed remotely as individual units or as a full software suite.
- a member device may periodically report status or send alerts over text or email.
- a member device may contain a data recorder which is remotely downloadable by the user using network protocols such as FTP, SSH, or other file transfer mechanisms.
- a member device may provide several levels of user interface, for example, advance user, standard user.
- one or more member devices within member devices 602 - 604 may be specifically programmed include or execute an application to perform a variety of possible tasks, such as, without limitation, messaging functionality, browsing, searching, playing, streaming, or displaying various forms of content, including locally stored or uploaded messages, images and/or video, and/or games.
- the exemplary network 605 may provide network access, data transport and/or other services to any computing device coupled to it.
- the exemplary network 605 may include and implement at least one specialized network architecture that may be based at least in part on one or more standards set by, for example, without limitation, Global System for Mobile communication (GSM) Association, the Internet Engineering Task Force (IETF), and the Worldwide Interoperability for Microwave Access (WiMAX) forum.
- GSM Global System for Mobile communication
- IETF Internet Engineering Task Force
- WiMAX Worldwide Interoperability for Microwave Access
- the exemplary network 605 may implement one or more of a GSM architecture, a General Packet Radio Service (GPRS) architecture, a Universal Mobile Telecommunications System (UMTS) architecture, and an evolution of UMTS referred to as Long Term Evolution (LTE).
- GSM Global System for Mobile communication
- IETF Internet Engineering Task Force
- WiMAX Worldwide Interoperability for Microwave Access
- the exemplary network 605 may implement one or more of a
- the exemplary network 605 may include and implement, as an alternative or in conjunction with one or more of the above, a WiMAX architecture defined by the WiMAX forum. In some embodiments and, optionally, in combination of any embodiment described above or below, the exemplary network 605 may also include, for instance, at least one of a local area network (LAN), a wide area network (WAN), the Internet, a virtual LAN (VLAN), an enterprise LAN, a layer 3 virtual private network (VPN), an enterprise IP network, or any combination thereof.
- LAN local area network
- WAN wide area network
- VLAN virtual LAN
- VPN layer 3 virtual private network
- enterprise IP network or any combination thereof.
- At least one computer network communication over the exemplary network 605 may be transmitted based at least in part on one of more communication modes such as but not limited to: NFC, RFID, Narrow Band Internet of Things (NBIOT), ZigBee, 3G, 4G, 5G, GSM, GPRS, WiFi, WiMax, CDMA, OFDM, OFDMA, LTE, satellite and any combination thereof.
- the exemplary network 605 may also include mass storage, such as network attached storage (NAS), a storage area network (SAN), a content delivery network (CDN) or other forms of computer or machine readable media.
- the exemplary server 606 or the exemplary server 607 may be a web server (or a series of servers) running a network operating system, examples of which may include but are not limited to Apache on Linux or Microsoft IIS (Internet Information Services).
- the exemplary server 606 or the exemplary server 607 may be used for and/or provide cloud and/or network computing.
- the exemplary server 606 or the exemplary server 607 may have connections to external systems like email, SMS messaging, text messaging, ad content providers, etc. Any of the features of the exemplary server 606 may be also implemented in the exemplary server 607 and vice versa.
- one or more of the exemplary servers 606 and 607 may be specifically programmed to perform, in non-limiting example, as authentication servers, search servers, email servers, social networking services servers, Short Message Service (SMS) servers, Instant Messaging (IM) servers, Multimedia Messaging Service (MMS) servers, exchange servers, photo-sharing services servers, advertisement providing servers, financial/banking-related services servers, travel services servers, or any similarly suitable service-base servers for users of the member computing devices 601 - 604 .
- SMS Short Message Service
- IM Instant Messaging
- MMS Multimedia Messaging Service
- one or more exemplary computing member devices 602 - 604 , the exemplary server 606 , and/or the exemplary server 607 may include a specifically programmed software module that may be configured to send, process, and receive information using a scripting language, a remote procedure call, an email, a tweet, Short Message Service (SMS), Multimedia Message Service (MMS), instant messaging (IM), an application programming interface, Simple Object Access Protocol (SOAP) methods, Common Object Request Broker Architecture (CORBA), HTTP (Hypertext Transfer Protocol), REST (Representational State Transfer), SOAP (Simple Object Transfer Protocol), MLLP (Minimum Lower Layer Protocol), or any combination thereof.
- SMS Short Message Service
- MMS Multimedia Message Service
- IM instant messaging
- SOAP Simple Object Access Protocol
- CORBA Common Object Request Broker Architecture
- HTTP Hypertext Transfer Protocol
- REST Real State Transfer
- SOAP Simple Object Transfer Protocol
- MLLP Minimum Lower Layer Protocol
- FIG. 7 depicts a block diagram of another exemplary computer-based system and platform 700 for event request permission via a workflow service of a blockchain environment in accordance with one or more embodiments of the present disclosure.
- the member computing device 702 a , member computing device 702 b through member computing device 702 n shown each at least includes a computer-readable medium, such as a random-access memory (RAM) 708 coupled to a processor 710 or FLASH memory.
- the processor 710 may execute computer-executable program instructions stored in memory 708 .
- the processor 710 may include a microprocessor, an ASIC, and/or a state machine.
- the processor 710 may include, or may be in communication with, media, for example computer-readable media, which stores instructions that, when executed by the processor 710 , may cause the processor 710 to perform one or more steps described herein.
- examples of computer-readable media may include, but are not limited to, an electronic, optical, magnetic, or other storage or transmission device capable of providing a processor, such as the processor 710 of client 702 a , with computer-readable instructions.
- suitable media may include, but are not limited to, a floppy disk, CD-ROM, DVD, magnetic disk, memory chip, ROM, RAM, an ASIC, a configured processor, all optical media, all magnetic tape, or other magnetic media, or any other medium from which a computer processor can read instructions.
- various other forms of computer-readable media may transmit or carry instructions to a computer, including a router, private or public network, or other transmission device or channel, both wired and wireless.
- the instructions may comprise code from any computer-programming language, including, for example, C, C++, Visual Basic, Java, Python, Perl, JavaScript, and etc.
- member computing devices 702 a through 702 n may also comprise a number of external or internal devices such as a mouse, a CD-ROM, DVD, a physical or virtual keyboard, a display, or other input or output devices.
- examples of member computing devices 702 a through 702 n e.g., clients
- member computing devices 702 a through 702 n may be specifically programmed with one or more application programs in accordance with one or more principles/methodologies detailed herein.
- member computing devices 702 a through 702 n may operate on any operating system capable of supporting a browser or browser-enabled application, such as MicrosoftTM WindowsTM, and/or Linux.
- member computing devices 702 a through 702 n shown may include, for example, personal computers executing a browser application program such as Microsoft Corporation's Internet ExplorerTM, Apple Computer, Inc.'s SafariTM, Mozilla Firefox, and/or Opera.
- user 712 a , user 712 b through user 712 n may communicate over the exemplary network 706 with each other and/or with other systems and/or devices coupled to the network 706 . As shown in FIG.
- exemplary server devices 704 and 713 may include processor 705 and processor 714 , respectively, as well as memory 717 and memory 716 , respectively.
- the server devices 704 and 713 may be also coupled to the network 706 .
- one or more member computing devices 702 a through 702 n may be mobile clients.
- At least one database of exemplary databases 707 and 715 may be any type of database, including a database managed by a database management system (DBMS).
- DBMS database management system
- an exemplary DBMS-managed database may be specifically programmed as an engine that controls organization, storage, management, and/or retrieval of data in the respective database.
- the exemplary DBMS-managed database may be specifically programmed to provide the ability to query, backup and replicate, enforce rules, provide security, compute, perform change and access logging, and/or automate optimization.
- the exemplary DBMS-managed database may be chosen from Oracle database, IBM DB2, Adaptive Server Enterprise, FileMaker, Microsoft Access, Microsoft SQL Server, MySQL, PostgreSQL, and a NoSQL implementation.
- the exemplary DBMS-managed database may be specifically programmed to define each respective schema of each database in the exemplary DBMS, according to a particular database model of the present disclosure which may include a hierarchical model, network model, relational model, object model, or some other suitable organization that may result in one or more applicable data structures that may include fields, records, files, and/or objects.
- the exemplary DBMS-managed database may be specifically programmed to include metadata about the data that is stored.
- the exemplary inventive computer-based systems/platforms, the exemplary inventive computer-based devices, and/or the exemplary inventive computer-based components of the present disclosure may be specifically configured to operate in a cloud computing/architecture 725 such as, but not limiting to: infrastructure a service (IaaS) 910 , platform as a service (PaaS) 908 , and/or software as a service (SaaS) 906 using a web browser, mobile app, thin client, terminal emulator or other endpoint 904 .
- FIGS. 8 and 9 illustrate schematics of exemplary implementations of the cloud computing/architecture(s) in which the exemplary inventive computer-based systems for event request permission via a workflow service of a blockchain environment of the present disclosure may be specifically configured to operate.
- the term “real-time” is directed to an event/action that can occur instantaneously or almost instantaneously in time when another event/action has occurred.
- the “real-time processing,” “real-time computation,” and “real-time execution” all pertain to the performance of a computation during the actual time that the related physical process (e.g., a user interacting with an application on a mobile device) occurs, in order that results of the computation can be used in guiding the physical process.
- events and/or actions in accordance with the present disclosure can be in real-time and/or based on a predetermined periodicity of at least one of: nanosecond, several nanoseconds, millisecond, several milliseconds, second, several seconds, minute, several minutes, hourly, several hours, daily, several days, weekly, monthly, etc.
- a machine-readable medium may include any medium and/or mechanism for storing or transmitting information in a form readable by a machine (e.g., a computing device).
- a machine-readable medium may include read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical, or other forms of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.), and others.
- computer engine and “engine” identify at least one software component and/or a combination of at least one software component and at least one hardware component which are designed/programmed/configured to manage/control other software and/or hardware components (such as the libraries, software development kits (SDKs), objects, etc.).
- SDKs software development kits
- Examples of hardware elements may include processors, microprocessors, circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), logic gates, registers, semiconductor device, chips, microchips, chip sets, and so forth.
- the one or more processors may be implemented as a Complex Instruction Set Computer (CISC) or Reduced Instruction Set Computer (RISC) processors; x86 instruction set compatible processors, multi-core, or any other microprocessor or central processing unit (CPU).
- the one or more processors may be dual-core processor(s), dual-core mobile processor(s), and so forth.
- Computer-related systems, computer systems, and systems include any combination of hardware and software.
- Examples of software may include software components, programs, applications, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computer code, computer code segments, words, values, symbols, or any combination thereof. Determining whether an embodiment is implemented using hardware elements and/or software elements may vary in accordance with any number of factors, such as desired computational rate, power levels, heat tolerances, processing cycle budget, input data rates, output data rates, memory resources, data bus speeds and other design or performance constraints.
- One or more aspects of at least one embodiment may be implemented by representative instructions stored on a machine-readable medium which represents various logic within the processor, which when read by a machine causes the machine to fabricate logic to perform the techniques described herein.
- Such representations known as “IP cores,” may be stored on a tangible, machine readable medium and supplied to various customers or manufacturing facilities to load into the fabrication machines that make the logic or processor.
- IP cores may be stored on a tangible, machine readable medium and supplied to various customers or manufacturing facilities to load into the fabrication machines that make the logic or processor.
- various embodiments described herein may, of course, be implemented using any appropriate hardware and/or computing software languages (e.g., C++, Objective-C, Swift, Java, JavaScript, Python, Perl, QT, etc.).
- one or more of illustrative computer-based systems or platforms of the present disclosure may include or be incorporated, partially or entirely into at least one personal computer (PC), laptop computer, ultra-laptop computer, tablet, touch pad, portable computer, handheld computer, palmtop computer, personal digital assistant (PDA), cellular telephone, combination cellular telephone/PDA, television, smart device (e.g., smart phone, smart tablet or smart television), mobile internet device (MID), messaging device, data communication device, and so forth.
- PC personal computer
- laptop computer ultra-laptop computer
- tablet touch pad
- portable computer handheld computer
- palmtop computer personal digital assistant
- PDA personal digital assistant
- cellular telephone combination cellular telephone/PDA
- television smart device (e.g., smart phone, smart tablet or smart television), mobile internet device (MID), messaging device, data communication device, and so forth.
- smart device e.g., smart phone, smart tablet or smart television
- MID mobile internet device
- one or more of the computer-based systems of the present disclosure may obtain, manipulate, transfer, store, transform, generate, and/or output any digital object and/or data unit (e.g., from inside and/or outside of a particular application) that can be in any suitable form such as, without limitation, a file, a contact, a task, an email, a message, a map, an entire application (e.g., a calculator), data points, and other suitable data.
- any digital object and/or data unit e.g., from inside and/or outside of a particular application
- any suitable form such as, without limitation, a file, a contact, a task, an email, a message, a map, an entire application (e.g., a calculator), data points, and other suitable data.
- one or more of the computer-based systems of the present disclosure may be implemented across one or more of various computer platforms such as, but not limited to: (1) FreeBSD, NetBSD, OpenBSD; (2) Linux; (3) Microsoft WindowsTM; (4) OpenVMSTM; (5) OS X (MacOSTM); (6) UNIXTM; (7) Android; (8) iOSTM; (9) Embedded Linux; (10) TizenTM; (11) WebOSTM; (12) Adobe AIRTM; (13) Binary Runtime Environment for Wireless (BREWTM); (14) CocoaTM (API); (15) CocoaTM Touch; (16) JavaTM Platforms; (17) JavaFXTM; (18) QNXTM; (19) Mono; (20) Google Blink; (21) Apple WebKit; (22) Mozilla GeckoTM; (23) Mozilla XUL; (24) .NET Framework; (25) SilverlightTM; (26) Open Web Platform; (27) Oracle Database; (28) QtTM; (29) SAP NetWeaverTM; (30) SmartfaceTM; (31) Vexi
- illustrative computer-based systems or platforms of the present disclosure may be configured to utilize hardwired circuitry that may be used in place of or in combination with software instructions to implement features consistent with principles of the disclosure.
- implementations consistent with principles of the disclosure are not limited to any specific combination of hardware circuitry and software.
- various embodiments may be embodied in many different ways as a software component such as, without limitation, a stand-alone software package, a combination of software packages, or it may be a software package incorporated as a “tool” in a larger software product.
- exemplary software specifically programmed in accordance with one or more principles of the present disclosure may be downloadable from a network, for example, a website, as a stand-alone product or as an add-in package for installation in an existing software application.
- exemplary software specifically programmed in accordance with one or more principles of the present disclosure may also be available as a client-server software application, or as a web-enabled software application.
- exemplary software specifically programmed in accordance with one or more principles of the present disclosure may also be embodied as a software package installed on a hardware device.
- illustrative computer-based systems or platforms of the present disclosure may be configured to handle numerous concurrent users that may be, but is not limited to, at least 100 (e.g., but not limited to, 100-999), at least 1,000 (e.g., but not limited to, 1,000-9,999), at least 10,000 (e.g., but not limited to, 10,000-99,999), at least 100,000 (e.g., but not limited to, 100,000-999,999), at least 1,000,000 (e.g., but not limited to, 1,000,000-9,999,999), at least 10,000,000 (e.g., but not limited to, 10,000,000-99,999,999), at least 100,000,000 (e.g., but not limited to, 100,000,000-999,999,999), at least 1,000,000,000 (e.g., but not limited to, 1,000,000,000-999,999,999), and so on.
- at least 100 e.g., but not limited to, 100-999
- at least 1,000 e.g., but not limited to, 1,000-9,999
- 10,000 e.
- illustrative computer-based systems or platforms of the present disclosure may be configured to output to distinct, specifically programmed graphical user interface implementations of the present disclosure (e.g., a desktop, a web app., etc.).
- a final output may be displayed on a displaying screen which may be, without limitation, a screen of a computer, a screen of a mobile device, or the like.
- the display may be a holographic display.
- the display may be a transparent surface that may receive a visual projection.
- Such projections may convey various forms of information, images, or objects.
- such projections may be a visual overlay for a mobile augmented reality (MAR) application.
- MAR mobile augmented reality
- a mobile electronic device may refer to any portable electronic device that may or may not be enabled with location tracking functionality (e.g., MAC address, Internet Protocol (IP) address, or the like).
- location tracking functionality e.g., MAC address, Internet Protocol (IP) address, or the like.
- a mobile electronic device can include, but is not limited to, a mobile phone, Personal Digital Assistant (PDA), BlackberryTM, Pager, Smartphone, or any other reasonable mobile electronic device.
- cloud As used herein, terms “cloud,” “Internet cloud,” “cloud computing,” “cloud architecture,” and similar terms correspond to at least one of the following: (1) a large number of computers connected through a real-time communication network (e.g., Internet); (2) providing the ability to run a program or application on many connected computers (e.g., physical machines, virtual machines (VMs)) at the same time; (3) network-based services, which appear to be provided by real server hardware, and are in fact served up by virtual hardware (e.g., virtual servers), simulated by software running on one or more real machines (e.g., allowing to be transferred around and scaled up (or down) on the fly without affecting the end user).
- a real-time communication network e.g., Internet
- VMs virtual machines
- the illustrative computer-based systems or platforms of the present disclosure may be configured to securely store and/or transmit data by utilizing one or more of encryption techniques (e.g., private/public key pair, Triple Data Encryption Standard (3DES), block cipher algorithms (e.g., IDEA, RC2, RC5, CAST and Skipjack), cryptographic hash algorithms (e.g., MD5, RIPEMD-160, RTR0, SHA-1, SHA-2, Tiger (TTH),WHIRLPOOL, RNGs).
- encryption techniques e.g., private/public key pair, Triple Data Encryption Standard (3DES), block cipher algorithms (e.g., IDEA, RC2, RC5, CAST and Skipjack), cryptographic hash algorithms (e.g., MD5, RIPEMD-160, RTR0, SHA-1, SHA-2, Tiger (TTH),WHIRLPOOL, RNGs).
- the term “user” shall have a meaning of at least one user.
- the terms “user”, “subscriber” “consumer” or “customer” should be understood to refer to a user of an application or applications as described herein and/or a consumer of data supplied by a data provider.
- the terms “user” or “subscriber” can refer to a person who receives data provided by the data or service provider over the Internet in a browser session or can refer to an automated software application which receives the data and stores or processes the data.
- a method including:
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The disclosed systems and methods provide non-native functionality to a distributed network for events management on a blockchain via locking queued distributed network tokens. The disclosed technology receives a transfer event request from a first node associated with a first token storage, where the transfer event request corresponds to movement of a requested token amount that is associated with at least one token. A pending transfer event log that queues pending transfer event requests is accessed and modified by adding the transfer event request to the queue of pending transfer event requests. This causes the at least one token associated with the transfer event request to be locked, thereby preventing its association with other transfer events. The transfer event request is then transmitted to the distributed network, whereby the distributed network executes the movement of the at least one token.
Description
- This application is a continuation of and priority to U.S. patent application Ser. No. 17/856,061, filed Jul. 1, 2022, and entitled “COMPUTER-BASED SYSTEMS CONFIGURED TO UTILIZE A SUPERVISORY NODE TO APPROVE DISTRIBUTED NETWORK EVENTS AND METHODS OF USE THEREOF,” which is a continuation of U.S. patent application Ser. No. 17/513,455, filed Oct. 28, 2021, and entitled “COMPUTER-BASED SYSTEMS CONFIGURED FOR PERMISSION EVENTS MANAGEMENT ON A BLOCKCHAIN AND METHODS OF USE THEREOF” (now U.S. Pat. No. 11,379,429), which is incorporated herein by reference in its entirety.
- The present disclosure generally relates to computer-based systems configured for permission events management on a blockchain and methods of use thereof.
- Typically, in a blockchain transaction environment “permissions” are commonly handled through N-of-M multi-signature (“multisig”) format. For example, sending from a “2 of 3” multisig wallet would require that two of three parties consent to submit a transaction. In a blockchain sense, a transaction is not real until sent out and confirmed on the blockchain.
- Embodiments described herein include a method for events management on a blockchain via locking queued distributed network tokens. The method includes: receiving, by a processor, from a first node associated with a first token storage, a transfer event request for a movement of a requested token amount relative to the first token storage via a distributed network, the requested token amount being associated with at least one token; accessing, by the processor, a pending transfer event log configured to queue a plurality of pending transfer event requests associated with the first token storage, each pending transfer event request within the pending transfer event log being associated with at least one pending token; modifying, by the processor, based on the access, the pending transfer event log, the modification comprising adding the transfer event request to a queue of the plurality of pending transfer event requests; locking, by the processor, the at least one token associated with the transfer event request upon the transfer event request being added to the queue of the pending transfer event log; and transmitting, by the processor, the transfer event request to the distributed network, the transmission of the transfer event request causing the distributed network to execute the movement of the at least one token.
- Embodiments described herein include a non-transitory computer-readable storage medium that has tangibly stored thereon, or tangibly encoded thereon, computer readable instructions that when executed by at least one processor cause the at least one processor to perform a method for events management on a blockchain via locking queued distributed network tokens. The computer-executed method, as executed from the computer-executable instructions stored on the non-transitory computer-readable storage medium, includes: receiving, by the processor, from a first node associated with a first token storage, a transfer event request for a movement of a requested token amount relative to the first token storage via a distributed network, the requested token amount being associated with at least one token; accessing, by the processor, a pending transfer event log configured to queue a plurality of pending transfer event requests associated with the first token storage, each pending transfer event request within the pending transfer event log being associated with at least one pending token; modifying, by the processor, based on the access, the pending transfer event log, the modification comprising adding the transfer event request to a queue of the plurality of pending transfer event requests; locking, by the processor, the at least one token associated with the transfer event request upon the transfer event request being added to the queue of the pending transfer event log; and transmitting, by the processor, the transfer event request to the distributed network, the transmission of the transfer event request causing the distributed network to execute the movement of the at least one token.
- Embodiments described herein include a system for events management on a blockchain via locking queued distributed network tokens. The system includes at least one processor in communication with at least one storage device. The at least one processor is configured to access software instructions in the at least one storage device that cause the at least one processor to perform steps to: receive, from a first node associated with a first token storage, a transfer event request for a movement of a requested token amount relative to the first token storage via a distributed network, the requested token amount being associated with at least one token; access a pending transfer event log configured to queue a plurality of pending transfer event requests associated with the first token storage, each pending transfer event request within the pending transfer event log being associated with at least one pending token; modify, based on the access, the pending transfer event log, the modification comprising adding the transfer event request to a queue of the plurality of pending transfer event requests; lock the at least one token associated with the transfer event request upon the transfer event request being added to the queue of the pending transfer event log; and transmit the transfer event request to the distributed network, the transmission of the transfer event request causing the distributed network to execute the movement of the at least one token.
- Embodiments of one or more methods and/or systems for events management on a blockchain via locking queued distributed network tokens further include modifying, by the processor, the first token storage based on said locking of the at least one token, the modification comprising applying a token lock to the at least one token, the token lock preventing a subsequent transfer event request from being associated with the at least one token.
- Embodiments of one or more methods and/or systems for events management on a blockchain via locking queued distributed network tokens further include where the at least one pending token of each pending transfer event request comprising a token lock that prevents a subsequent transfer event request from being associated with the at least one pending token of each pending transfer event request.
- Embodiments of one or more methods and/or systems for events management on a blockchain via locking queued distributed network tokens further include determining, by the processor, that the at least one token of the transfer event request is not subject to the token lock, wherein the modification of the pending transfer event log is performed based on the determination.
- Embodiments of one or more methods and/or systems for events management on a blockchain via locking queued distributed network tokens further include applying a token lock to at least a portion of other tokens within the first token storage.
- Embodiments of one or more methods and/or systems for events management on a blockchain via locking queued distributed network tokens further include determining, by the processor, a write permission related to the transfer event request; and unlocking the at least one token based on the write permission, the unlocking enabling the transmission of the transfer event request to the distributed network.
- Embodiments of one or more methods and/or systems for events management on a blockchain via locking queued distributed network tokens further include identifying, by the processor, a denial instruction related to the transfer event request; and unlocking the at least one token based on the denial instruction, the unlocking enabling a subsequent transfer event request in association with the at least one token via the first token storage.
- Embodiments of one or more methods and/or systems for events management on a blockchain via locking queued distributed network tokens further include tracking, by the processor, a status of the at least one token; and synchronizing, by the processor, a source of truth (SOT) associated with the distributed network based on the tracked status.
- Embodiments of one or more methods and/or systems for events management on a blockchain via locking queued distributed network tokens further include where the distributed network is a blockchain.
- Various embodiments of the present disclosure can be further explained with reference to the attached drawings, wherein like structures are referred to by like numerals throughout the several views. The drawings shown are not necessarily to scale, with emphasis instead generally being placed upon illustrating the principles of the present disclosure. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ one or more illustrative embodiments.
-
FIG. 1A depicts a block diagram of a distributed network architecture for event permission in a permission queue for submission to a blockchain in accordance with one or more embodiments of the present disclosure. -
FIG. 1B depicts a block diagram of asmart contract 151 including a mapping of user wallets on theblockchain 150 to user accounts in theasset database 140 in accordance with one or more embodiments of the present disclosure. -
FIG. 2 illustrates a workflow orchestration for event request permission via a workflow service for controlling blockchain events in accordance with one or more embodiments of the present disclosure. -
FIG. 3 illustrates another workflow orchestration for event request permission via the workflow service for controlling blockchain events in accordance with one or more embodiments of the present disclosure. -
FIG. 4 illustrates a workflow orchestration for a token redeem event request and event processing based on the workflow service for controlling blockchain events in accordance with one or more embodiments of the present disclosure. -
FIG. 5 illustrates a workflow orchestration for a token deposit event request and event processing based on the workflow service for controlling blockchain events in accordance with one or more embodiments of the present disclosure. -
FIG. 6 is a block diagram of an exemplary computer-based system for event request permission via a workflow service of a blockchain environment in accordance with one or more embodiments of the present disclosure. -
FIG. 7 depicts a block diagram of another exemplary computer-based system and platform for event request permission via a workflow service of a blockchain environment in accordance with one or more embodiments of the present disclosure. -
FIG. 8 depicts illustrative schematics of an exemplary implementation of the cloud computing/architecture(s) in which embodiments of a system for event request permission via a workflow service of a blockchain environment may be specifically configured to operate in accordance with some embodiments of the present disclosure. -
FIG. 9 depicts illustrative schematics of another exemplary implementation of the cloud computing/architecture(s) in which embodiments of a system for event request permission via a workflow service of a blockchain environment may be specifically configured to operate in accordance with some embodiments of the present disclosure. - Various detailed embodiments of the present disclosure, taken in conjunction with the accompanying figures, are disclosed herein; however, it is to be understood that the disclosed embodiments are merely illustrative. In addition, each of the examples given in connection with the various embodiments of the present disclosure is intended to be illustrative, and not restrictive.
- Throughout the specification, the following terms take the meanings explicitly associated herein, unless the context clearly dictates otherwise. The phrases “in one embodiment” and “in some embodiments” as used herein do not necessarily refer to the same embodiment(s), though it may. Furthermore, the phrases “in another embodiment” and “in some other embodiments” as used herein do not necessarily refer to a different embodiment, although it may. Thus, as described below, various embodiments may be readily combined, without departing from the scope or spirit of the present disclosure.
- In addition, the term “based on” is not exclusive and allows for being based on additional factors not described, unless the context clearly dictates otherwise. In addition, throughout the specification, the meaning of “a,” “an,” and “the” include plural references. The meaning of “in” includes “in” and “on.”
- As used herein, the terms “and” and “or” may be used interchangeably to refer to a set of items in both the conjunctive and disjunctive in order to encompass the full description of combinations and alternatives of the items. By way of example, a set of items may be listed with the disjunctive “or”, or with the conjunction “and.” In either case, the set is to be interpreted as meaning each of the items singularly as alternatives, as well as any combination of the listed items.
-
FIGS. 1 through 9 illustrate systems and methods of pre-validating event requests before multisig permission on a blockchain. The following embodiments provide technical solutions and technical improvements that overcome technical problems, drawbacks and/or deficiencies in the technical fields involving blockchain event permissions that utilize a multisig permission process for each event on the blockchain, even where events are duplicates or with respect to the same tokens. As explained in more detail, below, technical solutions and technical improvements herein include aspects of improved event validation efficiency to decrease blockchain resource demands by establishing pre-permission to prevent multiple use of individual tokens without requiring multi sig permission. - In a pure blockchain transaction environment “permissions” are commonly handled through N-of-M multisignature (“multisig”). For example, sending from a “2 of 3” multisig wallet would require that two of three parties consent to submit an event. In a blockchain sense, a transaction is not real until sent out and confirmed on chain.
- In some embodiments, rather than allow event requests (e.g., blockchain transactions) for more tokens than exist to be in be in the permission queue, tokens may be locked while in proposed (unapproved) event request. By using the permission queue to lock tokens while in a proposed state, subsequent event requests for the same tokens or for more tokens than exist in the user's wallet may be rejected before the locked event request or subsequent event request(s) are submitted to the blockchain. In some embodiments, without locking tokens in the permission queue, the tokens could be in the queue multiple times. For example, for a wallet with 1,000 tokens where user A is a maker and user B is an approver, user A may submit a send for 700 tokens and another for 1,000 tokens, and another for 800 tokens . . . and so on. As long as the tokens in the permission queue are not locked and remain available, user A can keep creating new (pending) sends which would require a large number of resources in a distributed network of the blockchain environment to process each request, including multisig permissions and denials. However, in using the permission queue to lock the tokens of the first send request, any subsequent requests can be approved or denied based on the tokens of the first send request being locked and removed from the wallet of user A. If the first send request is approved, the locked tokens are included in a transaction on the blockchain. If a transaction is rejected, the tokens are unlocked and returned to available in the wallet.
- Based on such technical features, further technical benefits become available to users and operators of these systems and methods. Moreover, various practical applications of the disclosed technology are also described, which provide further practical benefits to users and operators that are also new and useful improvements in the art.
-
FIG. 1A depicts a block diagram of a distributed network architecture for event permission in a permission queue for submission to a blockchain in accordance with one or more embodiments of the present disclosure.FIG. 1B depicts a block diagram of asmart contract 151 including a mapping of user wallets on theblockchain 150 to user accounts in theasset database 140 in accordance with one or more embodiments of the present disclosure. - In some embodiments, a
hybrid blockchain environment 100 may include nodes includinguser device 101 that interface with ablockchain 150 via one or more service layers. In some embodiments, the service layers may include, e.g., a front-end service 110, aworkflow service 120 and a back-end service 130. Eachuser device 101 may submitevent requests 102 that employ tokens on the blockchain by submitting theevent request 102 via the front-end service 110. The front-end service 110 may engage theworkflow service 120 to initiate a workflow based on theevent request 102, which may employ the back-end service 130 to instruct theblockchain 150 as well as anasset database 140 to store, transfer, record or otherwise operate on asset records associated with the token(s) of theevent request 102. - In some embodiments, the
asset database 140 may track one or more state(s) of one or more asset(s) and/or operation(s) on asset(s) represented by token(s) of theblockchain 150. In some embodiments, theasset database 140 may be the source of truth for in-progress workflows with regards to event requests 102. Thus, states of the workflow may depend on entries in theasset database 140. - Using the
asset database 140 as a source of truth provides resilient records in the case of a system outage. However, asset and operation states in theasset database 150 may become out of sync with tasks in the workflow due to, e.g., lag in acknowledgement of tasks and/or states. Accordingly, in some embodiments, theworkflow service 120 may track the state of eachevent request 102 in order to maintain a synchronized source of truth. In so doing, theworkflow service 120 may track states of each token in eachevent request 102 and lock each token and/or token quantity while in an in-progress workflow. - In some embodiments, the
hybrid blockchain environment 100 may receiveevent requests 102 from one ormore user devices 101 that interface with the front-end service 110. In some embodiments, thehybrid blockchain environment 100 may be a part of theuser computing device 101. Thus, thehybrid blockchain environment 100 may include hardware and software components including, e.g.,user computing device 101 hardware and software, cloud or server hardware and software, or a combination thereof. - In some embodiments, the
hybrid blockchain environment 100 may include hardware components such as one or more processors, which may include local or remote processing components. In some embodiments, the processor(s) may include any type of data processing capacity, such as a hardware logic circuit, for example an application specific integrated circuit (ASIC) and a programmable logic, or such as a computing device, for example, a microcomputer or microcontroller that include a programmable microprocessor. In some embodiments, the processor(s) may include data-processing capacity provided by the microprocessor. In some embodiments, the microprocessor may include memory, processing, interface resources, controllers, and counters. In some embodiments, the microprocessor may also include one or more programs stored in memory. - Similarly, the
hybrid blockchain environment 100 may include storage, such as one or more local and/or remote data storage solutions such as, e.g., local hard-drive, solid-state drive, flash drive, database or other local data storage solutions or any combination thereof, and/or remote data storage solutions such as a server, mainframe, database or cloud services, distributed database or other suitable data storage solutions or any combination thereof. In some embodiments, the storage may include, e.g., a suitable non-transient computer readable medium such as, e.g., random access memory (RAM), read only memory (ROM), one or more buffers and/or caches, among other memory devices or any combination thereof. - As used herein, term “server” should be understood to refer to a service point which provides processing, database, and communication facilities. By way of example, and not limitation, the term “server” can refer to a single, physical processor with associated communications and data storage and database facilities, or it can refer to a networked or clustered complex of processors and associated network and storage devices, as well as operating software and one or more database systems and application software that support the services provided by the server. Cloud servers are examples.
- As used herein, terms “cloud,” “Internet cloud,” “cloud computing,” “cloud architecture,” and similar terms correspond to at least one of the following: (1) a large number of computers connected through a real-time communication network (e.g., Internet); (2) providing the ability to run a program or application on many connected computers (e.g., physical machines, virtual machines (VMs)) at the same time; (3) network-based services, which appear to be provided by real server hardware, and are in fact served up by virtual hardware (e.g., virtual servers), simulated by software running on one or more real machines (e.g., allowing to be transferred around and scaled up (or down) on the fly without affecting the end user). The aforementioned examples are, of course, illustrative, and not restrictive.
- In some embodiments, the
asset database 140 may be a database in thehybrid blockchain environment 100, or may be a database in communication with thehybrid blockchain environment 100. Accordingly, in some embodiments, theasset database 140 may be implemented either in direct communication with cloud server(s) to provide software services, e.g., controlled by the back-end service 130, or may be remote from the cloud server(s), e.g., via messaging across a network between the back-end service 130 and theasset database 140. In some embodiments, theasset database 140 may accessed directly via suitable database queries, or indirectly via suitable application programming interface (API) calls, or other suitable messaging data querying technologies or any combination thereof. - In some embodiments, the
hybrid blockchain environment 100 may implement computer engines for the front-end service 110,workflow service 120, back-end service,asset database 140 andblockchain 150. In some embodiments, the terms “computer engine” and “engine” identify at least one software component and/or a combination of at least one software component and at least one hardware component which are designed/programmed/configured to manage/control other software and/or hardware components (such as the libraries, software development kits (SDKs), objects, etc.). - In some embodiments, the front-
end service 110,workflow service 120, back-end service, andasset database 140 may be associated with and/or manage by the same administrator (e.g., enterprise). In some embodiments, the front-end service 110,workflow service 120, and back-end service may be associated with and/or manage by one entity/administrator (e.g., a first enterprise); and theasset database 140 may be associated with and/or manage by another entity/administrator (e.g., a second enterprise). - Examples of hardware elements may include processors, microprocessors, circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), logic gates, registers, semiconductor device, chips, microchips, chip sets, and so forth. In some embodiments, the one or more processors may be implemented as a Complex Instruction Set Computer (CISC) or Reduced Instruction Set Computer (RISC) processors; x86 instruction set compatible processors, multi-core, or any other microprocessor or central processing unit (CPU). In various implementations, the one or more processors may be dual-core processor(s), dual-core mobile processor(s), and so forth.
- Examples of software may include software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. Determining whether an embodiment is implemented using hardware elements and/or software elements may vary in accordance with any number of factors, such as desired computational rate, power levels, heat tolerances, processing cycle budget, input data rates, output data rates, memory resources, data bus speeds and other design or performance constraints.
- In some embodiments, each of the front-
end service 110,workflow service 120, back-end service,asset database 140 andblockchain 150 may include separate hardware and/or software components. Accordingly, in some embodiments, each of the front-end service 110,workflow service 120, back-end service,asset database 140 andblockchain 150 may include at least one processor(s) and at least one memory and/or storage solution, among other hardware and/or software components. - In some embodiments, the front-
end service 110,workflow service 120, back-end service,asset database 140 andblockchain 150 may share one or more hardware and/or software components, such as, e.g., in a cloud environment and/or distributed network. Accordingly, in some embodiments, one or more of the front-end service 110,workflow service 120, back-end service,asset database 140 and/orblockchain 150 may share one or more processor(s) and/or one or more storage/memory solutions. Hardware components and software components of theblockchain environment 100 may be employed in any suitable combination of shared and/or dedicated forms to provide the front-end service 110,workflow service 120, back-end service,asset database 140 andblockchain 150. - In some embodiments, the
user devices 101 may include or be incorporated, partially or entirely into at least one personal computer (PC), laptop computer, ultra-laptop computer, tablet, touch pad, portable computer, handheld computer, palmtop computer, personal digital assistant (PDA), cellular telephone, combination cellular telephone/PDA, television, smart device (e.g., smart phone, smart tablet or smart television), mobile internet device (MID), messaging device, data communication device, and so forth. - In some embodiments, the
user devices 101 may include any computing device from electronic activities are performed or executed, such as, e.g., a terminal, personal computer, or mobile computing device for performing Internet-based and application-based activities (e.g., account logins, account information changes, online purchases, instant message communications, social media posts, among others and combinations thereof). - In some embodiments, the
user devices 101 may include a physical terminal for performing electronic transactions, such as, e.g., a point-of-sale device, automated teller machine (ATM) or other device. As a result of a user executing electronic activities via the electronic activity execution device, data entries may be produced for entry into the user's account. For example, the electronic activity execution device may produce an electronic activity data entry. - In some embodiments, the front-
end service 110 may provide an interface between theuser devices 101 and the back-end service 130. In some embodiments, the front-end service 110 may include any user-facing part of the platform architecture, such as, e.g., subcomponents that make up the user experience. In some embodiments, the front-end service 110 may include a user interface and/or any software that allows platform software to be provided to theuser devices 101, such as, e.g., a web browser, a client-side application, or other software enabling the user to interact with thehybrid blockchain platform 100 from auser device 101. - In some embodiments, the front-
end service 110 may interact with theworkflow service 120 and/or the back-end service 130. In some embodiments, the front-end service 110 may receive user inputs and user selections from theuser devices 101 and convey data representing the user input and/or user selections to theworkflow service 120 and/or the back-end service 130 via a suitable messaging and/or interface technology, such as, e.g., one or more application programming interfaces (API). In some embodiments, the term “application programming interface” or “API” may include a computing interface that defines interactions between multiple software intermediaries. An “application programming interface” or “API” defines the kinds of calls or requests that can be made, how to make the calls, the data formats that should be used, the conventions to follow, among other requirements and constraints. An “application programming interface” or “API” can be entirely custom, specific to a component, or designed based on an industry-standard to ensure interoperability to enable modular programming through information hiding, allowing users to use the interface independently of the implementation. - In some embodiments, the
workflow service 120 may one or more applications, software, services, microservices and/or functions provided by the back-end service 130, such as, e.g., a cloud service or microservice. In some embodiments, theworkflow service 120 may include one or more applications, services and/or functions for managing operations and components of the back-end service 130. Management software is in charge of allocating specific resources for certain tasks. Accordingly, in some embodiments, theworkflow service 120 may include, e.g., middleware that interfaces between the back-end service 130 and the front-end service 110, an orchestrator and/or scheduler for the back-end service 130, or other software for coordinating and orchestrating resources of the back-end service 130 in a dynamic and real-time manner. - In some embodiments, the back-
end service 130 may include one or more components of thehybrid blockchain platform 100 such as hardware and storage for providing one or more applications, servicers and/or functions to theuser devices 101 via the front-end service 110 responsive to the user input and/or user selection. In some embodiments, the back-end service 130 may provide software functionality to the front-end service 110 via, e.g., one or more networks. - In some embodiments, the network may include any suitable computer network, including, two or more computers that are connected with one another for the purpose of communicating data electronically. In some embodiments, the network may include a suitable network type, such as, e.g., a local-area network (LAN), a wide-area network (WAN) or other suitable type. In some embodiments, a LAN may connect computers and peripheral devices in a physical area, such as a business office, laboratory, or college campus, by means of links (wires, Ethernet cables, fiber optics, wireless such as Wi-Fi, etc.) that transmit data. In some embodiments, a LAN may include two or
more user devices 101 including, e.g., personal computers, printers, and high-capacity disk-storage devices called file servers, which enable each computer on the network to access a common set of files. LAN operating system software, which interprets input and instructs networked devices, may enable communication between devices to share the printers and storage equipment, simultaneously access centrally located processors, data, or programs (instruction sets), and other functionalities. Devices on a LAN may also access other LANs or connect to one or more WANs. In some embodiments, a WAN may connect computers and smaller networks to larger networks over greater geographic areas. A WAN may link the computers by means of cables, optical fibers, or satellites, or other wide-area connection means. In some embodiments, an example of a WAN may include the Internet and/or a blockchain network (e.g., the blockchain 150). - In some embodiments, to initiate a workflow, a
user device 101 may instruct the front-end service 110 to issue anevent request 102 with respect to a token storage, such as a cryptocurrency wallet or other wallet, of a node on theblockchain 150. In some embodiments, theuser device 101 may be the node and/or may be associated with the node. In some embodiments, theevent request 102 may include a request to perform a movement of tokens from the token storage to another token storage of another node on theblockchain 150, such as, e.g., anotheruser device 101 and/or a token storage associated with thehybrid blockchain platform 100, e.g., associated with theasset database 140. - In some embodiments, the
user device 101 may present an event control graphical user interface (GUI) for producingevent requests 102, notifying the user of approved and/or rejectedevent requests 102, as well as other information such as user account information (e.g., for a user account in the asset database 140), user wallet information (e.g., associated with a blockchain wallet on the blockchain 150), etc. In some embodiments, the front-end service 110 may provide the event control GUI to auser device 101 to enable the user to select a particular event request related to an account operation and/or wallet operation. - In some embodiments, in response to the user selection of the
particular event request 102, the front-end service 110 may issue theevent request 102 to theworkflow service 120 and/or the back-end service 130, e.g., via an API or other suitable interface and/or messaging technology. As described above, in some embodiments, theworkflow service 120 may be an application, service or other software function implemented by the back-end service 130 for controlling a workflow associated with anevent request 102, and/or theworkflow service 120 may manage the back-end service 140 to implement the workflow associated with theevent request 102. - Accordingly, in some embodiments, the
event request 102 may be associated with a particular workflow for effectuating events on theblockchain 150 and/or in theasset database 140 to perform account-related operations. For example, in some embodiments, theevent request 102 may include a request for a movement of assets and/or tokens with respect to another user. The movement may be subdivided into a workflow of tasks. For example, sending assets and/or tokens to a destination, such as to another user and/or to an omnibus account for conversion to an asset, may include the tasks of depositing assets to mint tokens for the first user, sending the tokens to the destination, and the redeeming the tokens in exchange for the assets at the destination. Thus, the sequence of tasks can be used to perform operations such a transfer of assets, a withdrawal of assets, a deposit of assets, among other operations using theblockchain 150 to provide a verifiable and immutable record for more efficient and secure operations. Other operations and workflows may implement. - Thus, in some embodiments, the
workflow service 120 may identify a workflow associated with theevent request 102 and exchange one or more task-relatedmessages 104 with the back-end service 140 to implement the workflow. Because the workflow affects the movement of assets in a user account via the movement of tokens on theblockchain 150, the movement of assets is controlled by authentication by theblockchain 150. Indeed, the movement associated with eachevent request 102 is authenticated on theblockchain 150 before allowing assets to leave and/or enter a user account in theasset database 140. As a result, the movements in theasset database 140 between accounts, the movements of tokens on theblockchain 150, the issuance ofevent requests 102 may become out of synchronization uponmultiple event requests 102 while the authentication of each movement is performed. As a result, events requested byevent requests 102 may be rejected by theblockchain 150 in an unpredictable manner as some events achieve authentication faster before others in an asynchronous manner. - In some embodiments, to enforce synchronous events related to each user account and each associated token storage, the
workflow service 130 may provide a source of truth for tracking in progress events in a sequential queue based on first-in-first-out ordering. Therefore, anyparticular event request 102 may be processed in the order that is submitted, thus preventing unpredictable and improper authentications, such as, e.g., double spend transactions, quantities of movement in excess of an account and/or token storage balance, among other improper authentications before requiringblockchain 150 resources. Table 1 below shows an example of an account record of theasset database 140 as a source of truth for operations. As shown in Table 1, the deposit request foroperation 100, the deposit request foroperation 200 and the operation request for operation 300 may be acknowledged out of order with which the operations were requested. As a result, theasset database 140 value, and thus the workflow value, diverge from the true value of assets available in a particular user account. -
TABLE 1 Example of Asset Value of a User Account using the Asset Database 140 as a Source of TruthASSET WORKFLOW DATABASE TRUE MESSAGE VALUE VALUE AMOUNT 40,000 40,000 40,000 DEPOSIT REQ. 1 70,000 40,000 70,000 (100 FOR +30,000) ACK. FILE (300 50,0000 40,000 50,000 FOR −20,000) OPERATION REQ. 50,000 70,000 50,000 FOR 100 OPERATION REQ. 50,000 50,000 50,000 FOR 300 OPERATION ACK. 70,000 50,000 50,000 FOR 100 DEPOSIT REQ. 2 130,000 50,000 110,000 (200 FOR +60,000) OPERATION ACK. 50,000 50,000 110,000 FOR 300 OPERATION REQ. 130,000 50,000 110,000 FOR 200 OPERATION ACK. 130,000 130,000 110,000 FOR 200 - In some embodiments, the permission queue of the
workflow service 120 may identify the tokens and/or number of tokens subject to the workflow of theevent request 102 and lock the tokens and/or number of tokens from use for subsequent movements until theevent request 102 has been either approved or rejected. Table 2 below shows an example illustrating using theworkflow service 120 to provide the source of truth. As shown in Table 2, while theasset database 140 shows a lag in updating the value available to the user account, theworkflow service 120 can ignore the lag to show the true value, and thus approve or reject operations before submission to theblockchain 150 and recordation in theasset database 140. -
TABLE 2 Example of Asset Value of a User Account using the Workflow Service 120 as a Source of TruthASSET WORKFLOW DATABASE TRUE MESSAGE VALUE VALUE AMOUNT 40,000 40,000 40,000 DEPOSIT REQ. 1 70,000 40,000 70,000 (100 FOR +30,000) ACK. FILE (300 50,0000 40,000 50,000 FOR −20,000) OPERATION REQ. 50,000 70,000 50,000 FOR 100 OPERATION REQ. 50,000 70,000 50,000 FOR 300 OPERATION ACK. 50,000 50,000 50,000 FOR 100 DEPOSIT REQ. 2 110,000 50,000 (lagged) 110,000 (200 FOR +60,000) OPERATION ACK. 110,000 110,000 110,000 FOR 300 OPERATION REQ. 110,000 110,000 110,000 FOR 200 OPERATION ACK. 110,000 110,000 110,000 FOR 200 - Accordingly, in some embodiments, the
workflow service 120 may maintain an event log record database for a particular user. In some embodiments, the event log record database may record a token quantity and an operation requested via theevent request 102. In some embodiments, theevent request 102 may include additional data attributes, such as, e.g., an operation type, a destination token storage for a movement, a source token storage for a movement, a user identifier, a transaction identifier, among other data attributes or any combination thereof. - Therefore, in some embodiments, as
multiple event requests 102 are received, theworkflow service 120 may record the token quantity of eachevent request 102 to determine a transaction queue token quantity indicative of a total number of tokens subject to one or more operations for a given token storage of a given user. In some embodiments, the transaction queue token quantity may be used to automatically approve and/or reject subsequent event requests 102 based on a comparison of the transaction queue token quantity and a token quantity balance in the given token storage. If the transaction queue token quantity is equal to or exceeds the token quantity balance, theworkflow service 120 may automatically reject the subsequent event request, effectively locking the tokens subject to existingevent requests 102 in the transaction queue. As a result, the user is prevented from requesting operations using more tokens than are available in the given token storage. Where the transaction queue token quantity is less than the token quantity balance, theworkflow service 120 may determine a first permission approving theevent request 102 as avalid event request 102. - In some embodiments, the event requests 102 in the transaction queue may be passed to the back-
end service 130 via one or more task-relatedmessages 104 for processing in the order in which they were received. In some embodiments, the task-related message(s) 104 may include, e.g., one or more tasks identified by theworkflow service 120 as associated with aparticular event request 102, such as, e.g., an operation request for an account operation, an operation acknowledgement approving an account operation, an operation rejection rejecting an account operation, among other task-relatedmessages 104 for performing tasks to carry out anevent request 102, or any combination thereof. - In some embodiments, the processing of the task-related message(s) 104 may include
operation instructions 105 to theasset database 140, theblockchain 150 or both. For example, in some embodiments, where theworkflow service 120 approves anevent request 102 and enters theevent request 102 into the transaction queue, an associated task-relatedmessage 104 is sent to the back-end service 130. As a result, the back-end service 130 may generate anoperation initiation instruction 105 to theblockchain 150 to cause theblockchain 150 to perform the movement of tokens according to the task-related message(s) 104. In some embodiments, theoperation initiation instruction 105 may specify the operation to be performed related to tokens of the user's token storage. Accordingly, in some embodiments, theoperation initiation instruction 105 may include data attributes such as a token quantity, an operation type, a source token storage, a destination token storage, a transaction identifier, among other data attributes or any suitable combination thereof. - In some embodiments, based on the operation type, the
operation initiation instruction 105 may cause theblockchain 150 to initiate asmart contract 151 for performing the operation. In some embodiments, the operation type may include, e.g., a token redeem, a token deposit, a token transfer, among other operation types or any combination thereof. In some embodiments, a token redeem operation may cause asmart contract 151 for burning tokens (e.g., erasing tokens from the blockchain), and thus removing the tokens from the token storage of the user. As a result, thesmart contract 151 and/or the back-end service 130 may issue anoperation initiation instruction 105 to theasset database 140 to provide assets represented by the tokens to the user, e.g., in the user's account in theasset database 140. Additionally, in some embodiments, a token deposit operation may cause asmart contract 151 for minting tokens (e.g., producing new tokens on the blockchain), and thus adding the tokens from the token storage of the user. As a result, thesmart contract 151 and/or the back-end service 130 may issue anoperation initiation instruction 105 to theasset database 140 to remove assets represented by the tokens from the user, e.g., from the user's account in theasset database 140. - In some embodiments, a token transfer operation may cause a
smart contract 151 to move tokens from a first token storage (the source token storage) to a second token storage (the destination token storage). As a result, the transfer of tokens from the first to the second token storage may cause a movement of assets from a first user account to a second user account associated with users of the first token storage and the second token storage, respectively. Alternatively, in some embodiments, the token transfer operation may cause asmart contract 151 to perform a token redeem operation for the first token storage to thereby remove a corresponding quantity of assets from the user account. The quantity of assets may then be transferred via theasset database 140 to a second user account associated with the second token storage, and the same or a differentsmart contract 151 may perform a token deposit operation to mint tokens on the blockchain in the second token storage. - In some embodiments, to generate the
operation initiation instruction 105 for each movement of assets in theasset database 140, thesmart contract 151 may specify the user account associated with each token storage of the movement of tokens. Accordingly, in some embodiments, thesmart contract 151 may employ a mapping of user accounts to user token storages (e.g., wallets) as illustrated inFIG. 1B . In some embodiments, User A may have aUser A Account 1 143 in theasset database 140 mapped to aUser A wallet 1 153 on theblockchain 150. Similarly, User A may have aUser A Account 2 144 in theasset database 140 mapped to aUser A wallet 2 154 on theblockchain 150, User B may have aUser B Account 1 145 in theasset database 140 mapped to aUser B wallet 1 155 on theblockchain 150, User C may have aUser C Account 1 146 in theasset database 140 mapped to aUser C wallet 1 156 on theblockchain 150, etc. for each account of each user in a one-to-one manner. Similarly, in some embodiments, there may be anomnibus account 142 in theasset database 140, e.g., associated with a financial entity (e.g., bank, mortgage company, lender, credit agency, credit union, etc.) or other asset management entity or any combination thereof. Theomnibus account 142 may be mapped to a contracttotal supply 152 that specifies a total number of tokens on theblockchain 150. Accordingly, thesmart contract 151 may specify account operations based on token operations performed on theblockchain 150 in order to allow the back-end service 130 to match operations in theasset database 140 to the immutable ledger of theblockchain 150. - In some embodiments, the
blockchain 150 may include one or more private and/or private-permissioned cryptographically-protected, distributed databased such as, without limitation, a blockchain (distributed ledger technology), Ethereum (Ethereum Foundation, Zug, Switzerland), and/or other similar distributed data management technologies. For example, as utilized herein, the distributed database(s), such as distributed ledgers ensure the integrity of data by generating a digital chain of data blocks linked together by cryptographic hashes of the data records in the data blocks. For example, a cryptographic hash of at least a portion of data records within a first block, and, in some cases, combined with a portion of data records in previous blocks is used to generate the block address for a new digital identity block succeeding the first block. As an update to the data records stored in the one or more data blocks, a new data block is generated containing respective updated data records and linked to a preceding block with an address based upon a cryptographic hash of at least a portion of the data records in the preceding block. In other words, the linked blocks form a blockchain that inherently includes a traceable sequence of addresses that can be used to track the updates to the data records contained therein. The linked blocks (or blockchain) may be distributed among multiple network nodes within a computer network such that each node may maintain a copy of the blockchain. Malicious network nodes attempting to compromise the integrity of the database must recreate and redistribute the blockchain faster than the honest network nodes, which, in most cases, is computationally infeasible. In other words, data integrity is guaranteed by the virtue of multiple network nodes in a network having a copy of the same blockchain. In some embodiments, as utilized herein, a central trust authority for sensor data management may not be needed to vouch for the integrity of the distributed database hosted by multiple nodes in the network. - In some embodiments, the exemplary distributed blockchain-type ledger implementations of the present disclosure with associated devices may be configured to affect transactions involving Bitcoins and other cryptocurrencies into one another and also into (or between) so-called FIAT money or FIAT currency and vice versa.
- In some embodiments, the exemplary distributed blockchain-type ledger implementations of the present disclosure with associated devices are configured to utilize smart contracts that are computer processes that facilitate, verify and/or enforce negotiation and/or performance of one or more particular activities among users/parties. For example, an exemplary smart contract may be configured to be partially or fully self-executing and/or self-enforcing. In some embodiments, the exemplary inventive asset-tokenized distributed blockchain-type ledger implementations of the present disclosure may utilize smart contract architecture that can be implemented by replicated asset registries and contract execution using cryptographic hash chains and Byzantine fault tolerant replication. For example, each node in a peer-to-peer network or blockchain distributed network may act as a title registry and escrow, thereby executing changes of ownership and implementing sets of predetermined rules that govern transactions on the network. For example, each node may also check the work of other nodes and in some cases, as noted above, function as miners or validators.
- In some embodiments, based on the operation initiation instruction(s) 105 and the balance of tokens in each token storage associated with a movement of tokens, the operations of the existing
event requests 102 in the transaction queue may be approved and/or rejected on theblockchain 150. As a result, theblockchain 150 produce a write permission determination regarding the movement of the tokens with respect to the associated token storages. In some embodiments, the write permission determination may include, e.g., the transaction details of a new block in the ledger, an indication of a permission or rejection, among other data indicative of whether the operation is successful or unsuccessful or any combination thereof. - In some embodiments, the back-
end service 130 may provide the write permission determination to theworkflow service 120, e.g., via a task-relatedmessage 104. Theworkflow service 120 may then update the event log record database to reflect a completed event request of the associatedevent request 102 in the event log record database. In some embodiments, where the write permission determination results in the associatedevent request 102 being successfully processed to effectuate the movement of tokens, the event log record database may be updated to release the tokens from the event log record database, thus removing the tokens subject to the associatedevent request 102 from the total number of tokens of the event log record database. As a result, the event log record database is synchronized with the token storage to provide an accurate and efficient source of truth for allowing or rejectingevent requests 102 prior to submission to the back-end service 130 andblockchain 150, thus preventing the attempted use of tokens that are already subject to operations associated with existing event requests 102. -
FIG. 2 illustrates a workflow orchestration for event request permission via a workflow service for controlling blockchain events in accordance with one or more embodiments of the present disclosure. - In some embodiments, upon receiving an
event request 102, the front-end service 110 may determine a permission workflow for approving the event request. In some embodiments, the event request may be provided atstep 1 via a first node user device, termed amaker device 101A. The event request may include a request to perform one or more operations relative to a maker token storage. - At
step 2, the front-end service 110 may transmit a balance inquiry request to theasset database 140 based on the event request. In some embodiments, the event request may include a data attribute including a number of tokens needed for effectuating a movement of tokens. In some embodiments, the movement of tokens corresponds to an account operation relative to a user account associated with themaker device 101A. Thus, the front-end service 110 may issue the balance inquiry request to query a balance of assets in the user account. - At
step 3, theasset database 140 may return the asset balance in a balance inquiry response. In some embodiments, the balance inquiry response may specify a quantity or value of assets associated with the user account of themaker device 101A. - At
step 4, where the quantity or value of assets associated with the user account is greater than the number of tokens needed for effectuating the movement of tokens of the event request, the front-end service 110 may produce a permission request. In some embodiments, the permission request may include, e.g., the data attributes of the event request, the quantity or value of assets associated with the user account, among other suitable data attributes characterizing the movement of the number of tokens. In some embodiments, the front-end service 110 may communicate the permission request to theworkflow service 120 for entry of the event request into a transaction queue of the workflow service. - At
step 5, theworkflow service 120 may perform an event validation based on the permission request. In some embodiments, the event validation may include appending the data attributes of the event request to the transaction queue and updating an event log record database and transaction queue token quantity. In some embodiments, based on the transaction queue token quantity, the number of tokens associated with the event request and a number of tokens in the maker token storage, theworkflow service 120 may approve the permission request. - At
step 6, theworkflow service 120 may send a permission response to the front-end service 110 specifying that the movement of tokens is approved. - At
step 7, in response to the permission response, the front-end service 110 may provide the permission response to anapprover device 101B. In some embodiments, theapprover device 101B may include, e.g., a computing device associated with a supervisory or administrative node of thehybrid blockchain platform 100. In some embodiments, theapprover device 101B may be responsible for verifying permission responses, e.g., where the permission response includes an exception or error. Accordingly, an approver user at theapprover device 101B may select via a suitable permission GUI presented by the front-end service 110, the data attributes associated with the movement of the quantity of the tokens with respect to the maker token storage. - At
step 8, where the approver user approves of the data attributes, the approver user may select to approve the movement via the permission GUI, causing theapprover device 101B to send a permission to the front-end service 110. In some embodiments, the permission may include an approved event request including the data attributes of the movement and/or an indication of the permission. - At step 9, the front-
end service 110 may communicate the permission to theworkflow service 120. In response, atstep 10, theworkflow service 120 may return a permission acknowledgement acknowledging receipt of the permission. - At
step 11, upon sending the permission acknowledgement, theworkflow service 120 may issue an initiate event command to the back-end service 130. In some embodiments, the initiate event command may include, e.g., one or more task-relatedmessages 104 to trigger processing the event request and the movement of the number of tokens. In some embodiments, the task-related message(s) 104 may include, e.g., one or more tasks identified by theworkflow service 120 as associated with the event request. In some embodiments, the initiate event command may cause anevent processing 200 sequence associated with the operations of the event request, such as, e.g., triggering a smart contract associated with the movement of the quantity of the tokens on theblockchain 150. In some embodiments, the issuance of the initiate event command may also cause theworkflow service 120 to update the transaction queue to remove the event request from the event log record database and remove the number of tokens from the transaction queue token quantity. - At
step 12, the front-end service 110 may confirm to themaker device 101A theevent processing 200, e.g., via an event acknowledgement. In some embodiments, the event acknowledgement may cause an update to the event control GUI of themaker device 101A to reflect the movement of the quantity of the tokens and/or update a displayed availability of tokens in the maker token storage. -
FIG. 3 illustrates another workflow orchestration for event request permission via the workflow service for controlling blockchain events in accordance with one or more embodiments of the present disclosure. - In some embodiments, upon receiving an
event request 102, the front-end service 110 may determine a permission workflow for approving the event request. In some embodiments, the event request may be provided atstep 1 via a first node user device, termed amaker device 101A. The event request may include a request to perform one or more operations relative to a maker token storage. - At
step 2, the front-end service 110 may transmit a balance inquiry request to theasset database 140 based on the event request. In some embodiments, the event request may include a data attribute including a number of tokens needed for effectuating a movement of tokens. In some embodiments, the movement of tokens corresponds to an account operation relative to a user account associated with themaker device 101A. Thus, the front-end service 110 may issue the balance inquiry request to query a balance of assets in the user account. - At
step 3, theasset database 140 may return the asset balance in a balance inquiry response. In some embodiments, the balance inquiry response may specify a quantity or value of assets associated with the user account of themaker device 101A. - At
step 4, where the quantity or value of assets associated with the user account is greater than the number of tokens needed for effectuating the movement of tokens of the event request, the front-end service 110 may produce a permission request. In some embodiments, the permission request may include, e.g., the data attributes of the event request, the quantity or value of assets associated with the user account, among other suitable data attributes characterizing the movement of the number of tokens. In some embodiments, the front-end service 110 may communicate the permission request to theworkflow service 120 for entry of the event request into a transaction queue of the workflow service. - At
step 5, theworkflow service 120 may perform an event validation based on the permission request. In some embodiments, the event validation may include appending the data attributes of the event request to the transaction queue and updating an event log record database and transaction queue token quantity. In some embodiments, based on the transaction queue token quantity, the number of tokens associated with the event request and a number of tokens in the maker token storage, theworkflow service 120 may approve the permission request. - At
step 6, theworkflow service 120 may send a permission response to the front-end service 110 specifying that the movement of tokens is approved. - At
step 7, in response to the permission response, the front-end service 110 may provide the permission response to anapprover device 101B. In some embodiments, theapprover device 101B may include, e.g., a computing device associated with a supervisory or administrative node of thehybrid blockchain platform 100. In some embodiments, theapprover device 101B may be responsible for verifying permission responses, e.g., where the permission response includes an exception or error. Accordingly, an approver user at theapprover device 101B may select via a suitable permission GUI presented by the front-end service 110, the data attributes associated with the movement of the quantity of the tokens with respect to the maker token storage. - At
step 8, where the approver user rejects the data attributes, the approver user may select to reject the movement via the permission GUI, causing theapprover device 101B to send a rejection to the front-end service 110. In some embodiments, the rejection may include a rejected event request including the data attributes of the movement and/or an indication of the rejection. - At step 9, the front-
end service 110 may communicate the rejection to theworkflow service 120. In response, theworkflow service 120 may update the transaction queue to remove the event request from the event log record database and remove the number of tokens from the transaction queue token quantity. In some embodiments, atstep 10, theworkflow service 120 may then return a permission rejection acknowledging the rejection. - At
step 11, upon sending the permission rejection, the front-end service 110 may confirm to themaker device 101A the permission rejection, e.g., via an update to the event control GUI of themaker device 101A to reflect a rejection of the movement of the quantity of the tokens. -
FIG. 4 illustrates a workflow orchestration for a token redeem event request and event processing based on the workflow service for controlling blockchain events in accordance with one or more embodiments of the present disclosure. - At
step 1, the front-end service 110 may transmit a balance inquiry request to theasset database 140 to identify a balance of assets of a particular user account. Thus, the front-end service 110 may issue the balance inquiry request to query a balance of assets in the user account. - At
step 2, theasset database 140 may return the asset balance in a balance inquiry response. In some embodiments, the balance inquiry response may specify a quantity or value of assets associated with a user account of a user device, such as a maker device. - In some embodiments, the front-
end service 110 may receive, atstep 3, an event request, e.g., from theuser device 101, including a redeem request. In some embodiments, the event request may require permission before being acknowledged and provided to theevent processing 200. - Accordingly, at
step 4, the front-end service 110 may beginevent processing 200 upon permission via the workflow service 120 (e.g., as illustrated inFIG. 2 above). In some embodiments, to performevent processing 200, the front-end service 100 may provide the redeem request to the back-end service 130. In some embodiments, the redeem request may include, e.g., the data attributes of the event request such as the quantity or value of assets associated with the user account, the quantity or value of tokens to be redeemed, a user identifier identifying the user and/or the user account, a transaction identifier, among other suitable data attributes characterizing the movement of the number of tokens in a redeem operation. - At
step 5, the back-end service 130 may instruct, via a burn request, theblockchain 150 to perform a token movement corresponding to the asset movement. In some embodiments, the movement of tokens is to reflect the removal of assets, e.g., from the user account of theasset database 140, and thus includes a corresponding removal of tokens from the token storage by burning the tokens from theblockchain 150 using thesmart contract 151. In some embodiments, rather burning the tokens, the burn request may include a transfer request form the token storage to an omnibus token storage or other custodial and/or omnibus token storing structure. - In some embodiments, the
blockchain 150 may employ asmart contract 151 to perform the token burn atstep 8. In some embodiments, the removal may include a movement to a custodial or omnibus token storage mapped to the omnibus account. In some embodiments, the removal is a burn of tokens, thereby removing the tokens from theblockchain 150. - At step 9, the
blockchain 150 may return a burn response to the back-end service 130 to acknowledge the token burn and the change to the user's token storage. - In some embodiments, based on the data attributes of the event request, the back-
end service 130 may initiate a transfer request atstep 8. In some embodiments, as an exemplary illustration,step 7 is depicted as occurring aftersteps step 8 may be performed before or concurrently with any one or more ofstep 5,step 6 and/orstep 7. In some embodiments, the transfer request is sent to theasset database 140 to request a movement of assets out of the user account such that the user may extract and use the assets outside of the user account. In some embodiments, the movement of assets may include a movement out of the user account into an omnibus account (see, e.g., thesmart contract 151 mapping illustrated inFIG. 1B above). In some embodiments, the omnibus account is a custodian of assets to enable asset use with systems and entities outside of theasset database 140. For example, in order to withdraw money from an automated teller machine (ATM), the redeem request may cause the back-end service 130 to issue a transfer request from the user account to the omnibus account such that the omnibus account may provide an equivalent value in cash to the ATM for dispensation. The omnibus account may serve a similar role in transferring assets to another entity or account that is distinct from the omnibus account, theasset database 140 and/or thehybrid blockchain platform 100, such as another bank or other financial entity. - In some embodiments, upon completion of the transfer, at step 9 the
asset database 140 may return a transfer response to the back-end service 130. In some embodiments, the transfer response may acknowledge a completion of an operation in theasset database 140 include the transfer for the redemption of tokens to extract assets from the user account. - At
step 10, in response to the burn response, the back-end service 130 may confirm to the front-end service the redemption of tokens via a redeem response. - At
step 11, in response to the redeem response, the front-end service 110 may confirm to the user device theevent processing 200 including the redeem response. In some embodiments, the redeem response may cause an update to the event control GUI of theuser device 101 to reflect the redemption of the quantity of the tokens and/or update a displayed availability of tokens in the token storage less the redeemed tokens. -
FIG. 5 illustrates a workflow orchestration for a token deposit event request and event processing based on the workflow service for controlling blockchain events in accordance with one or more embodiments of the present disclosure. - At
step 1, the front-end service 110 may transmit a balance inquiry request to theasset database 140 to identify a balance of assets of a particular user account. Thus, the front-end service 110 may issue the balance inquiry request to query a balance of assets in the user account. - At
step 2, theasset database 140 may return the asset balance in a balance inquiry response. In some embodiments, the balance inquiry response may specify a quantity or value of assets associated with a user account of a user device, such as a maker device. - In some embodiments, the front-
end service 110 may receive, atstep 3, an event request, e.g., from theuser device 101, including a deposit request. In some embodiments, the event request may require permission before being acknowledged and provided to theevent processing 200. - Accordingly, at
step 4, the front-end service 110 may beginevent processing 200 upon permission via the workflow service 120 (e.g., as illustrated inFIG. 2 above). In some embodiments, to performevent processing 200, the front-end service 100 may provide the deposit request to the back-end service 130. In some embodiments, the deposit request may include, e.g., the data attributes of the event request such as the quantity or value of assets associated with the user account, the quantity or value of tokens to be deposited, a user identifier identifying the user and/or the user account, a transaction identifier, among other suitable data attributes characterizing the movement of the number of tokens in a deposit operation. - In some embodiments, based on the data attributes of the event request, the back-
end service 130 may initiate a transfer request atstep 5. In some embodiments, the transfer request is sent to theasset database 140 to request a movement of assets into the user account from outside of the user account. In some embodiments, the movement of assets may include a movement into the user account from an omnibus account (see, e.g., thesmart contract 151 mapping illustrated inFIG. 1B above). In some embodiments, the omnibus account is a custodian of assets to enable asset use with systems and entities outside of theasset database 140. For example, in order to deposit money at an automated teller machine (ATM), the deposit request may cause the back-end service 130 to issue a transfer request from the omnibus account to the user account based on cash deposited at the ATM, such that the omnibus account may provide an equivalent value in assets to the user account. The omnibus account may serve a similar role in transferring assets from another entity or account that is distinct from the omnibus account, theasset database 140 and/or thehybrid blockchain platform 100, such as another bank or other financial entity. - In some embodiments, upon completion of the transfer, at
step 6 theasset database 140 may return a transfer response to the back-end service 130. In some embodiments, the transfer response may acknowledge a completion of an operation in theasset database 140 including the transfer for the deposit of tokens into the user account. - At
step 7, the back-end service 130 may instruct, via a mint request, theblockchain 150 to perform a token movement corresponding to the asset movement. In some embodiments, as an exemplary illustration,step 7 is depicted as occurring aftersteps step 7 may be performed first or concurrently withstep 5 and/orstep 6. In some embodiments, because the assets are transferred into the user account, the movement of tokens is to reflect the addition of assets, and thus includes a corresponding addition of tokens into the token storage. - In some embodiments, the
blockchain 150 may employ asmart contract 151 to perform the token mint atstep 8. In some embodiments, the addition of tokens may include a movement from a custodial or omnibus token storage mapped to the omnibus account. In some embodiments, the addition of tokens is a mint of tokens, thereby creating the tokens on theblockchain 150 and assigning the created tokens to the token storage mapped to the user account. - At step 9, the
blockchain 150 may return a mint response to the back-end service 130 to acknowledge the token mint and the change to the user's token storage. - At
step 10, in response to the mint response, the back-end service 130 may confirm to the front-end service the deposit of tokens via a deposit response. - At
step 11, in response to the deposit response, the front-end service 110 may confirm to the user device theevent processing 200 including the deposit response. In some embodiments, the deposit response may cause an update to the event control GUI of theuser device 101 to reflect the deposit of the quantity of the tokens and/or update a displayed availability of tokens in the token storage including the deposited tokens. -
FIG. 6 depicts a block diagram of an exemplary computer-based system andplatform 600 for event request permission via a workflow service of a blockchain environment in accordance with one or more embodiments of the present disclosure. However, not all of these components may be required to practice one or more embodiments, and variations in the arrangement and type of the components may be made without departing from the spirit or scope of various embodiments of the present disclosure. In some embodiments, the illustrative computing devices and the illustrative computing components of the exemplary computer-based system andplatform 600 may be configured to manage a large number of members and concurrent transactions, as detailed herein. In some embodiments, the exemplary computer-based system andplatform 600 may be based on a scalable computer and network architecture that incorporates varies strategies for assessing the data, caching, searching, and/or database connection pooling. An example of the scalable architecture is an architecture that is capable of operating multiple servers. - In some embodiments, referring to
FIG. 6 ,member computing device 602,member computing device 603 through member computing device 604 (e.g., clients) of the exemplary computer-based system andplatform 600 may include virtually any computing device capable of receiving and sending a message over a network (e.g., cloud network), such asnetwork 605, to and from another computing device, such asservers - In some embodiments, the
exemplary network 605 may provide network access, data transport and/or other services to any computing device coupled to it. In some embodiments, theexemplary network 605 may include and implement at least one specialized network architecture that may be based at least in part on one or more standards set by, for example, without limitation, Global System for Mobile communication (GSM) Association, the Internet Engineering Task Force (IETF), and the Worldwide Interoperability for Microwave Access (WiMAX) forum. In some embodiments, theexemplary network 605 may implement one or more of a GSM architecture, a General Packet Radio Service (GPRS) architecture, a Universal Mobile Telecommunications System (UMTS) architecture, and an evolution of UMTS referred to as Long Term Evolution (LTE). In some embodiments, theexemplary network 605 may include and implement, as an alternative or in conjunction with one or more of the above, a WiMAX architecture defined by the WiMAX forum. In some embodiments and, optionally, in combination of any embodiment described above or below, theexemplary network 605 may also include, for instance, at least one of a local area network (LAN), a wide area network (WAN), the Internet, a virtual LAN (VLAN), an enterprise LAN, alayer 3 virtual private network (VPN), an enterprise IP network, or any combination thereof. In some embodiments and, optionally, in combination of any embodiment described above or below, at least one computer network communication over theexemplary network 605 may be transmitted based at least in part on one of more communication modes such as but not limited to: NFC, RFID, Narrow Band Internet of Things (NBIOT), ZigBee, 3G, 4G, 5G, GSM, GPRS, WiFi, WiMax, CDMA, OFDM, OFDMA, LTE, satellite and any combination thereof. In some embodiments, theexemplary network 605 may also include mass storage, such as network attached storage (NAS), a storage area network (SAN), a content delivery network (CDN) or other forms of computer or machine readable media. - In some embodiments, the
exemplary server 606 or theexemplary server 607 may be a web server (or a series of servers) running a network operating system, examples of which may include but are not limited to Apache on Linux or Microsoft IIS (Internet Information Services). In some embodiments, theexemplary server 606 or theexemplary server 607 may be used for and/or provide cloud and/or network computing. Although not shown inFIG. 6 , in some embodiments, theexemplary server 606 or theexemplary server 607 may have connections to external systems like email, SMS messaging, text messaging, ad content providers, etc. Any of the features of theexemplary server 606 may be also implemented in theexemplary server 607 and vice versa. - In some embodiments, one or more of the
exemplary servers - In some embodiments and, optionally, in combination of any embodiment described above or below, for example, one or more exemplary computing member devices 602-604, the
exemplary server 606, and/or theexemplary server 607 may include a specifically programmed software module that may be configured to send, process, and receive information using a scripting language, a remote procedure call, an email, a tweet, Short Message Service (SMS), Multimedia Message Service (MMS), instant messaging (IM), an application programming interface, Simple Object Access Protocol (SOAP) methods, Common Object Request Broker Architecture (CORBA), HTTP (Hypertext Transfer Protocol), REST (Representational State Transfer), SOAP (Simple Object Transfer Protocol), MLLP (Minimum Lower Layer Protocol), or any combination thereof. -
FIG. 7 depicts a block diagram of another exemplary computer-based system andplatform 700 for event request permission via a workflow service of a blockchain environment in accordance with one or more embodiments of the present disclosure. However, not all of these components may be required to practice one or more embodiments, and variations in the arrangement and type of the components may be made without departing from the spirit or scope of various embodiments of the present disclosure. In some embodiments, themember computing device 702 a,member computing device 702 b throughmember computing device 702 n shown each at least includes a computer-readable medium, such as a random-access memory (RAM) 708 coupled to aprocessor 710 or FLASH memory. In some embodiments, theprocessor 710 may execute computer-executable program instructions stored inmemory 708. In some embodiments, theprocessor 710 may include a microprocessor, an ASIC, and/or a state machine. In some embodiments, theprocessor 710 may include, or may be in communication with, media, for example computer-readable media, which stores instructions that, when executed by theprocessor 710, may cause theprocessor 710 to perform one or more steps described herein. In some embodiments, examples of computer-readable media may include, but are not limited to, an electronic, optical, magnetic, or other storage or transmission device capable of providing a processor, such as theprocessor 710 ofclient 702 a, with computer-readable instructions. In some embodiments, other examples of suitable media may include, but are not limited to, a floppy disk, CD-ROM, DVD, magnetic disk, memory chip, ROM, RAM, an ASIC, a configured processor, all optical media, all magnetic tape, or other magnetic media, or any other medium from which a computer processor can read instructions. Also, various other forms of computer-readable media may transmit or carry instructions to a computer, including a router, private or public network, or other transmission device or channel, both wired and wireless. In some embodiments, the instructions may comprise code from any computer-programming language, including, for example, C, C++, Visual Basic, Java, Python, Perl, JavaScript, and etc. - In some embodiments,
member computing devices 702 a through 702 n may also comprise a number of external or internal devices such as a mouse, a CD-ROM, DVD, a physical or virtual keyboard, a display, or other input or output devices. In some embodiments, examples ofmember computing devices 702 a through 702 n (e.g., clients) may be any type of processor-based platforms that are connected to anetwork 706 such as, without limitation, personal computers, digital assistants, personal digital assistants, smart phones, pagers, digital tablets, laptop computers, Internet appliances, and other processor-based devices. In some embodiments,member computing devices 702 a through 702 n may be specifically programmed with one or more application programs in accordance with one or more principles/methodologies detailed herein. In some embodiments,member computing devices 702 a through 702 n may operate on any operating system capable of supporting a browser or browser-enabled application, such as Microsoft™ Windows™, and/or Linux. In some embodiments,member computing devices 702 a through 702 n shown may include, for example, personal computers executing a browser application program such as Microsoft Corporation's Internet Explorer™, Apple Computer, Inc.'s Safari™, Mozilla Firefox, and/or Opera. In some embodiments, through the membercomputing client devices 702 a through 702 n,user 712 a,user 712 b throughuser 712 n, may communicate over theexemplary network 706 with each other and/or with other systems and/or devices coupled to thenetwork 706. As shown inFIG. 7 ,exemplary server devices processor 705 andprocessor 714, respectively, as well asmemory 717 andmemory 716, respectively. In some embodiments, theserver devices network 706. In some embodiments, one or moremember computing devices 702 a through 702 n may be mobile clients. - In some embodiments, at least one database of
exemplary databases - In some embodiments, the exemplary inventive computer-based systems/platforms, the exemplary inventive computer-based devices, and/or the exemplary inventive computer-based components of the present disclosure may be specifically configured to operate in a cloud computing/
architecture 725 such as, but not limiting to: infrastructure a service (IaaS) 910, platform as a service (PaaS) 908, and/or software as a service (SaaS) 906 using a web browser, mobile app, thin client, terminal emulator orother endpoint 904.FIGS. 8 and 9 illustrate schematics of exemplary implementations of the cloud computing/architecture(s) in which the exemplary inventive computer-based systems for event request permission via a workflow service of a blockchain environment of the present disclosure may be specifically configured to operate. - It is understood that at least one aspect/functionality of various embodiments described herein can be performed in real-time and/or dynamically. As used herein, the term “real-time” is directed to an event/action that can occur instantaneously or almost instantaneously in time when another event/action has occurred. For example, the “real-time processing,” “real-time computation,” and “real-time execution” all pertain to the performance of a computation during the actual time that the related physical process (e.g., a user interacting with an application on a mobile device) occurs, in order that results of the computation can be used in guiding the physical process.
- As used herein, the term “dynamically” and term “automatically,” and their logical and/or linguistic relatives and/or derivatives, mean that certain events and/or actions can be triggered and/or occur without any human intervention. In some embodiments, events and/or actions in accordance with the present disclosure can be in real-time and/or based on a predetermined periodicity of at least one of: nanosecond, several nanoseconds, millisecond, several milliseconds, second, several seconds, minute, several minutes, hourly, several hours, daily, several days, weekly, monthly, etc.
- The material disclosed herein may be implemented in software or firmware or a combination of them or as instructions stored on a machine-readable medium, which may be read and executed by one or more processors. A machine-readable medium may include any medium and/or mechanism for storing or transmitting information in a form readable by a machine (e.g., a computing device). For example, a machine-readable medium may include read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical, or other forms of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.), and others.
- As used herein, the terms “computer engine” and “engine” identify at least one software component and/or a combination of at least one software component and at least one hardware component which are designed/programmed/configured to manage/control other software and/or hardware components (such as the libraries, software development kits (SDKs), objects, etc.).
- Examples of hardware elements may include processors, microprocessors, circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), logic gates, registers, semiconductor device, chips, microchips, chip sets, and so forth. In some embodiments, the one or more processors may be implemented as a Complex Instruction Set Computer (CISC) or Reduced Instruction Set Computer (RISC) processors; x86 instruction set compatible processors, multi-core, or any other microprocessor or central processing unit (CPU). In various implementations, the one or more processors may be dual-core processor(s), dual-core mobile processor(s), and so forth.
- Computer-related systems, computer systems, and systems, as used herein, include any combination of hardware and software. Examples of software may include software components, programs, applications, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computer code, computer code segments, words, values, symbols, or any combination thereof. Determining whether an embodiment is implemented using hardware elements and/or software elements may vary in accordance with any number of factors, such as desired computational rate, power levels, heat tolerances, processing cycle budget, input data rates, output data rates, memory resources, data bus speeds and other design or performance constraints.
- One or more aspects of at least one embodiment may be implemented by representative instructions stored on a machine-readable medium which represents various logic within the processor, which when read by a machine causes the machine to fabricate logic to perform the techniques described herein. Such representations, known as “IP cores,” may be stored on a tangible, machine readable medium and supplied to various customers or manufacturing facilities to load into the fabrication machines that make the logic or processor. Of note, various embodiments described herein may, of course, be implemented using any appropriate hardware and/or computing software languages (e.g., C++, Objective-C, Swift, Java, JavaScript, Python, Perl, QT, etc.).
- In some embodiments, one or more of illustrative computer-based systems or platforms of the present disclosure may include or be incorporated, partially or entirely into at least one personal computer (PC), laptop computer, ultra-laptop computer, tablet, touch pad, portable computer, handheld computer, palmtop computer, personal digital assistant (PDA), cellular telephone, combination cellular telephone/PDA, television, smart device (e.g., smart phone, smart tablet or smart television), mobile internet device (MID), messaging device, data communication device, and so forth.
- In some embodiments, as detailed herein, one or more of the computer-based systems of the present disclosure may obtain, manipulate, transfer, store, transform, generate, and/or output any digital object and/or data unit (e.g., from inside and/or outside of a particular application) that can be in any suitable form such as, without limitation, a file, a contact, a task, an email, a message, a map, an entire application (e.g., a calculator), data points, and other suitable data. In some embodiments, as detailed herein, one or more of the computer-based systems of the present disclosure may be implemented across one or more of various computer platforms such as, but not limited to: (1) FreeBSD, NetBSD, OpenBSD; (2) Linux; (3) Microsoft Windows™; (4) OpenVMS™; (5) OS X (MacOS™); (6) UNIX™; (7) Android; (8) iOS™; (9) Embedded Linux; (10) Tizen™; (11) WebOS™; (12) Adobe AIR™; (13) Binary Runtime Environment for Wireless (BREW™); (14) Cocoa™ (API); (15) Cocoa™ Touch; (16) Java™ Platforms; (17) JavaFX™; (18) QNX™; (19) Mono; (20) Google Blink; (21) Apple WebKit; (22) Mozilla Gecko™; (23) Mozilla XUL; (24) .NET Framework; (25) Silverlight™; (26) Open Web Platform; (27) Oracle Database; (28) Qt™; (29) SAP NetWeaver™; (30) Smartface™; (31) Vexi™; (32) Kubernetes™ and (33) Windows Runtime (WinRT™) or other suitable computer platforms or any combination thereof. In some embodiments, illustrative computer-based systems or platforms of the present disclosure may be configured to utilize hardwired circuitry that may be used in place of or in combination with software instructions to implement features consistent with principles of the disclosure. Thus, implementations consistent with principles of the disclosure are not limited to any specific combination of hardware circuitry and software. For example, various embodiments may be embodied in many different ways as a software component such as, without limitation, a stand-alone software package, a combination of software packages, or it may be a software package incorporated as a “tool” in a larger software product.
- For example, exemplary software specifically programmed in accordance with one or more principles of the present disclosure may be downloadable from a network, for example, a website, as a stand-alone product or as an add-in package for installation in an existing software application. For example, exemplary software specifically programmed in accordance with one or more principles of the present disclosure may also be available as a client-server software application, or as a web-enabled software application. For example, exemplary software specifically programmed in accordance with one or more principles of the present disclosure may also be embodied as a software package installed on a hardware device.
- In some embodiments, illustrative computer-based systems or platforms of the present disclosure may be configured to handle numerous concurrent users that may be, but is not limited to, at least 100 (e.g., but not limited to, 100-999), at least 1,000 (e.g., but not limited to, 1,000-9,999), at least 10,000 (e.g., but not limited to, 10,000-99,999), at least 100,000 (e.g., but not limited to, 100,000-999,999), at least 1,000,000 (e.g., but not limited to, 1,000,000-9,999,999), at least 10,000,000 (e.g., but not limited to, 10,000,000-99,999,999), at least 100,000,000 (e.g., but not limited to, 100,000,000-999,999,999), at least 1,000,000,000 (e.g., but not limited to, 1,000,000,000-999,999,999,999), and so on.
- In some embodiments, illustrative computer-based systems or platforms of the present disclosure may be configured to output to distinct, specifically programmed graphical user interface implementations of the present disclosure (e.g., a desktop, a web app., etc.). In various implementations of the present disclosure, a final output may be displayed on a displaying screen which may be, without limitation, a screen of a computer, a screen of a mobile device, or the like. In various implementations, the display may be a holographic display. In various implementations, the display may be a transparent surface that may receive a visual projection. Such projections may convey various forms of information, images, or objects. For example, such projections may be a visual overlay for a mobile augmented reality (MAR) application.
- As used herein, the term “mobile device,” or the like, may refer to any portable electronic device that may or may not be enabled with location tracking functionality (e.g., MAC address, Internet Protocol (IP) address, or the like). For example, a mobile electronic device can include, but is not limited to, a mobile phone, Personal Digital Assistant (PDA), Blackberry™, Pager, Smartphone, or any other reasonable mobile electronic device.
- As used herein, terms “cloud,” “Internet cloud,” “cloud computing,” “cloud architecture,” and similar terms correspond to at least one of the following: (1) a large number of computers connected through a real-time communication network (e.g., Internet); (2) providing the ability to run a program or application on many connected computers (e.g., physical machines, virtual machines (VMs)) at the same time; (3) network-based services, which appear to be provided by real server hardware, and are in fact served up by virtual hardware (e.g., virtual servers), simulated by software running on one or more real machines (e.g., allowing to be transferred around and scaled up (or down) on the fly without affecting the end user).
- In some embodiments, the illustrative computer-based systems or platforms of the present disclosure may be configured to securely store and/or transmit data by utilizing one or more of encryption techniques (e.g., private/public key pair, Triple Data Encryption Standard (3DES), block cipher algorithms (e.g., IDEA, RC2, RC5, CAST and Skipjack), cryptographic hash algorithms (e.g., MD5, RIPEMD-160, RTR0, SHA-1, SHA-2, Tiger (TTH),WHIRLPOOL, RNGs).
- As used herein, the term “user” shall have a meaning of at least one user. In some embodiments, the terms “user”, “subscriber” “consumer” or “customer” should be understood to refer to a user of an application or applications as described herein and/or a consumer of data supplied by a data provider. By way of example, and not limitation, the terms “user” or “subscriber” can refer to a person who receives data provided by the data or service provider over the Internet in a browser session or can refer to an automated software application which receives the data and stores or processes the data.
- The aforementioned examples are, of course, illustrative, and not restrictive.
- At least some aspects of the present disclosure will now be described with reference to the following numbered clauses.
- 1. A method including:
-
- receiving, by at least one processor, from a first node associated with a first token storage, a transfer event request for a movement of a number of tokens relative to the first token storage via a distributed network;
- where the distributed network includes a blockchain;
- accessing, by at least one processor, an event log record database;
- where the event log record database includes a transfer event logged token number indicating a total logged number of tokens, including:
- i) a total number of tokens of pending transfer event request records with respect to the first token storage, and
- ii) a total number of tokens in the first token storage;
- where the event log record database includes a transfer event logged token number indicating a total logged number of tokens, including:
- determining, by the at least one processor, a first permission for generating a transfer event request record to the event log record database based on:
- the transfer event request and
- the number of the tokens exceeding the total logged number of tokens as logged in the event log record database;
- determining, by the at least one processor, an updated total logged number of tokens by generating the transfer event request record to the pending transfer event request records of the event log record database so as to remove the number of tokens from the total number of tokens of the pending event request records;
- transmitting, by the at least one processor, the transfer event request to the distributed network;
- utilizing, by the at least one processor, at least one smart contract to cause the number of the tokens to be transferred on the blockchain based at least in part on the transfer event request and the event log record;
- receiving, by the at least one processor, a blockchain write permission determination by the distributed network for the movement of the number of tokens on the distributed network; and
- determining, by the at least one processor, an updated total number of tokens in the first token storage based at least in part on the transfer event log record and the blockchain write permission determination.
2. A system including: - at least one processor in communication with at least one storage device, where the at least one processor is configured to access software instructions in the at least one storage device that cause the at least one processor to perform steps to:
- receive from a first node associated with a first token storage, a transfer event request for a movement of a number of tokens relative to the first token storage via a distributed network;
- where the distributed network includes a blockchain;
- access an event log record database;
- where the event log record database includes transfer event logged token number indicating a total logged number of tokens including:
- i) a total number of tokens of pending transfer event request records with respect to the first token storage, and
- ii) a total number of tokens in the first token storage;
- where the event log record database includes transfer event logged token number indicating a total logged number of tokens including:
- determine a first permission for generating a transfer event request record to the event log record database based on:
- the transfer event request and
- the number of the tokens exceeding the total logged number of tokens as logged in the event log record database;
- determine an updated total logged number of tokens by generating the transfer event request record to the pending transfer event request records of the event log record database so as to remove the number of tokens from the total number of tokens of the pending event request records;
- transmit the transfer event request to the distributed network;
- utilize at least one smart contract to cause the number of the tokens to be transferred on the blockchain based at least in part on the transfer event request and the event log record;
- receive a blockchain write permission determination by the distributed network for the movement of the number of tokens on the distributed network; and
- determine an updated total number of tokens in the first token storage based at least in part on the transfer event log record and the blockchain write permission determination.
3. The methods and/or systems as recited inclauses 1 and/or 2, further including:
- receive from a first node associated with a first token storage, a transfer event request for a movement of a number of tokens relative to the first token storage via a distributed network;
- transmitting, by the at least one processor, the transfer event request to at least one second node on the distributed network;
- where the at least one processor includes at least one approver node of a plurality of nodes in the distributed network; and
- receiving, by the at least one processor, a second permission from the at least one second node approving the transfer event request.
4. The methods and/or systems as recited inclauses 1 and/or 2 and/or 3, where the at least one approver node is permissioned to make transactions requests and to approve transfer event requests.
5. The methods and/or systems as recited inclauses 1 and/or 2, where the first node includes a maker node permissioned to make transfer event requests.
6. The methods and/or systems as recited inclauses 1 and/or 2, further including: - receiving, by the at least one processor, the transfer event request including a token deposit request;
- where the token deposit request is for a deposit of the number of tokens into the first token storage;
- generating, by the at least one processor, at least one asset deposit operation instruction to an asset database;
- where the at least one asset deposit operation instruction causes the asset database to add an asset quantity to a first user account;
- where the asset quantity is associated with the number of tokens;
- where the first user account is associated with the first token storage; and
- utilizing, by the at least one processor, the at least one smart contract to cause the number of the tokens to be added to the first token storage.
7. The methods and/or systems as recited inclauses 1 and/or 2 and/or 6, further including utilizing, by the at least one processor, the at least one smart contract to cause the number of the tokens to be minted on the blockchain based at least in part on the transfer event request so as to and the number of tokens to the first token storage.
8. The methods and/or systems as recited inclauses 1 and/or 2, further including: - receiving, by the at least one processor, the transfer event request including a token redeem request;
- where the token redeem request is for a redemption of tokens from the first token storage;
- generating, by the at least one processor, at least one asset redeem operation instruction to an asset database;
- where the at least one asset redeem operation instruction causes the asset database to remove an asset quantity to a first user account;
- where the asset quantity is associated with the number of tokens;
- where the first user account is associated with the first token storage; and
- utilizing, by the at least one processor, the at least one smart contract to cause the number of the tokens to be removed to the first token storage.
9. The methods and/or systems as recited inclauses 1 and/or 2 and/or 8, further including utilizing, by the at least one processor, the at least one smart contract to cause the number of the tokens to be burned from the blockchain based at least in part on the transfer event request so as to remove the number of tokens to the first token storage.
10. The methods and/or systems as recited inclauses 1 and/or 2, further including: - receiving, by the at least one processor, the transfer event request including a token send request;
- where the token send request is for a transfer of tokens from the first token storage to a second token storage or a second node on the distributed network;
- generating, by the at least one processor, at least one asset transfer operation instruction to an asset database;
- where the at least one asset transfer operation instruction causes the asset database to:
- remove an asset quantity to a first user account and
- add the asset quantity to a second user account;
- where the asset quantity is associated with the number of tokens;
- where the first user account is associated with the first token storage;
- where the second user account is associated with the second token storage;
- where the at least one asset transfer operation instruction causes the asset database to:
- utilizing, by the at least one processor, the at least one smart contract to cause the number of the tokens to be removed to the first token storage; and
- utilizing, by the at least one processor, the at least one second smart contract to cause the number of the tokens to be added to the second token storage.
11. The methods and/or systems as recited inclauses 1 and/or 2 and/or 10, further including: - utilizing, by the at least one processor, the at least one smart contract to cause the number of the tokens to be burned from the blockchain based at least in part on the transfer event request so as to remove the number of tokens to the first token storage; and
- further including utilizing, by the at least one processor, the at least one second smart contract to cause the number of the tokens to be minted on the blockchain based at least in part on the transfer event request so as to add the number of tokens to the second token storage.
12. The methods and/or systems as recited inclauses 1 and/or 2, further including instructing, by the at least one processor, at least one account database to perform a monetary movement in at least one account associated with the first token storage based at least in part on the movement of the number of tokens relative to the first token via the distributed network.
- receiving, by at least one processor, from a first node associated with a first token storage, a transfer event request for a movement of a number of tokens relative to the first token storage via a distributed network;
- Publications cited throughout this document are hereby incorporated by reference in their entirety. While one or more embodiments of the present disclosure have been described, it is understood that these embodiments are illustrative only, and not restrictive, and that many modifications may become apparent to those of ordinary skill in the art, including that various embodiments of the inventive methodologies, the illustrative systems and platforms, and the illustrative devices described herein can be utilized in any combination with each other. Further still, the various steps may be carried out in any desired order (and any desired steps may be added and/or any desired steps may be eliminated).
Claims (20)
1. A method comprising:
receiving, by a processor, from a first node associated with a first token storage, a transfer event request for a movement of a requested token amount relative to the first token storage via a distributed network, the requested token amount being associated with at least one token;
accessing, by the processor, a pending transfer event log configured to queue a plurality of pending transfer event requests associated with the first token storage, each pending transfer event request within the pending transfer event log being associated with at least one pending token;
modifying, by the processor, based on the access, the pending transfer event log, the modification comprising adding the transfer event request to a queue of the plurality of pending transfer event requests;
locking, by the processor, the at least one token associated with the transfer event request upon the transfer event request being added to the queue of the pending transfer event log; and
transmitting, by the processor, the transfer event request to the distributed network, the transmission of the transfer event request causing the distributed network to execute the movement of the at least one token.
2. The method of claim 1 , further comprising:
modifying, by the processor, the first token storage based on said locking of the at least one token, the modification comprising applying a token lock to the at least one token, the token lock preventing a subsequent transfer event request from being associated with the at least one token.
3. The method of claim 1 , wherein the at least one pending token of each pending transfer event request comprising a token lock that prevents a subsequent transfer event request from being associated with the at least one pending token of each pending transfer event request.
4. The method of claim 1 , further comprising:
determining, by the processor, that the at least one token of the transfer event request is not subject to the token lock, wherein the modification of the pending transfer event log is performed based on the determination.
5. The method of claim 1 , the locking of the at least one token further comprising:
applying a token lock to at least a portion of other tokens within the first token storage.
6. The method of claim 1 , further comprising:
determining, by the processor, a write permission related to the transfer event request; and
unlocking the at least one token based on the write permission, the unlocking enabling the transmission of the transfer event request to the distributed network.
7. The method of claim 1 , further comprising:
identifying, by the processor, a denial instruction related to the transfer event request; and
unlocking the at least one token based on the denial instruction, the unlocking enabling a subsequent transfer event request in association with the at least one token via the first token storage.
8. The method of claim 1 , further comprising:
tracking, by the processor, a status of the at least one token; and
synchronizing, by the processor, a source of truth (SOT) associated with the distributed network based on the tracked status.
9. The method of claim 1 , wherein the distributed network is a blockchain.
10. A non-transitory computer-readable storage medium tangibly encoded with computer-executable instructions, that when executed by the processor, perform a method comprising:
receiving, by the processor, from a first node associated with a first token storage, a transfer event request for a movement of a requested token amount relative to the first token storage via a distributed network, the requested token amount being associated with at least one token;
accessing, by the processor, a pending transfer event log configured to queue a plurality of pending transfer event requests associated with the first token storage, each pending transfer event request within the pending transfer event log being associated with at least one pending token;
modifying, by the processor, based on the access, the pending transfer event log, the modification comprising adding the transfer event request to a queue of the plurality of pending transfer event requests;
locking, by the processor, the at least one token associated with the transfer event request upon the transfer event request being added to the queue of the pending transfer event log; and
transmitting, by the processor, the transfer event request to the distributed network, the transmission of the transfer event request causing the distributed network to execute the movement of the at least one token.
11. The non-transitory computer-readable storage medium of claim 10 , further comprising:
modifying, by the processor, the first token storage based on said locking of the at least one token, the modification comprising applying a token lock to the at least one token, the token lock preventing a subsequent transfer event request from being associated with the at least one token.
12. The non-transitory computer-readable storage medium of claim 10 , further comprising:
determining, by the processor, that the at least one token of the transfer event request is not subject to the token lock, wherein the modification of the pending transfer event log is performed based on the determination.
13. The non-transitory computer-readable storage medium of claim 10 , further comprising:
determining, by the processor, a write permission related to the transfer event request; and
unlocking the at least one token based on the write permission, the unlocking enabling the transmission of the transfer event request to the distributed network.
14. The non-transitory computer-readable storage medium of claim 10 , further comprising:
identifying, by the processor, a denial instruction related to the transfer event request; and
unlocking the at least one token based on the denial instruction, the unlocking enabling a subsequent transfer event request in association with the at least one token via the first token storage.
15. The non-transitory computer-readable storage medium of claim 10 , further comprising:
tracking, by the processor, a status of the at least one token; and
synchronizing, by the processor, a source of truth (SOT) associated with the distributed network based on the tracked status.
16. A system comprising:
a processor configured to:
receive, from a first node associated with a first token storage, a transfer event request for a movement of a requested token amount relative to the first token storage via a distributed network, the requested token amount being associated with at least one token;
access a pending transfer event log configured to queue a plurality of pending transfer event requests associated with the first token storage, each pending transfer event request within the pending transfer event log being associated with at least one pending token;
modify, based on the access, the pending transfer event log, the modification comprising adding the transfer event request to a queue of the plurality of pending transfer event requests;
lock the at least one token associated with the transfer event request upon the transfer event request being added to the queue of the pending transfer event log; and
transmit the transfer event request to the distributed network, the transmission of the transfer event request causing the distributed network to execute the movement of the at least one token.
17. The system of claim 16 , wherein the processor is further configured to:
modify the first token storage based on said locking of the at least one token, the modification comprising applying a token lock to the at least one token, the token lock preventing a subsequent transfer event request from being associated with the at least one token.
18. The system of claim 16 , wherein the processor is further configured to:
determine a write permission related to the transfer event request; and
unlock the at least one token based on the write permission, the unlock enabling the transmission of the transfer event request to the distributed network.
19. The system of claim 16 , wherein the processor is further configured to:
identify a denial instruction related to the transfer event request; and
unlock the at least one token based on the denial instruction, the unlock enabling a subsequent transfer event request in association with the at least one token via the first token storage.
20. The system of claim 16 , wherein the processor is further configured to:
track a status of the at least one token; and
synchronize a source of truth (SOT) associated with the distributed network based on the tracked status.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/951,884 US11636070B1 (en) | 2021-10-28 | 2022-09-23 | Systems and methods for locking queued distributed network tokens |
US18/164,441 US11755542B2 (en) | 2021-10-28 | 2023-02-03 | Systems and methods for locking queued distributed network tokens |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/513,455 US11379429B1 (en) | 2021-10-28 | 2021-10-28 | Computer-based systems configured for permission events management on a blockchain and methods of use thereof |
US17/856,061 US11494343B1 (en) | 2021-10-28 | 2022-07-01 | Computer-based systems configured to utilize a supervisory node to approve distributed network events and methods of use thereof |
US17/951,884 US11636070B1 (en) | 2021-10-28 | 2022-09-23 | Systems and methods for locking queued distributed network tokens |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/856,061 Continuation US11494343B1 (en) | 2021-10-28 | 2022-07-01 | Computer-based systems configured to utilize a supervisory node to approve distributed network events and methods of use thereof |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/164,441 Continuation US11755542B2 (en) | 2021-10-28 | 2023-02-03 | Systems and methods for locking queued distributed network tokens |
Publications (2)
Publication Number | Publication Date |
---|---|
US11636070B1 US11636070B1 (en) | 2023-04-25 |
US20230136590A1 true US20230136590A1 (en) | 2023-05-04 |
Family
ID=82261361
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/513,455 Active US11379429B1 (en) | 2021-10-28 | 2021-10-28 | Computer-based systems configured for permission events management on a blockchain and methods of use thereof |
US17/856,061 Active US11494343B1 (en) | 2021-10-28 | 2022-07-01 | Computer-based systems configured to utilize a supervisory node to approve distributed network events and methods of use thereof |
US17/856,002 Active US11494342B1 (en) | 2021-10-28 | 2022-07-01 | Computer-based systems configured to utilize an event log to pre-authorize distributed network events and methods of use thereof |
US17/951,884 Active US11636070B1 (en) | 2021-10-28 | 2022-09-23 | Systems and methods for locking queued distributed network tokens |
US17/951,807 Active US11645240B1 (en) | 2021-10-28 | 2022-09-23 | Systems and methods for distributed ledger token verification for distributed ledger event permissioning |
US18/164,378 Active US11768808B2 (en) | 2021-10-28 | 2023-02-03 | Systems and methods for distributed ledger token verification for distributed ledger event permissioning |
US18/164,441 Active US11755542B2 (en) | 2021-10-28 | 2023-02-03 | Systems and methods for locking queued distributed network tokens |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/513,455 Active US11379429B1 (en) | 2021-10-28 | 2021-10-28 | Computer-based systems configured for permission events management on a blockchain and methods of use thereof |
US17/856,061 Active US11494343B1 (en) | 2021-10-28 | 2022-07-01 | Computer-based systems configured to utilize a supervisory node to approve distributed network events and methods of use thereof |
US17/856,002 Active US11494342B1 (en) | 2021-10-28 | 2022-07-01 | Computer-based systems configured to utilize an event log to pre-authorize distributed network events and methods of use thereof |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/951,807 Active US11645240B1 (en) | 2021-10-28 | 2022-09-23 | Systems and methods for distributed ledger token verification for distributed ledger event permissioning |
US18/164,378 Active US11768808B2 (en) | 2021-10-28 | 2023-02-03 | Systems and methods for distributed ledger token verification for distributed ledger event permissioning |
US18/164,441 Active US11755542B2 (en) | 2021-10-28 | 2023-02-03 | Systems and methods for locking queued distributed network tokens |
Country Status (2)
Country | Link |
---|---|
US (7) | US11379429B1 (en) |
WO (1) | WO2023075955A1 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230043731A1 (en) * | 2021-08-06 | 2023-02-09 | Salesforce.Com, Inc. | Database system public trust ledger architecture |
JP2023039527A (en) * | 2021-09-09 | 2023-03-22 | グローリー株式会社 | Cash depositing method and cash depositing system |
US11989726B2 (en) | 2021-09-13 | 2024-05-21 | Salesforce, Inc. | Database system public trust ledger token creation and exchange |
US20230298064A1 (en) * | 2022-01-26 | 2023-09-21 | Seek Xr, Inc. | Systems and methods for facilitating redemption of unique digital asset utility |
WO2023205480A1 (en) * | 2022-04-22 | 2023-10-26 | Nike Innovate C.V. | Cryptographic digital asset architecture with selectively-lockable dynamic evolution |
US20230368191A1 (en) * | 2022-05-10 | 2023-11-16 | Salesforce, Inc. | Database representation of a public trust ledger |
US11797365B1 (en) * | 2022-12-19 | 2023-10-24 | Tassat Group Inc. | Computerized systems and methods for configuration of network interfaces of a distributed network |
CN117151712B (en) * | 2023-10-26 | 2024-03-26 | 腾讯科技(深圳)有限公司 | Blockchain transaction processing method, device, computer equipment and storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190044714A1 (en) * | 2017-08-04 | 2019-02-07 | Truss Financial, LLC | Secure data distribution protocol using blockchains |
US20210286936A1 (en) * | 2020-03-13 | 2021-09-16 | Zensar Technologies Limited | System and method for transforming a contract into a digital contract |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10318938B2 (en) | 2016-02-22 | 2019-06-11 | Bank Of America Corporation | System for routing of process authorization and settlement to a user in process data network based on specified parameters |
US10475030B2 (en) | 2016-02-22 | 2019-11-12 | Bank Of America Corporation | System for implementing a distributed ledger across multiple network nodes |
EP3642775A4 (en) | 2017-06-22 | 2021-03-24 | JPMorgan Chase Bank, N.A. | System and method for implementing an interbank information network |
EP3646213B1 (en) | 2017-06-27 | 2022-12-21 | JPMorgan Chase Bank, N.A. | System and method for using a distributed ledger gateway |
US11461777B2 (en) | 2017-12-19 | 2022-10-04 | Tbcasoft, Inc. | Cross-ledger transfers between distributed ledgers |
EP3811317A1 (en) | 2018-06-21 | 2021-04-28 | 9th Gear Technologies, Inc. | Blockchain-based method, apparatus, and system to accelerate transaction processing |
US11036713B2 (en) * | 2018-06-29 | 2021-06-15 | International Business Machines Corporation | Sending notifications in a multi-client database environment |
US11238444B2 (en) * | 2019-11-26 | 2022-02-01 | Flexa Network Inc. | Secure and trusted cryptocurrency acceptance system |
US12118613B2 (en) | 2020-01-07 | 2024-10-15 | Humbl, Inc. | System and method for transferring currency using blockchain |
EP4091117A1 (en) | 2020-01-16 | 2022-11-23 | JPMorgan Chase Bank, N.A. | Systems ands method for conducting and managing cryptocurrency transactions |
US11599858B2 (en) | 2020-05-07 | 2023-03-07 | International Business Machines Corporation | Blockchain settlement network |
WO2022047286A1 (en) | 2020-08-28 | 2022-03-03 | Jpmorgan Chase Bank, N.A. | Distributed ledger interoperability services |
US20220172198A1 (en) | 2020-11-28 | 2022-06-02 | International Business Machines Corporation | Real-time blockchain settlement network |
US11288669B1 (en) * | 2020-12-08 | 2022-03-29 | Project Noa, Inc. | Frictionless token based blockchain |
-
2021
- 2021-10-28 US US17/513,455 patent/US11379429B1/en active Active
-
2022
- 2022-07-01 US US17/856,061 patent/US11494343B1/en active Active
- 2022-07-01 US US17/856,002 patent/US11494342B1/en active Active
- 2022-09-21 WO PCT/US2022/044248 patent/WO2023075955A1/en unknown
- 2022-09-23 US US17/951,884 patent/US11636070B1/en active Active
- 2022-09-23 US US17/951,807 patent/US11645240B1/en active Active
-
2023
- 2023-02-03 US US18/164,378 patent/US11768808B2/en active Active
- 2023-02-03 US US18/164,441 patent/US11755542B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190044714A1 (en) * | 2017-08-04 | 2019-02-07 | Truss Financial, LLC | Secure data distribution protocol using blockchains |
US20210286936A1 (en) * | 2020-03-13 | 2021-09-16 | Zensar Technologies Limited | System and method for transforming a contract into a digital contract |
Also Published As
Publication number | Publication date |
---|---|
WO2023075955A1 (en) | 2023-05-04 |
US20230138825A1 (en) | 2023-05-04 |
US11645240B1 (en) | 2023-05-09 |
US11636070B1 (en) | 2023-04-25 |
US11379429B1 (en) | 2022-07-05 |
US11768808B2 (en) | 2023-09-26 |
US20230177020A1 (en) | 2023-06-08 |
US11494342B1 (en) | 2022-11-08 |
US11755542B2 (en) | 2023-09-12 |
US20230185771A1 (en) | 2023-06-15 |
US11494343B1 (en) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11636070B1 (en) | Systems and methods for locking queued distributed network tokens | |
US10708042B1 (en) | Computer-based systems including blockchains with differential permissioning and vaulting of tokens and token exchanges and methods of use thereof | |
CN111095324A (en) | Performing parallel execution of transactions in a distributed ledger system | |
US20220198394A1 (en) | Secured data workflow integration and methods thereof | |
US20140089156A1 (en) | Addresses in financial systems | |
US11882205B2 (en) | Systems for multi-blockchain, multi-token interoperability via common blockchain integration | |
US20230208644A1 (en) | Systems configured for credential exchange with a dynamic cryptographic code and methods thereof | |
US20220253837A1 (en) | Systems for hybrid account interactions and methods of use thereof | |
US20240202054A1 (en) | Computerized systems and methods for configuration of network interfaces of a distributed network | |
US20230246852A1 (en) | Computer-based platforms and systems for asynchronous parallel network operations and methods of use thereof | |
US20220311595A1 (en) | Reducing transaction aborts in execute-order-validate blockchain models | |
US11457085B2 (en) | Computer-based systems and/or computing devices configured for push-based transmissions using the target as a system of record | |
US11611438B2 (en) | Computer network systems for cryptographically-secured, token-based operations and methods of use thereof | |
US20230153905A1 (en) | Computer-based systems and methods configured for cryptographic event coordination | |
US20230353575A1 (en) | Cloud service-based secured data workflow integration and methods thereof | |
US20230239150A1 (en) | Computer-based systems configured for authenticating based on generated virtual tokens and methods of use thereof | |
US20230283489A1 (en) | Method, controller, and computer-readable medium for network addressing on a distributed crypto ledger network | |
US20230246803A1 (en) | Systems for multi-blockchain, multi-token interoperability via common blockchain integration | |
WO2023150659A1 (en) | Computer-based platforms and systems for asynchronous parallel network operations and methods of use thereof | |
DE202022106060U1 (en) | Computer-based systems configured to manage permissions events on a blockchain | |
AU2019203761A1 (en) | Addresses in financial systems | |
AU2011369348A1 (en) | Addresses in financial systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |