Digital transactions are growing as a method of conducting business between two or more parties. However, due to the nature of digital transactions, no tangible items are used in the transaction. This presents numerous problems including verifying the different aspects of a transaction, initiating payments and the prevention of fraud. In addition, digital transactions can utilize large amounts of processor power, which can further delay the execution of a transaction.
A need exists for a system that will expedite the progression of a transaction without compromising the security of the transaction or utilizing large amount of processing power.
Systems, methods, features, and advantages of the present invention will be or will become apparent to one with skill in the art upon examination of the following figures and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within this description, be within the scope of the invention, and be protected by the accompanying claims.
One embodiment of the present disclosure includes a payment management system having a payment management unit that initiates a transaction, an operation unit that manages the issuance of at least one certificate, a governance unit that operates based on at least one parameter defined in the at least one certificate, at least one validation unit that receives the at least one certificate and validates portions of the transaction, and a payment unit that issues payment based on the terms of the at least one certificate where the operation unit crates a governance protocol for each transaction with the governance protocol including at least one epoch and at least one checkpoint.
In another embodiment, the at least one epoch is created by an epoch transition.
In another embodiment, the at least one epoch is associated with a governance certificate generated from the governance unit.
In another embodiment, each checkpoint is created by the at least one validation unit to represent the completion of a task.
In another embodiment, an epoch transition is created when a checkpoint changes a validation parameter.
Another embodiment includes a nonce associated with each transaction.
In another embodiment, the certificate is broadcast to the at least one validation unit over a network.
In another embodiment, at least one checkpoint includes a transaction array listing all the events associated with a transaction.
In another embodiment, a checkpoint proposal is broadcast to selected validation units for acceptance.
In another embodiment, the checkpoint proposal is validated using Byzantine Fault Tolerance.
Another embodiment includes a method of making payments for a transaction including the steps of initiating a transaction via a payment management unit, managing the issuance of at least one certificate via an operation unit, a governance unit based on at least one parameter defined in the at least one certificate, receiving the at least one certificate and validating portions of the transaction via at least one validation unit, issuing a payment based on the terms of the at least one certificate via a payment unit, and creating a governance protocol for each transaction via the governance unit with the governance protocol including at least one epoch and at least one checkpoint.
In another embodiment, the at least one epoch is created by an epoch transition.
Another embodiment includes the step of associating the at least one epoch with a governance certificate generated from the governance unit.
In another embodiment, each checkpoint is created by the at least one validation unit to represent the completion of a task.
Another embodiment includes the step of creating the epoch transition when a checkpoint changes a validation parameter.
Another embodiment includes the step of associating a nonce with each transaction.
Another embodiment includes the step of broadcasting the certificate to the at least one validation unit over a network.
In another embodiment at least one checkpoint includes a transaction array listing all the events associated with a transaction.
Another embodiment includes the step of broadcasting a checkpoint proposal to selected validation units for acceptance.
Another embodiment includes the step of validating the checkpoint proposal is validated using Byzantine Fault Tolerance.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an implementation of the present invention and, together with the description, serve to explain the advantages and principles of the invention. In the drawings:
Referring now to the drawings which depict different embodiments consistent with the present invention, wherever possible, the same reference numbers will be used throughout the drawings and the following description to refer to the same or like parts.
The payment management system 100 provides a broadcast based payment system. The payment management system 100 utilizes an account model that allows for redistributing transactions fees, recovery of locked accounts, governance certificates that determine the set of validators and govern protocol parameters like transaction fees, and the creation of checkpoints throughout the transaction process to expediate payment of transaction fees. By the use of an appropriate broadcast scheme such as a signed echo broadcast or any other appropriate broadcast, valid transactions are final as soon as the broadcast is finished, guaranteeing low latency. By the use of governance certificates, which include a checkpoint, validators can be replaced throughout the transaction process, and transaction fees can be paid out upon the completion of the checkpoint. In addition, because each checkpoint consolidates all previously executed transactions, all transactions prior to the checkpoint can be discarded from memory, reducing the memory requirement.
The operation unit 110 and certificate management unit 112 may be embodied by one or more servers. Alternatively, each of the governance unit 114 and payment unit 116 may be implemented using any combination of hardware and software, whether as incorporated in a single device or as a functionally distributed across multiple platforms and devices.
In one embodiment, the network 108 is a cellular network, a TCP/IP network, or any other suitable network topology. In another embodiment, the row identification device may be servers, workstations, network appliances or any other suitable data storage devices. In another embodiment, the communication devices 104 and 106 may be any combination of cellular phones, telephones, personal data assistants, or any other suitable communication devices. In one embodiment, the network 108 may be any private or public communication network known to one skilled in the art such as a local area network (“LAN”), wide area network (“WAN”), peer-to-peer network, cellular network, or any suitable network, using standard communication protocols. The network 108 may include hardwired as well as wireless branches.
In one embodiment, the network 108 may be any private or public communication network known to one skilled in the art such as a Local Area Network (“LAN”), Wide Area Network (“WAN”), Peer-to-Peer Network, Cellular network, or any suitable network, using standard communication protocols. The network 108 may include hardwired as well as wireless branches.
In one embodiment, a third party can take the place of the account owner 402 in the process. The third party can transmit a payment message to the account owner 402 and to the validators 406. The third party retains a copy of the payment message and payment certificate after the transaction is complete. The third party, account owner and validators can request notifications of events that occur during the transaction by transmitting a subscribe message that specifies the types of events for notifications and the role of the party requesting notifications. In one embodiment, the roles include account owner, a relayer who is a third party that sends and receives messages for an account owner, a mirror that receives and stores messages related to the account, and a wallet service that can be implemented by a payment application. In another embodiment, a user account is replaced with an Unspent Transaction Output (“UTXO”). Transactions consume one or more UTXOs and send the funds represented by the UTXO to one or more new addresses, thereby creating new UTXOs. Checkpoints can agree on the current state of UTXOs, allowing for the discard of the history, and epoch transitions do not require further adaptation. Transaction fees can be charged by ensuring that the sum of UTXOs is less than the consumed UTXOs and distributed in a checkpoint by creating UTXOs without inputs. UTXOs may also be created with stealth addresses, where only recipients or parties having each party's scanning private keys, have the ability to verify the owner account of a UTXO, thereby providing transaction privacy. Other alternatives for providing privacy include, but are not limited to, signing zero knowledge computation certificates instead of transactions, masking even the existence of a balance. Such privacy-enhancing features may also be combined with the ability to force the operator to reveal balances or transactions by using threshold signatures.
In step 512, if the request is determined to be valid by two thirds of the validators reviewing the payment request, the transaction is allowed to move forward. In step 514, a payment certificate is finalized. In finalizing the payment certificate, signatures of at least ⅔ of the validators are included in the payment certificate. The payment certificate can be in any format where at least ⅔ of the validator's signatures are aggregated. The aggregation of signatures may happen using identifiable aggregation, where the identities of the validators whose signature are contained in the aggregate signature can be recovered, and unidentifiable aggregation, where only the presence of a sufficient quantity of signatures is proven. In step 516, the payment certificate is sent to the account owner, any third parties such as relayers, the recipients and the validators. In step 518, funds are transferred to the recipients and the nonce associated with the account is increased by one.
If an account owner wants to cancel a payment message, the account owner can send a cancellation message to the validators. Upon receipt of the cancellation message, each validator verifies the format of the cancellation message. Once two thirds of the validators have signed the cancellation message, a cancellation certificate is issued and the payment is cancelled. Cancellation messages can be included in a recovery message to confirm an account will be unlocked. In one embodiment, an account owner may dispute a payment. Consistent with this embodiment, final payment will not be made to any account until a predetermined condition, such as an elapsed time, has occurred.
During an epoch, checkpoints 716 and 718 are created where validators confirm the transactions that have happened up to the point where the checkpoint 716 and 718 occurs in the epoch 702 and 704. In one embodiment, a checkpoint 716 and 718 is issued in the same epoch 702 and 704 without a change in the governance 712 and 714. A checkpoint allows validators to verify the current balance of each account by aggregating all transactions, allowing for the storage of only the balances for each account and to discard the transactions. A checkpoint 716 and 718 that changes protocol parameters or adds or changes validators 722 is an epoch transition 706 and 708, triggering a new epoch 704 with a new governance certificate 714. In one embodiment, the epoch transitions 706 and 708 and the checkpoint 716 and 718 are merged together into a single operation.
In step 816, each validator processes the checkpoint proposal. After the proposal is processed, each validator hashes the state of all accounts and signs the checkpoint hash. In another embodiment, validators sign the hash of the transaction array. Each validator sends the checkpoint hash out over the network. Moving forward, validators sign any new certificates with the new checkpoint identifier. In step 818, the transaction fees of all transactions included in the checkpoint are calculated and paid to all validators participating in the transaction and the transaction continues. In another embodiment of the checkpoint creation process, validators use a consensus to agree on the transactions in the checkpoint.
The payment system 1000 also includes a keychain 1006 and a crypto module 1008. The keychain 1006 stores private keys used to access the system and the crypto module 1008 provides an interface to sign transactions using the private keys. The crypto module 1008 also manages all signatures including aggregating signatures for certificates that are created. A discovery module 1010 is connected to the data model 1004 and discovers new nodes on the network 404. A FinalPay overlay 1012 is connected to the discovery module 1010 and manages broadcasts made over the network including payment request broadcasts and checkpoint broadcasts. A relay module 1014 is connected to the overlay 1012 which controls validator to validator communications.
The data model 1004, overlay 1012 and relay module 1014 are all connected to a core protocol module 1016. The core protocol module 1016 manages all operations 1016 of the payment system 1000 including managing transactions, initiating checkpoints, managing governance certificates, and updating account information. A Web3 RPC 1018 is connected to the core protocol module to convert Ethereum based messages to common format. A FinalPay RPC 1020 is connected to the core protocol module 1016 and manages messages sent from external sources to the core protocol module 1016. A CLI module 1020. A CLI module 1022 that handles addressing of nodes is connected to the core protocol module 1016.
The validator units 1108 replicates a ledger of balances for all accounts. The ledger system has a data structure that stores at least one token balance per account and verifies that adequate funds exist in the safe investment financial account unit 1104 to financially back each newly minted token. The ledger may also store nonces or transaction counters, text including code and the state of a smart contract. The data structure may be a list, a hashmap or another appropriate data structure. Transactions under the ledger system are in the form of messages including a sender, a receiver and an amount. Each message is signed by the sender using public key cryptography or UTXO.
A burn transaction is a transaction with a safe investment financial account unit 1104 as a recipient. Users 1202 can withdraw tokens 1206 from the DLT system 1106 to convert the tokens 1206 back into fiat cash 1204 by providing payment details such as a bank account number to the operator and issue a burn transaction. Once the burn transaction has been finalized by the BFT protocol, the operator unit 1102 issues a fiat payment to the recipient, using the funds invested in the safe asset and the previously minted tokens are removed from the ledger. In one embodiment, where funds were not transferred to the operator unit 1102, the burn process clears the ledger of tokens minted with untransformed funds.
In one embodiment, the DLT protocol 1110 may include a plurality of subsystem including, but not limited to, a payment sub-system, a checkpoint sub-system and a governance sub-system. The payment sub-system control payments, cancellations and recoveries and is controlled by a broadcast mode. The checkpoints sub-system controls memory management including deleting prior transactions and payment of transaction fees. The checkpoints sub-system is controlled by a consensus mode. The governance sub-system controls the updates to protocol parameters and committed management. The governance sub-system is controlled by a consensus mode. The minted tokens may be used to pay transaction fees or any other required settlement.
While various embodiments of the present invention have been described, it will be apparent to those of skill in the art that many more embodiments and implementations are possible that are within the scope of this invention. Accordingly, the present invention is not to be restricted except in light of the attached claims and their equivalents.
This is application claims the benefit of and priority from U.S. Application Ser. No. 63/539,782, filed Sep. 21, 2023 which is fully incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
63539782 | Sep 2023 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 18648613 | Apr 2024 | US |
Child | 18889574 | US |