Method, Apparatus and System for Transactions - Patent application
The system allows users to specify filter types for blockchain transactions, dynamically processing and notifying them of relevant transactions, addressing the inefficiency of manual monitoring and improving the usability of blockchain data by filtering out irrelevant information.
Patent Information
- Application Number
- JP2023504749
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-08-20
- Filing Date
- 2021-06-08
- Publication Date
- 2025-01-29
- Estimated Expiration
- 2041-06-08
AI Technical Summary
Users of blockchain technology face challenges in extracting relevant information from the vast amount of data due to the lack of efficient filtering mechanisms, necessitating manual monitoring of transactions which is cumbersome and inefficient.
A system and method that allows users to specify filter types representing their interests, dynamically processing blockchain transactions in real-time or batches, and notifying them about compatible transactions using a combination of field, comparison, and logical operators.
Enables users to accurately receive transaction notifications that are relevant to their interests, reducing the need for manual processing and enhancing the usability of blockchain data by filtering out irrelevant information.
Smart Images

Figure 0007624057000001 
Figure 0007624057000002 
Figure 0007624057000003
Abstract
Description
[Technical field]
[0001] TECHNICAL FIELD Embodiments of the present disclosure relate to transactions, and more particularly, to methods, apparatus and systems for monitoring transactions. [Background technology]
[0002] A digital distributed ledger generally includes multiple computers, nodes, servers, etc., each of which holds a copy of the ledger and collectively approves entries (additions) to the ledger. Blockchain is also a type of digital distributed ledger, and is usually managed by a peer-to-peer network. Each device in the peer-to-peer network adheres to a common protocol for communication and for creating and verifying new blocks on the blockchain. Blockchain is highly resistant to changes or tampering of transactions recorded in blocks, because the blocks that compose it are encrypted and unauthorized access to a significant number of nodes in the network is required to change or tamper with a transaction. Due to this resistance, blockchain technology has already proven to be particularly suitable when unrelated parties wish to transact. Summary of the Invention [Problem to be solved by the invention]
[0003] SUMMARY OF THE DISCLOSURE In view of the above, it is an object of the present disclosure to provide a method and apparatus. [Means for solving the problem]
[0004] A first exemplary embodiment of the present disclosure provides a monitoring method. The method includes: monitoring, by a processor, at least one node of a plurality of nodes of at least one digital distributed ledger system of a plurality of digital distributed ledger systems; and receiving, by the processor, a filter expression from a user equipment (UE) including search parameters for identifying future transactions on the at least one digital distributed ledger system of the plurality of digital distributed ledger systems. The method further includes detecting, by the processor, a plurality of transactions on the at least one digital distributed ledger system of the plurality of digital distributed ledger systems at the at least one node of the plurality of nodes; and determining, by the processor, that at least one transaction of the plurality of transactions on the at least one digital distributed ledger system of the plurality of digital distributed ledger systems at the at least one node of the plurality of nodes has a correspondence with the filter expression. The method also includes storing, by the processor, the at least one transaction of the plurality of transactions.
[0005] A second exemplary embodiment of the present disclosure provides an apparatus, comprising: at least one processor; and at least one memory storing computer program instructions executable by the at least one processor, wherein the at least one memory having the computer program instructions and the at least one processor are configured to cause the apparatus to at least perform a step of monitoring at least one node of a plurality of nodes of at least one digital distributed ledger system of a plurality of digital distributed ledger systems, and further cause the apparatus to perform a step of receiving, from a user equipment (UE), a filter expression including search parameters for identifying future transactions on the at least one digital distributed ledger system of the plurality of digital distributed ledger systems, and detecting a plurality of transactions on the at least one digital distributed ledger system of the plurality of digital distributed ledger systems at the at least one node of the plurality of nodes. The apparatus is further configured to perform at least the steps of determining that at least one transaction among the plurality of transactions on the at least one digital distributed ledger system among the plurality of digital distributed ledger systems at at least one node among the plurality of nodes has a corresponding relationship with the filter expression, and sending first data to the UE, the first data including at least one alert for notifying a user of the UE about the at least one transaction among the plurality of transactions.
[0006] A third exemplary embodiment of the present disclosure provides a non-transitory computer readable medium having tangibly stored thereon computer program instructions that, when executed by a processor, cause the processor to at least perform the steps of monitoring at least one node of a plurality of nodes of at least one digital distributed ledger system of a plurality of digital distributed ledger systems, and further cause the processor to receive from a user equipment (UE) a filter expression including search parameters for identifying future transactions on the at least one digital distributed ledger system of the plurality of digital distributed ledger systems, and detecting a plurality of transactions on the at least one digital distributed ledger system of the plurality of digital distributed ledger systems at the at least one node of the plurality of nodes. The processor is further configured to determine that at least one transaction of the plurality of transactions on the at least one digital distributed ledger system of the plurality of digital distributed ledger systems at at least one node of the plurality of nodes has a correspondence relationship with the filter expression, and send first data to the UE, the first data including at least one alert for notifying a user of the UE about the at least one transaction of the plurality of transactions.
[0007] A fourth exemplary embodiment of the present disclosure provides a method, the method including: receiving, by a processor, a filter expression from a user equipment (UE) including search parameters for identifying future transactions on a digital distributed ledger system, determining, by the processor, that at least one transaction of a plurality of transactions from a blockchain data store has a correspondence with the filter expression, and transmitting, by the processor, the at least one transaction of the plurality of transactions to the UE.
[0008] Hereinafter, the embodiments of the present disclosure will be described, but it should be understood that the present disclosure is not limited to the embodiments described in the present description, and various modifications can be made without departing from the basic principles of the present disclosure. Therefore, the scope of the present disclosure should be limited only by the scope of the attached claims. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is a block diagram illustrating an example system suitable for use in implementing exemplary embodiments of the present disclosure. [Diagram 2] Exemplary logic flow diagram suitable for use in implementing exemplary embodiments of the present disclosure. [Figure 2A] FIG. 1 is a simplified logic flow diagram suitable for use in implementing exemplary embodiments of the present disclosure. [Diagram 3] 1 is an exemplary signal communication diagram suitable for use in implementing exemplary embodiments of the present disclosure; [Figure 4] Other exemplary signal communication diagrams suitable for use in implementing exemplary embodiments of the present disclosure. [Diagram 5] Yet another exemplary signal communication diagram suitable for use in implementing exemplary embodiments of the present disclosure. [Figure 6] 10 is an alternative exemplary signal communication diagram suitable for use in implementing exemplary embodiments of the present disclosure; [Figure 7] FIG. 11 is another alternative exemplary signal communication diagram suitable for use in implementing the exemplary embodiments of the present disclosure. [Figure 8] FIG. 11 is yet another alternative exemplary signal communication diagram suitable for use in implementing the exemplary embodiments of the present disclosure. [Figure 9] FIG. 1 illustrates an example application of a filter equation suitable for use in implementing an example embodiment of the present disclosure. [Figure 10] Illustrative logic flow diagrams according to illustrative methods or processes suitable for implementing illustrative embodiments of the present disclosure. [Figure 11] Other exemplary logic flow diagrams according to exemplary methods or processes suitable for implementing exemplary embodiments of the present disclosure. [Figure 12] Further exemplary logic flow diagrams according to exemplary methods or processes suitable for implementing exemplary embodiments of the present disclosure. [Figure 13] Other exemplary signal communication diagrams suitable for use in implementing exemplary embodiments of the present disclosure. [Figure 14] 1 is an exemplary signal communication diagram between a server and user equipment suitable for use in implementing exemplary embodiments of the present disclosure; [Figure 15] Example sequence diagram suitable for use in implementing exemplary embodiments of the present disclosure DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Each blockchain has a large amount of information and data that can be useful to users. However, the amount of information available from the blockchain is huge. As a result, users are unable to properly extract relevant information from information that is not relevant to them, which is a factor that greatly limits the usefulness of the information. Therefore, improvements are needed to increase the usefulness of blockchain transactions. An embodiment of the present disclosure can include at least one computer having a user interface. The computer can include at least one processing unit connected to some memory. The computer can include, but is not limited to, a microprocessor, a server, a desktop computer, a laptop, a smart device (such as a tablet terminal or a smartphone). The computer can include a program product including machine-readable program code. The machine-readable program code, when executed by a computer, causes the computer to perform steps. The program product can include software, which can be loaded into or accessed from a computer. The loaded software can include an application on a smart device. The software can also be accessed from a computer using a web browser or a network interface. The software may be accessed from a computer via a web browser or a network interface using the Internet, an extranet, an intranet, a hosted server, the Internet cloud, or the like.
[0011] By combining various ad-hoc and automated tasks in an orderly manner in the platform disclosed herein, technical improvements can be reliably obtained through a specific process detailed below. Furthermore, this specific automated process has unique aspects not found in the prior art, and is therefore quite different from simply providing a known (ordinary) environment for performing manual or intellectual tasks.
[0012] As described above, a large number of transactions are constantly being processed by blockchain technology. In order to be notified of transactions of interest to the user, the user himself / herself has to manually monitor all transactions. However, in an exemplary embodiment of the present invention, a system capable of solving this problem faced by the user is provided. To solve this problem, the present invention provides a system that allows the user himself / herself to specify a filter expression that represents transactions in which the user is interested. The system and software of this system can process all blockchain transactions in real time or in batches, dynamically apply the expression specified by the user to each of these transactions, and notify the user of transactions that match.
[0013] The system of the present invention is different and distinct from existing systems. Existing blockchain monitoring solutions are very restrictive. However, embodiments of the present invention allow users to create formulas that match any data in a transaction. The present invention can address the complexity and nuance of data expressed in transactions, eliminating the need for users to rely on their own manual processing to process transactions to find information or actions that are of interest to them.
[0014] Exemplary embodiments of the present invention may use an expression language to help end users target exactly the data and content they want to match and / or exclude data and content they do not want to include. Users can specify any field or combination of fields and comparison, logical, and arithmetic operators to be notified of exactly the transactions in which they are interested.
[0015] Referring now to Figure 1, a block diagram illustrating an exemplary system suitable for implementing exemplary embodiments of the present disclosure is shown. Figure 1 illustrates a system 100 comprising a computer 110 having processing and network capabilities and a database system 120 installed on the computer 110. The database system 120 may reside in memory and / or on disk and may persistently store filter expressions 132 and notification endpoints 134 specified by a user 102. The system 100 further comprises a computer readable medium 130 having an application stored thereon.
[0016] An embodiment of the system 100 includes a user 102 specified filter expression 132, a user 102 specified notification endpoint 134, a blockchain monitor 136, a filter expression processor 138, and an endpoint notifier 140, and has a connection to the Internet 142 for accessing a blockchain 150 to monitor blockchain transactions 152.
[0017] The database 120 and the software 130 can be installed and run on the computer 110. The computer 110 can be a device that performs the processing as described above. The end user 102 can connect to the computer 110 via a network connection and specify the filter expression 132 and the notification endpoint 134 stored in the database 120. If the blockchain transaction 152 matches, the blockchain transaction 152 can be processed with the filter retrieved from the database 120. On the other hand, if the blockchain transaction 152 does not match, the blockchain transaction 152 can be discarded. The matching blockchain transaction 152 can be stored in the database 120 and can be stored until a predetermined number of transactions are accumulated or until a predetermined time has passed. The end user can then be notified via the endpoint retrieved from the database by the endpoint notifier 140.
[0018] In an exemplary embodiment of the present disclosure, the present invention may operate as follows: In an embodiment, at least one user filter specified via JSONPath may be stored in a database. JSONPath is an expression language that supports querying any document structured in JSON format. In an embodiment, the user's input may be verified to be valid JSONPath syntax prior to storage. If the user's input is not valid JSONPath syntax or does not meet security or complexity requirements, the software may reject the processing and return an error. It should be appreciated that any type of programming language operable to allow a user to create a filter expression may be used according to an embodiment. Some embodiments of such programming languages include, but are not limited to, xpath, sql, programming languages, etc.
[0019] Note that in some embodiments, at least one notification endpoint (also referred to internally as a "sink") may be stored in a database and associated with a filter as specified by a user. The format of each notification endpoint may be validated before being stored. If the endpoint format is invalid, the software may reject the process and return an error.
[0020] In an exemplary embodiment of the present invention, filters, sinks, and associations can be specified by authorized users, and such specification can be made through means such as an application programming interface (API), a graphical interface, a text-based interface, a direct connection, a network connection, a database connection, or inter-process communication.
[0021] An exemplary embodiment of the present invention may comprise at least one worker process, in addition to the databases, connections, and communication logic. An exemplary embodiment may comprise multiple worker processes that may play different roles in the transaction matching system.
[0022] In one embodiment, a worker process can open a network connection to a blockchain node and listen for incoming transactions sent to the blockchain node, and upon receiving the transactions, can store the transactions in a database.
[0023] In one embodiment, other worker processes can read transactions and filter expressions from the database and apply the filter expressions to the transactions. Upon applying the filter expressions, expression processing logic can return a Boolean output corresponding to whether the filter expression matches the transaction to which it is applied. Transactions that do not match any of the filters can then be discarded. Meanwhile, matching transactions can be stored in the database along with identifiers of the filters that yielded a positive result.
[0024] In one embodiment, other worker processes can retrieve transactions that match a filter from the database and send a notification to the endpoint associated with the filter, although the format of this notification can vary depending on the endpoint type.
[0025] In one embodiment, once everything is set up and transactions are processed with the user filters and notification endpoints stored, each filter expression can be applied to each transaction received, if the filter expression matches the end user can be notified via the specified endpoint, if not the transaction can be discarded.
[0026] In some embodiments, a user-friendly interface can be provided to assist in the creation of filters and endpoints, and in the association of endpoints with filters. Expression matching logic can be deployed on multiple computers to coordinate transaction processing, improving scalability and productivity. Additional components can also be deployed to assist end users in generating expressions, either by manual specification or through an automated process.
[0027] An embodiment of the present disclosure can match transactions propagating across a blockchain network against existing filters in a database. This requires that a filter be created before a matching transaction is sent. Also, in accordance with an embodiment of the present invention, analysis of transaction history can be performed. In some embodiments, a subsequently created filter can be applied to the transaction history, and users can receive matching notifications for transactions that were included in the blockchain before the filter was created. Also, in some embodiments, there are additional notification endpoints or other access methods.
[0028] In some embodiments, the system includes a feature that allows a user to specify a filter expression that may match the type of transaction that the user is interested in and store the filter expression in the database. The user may create an expression to be notified of at least one blockchain transaction. For example, but not limited to, the user may create an expression to be notified of blockchain transactions originating from a particular account (or accounts), being sent to a particular account (or accounts), trading a particular currency (or currencies), blockchain transactions paying minimum or maximum fees, and any combination thereof. The end user may also specify at least one endpoint for which the end user wishes to be notified of the above transactions.
[0029] If the transaction matches, the end user can be notified via a designated endpoint, at which point they can take any number of steps, such as alerting appropriate authorities in the case of fraud, dispatching goods in the case of in-store payments, creating buy / sell orders in the case of market trading activity, and / or performing any number of subsequent steps.
[0030] Moreover, in exemplary embodiments, the present invention can be incorporated into multiple types of systems, including, but not limited to, forensic and malicious activity detection systems, automated trading and market trading systems, and network health and status monitoring systems, and can create endpoints in either these or additional domains to initiate further processes depending on the detected activity.
[0031] Embodiments of the present disclosure may provide a system, method, or apparatus for matching blockchain transactions for further processing. Embodiments of the present disclosure may use an expression language that helps end users to target exactly the data and content they want to match and / or exclude data and content they do not want to include. Users can specify any field or combination of fields and comparison and logical operators to be notified of exactly the transactions they are interested in.
[0032] Exemplary embodiments of the present disclosure may include a process or method for matching blockchain transactions for further processing using the system 100. An exemplary process includes (1) initiating monitoring of the blockchain; (2) allowing an authorized user to store a filter expression in a database; (3) processing each blockchain transaction individually to apply the stored filter expression to the transactions; (4) discarding transactions that do not match; and (5) notifying a user in one or more ways (e.g., email, SMS, web hook, etc.) of matching transactions. Other exemplary embodiments support processing one or more blockchain transaction sets of at least one of a plurality of blockchain transactions that are processed in a batch.
[0033] 2 is an example logic flow diagram according to a method or process 200 suitable for implementing embodiments of the present disclosure. The process begins at start block 210. Next, block 220 listens to the blockchain. Then, block 230 detects a transaction. Then, block 240 records the transaction. Next, block 250 processes the user's filter expression. Then, block 260 determines whether the filter expression matches the recorded transaction. If the filter expression does not match, the transaction is discarded and processing returns to block 230. If the filter expression matches, processing proceeds to block 290 and records the matching transaction. Then, block 300 notifies the user and processing returns to block 230 to detect at least one more transaction.
[0034] Referring to FIG. 2A, a simplified logic flow diagram is shown according to a simplified method or process 200A suitable for carrying out an exemplary embodiment of the present disclosure. The exemplary process begins at block 202A where a server receives blockchain transactions. The server monitors blockchain transactions of one or more blockchain nodes and receives blockchain transactions from the monitored blockchain nodes. Next, at block 204A, the server applies a filter expression to the received blockchain transactions to determine whether any of the received transactions match the transactions to be filtered. Finally, at block 206A, the server sends a notification of the transactions that match the filter expression to a user equipment (UE). It should be understood that in some embodiments, the matching transactions are held in the server until retrieved by the UE, at which point the server transmits the transactions to the particular UE that requested the transaction.
[0035] Reference is now made to FIG. 3, which illustrates an exemplary signaling diagram suitable for implementing exemplary embodiments of the present disclosure. FIG. 3 illustrates an Internet 300, a server 302, and a UE 304. The Internet 300 includes a number of servers 306, each operable to maintain a separate copy of a digital distributed ledger 308. An embodiment of the digital distributed ledger 308 includes transaction records maintained by a number of entities (e.g., servers), each operable to track transactions and operable to communicate with each other to collectively approve (reach consensus) that each transaction recorded in the digital distributed ledger 308 is correct. An embodiment of the digital distributed ledger 308 includes a blockchain. Note that the multiple servers 306 may be individually referred to as nodes or blockchain nodes, and may be collectively referred to as a digital distributed ledger system. The multiple servers 306 may be individually operable to maintain a copy of the digital distributed ledger 308. Of course, the multiple servers 306 may be located at the same location or may be located at multiple locations. Each of the multiple server 306 embodiments includes a processor 306a and a memory 306b that stores computer program instructions 306c. The computer program instructions 306c are operable to cause the processor to receive transactions from multiple sources, implement the transactions, record the transactions in the digital distributed ledger 308, and maintain a copy of the digital distributed ledger 308. Although only three servers 306 are shown in FIG. 3, it should be understood that embodiments include one or more servers 306. Also, as used herein, multiple servers (nodes) 306 that maintain transactions in the digital distributed ledger 308 by recording or other methods may be referred to as a digital distributed ledger system.
[0036] The server 302 comprises at least one processor 302a and at least one memory 302b storing computer program instructions 302c, which, when executed by the processor 302a, cause the processor 302a to perform embodiments of the present disclosure. An embodiment of the server 302 is operable to bidirectionally communicate with the Internet 300 and at least one of the plurality of servers 306. In one embodiment, the server 302 is operable to communicate with only one of the nodes 306. In another embodiment, the server 302 is operable to communicate with more than one of the servers 306. An embodiment of the server 302 is operable to monitor or receive transactions as one or more of the nodes 306 in communication with the server 302 perform transactions on the digital distributed ledger 308 or as one or more of the nodes 306 receive transactions. In one embodiment, server 302 receives a transaction from one or more nodes 306 only if all of the nodes 306 agree that a particular transaction is valid and should be included (added) in the digital distributed ledger. In another embodiment, server 302 receives a transaction from one or more nodes 306 before the nodes 306 agree that a particular transaction is valid and should be included in the digital distributed ledger. It should be understood that validity refers to whether the transaction complies with the operational and governance rules established and enforced on the distributed ledger system, such as whether the sender has the amount of currency (e.g., Bitcoin, XRP, Ethereum, US Dollars) to send.
[0037] The server 302 is operable to bidirectionally communicate with a UE 304. An embodiment of the UE 304 may be a computer, desktop computer, laptop, smartphone, mobile phone, tablet, wearable, or smart watch. An embodiment of the UE 304 may include at least one processor and at least one memory that stores computer program instructions that, when executed by the at least one processor, cause the at least one processor to perform functions described herein. The UE 304 may further include a user interface having a display that may transmit and receive data and information to and from a user.
[0038] An embodiment of the UE 304 is operable to maintain a list of predefined filter expressions. An embodiment of the server 302 is also operable to maintain a list of predefined filter expressions. An exemplary filter expression provides search characteristics for identifying past, present, or future transactions on the digital distributed ledger 308. In one embodiment, the filter expression provides search parameters for identifying past, present, or future transactions on the digital distributed ledger 308 using mathematical operators. For example, exemplary filter expressions include identifying (i) transactions above a user-defined amount, (ii) transactions that create new accounts, (iii) transactions below a user-defined amount, (iv) transactions involving buying and selling a particular asset (e.g., BTC to XRP), and (v) transactions originating from a particular source or account. In one embodiment, the filter expression provides parameter filtering for identifying transactions on the digital distributed ledger 308. The parameter filtering is based on at least one of: (i) the user involved in the transaction, (ii) the sender of the payment, (iii) the receiver of the payment, (iv) the payer of the currency, (v) the location of the node used in the transaction, (vi) the transaction fee, (vii) the number of blocks included in the transaction, and (viii) the location of the transaction in the digital distributed ledger system. In other embodiments, the UE 304 and / or the server 302 are operable to allow the user to create a filter expression (rather than picking or selecting a predefined filter expression). An embodiment of the server 302 allows the memory 302b to store or retain a filter expression created or specified by the user. As shown in FIG. 3, the server 302 maintains a database 302d on the memory 302b operable to store or retain the filter expressions.
[0039] In another exemplary embodiment, an exemplary filter expression may include a filter graph. A filter graph provides a logical flow analysis for filtering transactions. FIG. 9 illustrates an exemplary filter graph 900. The logical flow analysis of the filter graph processes each transaction to determine whether it matches. For example, in the filter graph 900, at block 902, a transaction occurs on the blockchain and the transaction is classified as a transaction involving XRP and a transaction involving ETH. Transactions that do not involve either XRP or ETH (as in this example) are excluded from further analysis in the filter graph 900. At block 904, the XRP transactions are further filtered by which account the transaction is moving funds from. If a transaction originates from a particular account, the transaction is subjected to further analysis in the filter graph 900. However, if a transaction does not originate from a particular account, the transaction is excluded from further analysis at dot 912. Similarly, at block 906, the ETH transactions are further filtered by which account the transaction is moving funds to. If a transaction is destined for a particular account, it is subjected to further analysis by filter graph 900. However, if a transaction is not destined for a particular account, it is excluded from further analysis at dot 912. At block 908, the XRP transactions are further filtered by payment amount. In the example shown in FIG. 9, payments over 5000 XRP are considered matching. Payments under 5000 XRP are considered unmatched. At block 910, the XRP transactions are further filtered by escrow amount. In the example shown in FIG. 9, transactions with escrow amounts over 10,000 XRP are considered matching. Transactions with escrow amounts under 10,000 XRP are considered unmatched.At block 914, the transactions filtered at block 906 are further filtered based on whether the transaction involves US dollars, and transactions involving US dollars are considered to match. It should be appreciated that embodiments of the filter graph allow a user to filter transactions from the blockchain through a series of filtering steps that iteratively narrow down the matching transactions. It should also be appreciated that in some embodiments, the order of the filtering steps is changed. It should also be appreciated that the blocks illustrated in FIG. 9 are merely implementations of an example filter graph and are not intended to be limiting.
[0040] While the server 302 monitors one or more nodes 306 of the digital distributed ledger 308, the server 302 is operable to detect one or more transactions on the digital distributed ledger 308. Figure 4 is an exemplary block diagram illustrating the server 302 monitoring one node 306 in a digital distributed ledger system. It should be understood that while only one node 306 is shown in Figure 4, the digital distributed ledger system includes multiple nodes 306. Thus, Figure 4 only illustrates the server 302 monitoring one node 306 of the multiple nodes 306.
[0041] According to an embodiment, while the server 302 is monitoring transactions, the processor 302a can determine whether the transactions being monitored on the digital distributed ledger 308 at one or more nodes 306 correspond to one or more filter expressions specified by the user. It should be understood that in some embodiments, the server 302 monitors current transactions on the digital distributed ledger 308 and / or examines past transactions on the digital distributed ledger 308. In an embodiment where the server 302 examines past transactions, the server 302 is operable to receive instructions from the UE 304 including certain search parameters, such as a time period for which transactions are to be examined. The server 302 then retrieves transactions within the specified time period from one or more nodes 306. Once the server 302 receives the past transactions, it proceeds to execute the processes described herein and processes such transactions as if they were currently occurring transactions.
[0042] It should be appreciated that, according to an embodiment, the processor 306a is operable to identify whether there is a correspondence between each transaction monitored by the server 302 and one or more filter expressions. An embodiment of the correspondence includes the transaction matching (being within the scope of) the filter expression. For example, the filter expression may relate to identifying transactions less than $500 originating from a node 306 located in India. In some embodiments, the processor 302a is operable to identify transactions matching (satisfying) such filter expression parameters. Once the processor 302a identifies one or more transactions that have a correspondence with the transaction to be filtered, the server 302 is operable to transmit the identified transaction and / or an alert to the UE 304 for notifying a user about the identified transaction. It should be appreciated that, in some embodiments, the server 302 transmits the transaction and / or the alert to a UE other than the UE 304 that created the filter expression. In some embodiments, the server 302 transmits the transaction and / or the alert to one or more UEs. Without intending to be limiting, some embodiments of an alert include at least one of an API call, a chat room message, an application notification, an external system update (e.g., a dedicated notification device or watch), an API link, an email, a text message, a phone call, and an instant message.
[0043] In one embodiment, the system allows users to create valid filter expression syntax and input fields, allowing users to create their own filter expressions and view live matching transactions appearing on the current digital distributed ledger or blockchain. Once a user has created a filter expression that suits their needs, they can also set rules for a notification endpoint to be notified when a match occurs. The filter expression is then persisted in a database, and as transactions are received from the digital distributed ledger or blockchain, the filter expression is applied and any matches with the filter expression are sent to the configured notification endpoint. The process of applying a filter expression consists of evaluating the filter expression against each transaction and determining whether the filter expression matches (is described as) the structured data to be represented in the digital distributed ledger or blockchain transaction. According to an embodiment, this process returns a Boolean output indicating whether a match occurred. The system then processes the Boolean output, creates a record of the filter match in the database, and sends a notification of the filter match to the user. Additionally, embodiments provide an interface that allows filter expressions to be tested against various previously recorded transactions, allowing users to validate their filters without waiting for the transactions to actually appear on the current blockchain.
[0044] According to embodiments, it is not necessary for an endpoint notification to be sent to a user when a matching transaction is received. Rather, according to embodiments, a user may pre-configure whether to receive an endpoint notification when a match occurs or at some other time. For example, in some embodiments, a user may receive an endpoint notification at a pre-configured time interval (e.g., every 15 minutes with all matching transactions during that time) or when a predetermined number of matching transactions is reached (e.g., when there are at least 50 matching transactions).
[0045] Referring to FIG. 5, yet another exemplary signal communication diagram according to an embodiment of the present disclosure is shown. In FIG. 5, the server 302 is operable to monitor multiple blockchain nodes 306, with each blockchain monitor monitoring at least one of the multiple blockchain nodes 306. According to the embodiment of the configuration shown in FIG. 5, each blockchain monitor of the server 302 is operable to process (responsible for) a part of the blockchain data, thereby ensuring redundancy and workload distribution. That is, the server 302 is operable to simultaneously monitor multiple blockchain nodes 306 to share and process transactions in parallel, thereby reducing the time required to analyze the transactions. According to this embodiment, multiple blockchain nodes 306 can be analyzed individually and independently. For example, in the case of an unverified transaction, one or more blockchain nodes 306 can have a transaction that is not present in other nodes (because it is a transaction that has not yet been verified).
[0046] Referring to FIG. 6, another exemplary signal communication diagram suitable for use in implementing embodiments of the present disclosure is shown. FIG. 6 includes multiple servers 302 located at the same location or different locations. Each server 302 is operable to monitor transactions on different nodes 306 of a digital distributed ledger 308. It should also be understood that in this embodiment, each server 302 performs different functions. One server 302 monitors the blockchain nodes 306. Another server 302 receives a filter expression selected or created by a user from a server 302 that maintains a database of filter expressions and determines whether any of the transactions on the blockchain match the filter expression. And, yet another server 302 notifies a UE 304 of the transactions that match the filter expression. It should also be understood that an embodiment includes one or more servers 302 operable to perform one or more functions described herein.
[0047] Reference is now made to FIG. 7, which illustrates yet another exemplary signaling diagram suitable for implementing embodiments of the present disclosure. FIG. 7 illustrates an exemplary server 302 operable to monitor a blockchain node 306. In this embodiment, the server 302 is operable to receive a filter expression from a UE 304 and transmit transactions that match the filter expression to another UE 307. It should be understood that embodiments of the present disclosure include embodiments in which the server 302 transmits transactions that match the filter expression (i) to the UE 304 that created the filter expression, (ii) to a UE 307 (different from the UE 304), or (iii) to multiple UEs. It should also be understood that in some embodiments, the UE 304, the UE 307, or the other UE identifies the particular UE or UEs that will receive the transaction from the server 302.
[0048] Referring to FIG. 8, another exemplary signal communication diagram suitable for implementing embodiments of the present disclosure is shown. FIG. 8 shows two blockchains 308, each including a different blockchain node 306. In this embodiment, the server 302 is operable to monitor transactions on both blockchain nodes 306 for transactions on the different blockchains 308. In this embodiment, the UE 304 can create or provide a filter expression to be applied to one or both of the blockchains 308. It should also be appreciated that in some embodiments, the UE can create or provide a different filter expression for each blockchain 308, the server 302 can apply the different filter expressions to each blockchain 308, and the user can receive transactions based on matching the different filter expressions.
[0049] Reference is now made to FIG. 13, which illustrates yet another exemplary signaling diagram suitable for use in implementing embodiments of the present disclosure. FIG. 13 illustrates a blockchain 308 monitored by a blockchain node 306. The server 302 is operable to monitor transactions on the blockchain node 306 and communicate transactions to the UE 304 based on a filter expression received from the UE 304. In this embodiment, the transmission of a filter expression from the UE 304 to the server 302 does not automatically cause the server 302 to transmit transactions that match (have a corresponding relationship with) the filter expression to the UE 304. Instead, in this embodiment, the server 302, upon receiving one or more filter expressions from the UE 304, retains transactions that match (have a corresponding relationship with) the one or more filter expressions in the memory and / or database of the server 302. The UE 304 can then transmit a request to the server 302 for one or more transactions that match the one or more filter expressions. Upon receiving the request from the UE 304, the server 302 transmits the requested transaction to the UE 304 or to one or more other UEs designated by the UE 304. In this embodiment, the UE 304 may receive one or more transactions that match (have a correspondence with) the filter expression when a request is made.
[0050] 14, a signal communication diagram between a server 302 and a UE 304 is shown in another exemplary embodiment of the present disclosure. In FIG. 14, a server 302 and a UE 304 are shown. In this embodiment, the server 302 includes a blockchain datastore 1402. The blockchain datastore 1402 is distinct from a blockchain or a blockchain node. Rather, the blockchain datastore 1402 is a historical list of transactions that have occurred on one or more blockchains. Although FIG. 14 illustrates the blockchain datastore 1402 as being located or maintained within the server 302 (e.g., within the memory of the server 302), in some embodiments, the blockchain datastore 1402 is separate and distinct from the server 302. For example, in some embodiments, the blockchain datastore 1402 is maintained on a separate server, a separate computer, or a separate other data storage device (e.g., a USB drive, a hard drive, etc.). In an embodiment in which the blockchain data store 1402 is separate from the server 302, the device that holds the blockchain data store 1402 is operable to communicate with the server 302 (e.g., via a wired or wireless connection) so that the server 302 can receive transactions held in the blockchain data store 1402. In this embodiment, the server 302 first requests one or more transactions held in the blockchain data store 1402. The server 302 then receives a filter expression from a user equipment (UE) 304. The filter expression includes search parameters for identifying transactions on the blockchain data store 1402. The process then includes a step in which the server 302 determines that at least one of the transactions on the blockchain data store 1402 has a correspondence with the filter expression.The process may then continue with the server 302 sending either an alert to the UE 304 indicating that a transaction matches the filter expression, or the transaction itself, or the server 302 may store the identified transaction until the UE 304 or another UE requests that the transaction be sent to the UE 304 or another UE.
[0051] 10 and 11 are logic flow diagrams illustrating an exemplary method or process according to an embodiment of the present disclosure. Similar to FIG. 2, the process starts at block 1002, where the server 302 listens to the blockchain. This includes monitoring transactions occurring on the digital distributed ledger 308. Next, at block 1004, the server 302 detects that there is a particular type of transaction, such as a payment transaction, among the transactions. Next, at block 1006, the server 302 records the identified transaction in the server 302's memory, such as in a database. Next, at block 1008, the server 302 reads a filter expression that the user previously set in the server 302's database or memory. Then, the server 302, using its processor, determines whether the transaction is indeed a payment transaction. If no, the process returns to block 1002, where the server 302 continues monitoring the digital distributed ledger 308. If yes, proceed to block 1010, where the server 302 and the processor of the server 302 determine whether the transaction matches the filter expression set by the user. If no, proceed back to block 1002, where the server 302 continues monitoring the digital distributed ledger 308. If yes, proceed to block 1014, where an alert or notification is sent to the user's UE 304. An embodiment of an alert includes an alert set or specified by the UE 304 before the server 302 identifies the transaction, such as sending an email, sending an SMS message, or making an API call. An embodiment of an alert includes an alert that identifies characteristics of the identified transaction, such as the entity performing the transaction, the amount (amount) involved in the transaction, the send / receive position in the transaction, and any other parameters from which the filter expression was created. Finally, in block 1016, the server 302 records the notification in the server 302's memory, such as in a database. After sending the notification to the UE 304, the process returns to block 1002 and continues.
[0052] FIG. 15 shows a sequence diagram of a process similar to that shown in FIG. 10. FIG. 15 shows a user 1502, a blockchain node 1504, a blockchain monitor 1506, a filter expression processor 1508, an endpoint notifier 1510, an API 1512, and a database 1514. The process starts at line 1516. At line 1516, the user 1502 creates a filter expression and sends it to the server's API 1512. Then, at line 1518, the API 1512 stores the filter expression in the database 1514. Next, at line 1520, the blockchain node 1504 has the server's blockchain monitor 1506 monitor transactions of the blockchain node 1504. At line 1522, the blockchain monitor 1506 inserts the transactions it is monitoring into the database 1514. At line 1524, the filter expression processor 1508 at the server analyzes the transactions in the database 1514. At line 1526, the filter expression processor 1508 applies the filter expression to the transactions in the database 1514 to determine whether there is a match between the filter expression and the transaction. If there is a match, the endpoint notifier 1510 selects the matching transactions at line 1528 and notifies the user 1502 of the existence of matching transactions at line 1530. At line 1534, the user 1502 requests the matching transactions. At line 1536, the API 1512 retrieves the matching transactions to send to the user 1502.
[0053] Now, referring to FIG. 11, the process of FIG. 11 starts at block 1102, where the server 302 listens to blockchain nodes. This may include monitoring one or more nodes on the digital distributed ledger 308. Next, at block 1104, the server 302 sanitizes and merges the set of transactions it is monitoring. Note that sanitizing refers to removing information or data that is not useful or usable from transaction data. For example, some data in blockchain transactions may contain multiple "null bytes" (i.e., all zeros), and such data is not allowed to be stored in a particular database. Also, some data in blockchains, such as blockchain instructions and random text, cannot be used or stored properly. The system detects these and replaces them with values that can be stored and processed. Merging, on the other hand, occurs when one or more servers listen to transactions on various blockchain nodes. For example, if node A sends transactions 1, 2, and 3, and node B sends transactions 2, 3, and 4, the invention needs to merge these transaction sets so that only one copy of transactions 1, 2, 3, and 4 is written to the database for further processing by the filter expression.
[0054] Next, in block 1106, the transaction is recorded in the memory and / or database of the server 302. Next, in block 1108, the server 302 detects whether one or more transactions match the filter expression. For example, in block 1108, the system detects whether a particular transaction is an offer to exchange Bitcoin for US dollars. However, it should be understood that in some embodiments, the detection or determination of whether the recorded transaction matches (satisfies) the filter expression parameters set by the user is performed on the recorded transaction. If the transaction matches the filter expression, in block 1110, the transaction is recorded. If the transaction does not match, the process returns to block 1102 and starts again from the beginning. If there is no notification endpoint, the process also proceeds to block 1102. If there is a notification endpoint, the process proceeds to block 1112, where the user and / or the UE 304 receives an email, SMS message, or API call notifying the UE 304 of the transaction. Then, in block 1114, the notification is recorded in the memory and / or database of the server 302, and the process can start again from block 1102. It should be understood that in some embodiments, multiple steps illustrated in the logic flow diagrams of FIGS. 10-12 are performed in parallel.
[0055] 12, yet another exemplary logic flow diagram is shown in accordance with a method or process suitable for carrying out embodiments of the present disclosure. Block 1202 illustrates monitoring, by a processor, at least one node of a plurality of nodes of at least one digital distributed ledger system of the plurality of digital distributed ledger systems, receiving, by the processor, a filter expression from a user equipment (UE) including search parameters for identifying future transactions on the at least one digital distributed ledger system of the plurality of digital distributed ledger systems, detecting, by the processor, a plurality of transactions on the at least one digital distributed ledger system of the plurality of digital distributed ledger systems at the at least one node of the plurality of nodes, determining, by the processor, that at least one transaction of the plurality of transactions on the at least one digital distributed ledger system of the plurality of digital distributed ledger systems at the at least one node of the plurality of nodes has a corresponding relationship with the filter expression, and storing, by the processor, the at least one transaction of the plurality of transactions. The next block 1204 recites that at least one digital distributed ledger system of the plurality of digital distributed ledger systems includes a blockchain maintained by a plurality of nodes.
[0056] Also, in block 1204 and after in FIG. 12, some of the non-limiting embodiments detailed above are summarized. Block 1206 describes that the monitoring step includes monitoring a plurality of nodes among the plurality of nodes. Next, block 1208 relates to determining that at least one digital distributed ledger system among the plurality of digital distributed ledger systems has reached or has not reached agreement on at least one transaction among the plurality of transactions before the transmitting step. Then, block 1210 specifies that the filter expression is either (i) a filter expression among a list of predefined filter expressions, or (ii) is not a predefined filter expression. Block 1212 illustrates transmitting, by a processor, first data to at least one UE of the plurality of UEs, the first data including at least one alert to notify a user of the UE of at least one of the plurality of transactions, the alert being at least one of an application programming interface (API) call, a chat room message, an application notification, an external system update, an application programming interface (API) link, an email, a text message, a phone call, and an instant message. And block 1214 recites that the filter expression is a parameter filter expression operable to identify a transaction based on at least one of a user involved in the transaction, a sender of the payment, a receiver of the payment, a currency payer, a location of a node used in the transaction, a location of the transaction in at least one digital distributed ledger system of the plurality of digital distributed ledger systems, and a field displayed in the blockchain transaction.Next, block 1216 describes retrieving, by the processor, a plurality of transaction histories on at least one digital distributed ledger system of the plurality of digital distributed ledger systems, determining, by the processor, that at least one transaction history of the plurality of transaction histories has a corresponding relationship with the filter expression, and transmitting, by the processor, second data to at least one UE of the plurality of UEs, where the second data includes a second alert notifying a user of the UE about the at least one transaction history of the plurality of transaction histories. And finally, block 1218 describes the first data including at least one of a filter identifier, a list of transactions, and a link to the transaction.
[0057] The logic diagram shown in Fig. 12 may be considered to represent the steps of a method or the result of executing computer instructions stored on a computer-readable medium, and may be considered to represent a specific embodiment of how to configure components of a device to operate the device, regardless of whether the device is an electronic device such as a server, a computer, a smartphone, a tablet, or a wearable device, or one or more components that make up such an electronic device.
[0058] Although the embodiments of the present invention have been described in detail above with particular reference to certain embodiments, it is obvious that modifications and changes can be made without departing from the spirit and scope of the present invention. Therefore, the embodiments disclosed herein are illustrative in all respects and are not intended to be limiting. The scope of the present invention is defined by the appended claims, and it is intended to include all modifications that do not depart from the meaning and scope of equivalents.
[0059] Preferred embodiments of the present invention will be described below in detail.
[0060] EMBODIMENT 1 monitoring, by a processor, at least one node of a plurality of nodes in at least one digital distributed ledger system of a plurality of digital distributed ledger systems; receiving, by the processor, from a user equipment (UE) a filter expression including search parameters for identifying future transactions on the at least one digital distributed ledger system of a plurality of digital distributed ledger systems; detecting, by the processor, a plurality of transactions on the at least one digital distributed ledger system of a plurality of digital distributed ledger systems at the at least one node of a plurality of nodes; determining, by the processor, that at least one transaction of the plurality of transactions on the at least one digital distributed ledger system of a plurality of digital distributed ledger systems at the at least one node of a plurality of nodes has a correspondence with the filter expression; storing, by the processor, the at least one transaction of the plurality of transactions; A monitoring method including:
[0061] EMBODIMENT 2 2. The method of embodiment 1, wherein one or more of the at least one digital distributed ledger system of a plurality of digital distributed ledger systems includes a blockchain maintained by the plurality of nodes.
[0062] EMBODIMENT 3 2. The method of embodiment 1, wherein the monitoring step includes monitoring a plurality of nodes of the plurality of nodes.
[0063] EMBODIMENT 4 The method further comprises, prior to the transmitting step: determining that the at least one digital distributed ledger system of a plurality of digital distributed ledger systems has reached agreement on the at least one transaction of the plurality of transactions; 2. The method of embodiment 1, further comprising:
[0064] EMBODIMENT 5 The method further comprises, prior to the transmitting step: determining that the at least one digital distributed ledger system of a plurality of digital distributed ledger systems failed to reach agreement on the at least one transaction of the plurality of transactions; 2. The method of embodiment 1, further comprising:
[0065] EMBODIMENT 6 2. The method of embodiment 1, wherein the filter expression is a filter expression from a predefined list of filter expressions.
[0066] EMBODIMENT 7 2. The method of embodiment 1, wherein the filter expression is not a predetermined filter expression.
[0067] EMBODIMENT 8 The method further includes transmitting, by the processor, the first data to at least one UE of the plurality of UEs; the first data includes at least one alert for notifying a user of the UE about the at least one transaction of the plurality of transactions; 2. The method of embodiment 1, wherein the alert is at least one of an application programming interface call, a chat room message, an application notification, an external system update, an application programming interface link, an email, a text message, a phone call, and an instant message.
[0068] EMBODIMENT 9 2. The method of claim 1, wherein the filter expression is a parameter filter expression operable to identify transactions based on at least one of the following: a user involved in the transaction, a payment sender, a payment receiver, a currency payer, a location of a node used in the transaction, a location of the transaction in the at least one digital distributed ledger system of a plurality of digital distributed ledger systems, and a field that appears in a blockchain transaction.
[0069] EMBODIMENT 10 The method comprises: retrieving, by the processor, a plurality of transaction histories on the at least one digital distributed ledger system of a plurality of digital distributed ledger systems; determining, by the processor, that at least one transaction history among the plurality of transaction histories has a correspondence with the filter expression; transmitting, by the processor, second data to at least one UE of the plurality of UEs in response to receiving a request to transmit; Further including, 2. The method of embodiment 1, wherein the second data includes a second alert notifying a user of the UE about the at least one transaction history of the plurality of transaction histories.
[0070] EMBODIMENT 11 9. The method of embodiment 8, wherein the first data includes at least one of a filter identifier, a list of transactions, and a link to a transaction.
[0071] EMBODIMENT 12 At least one processor; at least one memory storing computer program instructions executable by said at least one processor; An apparatus comprising: The at least one memory having the computer program instructions and the at least one processor provide the device with at least monitoring at least one node of a plurality of nodes of at least one digital distributed ledger system of a plurality of digital distributed ledger systems; receiving from a user equipment (UE) a filter expression including search parameters for identifying future transactions on the at least one digital distributed ledger system of a plurality of digital distributed ledger systems; Detecting a plurality of transactions on the at least one digital distributed ledger system of a plurality of digital distributed ledger systems at the at least one node of a plurality of nodes; determining that at least one transaction among the plurality of transactions on the at least one digital distributed ledger system among a plurality of digital distributed ledger systems at the at least one node among a plurality of nodes has a correspondence with the filter expression; transmitting first data to the UE, the first data including at least one alert for notifying a user of the UE about the at least one transaction of the plurality of transactions; An apparatus configured to cause the
[0072] EMBODIMENT 13 13. The apparatus of embodiment 12, wherein the at least one digital distributed ledger system of a plurality of digital distributed ledger systems includes a blockchain maintained by the plurality of nodes.
[0073] EMBODIMENT 14 13. The apparatus of embodiment 12, wherein the monitoring step includes monitoring a plurality of nodes of the plurality of nodes.
[0074] EMBODIMENT 15 The device, prior to the transmitting step, determining that the at least one digital distributed ledger system of a plurality of digital distributed ledger systems has reached agreement on the at least one transaction of the plurality of transactions; 13. The apparatus of embodiment 12, further comprising:
[0075] EMBODIMENT 16 13. The apparatus of embodiment 12, wherein the filter expression is one filter expression from a list of predefined filter expressions.
[0076] EMBODIMENT 17 13. The apparatus of embodiment 12, wherein the filter equation is not a predetermined filter equation.
[0077] EMBODIMENT 18 13. The apparatus of embodiment 12, wherein the alert is at least one of an application programming interface call, an application programming interface link, an email, a text message, a phone call, and an instant message.
[0078] EMBODIMENT 19 The apparatus, Retrieving a plurality of transaction histories on the at least one digital distributed ledger system of a plurality of digital distributed ledger systems; determining that at least one transaction history among the plurality of transaction histories has a correspondence with the filter expression; transmitting second data to at least one UE of the plurality of UEs in response to receiving the request to transmit; The following was further carried out. 13. The apparatus of embodiment 12, wherein the second data includes a second alert notifying a user of the UE about the at least one transaction history of the plurality of transaction histories.
[0079] EMBODIMENT 20 A non-transitory computer readable medium tangibly storing computer program instructions that, when executed by a processor, cause the processor to perform at least monitoring at least one node of a plurality of nodes of at least one digital distributed ledger system of a plurality of digital distributed ledger systems; receiving from a user equipment (UE) a filter expression including search parameters for identifying future transactions on the at least one digital distributed ledger system of a plurality of digital distributed ledger systems; Detecting a plurality of transactions on the at least one digital distributed ledger system of a plurality of digital distributed ledger systems at the at least one node of a plurality of nodes; determining that at least one transaction among the plurality of transactions on the at least one digital distributed ledger system among a plurality of digital distributed ledger systems at the at least one node among a plurality of nodes has a correspondence with the filter expression; transmitting first data to the UE, the first data including at least one alert for notifying a user of the UE about the at least one transaction of the plurality of transactions; A non-transitory computer-readable medium for causing a computer to execute
[0080] EMBODIMENT 21 21. The non-transitory computer-readable medium of embodiment 20, wherein the monitoring step includes monitoring a plurality of nodes of the plurality of nodes.
[0081] EMBODIMENT 22 21. The non-transitory computer-readable medium of embodiment 20, wherein the filter expression is a filter expression from a predefined list of filter expressions.
[0082] EMBODIMENT 23 21. The non-transitory computer-readable medium of embodiment 20, wherein the filter expression is not a predetermined filter expression.
[0083] EMBODIMENT 24 21. The non-transitory computer-readable medium of embodiment 20, wherein the alert is at least one of an application programming interface call, an application programming interface link, an email, a text message, a phone call, and an instant message.
[0084] EMBODIMENT 25 Prior to the transmitting step, determining that the at least one digital distributed ledger system of a plurality of digital distributed ledger systems has reached agreement on the at least one transaction of the plurality of transactions; 21. The non-transitory computer-readable medium of embodiment 20, further causing the processor to execute:
[0085] EMBODIMENT 26 The processor, Retrieving a plurality of transaction histories on the at least one digital distributed ledger system of a plurality of digital distributed ledger systems; determining that at least one transaction history among the plurality of transaction histories has a correspondence with the filter expression; transmitting second data to at least one UE of the plurality of UEs in response to receiving the request to transmit; Then, 21. The non-transitory computer-readable medium of embodiment 20, wherein the second data includes a second alert notifying a user of the UE about the at least one transaction history of the plurality of transaction histories.
[0086] EMBODIMENT 27 receiving, by a processor, from a user equipment (UE) a filter expression including search parameters for identifying future transactions on a digital distributed ledger system; determining, by the processor, that at least one transaction of a plurality of transactions from a block chain data store has a correspondence with the filter expression; transmitting, by the processor, the at least one transaction of the plurality of transactions to the UE; The method includes:
[0087] EMBODIMENT 28 28. The method of claim 27, wherein the plurality of transactions from the blockchain data store are based on transactions from a blockchain.
[0088] EMBODIMENT 29 28. The method of embodiment 27, wherein the transmitting step is performed in response to receiving a request from the UE for the at least one transaction of the plurality of transactions.
[0089] EMBODIMENT 30 The method further includes transmitting, by the processor, the first data to at least one UE of the plurality of UEs; 28. The method of embodiment 27, wherein the first data includes at least one alert for notifying a user of the UE about the at least one transaction of the plurality of transactions.
[0090] EMBODIMENT 31 the transmitting step is performed in response to the at least one transaction of the plurality of transactions satisfying a predetermined threshold; 28. The method of embodiment 27, wherein the predetermined threshold is at least one of: (i) a predetermined time interval between the sending steps; and (ii) the number of the at least one transaction of the plurality of transactions satisfying a predetermined number of transactions.
[0091] EMBODIMENT 32 28. The method of embodiment 27, wherein the transmitting step is performed in response to the processor receiving a transmission request from the UE. [Explanation of symbols]
[0092] 100 Systems 102, 1502 users (end users) 110 Computer 120, 302d, 1514 Database 130 Computer-readable medium 132 Filter Expressions 134 Notification Endpoint 136, 1506 Blockchain Monitor 138, 1508 Filter processor 140, 1510 Endpoint Notifier 142, 300 Internet 150, 308 Blockchain (Digital Distributed Ledger) 152 Blockchain Transactions 302 Server 302a, 306a processors 302b, 306b Memory 302c, 306c Computer program instructions 304, 307 User Equipment (UE) 306, 1504 Server (Blockchain Node) 1402 Blockchain Data Store 1512 Application Programming Interface (API)
Claims
1. 1. A method of monitoring by a computer having a processor and a memory, comprising: monitoring, by the processor, at least one node of a plurality of nodes of at least one digital distributed ledger system of a plurality of digital distributed ledger systems; receiving, by the processor, from a user equipment (UE) a filter expression including search parameters for identifying future transactions on the at least one digital distributed ledger system of a plurality of digital distributed ledger systems; detecting, by the processor, a plurality of transactions on the at least one digital distributed ledger system of a plurality of digital distributed ledger systems at the at least one node of a plurality of nodes; determining, by the processor, that at least one transaction of the plurality of transactions on the at least one digital distributed ledger system of a plurality of digital distributed ledger systems at the at least one node of a plurality of nodes has a correspondence with the filter expression; storing, by the processor, the at least one transaction of the plurality of transactions in the memory; The method includes:
2. 2. The method of claim 1 , wherein the at least one digital distributed ledger system of a plurality of digital distributed ledger systems comprises a blockchain maintained by the plurality of nodes.
3. The method of claim 1 , wherein monitoring at least one node of the plurality of nodes comprises monitoring a plurality of nodes.
4. The method of claim 1 , wherein the filter expression is a filter expression from a list of predefined filter expressions.
5. The method of claim 1 , wherein the filter expression is not included in a list of predefined filter expressions.
6. The method further includes transmitting, by the processor, first data to at least one UE of the plurality of UEs; the first data includes at least one alert for notifying a user of the UE about the at least one transaction of the plurality of transactions; The method of claim 1 , wherein the alert is at least one of an application programming interface call, a chat room message, an application notification, an external system update, an application programming interface link, an email, a text message, a phone call, and an instant message.
7. The method further comprises, prior to the transmitting step: determining that the at least one digital distributed ledger system of a plurality of digital distributed ledger systems has reached agreement on the at least one transaction of the plurality of transactions; The method of claim 6 further comprising:
8. The method further comprises, prior to the transmitting step: determining that the at least one digital distributed ledger system of a plurality of digital distributed ledger systems has not yet reached agreement on the at least one transaction of the plurality of transactions; The method of claim 6 further comprising:
9. 2. The method of claim 1, wherein the filter expression is a parametric filter expression operable to identify transactions based on at least one of: a user involved in a transaction, a payment sender, a payment receiver, a currency payer, a location of a node used in the transaction, a location of the transaction in the at least one digital distributed ledger system of a plurality of digital distributed ledger systems, and a field that appears in a blockchain transaction.
10. The method comprises: retrieving, by the processor, a plurality of past transactions on the at least one digital distributed ledger system of a plurality of digital distributed ledger systems; determining, by the processor, that at least one past transaction of the plurality of past transactions has a correspondence with the filter expression; transmitting, by the processor, second data to at least one UE of the plurality of UEs in response to receiving a request to transmit; Further comprising: The method of claim 1 , wherein the second data includes a second alert notifying a user of the UE about the at least one past transaction of the plurality of past transactions.
11. The method of claim 8 , wherein the first data includes at least one of a filter identifier, a list of transactions, and a link to a transaction.
12. At least one processor; at least one memory storing a computer program executable by said at least one processor; An apparatus comprising: The computer program causes the at least one processor to monitoring at least one node of a plurality of nodes of at least one digital distributed ledger system of a plurality of digital distributed ledger systems; receiving a filter expression from a user equipment (UE) including search parameters for identifying future transactions on the at least one digital distributed ledger system of a plurality of digital distributed ledger systems; Detecting a plurality of transactions on the at least one digital distributed ledger system of a plurality of digital distributed ledger systems at the at least one node of a plurality of nodes; determining that at least one transaction among the plurality of transactions on the at least one digital distributed ledger system among a plurality of digital distributed ledger systems at the at least one node among a plurality of nodes has a correspondence with the filter expression; transmitting first data to the UE, the first data including at least one alert for notifying a user of the UE about the at least one transaction of the plurality of transactions; A device that performs the above.
13. 13. The apparatus of claim 12, wherein the at least one digital distributed ledger system of a plurality of digital distributed ledger systems comprises a blockchain maintained by the plurality of nodes.
14. The apparatus of claim 12 , wherein monitoring at least one node of the plurality of nodes comprises monitoring a plurality of nodes.
15. The device, prior to the transmitting step, 13. The apparatus of claim 12, further comprising the step of determining that the at least one digital distributed ledger system of a plurality of digital distributed ledger systems has reached agreement on the at least one transaction of the plurality of transactions.
16. The apparatus of claim 12 , wherein the filter expression is a filter expression from a list of predefined filter expressions.
17. The apparatus of claim 12 , wherein the filter expression is not included in a list of predefined filter expressions.
18. The apparatus of claim 12 , wherein the alert is at least one of an application programming interface call, an application programming interface link, an email, a text message, a phone call, and an instant message.
19. The apparatus, Retrieving a plurality of past transactions on the at least one digital distributed ledger system of a plurality of digital distributed ledger systems; determining that at least one past transaction among the plurality of past transactions has a correspondence with the filter expression; transmitting second data to at least one UE of the plurality of UEs in response to receiving the transmission request; Then, The apparatus of claim 12 , wherein the second data comprises a second alert notifying a user of the UE about the at least one past transaction of the plurality of past transactions.
20. A non-transitory computer-readable recording medium storing a computer program, the computer program causing the processor to perform at least one of the following operations when executed by the processor: monitoring at least one node of a plurality of nodes of at least one digital distributed ledger system of a plurality of digital distributed ledger systems; receiving a filter expression from a user equipment (UE) including search parameters for identifying future transactions on the at least one digital distributed ledger system of a plurality of digital distributed ledger systems; Detecting a plurality of transactions on the at least one digital distributed ledger system of a plurality of digital distributed ledger systems at the at least one node of a plurality of nodes; determining that at least one transaction among the plurality of transactions on the at least one digital distributed ledger system among a plurality of digital distributed ledger systems at the at least one node among a plurality of nodes has a correspondence with the filter expression; transmitting first data to the UE, the first data including at least one alert for notifying a user of the UE about the at least one transaction of the plurality of transactions; A non-transitory computer-readable medium for causing a computer to execute
21. 21. The method of claim 20, wherein monitoring at least one node of the plurality of nodes comprises monitoring a plurality of nodes.
22. 21. The non-transitory computer-readable storage medium of claim 20, wherein the filter expression is a filter expression from a predefined list of filter expressions.
23. 21. The non-transitory computer-readable medium of claim 20, wherein the filter expression is not included in a list of predefined filter expressions.
24. 21. The non-transitory computer-readable medium of claim 20, wherein the alert is at least one of an application programming interface call, an application programming interface link, an email, a text message, a phone call, and an instant message.
25. Prior to the transmitting step, determining that the at least one digital distributed ledger system of a plurality of digital distributed ledger systems has reached agreement on the at least one transaction of the plurality of transactions; 21. The non-transitory computer-readable storage medium of claim 20, further causing the processor to execute:
26. The processor, Retrieving a plurality of past transactions on the at least one digital distributed ledger system of a plurality of digital distributed ledger systems; determining that at least one past transaction among the plurality of past transactions has a correspondence with the filter expression; transmitting second data to at least one UE of the plurality of UEs in response to receiving the transmission request; Then, 21. The computer-readable storage medium of claim 20, wherein the second data includes a second alert notifying a user of the UE about the at least one past transaction of the plurality of past transactions.
Citation Information
Patent Citations
Merchandise transaction information processor
JP1999053649A
Transaction information collecting method, transaction information collecting system, transaction information collecting device and computer program
JP2005078225A
JPP6732309B
Blockchain based email procedures
US10305833B1
Methods for monitoring a blockchain based on schematized transactions and devices thereof
US20210382860A1