Anonymous processing method and system for block link address, terminal and storage mediumTechnical Field
The present application relates to a privacy processing technology for a blockchain, and in particular, to a method and a system for anonymous processing of blockchain addresses, a terminal, and a storage medium.
Background
The core characteristics of the block chain technology are decentralized and distrust, and as a distributed general ledger technology, an intelligent contract basic platform and a distributed novel computing paradigm, programmable currency, programmable finance and a programmable society can be effectively constructed, and the block chain technology has a profound influence on finance and other fields.
At present, the largest two challenges of the blockchain technology are privacy and performance, which are often difficult to solve simultaneously; in most cases privacy is traded for by loss of performance. In the related art, privacy protection is generally achieved based on Zero-knowledge proof (Zero-knowledge proof). However, the zero knowledge proof generation time is long, the hardware requirement is high, and the performance loss is serious.
Disclosure of Invention
The embodiment of the application provides a method and a system for anonymous processing of a block chain address, a terminal and a storage medium, which are used for overcoming the problem that performance loss is serious due to long generation time of a proof and high requirement on hardware in the related technology as a result of zero knowledge proof.
An embodiment of a first aspect of the present application provides a method for anonymous processing of a blockchain address, where the method is performed by a sender in a blockchain network, and the method includes:
determining a shared key of the two parties according to a private key of the sender and a public key of the receiver;
generating an anonymous public key address according to the shared secret key, the acquired transaction encryption function and the acquired transaction ID;
assembling the anonymous public key address into a transaction and broadcasting to a blockchain network; and the transaction assembled with the anonymous public key address is used for triggering the node consensus in the blockchain network and is used for triggering a receiver to check the transaction.
In one possible implementation manner, the determining the shared secret key of the sender and the public key of the receiver according to the private key of the sender and the public key of the receiver includes:
obtaining public key r of receiver2G;
Determining shared secret keys of the sender and the receiver according to the private key of the sender and the public key of the receiver, wherein the obtained shared secret key is r1r2G;
Wherein r is1A private key representing the sender, r2Denotes the private key of the receiving party and G denotes the base point of the elliptic curve.
In one possible implementation manner, the generating an anonymous public key address according to the shared secret key, the obtained transaction encryption function, and the obtained transaction ID includes:
selecting a hash function required by the whole transaction, and acquiring a transaction ID;
and processing the transaction ID, the shared secret key and the transaction data according to the hash function to generate an anonymous public key address.
In one possible implementation manner, the generating an anonymous public key address according to the hash function, the transaction ID, and the shared key includes:
an anonymous public key address is generated according to the following expression,
Pubkey=R2+Hash(Hash(tx),Hash(r1r2G),0)G;
wherein Pubkey represents an anonymous public key address; r2A public key representing a recipient; the Hash is a cryptographic Hash function; tx represents a transaction; r is1r2G denotes a shared key of the receiver and the sender; 0 represents a transaction ID; g denotes a base point of the elliptic curve.
The embodiment of the second aspect of the present application provides a method for anonymous processing of a blockchain address, which is performed by a receiver in a blockchain network, and includes:
monitoring transactions in a blockchain network;
and checking the monitored transaction according to the private key of the receiver, and judging whether the sender transfers funds according to the checking result of the transaction.
In one possible implementation manner, the checking the monitored transaction according to the private key of the receiving party and determining whether the sending party transfers funds according to the checking result of the transaction include:
obtaining a verification address according to a private key of a receiver;
the receiver matches the obtained verification address with the monitored transaction;
if the verification address of the recipient matches the transaction that was heard, then it is determined that the sender transferred funds.
In one possible implementation manner, after the receiving side determines that the sending side transfers the funds, the method further includes:
obtaining an anonymous private key for the spent funds according to the following expression:
x=r2+Hash(Hash(tx),Hash(r2R1),0);
wherein x represents an anonymous private key; r is2A private key representing a recipient; the Hash is a cryptographic Hash function; tx represents a transaction; r1A public key representing the sender; 0 denotes a transaction ID.
An embodiment of a third aspect of the present application provides a system for anonymizing a blockchain address, including:
the determining module is used for determining the shared secret key of the sender and the public key of the receiver according to the private key of the sender and the public key of the receiver;
the processing module is used for generating an anonymous public key address according to the shared secret key, the acquired transaction encryption function and the acquired transaction ID;
the broadcast module is used for assembling the anonymous public key address into a transaction and broadcasting the anonymous public key address to a blockchain network; and the transaction assembled with the anonymous public key address is used for triggering the node consensus in the blockchain network and is used for triggering a receiver to check the transaction.
In one possible implementation manner, the determining module is configured to:
acquiring a public key of a receiver;
determining shared secret keys of the sender and the receiver according to the private key of the sender and the public key of the receiver, wherein the obtained shared secret key is r1r2G; wherein r is1Is the private key of the sender, r2G is a base point of the elliptic curve;
the processing module is used for:
selecting a hash function required by the whole transaction, and acquiring a transaction ID;
an anonymous public key address is generated according to the following expression,
Pubkey=R2+Hash(Hash(tx),Hash(r1r2G),0)G;
wherein Pubkey represents an anonymous public key address; r2A public key representing a recipient; the Hash is a cryptographic Hash function; tx represents a transaction; r is1r2G denotes a shared key of the receiver and the sender; 0 denotes a transaction ID.
An embodiment of a fourth aspect of the present application provides a system for anonymizing a blockchain address, including:
the monitoring module is used for monitoring the transaction in the block chain network;
and the checking module is used for checking the monitored transaction according to the private key of the receiving party and judging whether the sending party transfers funds according to the checking result of the transaction.
In one possible implementation manner, the checking module is configured to:
obtaining a verification address according to a private key of a receiver;
the receiver matches the obtained verification address with the monitored transaction;
if the verification address of the receiver matches the monitored transaction, determining that the sender transferred funds;
the system further comprises:
an obtaining module configured to obtain an anonymous private key for the spent funds according to the following expression:
x=r2+Hash(Hash(tx),Hash(r2R1),0);
wherein x represents an anonymous private key; r is2A private key representing a recipient; the Hash is a cryptographic Hash function; tx represents a transaction; r1A public key representing the sender; 0 denotes a transaction ID.
An embodiment of a fifth aspect of the present application provides a terminal, including:
a memory;
a processor; and
a computer program;
wherein the computer program is stored in the memory and configured to be executed by the processor to implement the method corresponding to the sender as described above.
An embodiment of a sixth aspect of the present application provides a terminal, including:
a memory;
a processor; and
a computer program;
wherein the computer program is stored in the memory and configured to be executed by the processor to implement the method corresponding to the receiving party as described above.
A seventh embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored; which computer program is executed by a processor to implement the method corresponding to the sender as described above.
An eighth aspect of the present application provides a computer-readable storage medium having a computer program stored thereon; the computer program is executed by a processor to implement the method corresponding to the receiving party as described above.
According to the block chain address anonymous processing method and system, the terminal and the storage medium, an anonymous public key address is established for a receiver through a sender, the anonymous public key address has encrypted shared key information established according to a private key of the sender and a public key of the receiver, and then the anonymous public key address is assembled into a transaction to be published, so that the shared key can effectively prevent a non-transaction party from being associated with the relationship between the receiver and the transaction party, only an initiator and the receiver of the transaction in the whole block chain network know the specific anonymous public key address, and the non-transaction party in the block chain network cannot know the specific information of the anonymous public key address in the process of consensus, so that the privacy of a user is fully protected; in addition, in the process, the operation is simple, the requirement on hardware is low, the efficiency loss in the operation process is low, and the performance loss is low.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the application and together with the description serve to explain the application and not to limit the application. In the drawings:
FIG. 1 is a schematic flow chart of a method provided in an exemplary embodiment;
FIG. 2 is a schematic flow chart of a method provided in another exemplary embodiment;
FIG. 3 is a block chain network architecture diagram in an exemplary embodiment;
FIG. 4 is a schematic flow diagram of a transaction provided by an exemplary embodiment;
FIG. 5 is a block diagram of a system provided in an exemplary embodiment;
fig. 6 is a block diagram of a system according to another exemplary embodiment.
Detailed Description
In order to make the technical solutions and advantages of the embodiments of the present application more apparent, the following further detailed description of the exemplary embodiments of the present application with reference to the accompanying drawings makes it clear that the described embodiments are only a part of the embodiments of the present application, and are not exhaustive of all embodiments. It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict.
In the related art, the block chain technology also faces a serious privacy disclosure problem while improving efficiency, reducing cost and improving data security; especially in financial scenarios, the need for privacy protection is very high. Address anonymity, an important measure of privacy protection, plays a crucial role in the blockchain privacy protection process, but it presents many challenges: on one hand, addresses are not correlated, such as bitcoin address anonymity, and although the problem of address anonymity is solved, the relation between a sender and a receiver can be deduced through correlated transactions, so that privacy is exposed; on the other hand, although the performance problem of the scheme, such as the privacy protection scheme based on Zero-Knowledge proof of zkSNARK (Zero-Knowledge base Non-Interactive enterprise of Knowledge), solves the problem of anonymity of the address, the generation and certification time is long, the hardware requirement is high, and the requirement is difficult to meet by a common computer.
In order to overcome the above problems in the related art, the present embodiment provides an anonymous processing method for a blockchain address, and provides an anonymous public key address, where only an initiator and a receiver of a transaction in a whole blockchain network know a specific anonymous public key address, and nodes in the blockchain network do not know anonymous public key address information in a consensus process, so that privacy of a user is sufficiently protected; in addition, in the processing process, the operation is simple, the requirement on hardware is low, the efficiency loss in the operation process is low, and the performance loss is low.
The following describes functions and implementation procedures of the block chain address anonymization processing method provided in this embodiment with reference to the accompanying drawings.
A method performed by a sender in a blockchain network, as shown in fig. 1, may include:
s101, determining shared keys of a sender and a receiver according to a private key of the sender and a public key of the receiver;
s102, generating an anonymous public key address according to the shared secret key, the acquired transaction encryption function and the acquired transaction ID;
s103, assembling the anonymous public key address into a transaction and broadcasting the transaction to a block chain network; the transaction assembled with the anonymous public key address is used for triggering the node consensus in the blockchain network and is used for triggering the receiver to check the transaction.
In step S101, the sender may first obtain the public key R of the receiver Bob corresponding to the transaction2. Public key R of receiver2The receiver calculates and publishes the data; in particular, the receiver may rely on its private key r2And obtaining the public key R by using an elliptic curve encryption algorithm2,R2=r2G and G are base points of the elliptic curve.
The sender Alice obtains the public key R of the receiver2Then, a shared key needed by creating a one-time address, namely the anonymous public key address of the transaction can be determined according to the private key of the sender and the public key of the receiver, wherein the shared key is r1r2G。
In step S102, in order to create the one-time address, the sender needs to use a hash function of the whole transaction, and the hash function is used to perform hash encryption processing on the corresponding content.
The structure of the transaction is as follows:
{source_address,nonce,fee_limit,gas_price,operation,priv,signature};
wherein, source _ address represents the account address of the initiator of the transaction;
nonce represents the transaction number, must equal nonce +1 of the initiator account number; in the concrete implementation, the nonce of the initiator account can be obtained by inquiring the result returned by the account;
fee _ limit represents a commission to the transaction cost;
gas _ price represents the lowest price (i.e., price) of the system;
the operation represents an operation list, namely the effective load of the transaction, namely the main content of the transaction;
priv represents authority information of an account of an initiator;
the signature represents the creator's signature.
The receiver needs to select all hash functions required by the transaction in advance and needs to acquire a transaction ID (identity), namely a transaction serial number); then, the transaction ID, the shared key, the transaction data, and the like are processed according to the hash function to generate an anonymous public key address. For different contents, the selected hash functions may be the same or different, and may be specifically set according to actual needs.
In particular, the recipient may generate an anonymous public key address according to the following expression,
Pubkey=R2+Hash(Hash(tx),Hash(r1r2G),0)G;
wherein Pubkey represents an anonymous public key address; r2A public key representing a recipient; hash represents a cryptographic Hash function, defined as: {0,1}*→Fq(ii) a tx represents the content of the transaction; r is1r2G denotes a shared key of the receiver and the sender; 0 represents a transaction ID; g denotes a base point of the elliptic curve. In addition, tx indicates that the content of the transaction may be specifically the structure of the transaction, but at this time, since the anonymous public key address Pubkey is not yet assembled to the transaction, the position corresponding to the anonymous public key address Pubkey in the operation of the transaction structure is default to be null; that is, in the initial state, the anonymous public key address Pubkey is not assembled to the transaction, and the position corresponding to the anonymous public key address Pubkey in the operation of the transaction structure is default to be null; and when the anonymous public key address Pubkey is assembled into the transaction, filling the anonymous public key address Pubkey into the operation at the position corresponding to the anonymous public key address Pubkey.
In the above expression, R2Indicating ownership of the recipient; hash (tx) makes the receiving address of the transaction unique in the whole network; hash (r)1r2G) Can be used as an important parameter which can effectively prevent other parties from associating addresses; and 0 represents the ID output by the transaction, and the ID is matched with a corresponding hash function for use, so that the receiving address of the transaction is unique in the whole network.
In step S103, after the receiver generates the anonymous public key address, the anonymous public key address is assembled into the transaction, and specifically, the anonymous public key address may be placed into a transaction structure, for example, into an operation of the transaction structure, so as to form a transaction assembled with the anonymous public key address; transactions populated with anonymous public key addresses are broadcast into a blockchain network.
The broadcasted transaction can be used for triggering node consensus processing in the block chain network, generating a block and realizing data updating in the block chain network; the consensus process may be performed by conventional methods in the art, and this embodiment is not described herein again. The broadcasted transaction is also used to trigger the recipient to check to confirm that funds have been transferred.
The method performed by the receiver in the blockchain network, as shown in fig. 2, may include:
s201, monitoring the transaction in the block chain network;
s202, checking the monitored transaction according to the private key of the receiver;
s203, judging whether the sender transfers funds according to the checking result of the transaction.
Without confirmation of receipt of the funds, the recipient will always listen to all transactions in the blockchain network. When a transaction is monitored, the monitored transaction can be parsed. And the monitored transaction is checked and verified according to the private key of the transaction, so as to determine whether the transaction is a real receiver of the transaction, namely whether the fund in the transaction is transferred to the transaction.
Specifically, step S202 may include:
pre-obtaining public key R of sender1,R1=r1G;
According to its own private key r2And the public key r of the sender1G obtains the verification address, which may be: pubkey1=r2G+Hash(Hash(tx),Hash(r2r1G),0)G;
And matching the obtained verification address with the transaction to obtain a matching result.
In step S203, if the obtained matching structure is that the verification address of the receiver matches the transaction, it is determined that the sender transferred the fund, that is, the receiver confirms that the receiver is the real receiver of the transaction;
if the obtained matching structure is that the verification address of the receiver is not matched with the transaction, the step S201 is returned until the verification address can be matched with the monitored transaction.
Wherein, byAt r is2G=R2,r2r1G=r2R1=r1r2G=r1R2For the receiver and the sender in the transaction, the anonymous public key address established by the sender is equal to the verification address determined by the receiver, that is, Pubkey ═ Pubkey1Thus, the verification address determined by the recipient of the transaction can be matched to the transaction published by the sender of the transaction.
Correspondingly, if the verification address determined by the receiver is not matched with the monitored transaction, the verification address determined by the receiver is not equal to the anonymous public key address in the transaction, that is, the receiver is not the real receiver in the transaction; the recipient continues to listen to the transaction in the blockchain network and check until its verification address can match the transaction, confirming that the sender corresponding thereto transferred the funds.
Optionally, after the receiving party determines that the sending party transferred the funds, the method further comprises:
an anonymous private key for spending funds is obtained according to the following expression:
x=r2+Hash(Hash(tx),Hash(r2R1),0);
wherein x represents an anonymous private key; r is2A private key representing a recipient; the Hash is a cryptographic Hash function; tx represents a transaction; r1A public key representing the sender; 0 denotes a transaction ID.
After confirming that the receiver receives the fund, the receiver can obtain the anonymous private key according to the private key of the receiver at any time and spend the fund through the anonymous private key.
The complete transaction process is illustrated below in conjunction with fig. 3 and 4. The block chain network is shown in fig. 3, and has a node A, B, C, D, E; in the transaction, the node a is a sender Alice of the transaction, and the node C is a receiver Bob of the transaction.
As shown in fig. 4, the transaction process may include the following steps:
sender Alice obtains receiver Bob address R2;
Alice selects a hash used by the whole transaction, generates a shared secret key of both parties, acquires a transaction ID, and generates an anonymous public key address for Bob;
the method comprises the steps that Alice assembles the anonymous public key address Pubkey into a transaction and broadcasts the transaction to a block chain network;
block chain network node B, C, D, and generating blocks;
bob monitors all transactions in the network;
bob passes the private key r2Checking the transaction;
bob passes through its private key r2Spending the investment.
In the transaction process, only the initiator and the receiver of the transaction know the specific anonymous public key address, and other nodes, that is, the node B, E, D cannot decrypt the anonymous public key address in the transaction, that is, the node B, E, D and the like cannot obtain specific information of the anonymous public key address of Bob in the consensus process, and other nodes cannot correlate the relationship between the receiver and the sender from the transaction, so that the privacy of the user can be fully protected. In addition, the ownership of the anonymous address of the private key identification of the receiving party is not changed; the method has the advantages of simple operation, low requirement on hardware, low efficiency loss in the operation process, and low influence on the performance of the computer, namely low performance loss.
In practical applications, the above method may be implemented by a computer program, for example, application software; alternatively, the method may also be implemented as a medium storing a related computer program, for example, a usb disk, a cloud disk, or the like; still alternatively, the method may be implemented by a physical device, such as a chip, a smart device, etc., into which the relevant computer program is integrated or installed.
The system provided by the embodiment is a product-side embodiment corresponding to the corresponding method embodiment, and the implementation principle and the generated technical effect are the same as those of the method embodiment.
This embodiment provides a block chain address anonymization processing system, corresponding to the steps executed by the sender in the foregoing embodiments, as shown in fig. 5, the system includes:
the determiningmodule 11 is configured to determine a shared key of the sender and the public key of the receiver according to the private key of the sender and the public key of the receiver;
theprocessing module 12 is configured to generate an anonymous public key address according to the shared secret key, the obtained transaction encryption function, and the obtained transaction ID;
abroadcast module 13, configured to assemble the anonymous public key address into a transaction and broadcast the transaction to a blockchain network; the transaction assembled with the anonymous public key address is used for triggering the node consensus in the blockchain network and is used for triggering the receiver to check the transaction.
In one possible implementation manner, the determiningmodule 11 is configured to:
acquiring a public key of a receiver;
determining shared secret keys of the sender and the receiver according to the private key of the sender and the public key of the receiver, wherein the obtained shared secret key is r1r2G; wherein r is1Is the private key of the sender, r2G is the base point of the elliptic curve, which is the private key of the receiver.
In one possible implementation, theprocessing module 12 is configured to:
selecting a hash function required by the whole transaction, and acquiring a transaction ID;
an anonymous public key address is generated according to the following expression,
Pubkey=R2+Hash(Hash(tx),Hash(r1r2G),0)G;
wherein Pubkey represents an anonymous public key address; r2A public key representing a recipient; the Hash is a cryptographic Hash function; tx represents a transaction; r is1r2G denotes a shared key of the receiver and the sender; 0 denotes a transaction ID.
The present embodiment provides a block chain address anonymization processing system, corresponding to the steps executed by the receiving party in the foregoing embodiments, as shown in fig. 6, the system includes:
themonitoring module 21 is used for monitoring the transaction in the block chain network;
and the checking module 22 is used for checking the monitored transaction according to the private key of the receiving party and judging whether the sending party transfers funds according to the checking result of the transaction.
In one possible implementation, the checking module 22 is configured to:
obtaining a verification address according to a private key of a receiver;
the receiver matches the obtained verification address with the monitored transaction;
if the verification address of the recipient matches the transaction that was heard, then it is determined that the sender transferred funds.
In one possible implementation manner, the system further includes:
an obtainingmodule 23, configured to obtain an anonymous private key for spending money according to the following expression:
x=r2+Hash(Hash(tx),Hash(r2R1),0);
wherein x represents an anonymous private key; r is2A private key representing a recipient; the Hash is a cryptographic Hash function; tx represents a transaction; r1A public key representing the sender; 0 denotes a transaction ID.
The present embodiment provides a terminal device, including:
a memory;
a processor; and
a computer program;
wherein the computer program is stored in the memory and configured to be executed by the processor to implement the respective method.
For specific implementation of the computer program in the terminal device, reference may be made to the method embodiment, which is not described herein again. In addition, the terminal device in this embodiment may have a computer program corresponding to the method executed by the sender, or may have a computer program corresponding to the method executed by the receiver; alternatively, the terminal device in the present embodiment has a computer program corresponding to the method executed by the sender; further alternatively, the terminal device in the present embodiment has a computer program corresponding to the method executed by the receiving side.
The memory is used for storing a computer program, and the processor executes the computer program after receiving the execution instruction, and the method executed by the apparatus defined by the flow process disclosed in the foregoing corresponding embodiments can be applied to or implemented by the processor.
The Memory may comprise a Random Access Memory (RAM) and may also include a non-volatile Memory, such as at least one disk Memory. The memory can implement communication connection between the system network element and at least one other network element through at least one communication interface (which may be wired or wireless), and the internet, a wide area network, a local network, a metropolitan area network, and the like can be used.
The processor may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the method disclosed in the first embodiment may be implemented by hardware integrated logic circuits in a processor or instructions in the form of software. The Processor may be a general-purpose Processor, and includes a Central Processing Unit (CPU), a Network Processor (NP), and the like; but may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components. The corresponding methods, steps, and logic blocks disclosed in the embodiments of the present invention may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The steps of the method disclosed in connection with the embodiments of the present invention may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software elements in the decoding processor. The software elements may be located in ram, flash, rom, prom, or eprom, registers, among other storage media that are well known in the art. The storage medium is located in a memory, and a processor reads information in the memory and completes the steps of the method in combination with hardware of the processor.
The present embodiment provides a computer-readable storage medium having stored thereon a computer program; the computer program is executed by a processor in a corresponding method. For specific implementation, reference may be made to the method embodiments, which are not described herein again. Wherein, for a sender in a transaction, the stored computer program corresponds to a method performed by the sender; for the recipient in the transaction, the stored computer program corresponds to the method performed by the recipient. Of course, in some examples, a node in a blockchain network may act as a sender in one transaction and as a receiver in another transaction, and accordingly, the storage medium of the node stores a computer program corresponding to a method performed by the sender and a computer program corresponding to a method performed by the receiver.
It should be noted that: unless specifically stated otherwise, the relative steps, numerical expressions, and values of the components and steps set forth in these embodiments do not limit the scope of the present invention. In all examples shown and described herein, unless otherwise specified, any particular value should be construed as merely illustrative, and not restrictive, and thus other examples of example embodiments may have different values.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a unit, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable transaction device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable transaction device, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable transaction apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable transaction device to cause a series of operational steps to be performed on the computer or other programmable device to produce a computer implemented process such that the instructions which execute on the computer or other programmable device provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While the preferred embodiments of the present application have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all alterations and modifications as fall within the scope of the application.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.