Point-to-point-based data processing method and system, computing device, and storage medium
Patent Information
- Application Number
- GB2023005203
- Authority / Receiving Office
- GB · GB
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-01-14
- Filing Date
- 2022-10-25
- Publication Date
- 2025-03-05
AI Technical Summary
Existing payment data processing methods cannot take into account the security and efficiency of payment data processing. Centralized payment methods have high transaction efficiency but low transparency and autonomy, while blockchain P2P payment methods have low transaction efficiency and are not conducive to personal privacy protection.
Using a point-to-point data processing method, the hash index between the general ledger and the sub-ledger is associated, legality verification is performed during transaction operations, account amounts and transaction records are updated, and the distributed ledger structure is implemented through the hash index table. Combining encryption technology and blockchain ideas to improve the security and efficiency of payment data processing.
It achieves high security of payment data, good processing efficiency and personal privacy protection. It also has the speed of centralized transactions and the transparency of blockchain, avoiding third-party control and improving the security level of the system and user autonomy.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Point-to-point data processing method, system, computing device and storage medium Technical Field
[0001] The present invention relates to the field of data processing technology, and in particular to a point-to-point data processing method, system, computing device and storage medium. Background Art
[0002] Current centralized payment data processing methods, such as card payments (debit or credit cards), Alipay, and WeChat Pay, offer high transaction efficiency and security, but low transparency and autonomy. Blockchain-based P2P payment data processing offers high security, transparency, and autonomy, but also suffers from low transaction efficiency and privacy concerns. Therefore, current payment data processing methods cannot balance security and efficiency.
[0003] Summary of the Invention
[0004] Based on this, it is necessary to provide a point-to-point data processing method, system, computing device and storage medium based on the problem that existing payment methods cannot take into account both the processing security and the processing efficiency of payment data.
[0005] In a first aspect, an embodiment of the present application provides a point-to-point data processing method, comprising:
[0006] When a transaction operation in a sub-account is triggered, the legitimacy of the transaction in the sub-account is verified through the general ledger;
[0007] Under the premise that the transaction is legal, the amount of the sub-account and the corresponding amount of the general ledger are updated, and the sub-account is prompted to save the current transaction record, and the general ledger is prompted to generate the latest transaction entry of the sub-account and update the hash index table; wherein,
[0008] The legality of the transaction includes that the transaction data comes from a legal source and the transaction data is correct;
[0009] The hash index table is used to record the correspondence between the hash value of the latest transaction record of the sub-account and the sub-account address;
[0010] The general ledger is provided with multiple groups of registers, each group of registers stores an asset, and the amount is equal to the sum of the amounts of the asset in the latest transaction records of all sub-accounts in the general ledger.
[0011] Optionally, the transaction operation includes an internal transaction operation between any two sub-accounts, and an external transaction operation between any sub-account and an external account; wherein the interaction process between any sub-account and the general ledger is encrypted.
[0012] Optionally, when the transaction operation is an internal transaction operation:
[0013] Forward the transaction request reported by the first sub-account to the general ledger. The transaction request includes the asset type and amount, and the address of the second sub-account;
[0014] Prompting the general ledger to verify the legitimacy of the transaction in the first sub-account according to the transaction request;
[0015] On the premise that the transaction is legal, the register amount of the general ledger remains unchanged, and the general ledger is prompted to generate a new first sub-account transaction entry and a new second sub-account transaction entry;
[0016] When both parties to the transaction confirm the transaction, the hash index table is updated according to the first sub-account transaction entry and the second sub-account transaction entry, and the transaction is completed.
[0017] Optionally, when the transaction operation is an external transaction operation and the operation type is transfer-out:
[0018] Forward the transaction request reported by the sub-account to the general ledger. The transaction request contains the asset type and amount, and the external account address;
[0019] Prompting the general ledger to verify the legitimacy of the transaction in the sub-account according to the transaction request;
[0020] On the premise that the transaction is legal, the general ledger is prompted to generate a new sub-account transaction entry. When both parties to the transaction confirm the transaction, the amount of the asset type in the register is deducted accordingly based on the new sub-account transaction entry. After verifying that the amount of the asset type in the register of the general ledger is equal to the sum of the amounts of the asset type in the latest transaction records of all sub-accounts in the latest transaction entry of the general ledger, the hash index table is updated and the transaction is completed.
[0021] Optionally, when the transaction operation is an external transaction operation and the operation type is transfer-in:
[0022] The general ledger is prompted to confirm the asset type and amount of the current transaction based on the sub-account address and external account address reported by the sub-account, and obtain the asset type and amount in the external account address and transfer them to the register. The register amount is increased, a new sub-account transaction entry is generated and pushed to the sub-account, and the new sub-account transaction entry updates the hash index table and completes the transaction.
[0023] Optionally, after verifying the legitimacy of the transactions in the sub-account through the general ledger, the following steps may also be performed:
[0024] The general ledger is prompted to obtain the execution program code of the current transaction, and the execution program code is sent to the audit node authorized by the sub-account to perform hash value verification of the execution program code.
[0025] Optionally, before the transaction operation of the sub-account is triggered, it also includes:
[0026] Multiple temporary accounts defined by sub-accounts in the general ledger are used to store the types and amounts of assets used for transactions in the sub-accounts, thereby achieving the operation of dividing one transaction into multiple transactions.
[0027] In a second aspect, an embodiment of the present application provides a point-to-point data processing system, comprising:
[0028] A verification module, used to verify the legitimacy of the sub-account transaction through the general ledger when a transaction operation of the sub-account is triggered;
[0029] The payment module is used to update the amount of the sub-account and the corresponding amount of the general ledger under the premise that the transaction is legal;
[0030] A storage module is used to prompt the sub-account to save the current transaction record, and to prompt the general ledger to generate the latest transaction entry of the sub-account and update the hash index table; wherein,
[0031] The legality of the transaction includes that the transaction data comes from a legal source and the transaction data is correct;
[0032] The hash index table is used to record the correspondence between the hash value of the latest transaction record of the sub-account and the sub-account address;
[0033] The general ledger is provided with multiple groups of registers, each group of registers stores an asset, and the amount is equal to the sum of the amounts of the asset in the latest transaction records of all sub-accounts in the general ledger.
[0034] In a third aspect, an embodiment of the present application provides a computing device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the steps of the point-to-point data processing method described above are implemented.
[0035] In a fourth aspect, an embodiment of the present application provides a storage medium storing computer-executable instructions, wherein the computer-executable instructions are used to enable a computer to execute the steps included in the above-mentioned point-to-point data processing method.
[0036] One of the above technical solutions has the following advantages and beneficial effects:
[0037] The embodiments of the present application provide a peer-to-peer data processing method, system, computing device, and storage medium. In this peer-to-peer data processing method, the general ledger and all sub-ledgers are linked via hash indexes. When a transaction operation in a sub-ledger is triggered, the general ledger verifies the legality of the sub-ledger transaction. If the transaction is legal, the sub-ledger amount and the general ledger amount are updated. The general ledger and sub-ledgers are prompted to save the current transaction records, and the general ledger is prompted to update the hash index table. Based on this, the general ledger only stores the latest transaction entries and corresponding hash indexes of the sub-ledgers, and does not have a transaction log for the sub-ledgers. The transaction log is stored in the sub-ledgers for users to keep. This realizes a unique distributed ledger structure for peer-to-peer payment, which has both centralized transaction efficiency and the characteristics of blockchain ledgers, can improve the processing security of payment data and has good payment data processing efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] The above and other objects, features and advantages of the present application will become more apparent through a more detailed description of the preferred embodiments of the present application shown in the accompanying drawings. Like reference numerals indicate like parts throughout the drawings, and the drawings are not intentionally drawn to scale with actual size, with the emphasis on illustrating the subject matter of the present application.
[0039] FIG1 is a schematic diagram of an entry structure of a sub-ledger in a general ledger according to an embodiment of the present application;
[0040] FIG2 is a schematic diagram of a sub-account index structure in a general ledger according to an embodiment of the present application;
[0041] FIG3 is a schematic diagram of the general ledger structure in an embodiment of the present application;
[0042] FIG4 is a schematic diagram of a process flow of a point-to-point data processing method according to an embodiment of the present application;
[0043] FIG5 is a schematic diagram of a process for transferring encrypted assets by an individual in an embodiment of the present application;
[0044] FIG6 is a schematic diagram of the process of transferring encrypted assets by an individual in an embodiment of the present application;
[0045] FIG7 is a schematic diagram of a verification process for transferring encrypted assets in an embodiment of the present application;
[0046] FIG8 is a schematic flow chart of a point-to-point data processing method according to an embodiment of the present application;
[0047] FIG9 is a schematic flow chart of a point-to-point data processing method according to an embodiment of the present application;
[0048] FIG10 is a schematic diagram of a process flow of a point-to-point data processing method according to an embodiment of the present application;
[0049] FIG11 is a schematic structural diagram of a point-to-point data processing system according to an embodiment of the present application;
[0050] FIG12 is a schematic structural diagram of a point-to-point data processing system according to an embodiment of the present application;
[0051] FIG13 is a schematic diagram of the structure of a computing device in an embodiment of the present application;
[0052] FIG14 is another schematic diagram of the structure of the computing device in an embodiment of the present application. DETAILED DESCRIPTION
[0053] To facilitate understanding of the present application, a more comprehensive description of the present application will be provided below with reference to the accompanying drawings. The drawings illustrate preferred embodiments of the present application. However, the present application may be implemented in many different forms and is not limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and comprehensive understanding of the present disclosure.
[0054] It should be noted that when an element is considered to be "connected" to another element, it may be directly connected to the other element and integrated therewith, or there may be an intermediate element. The terms "disposed", "one end", "the other end" and similar expressions used herein are for illustrative purposes only.
[0055] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which this application pertains. The terms used herein in the specification of this application are for the purpose of describing specific embodiments only and are not intended to limit this application. The term "and / or" as used herein includes any and all combinations of one or more of the associated listed items.
[0056] To facilitate understanding by those skilled in the art, some technical terms used in this article are explained below:
[0057] 1. Peer-to-peer refers to the anonymity of the payer and the counterparty during the payment data processing process, without having to reveal their true identities. Currently, we see a centralized system where individuals cannot control all data.
[0058] 2. The general ledger consists of the asset register, the latest transaction records of the sub-ledger, the sub-ledger hash index table, the register table and call record log, the transaction log, and the verification log. This concept is different from the traditional financial general ledger and is similar to the blockchain ledger of crypto assets.
[0059] 3. Sub-ledgers have the public and private key functions of blockchain ledgers. The difference between them and blockchain ledgers is that they have their own ledgers and have a reconciliation relationship with the general ledger.
[0060] In any embodiment of the present invention, users can manage their own ledgers. In this embodiment, a cloud product (e.g., a home cloud) provides a multi-signature, multi-backup ledger with a user-defined security level, exceeding the security level of a bank. Combined with general ledger transfer control, users can truly manage their own ledgers.
[0061] The combination of openness and security guarantees machine credibility. Openness fosters trust, while security ensures data integrity. Blockchain security features include encrypted transmission, public and private key authentication, verification of data integrity through hashing and signature algorithms, access control, multi-signatures, combined signatures, hash verification, verifiability, and multiple backups—all implemented in this system.
[0062] This embodiment of the present invention is combined with a cloud product to achieve incentive and capital autonomy. Cryptography technology is used to improve centralized systems to bring them into compliance with current crypto asset standards, and in fact, with Web 3.0 standards. Given the blockchain and directed acyclic graph ledger technologies currently used in crypto assets, it is impossible for any solution to surpass the transaction speed of centralized systems. Only by transforming existing centralized systems can the internet be advanced to Web 3.0.
[0063] To achieve the above objectives, the embodiments of the present invention face and overcome the following problems:
[0064] 1. Assets have a source.
[0065] The assets that define the peer-to-peer payment system must be consensus-based assets with a provenance.
[0066] The current development of digital assets has produced two major changes: one is the emergence of a mature model for asset formation, and the other is that accounting speeds are far from comparable to those of centralized payment systems. The meaning of TPS (transaction speed per second) for crypto assets differs from that of centralized payment systems. Regardless of the speed, when it comes to a payment between two people, it's orders of magnitude different from centralized payment systems. Given the limited asset source, this system can achieve transaction payment levels measured by TPS (transaction speed per second) for centralized payment systems. Users won't notice a noticeable speed difference.
[0067] 2. No blockchain is needed for bookkeeping.
[0068] The mining costs of blockchain-based accounting are very high, while bookkeeping does not require such high costs. Currently, blockchain participants still use blockchain methods to solve blockchain problems when solving peer-to-peer payment problems. However, the embodiments of the present invention abandon the blockchain and use the indexed ledger method to achieve Web 3.0.
[0069] 3. Solve the problem of redundant and wasteful blockchain ledgers.
[0070] For financial applications, six backups are generally sufficient for redundancy. This is a redundancy consideration; any more than this number of backups is redundant. The general ledger in this embodiment of the present invention supports real-time ledger backups. From the perspective of crypto assets, this supports the principle of openness and transparency. However, it does not support the participation of unrelated parties in the calculations. Because this embodiment of the present invention does not generate assets, parties unrelated to the transaction do not need to participate in the accounting. The accounting logic ensures the accuracy of the ledger. Because transactions are bilateral, mutual consent is sufficient. External transfers are more complex. The private key on a single host belongs to the initiator of the transaction. This means that the transferor specifies the multi-signature members, and the initiator can specify the multi-signature members and the number of multi-signatures. For smaller assets, a system multi-signature private key can also be used.
[0071] 4. Realize machine accounting and modification to achieve the machine's credit rating.
[0072] The embodiments of the present invention utilize a trustworthy process to replace humans with machines. According to this approach, only the machine has the right to modify transactions. However, after the transaction results are generated, the machine cannot modify the log account.
[0073] 5. There is no general ledger.
[0074] Sub-accounts are accounts that users manage themselves. These accounts are managed by users themselves, and serve as a running record of their transactions. The master ledger is public and, in theory, is managed by machines, rather than by humans.
[0075] 6. Decentralized ledger design.
[0076] Since only machines have the right to modify the ledger, it can be called a machine ledger, or simply the general ledger. A distributed ledger consists of sub-ledgers and a general ledger. Individual ledgers are controlled by individuals, and individual transactions are conducted by individuals. Both parties must verify the transactions. In this case, the system does not participate in the transaction. The only affected parts of the network are the general ledger and the participants, with a minimum of three parties. While the general ledger allows for multi-party operations, it is difficult to guarantee zero wait times, necessitating a stacked wait design. The general ledger contains the latest changes to the sub-ledgers, or the latest record. This record is identical to the latest entry in the sub-ledger. The latest transaction index in the general ledger is a checksum against the latest record in the sub-ledger. The sub-ledgers and the general ledger also store different content. This distributed computing and storage approach better aligns with the computer industry's definition of distributed computing and storage. The system uses a peer-to-peer (P2P) approach to synchronize updates between nodes that download the complete ledger. To prevent errors, only one cluster serves as the primary computing node, with the rest acting as backup nodes.
[0077] In the embodiment of the present invention, the general ledger (account) is designed to have the following functions:
[0078] 1. Index function.
[0079] As shown in Figures 1 and 2, Figure 1 is a schematic diagram of the entry structure of the sub-ledger in the general ledger in an embodiment of the present application, and Figure 2 is a schematic diagram of the sub-ledger index structure in the general ledger in an embodiment of the present application.
[0080] The general ledger, without sub-ledgers, is a transaction log accessible to anyone, much like a cryptoasset ledger. However, anyone can only access the latest transaction records in a sub-ledger. Without synchronizing the entire transaction log as a full node, historical sub-ledger transactions are unavailable. Even if all transaction records are synchronized, whether a sub-ledger is accessible depends entirely on its configuration. Furthermore, even if publicly accessible, it remains incomprehensible to outsiders, requiring users to verify only their own transaction history. The general ledger only stores the latest transaction entries and hash indexes, while transaction logs are stored in individual sub-ledgers, which are maintained by the user. This unique distributed ledger structure for peer-to-peer payments combines the efficiency of centralized transactions with the characteristics of blockchain ledgers, making the blockchain-based Web 3.0 practical.
[0081] The general ledger is divided into a data area and a program area. Data and programs are stored separately, and the hash value of the key transfer program is saved. Before calling the transfer program, the hash value of the program is verified to ensure that the program has not been tampered with.
[0082] 2. Exchange between general ledger and external accounts.
[0083] As shown in Figure 3, Figure 3 is a schematic diagram of the general ledger structure in an embodiment of the present application:
[0084] The external address is the same as the general ledger address, both for input and output;
[0085] Only the sub-account has an "external address" to transfer the same asset. Transfers from other accounts will be invalid. A return function will be designed after the transfer.
[0086] Only external transfers initiated by the sub-account are valid;
[0087] The general ledger is accessible, while the directory index and hash index are not for privacy reasons. The log account is downloadable. However, the accessibility of each transaction record depends on the encryption settings of the parties involved. Only the parties involved can decrypt their transaction records.
[0088] The hash index contains data such as sub-account addresses and KYC.
[0089] The system has designed an external interaction register group, referred to as the external register. Once external account data is imported into the system through the external register, it is quickly transferred to personal sub-accounts, and the balance in the external register increases accordingly. For crypto assets, the addresses of external and internal personal data are authenticated using public keys. A standard data structure is provided for different asset types via an API, and banks must adhere to this standard data structure when converting. Currently, it uses the ERC20 format, just like the stablecoin USDT.
[0090] The registers themselves are stored in the data area, separate from the general ledger account data. Each register has its own data structure and hash value. For clarity, the principle of one asset per address is used.
[0091] In reality, simply inserting an address into any external account allows data exchange between the system and the external account. This requires no human intervention; when no external transfers are taking place, the register data remains constant. The value of an external register for the same asset type is the sum of the values in all sub-accounts with the same asset type in the general ledger.
[0092] When transferring assets, the total amount of the general ledger external register is reduced by the corresponding amount. The operation is that the register receives the transfer record as a condition, and the external register program verifies that it is correct and enters the verification program. This transfer record is saved in the log of the asset register outside the data area.
[0093] 3. Verification function.
[0094] Verification is used to ensure the credibility of the computation process. This involves the introduction of third-party machine verification, with the sender, receiver, and machine jointly confirming the transaction results. The verification results are temporarily stored in the general ledger index account and permanently stored in the sub-ledger.
[0095] 3.1. Verifying the Correctness of External Transfer Accounts: To ensure the asset's source, the concept of a previous block of crypto assets is employed, applied only to the calculation of each transaction record. A hash value is calculated for each record. The general ledger stores the current and previous records, including their hash values. A record contains both the previous hash and the final hash value. For example, when a crypto asset is sent to the system, it is stored in the crypto asset register. The register also has two hash positions. Note that one position is empty, and only the register can have this empty position. When the register receives data from an external source, it sets the register to the same data as the external crypto asset address. The hash value for this record is then calculated and stored in the second hash position. When the register data is transferred to the client, the client verifies the hash value. The first empty position indicates external data, while the second hash value indicates the record is correct. If correct, the client accepts the data and calculates the hash value for its own record.
[0096] 3.2 Verifying the Correctness of Standard Transactions: When a customer makes another transfer, they verify the hash value of their own transfer record. This allows them to verify the accuracy of their account data. Hash 2 represents the source of the previous transaction, and Hash 3 represents the recorded hash value. If the hash value doesn't match the calculated result of the record, the program returns. See Table 1 for the transfer verification process and the location of the hash values.
[0097] Table 1 Schematic diagram of hash position in the verification process before transfer
[0098] Previous: Hash 1 Hash 2 data,,,, Current: Hash 2 Hash 3 data,,,, Transfer completed↓ Next: Hash X Hash X+1 data,,,,
[0099] Assume that data is currently being sent. After the transfer is completed, the data becomes Table 2.
[0100] Table 2 Schematic diagram of hash position changes during the verification process after transfer
[0101] Current: Hash 3 Hash 4 data,,,, Transfer completed↓ Next: Hash 4 Hash 5 data,,,,
[0102] As can be seen, the first hash indicates the source of the data, while the second ensures data accuracy. The machine performs a final check to confirm the transaction is correct. If it is correct, it deletes the "previous entry," thus ensuring that all data has a provenance. The machine only needs to verify that the hashes of both the spending and receiving transactions are correct to ensure data accuracy. A subledger can only have one record in the general ledger. The sent and received data in the general ledger exists for verification purposes. The core connection of the blockchain is the "previous block." The embodiments of this invention utilize the concept of "previous entry." If the blockchain is recognized, then the data chain should also be recognized. The general ledger is not vulnerable to exposure because the actual ledger is in private hands. This process can prevent "double-spending" transactions.
[0103] 3.3. Verify that the total number of the general ledger and the total number of the sub-ledger are consistent: As long as the sum of the latest data in the sub-ledger in the general ledger matches the register data, the result is correct. Verification is required before the transaction to ensure the correct number and again after the transaction. If the transaction is sent externally, the external register value must be changed first and the total is recalculated. If the verification result is correct, the external transmission process is executed. The transmission process requires public and private key verification. The computing cluster has a verification machine that users can control through multi-signature. The verification process is concurrent, and the register is changed only after verification.
[0104] Sub-ledger transaction books are stored in each sub-ledger and cannot generally be accessed from the general ledger without the permission of the sub-ledger owner. The default setting is closed.
[0105] The hash value of the sub-account program code itself is fixed and serves as a verification tool for new copies. For versions with the same version, the program hash value remains fixed. The code changes after a version upgrade. To ensure accuracy, customers must upgrade their code before new operations can be performed. Programs and data are separate. Verifying the program code ensures the absence of hacker plugins and that the code is correct before and after execution.
[0106] 4. Anonymity function.
[0107] Anonymity is a key feature of crypto-assets and a form of privacy protection. Note the description above: the general ledger does not know the counterparty to a transaction. Crypto-assets utilize a Merkel tree to reduce storage consumption. Compared to crypto-asset ledgers, the general ledger in this embodiment of the present invention is more economical. Sub-ledgers can retain all transactions, achieving true ledger distribution, something crypto-assets cannot achieve. Like crypto-assets, they also possess limited anonymity, are linked to IP addresses, and are therefore vulnerable to public authorities. Furthermore, the system incorporates user temporary registers, allowing users to define any number of temporary registers. The system has a default of 10, primarily to prevent ledger bloat. These temporary registers allow users to distribute large ledger entries before sending them. Smaller amounts can also be sent; when transferred twice, the true main account is hidden. Since accounts are public and accessible to anyone, anyone who knows who sent the funds can immediately determine the number of ledgers you have. Only one entry in a sub-ledger in the general ledger contains a hash value associated with the previous entry, preventing third parties from guessing the number of ledgers in your account. There is a setting in the sub-account that can be set to hide the transfer, which will automatically make two transfers. The data displayed in the sub-account on the general ledger will not be exposed.
[0108] 5. Query function: divided into general ledger query and sub-ledger query.
[0109] The general ledger is public, as is the program code; only the private key to the general ledger remains private. The private key for the general ledger is divided into three levels, with the highest level being the private key generated at the time of the transfer. This presents a conflict between speed and security, a decision left to the user's discretion. If transferring to a large ledger, why not proceed more slowly for security?
[0110] 5.1 General Ledger Queries include: A. External Register Queries. Querying external registers reveals the total number of any asset type in the system. B. Querying any account name and address. Username and address mapping. C. The latest transaction history for any current sub-account. (Note: This is only possible if the sub-account owner consents to general ledger queries of their sub-account, or if the sub-account owner discloses their sub-account information. The decision rests with the sub-account owner.) D. Statistical Data Queries, including total transaction volume and number of transactions by asset type, yearly, monthly, and daily transaction volume and number, and charts.
[0111] 5.2 Sub-account Query: A. The correspondence between the specific sub-account account name and various asset internal accounts and external addresses. B. The contact information disclosed by the sub-account. C. Statistics query is similar to ledger query. D. Sub-account disclosure permissions are set in the sub-account settings.
[0112] 6. Storage function: divided into general ledger storage and sub-ledger storage.
[0113] 6.1. General Ledger Storage. The general ledger is a cluster, similar to the underlying design of a centralized cluster. It utilizes a three-host peer-to-peer design with six copies synchronized in real time. The entire program does not include sub-ledger journals. Essentially, the general ledger is a calculator, with journals stored in the sub-ledgers and updated as they are used. The general ledger includes an optional backup function for sub-ledgers, but this requires the sub-ledger owner to configure and pay a fee. Furthermore, a multi-signature, multi-backup ledger is available, corresponding to the present invention. This provides a higher level of security than a cold ledger and is less expensive than backing up the general ledger system.
[0114] 6.2. Encrypted multi-signature, multi-backup ledger. This functionality and security surpass all existing hard ledgers. This feature is designed into the cloud product of this embodiment of the present invention. This cloud product features advanced voice recognition capabilities, allowing the ledger password and encrypted asset address to be stored in a password box. Payments can be made by voice, voice, fingerprint, or both. Generally, one person can easily maintain three backups, and three additional backups can be created using three nodes of the cloud product. Automatic synchronization occurs after payment is completed, and after synchronization, the data is displayed on the master node of your choice. Controlling your data is the most secure way to stay in your own hands. This approach also addresses one of the biggest pain points of encryption: data loss.
[0115] 7. Notification function.
[0116] Mobile phone notifications are already very good. For the recipient, notifications are divided into SMS notifications and email notifications. For the sender, it is a notification of successful transaction.
[0117] 8. Alarm function.
[0118] Program operation abnormality alarm, illegal login alarm, sending failure alarm, timeout alarm, device hardware error alarm.
[0119] 9. Message function.
[0120] This is a community with a bulletin board and private messaging for system clients to communicate with each other.
[0121] The system in this embodiment is a distributed system that meets the computer industry's definition and is also a peer-to-peer payment system with machine credit. It represents an advancement over all existing distributed payment systems worldwide. The payment speed of this system is essentially the same as that of centralized systems. This system is not limited to asset payments; it is also an effective payment tool for electronic invoices.
[0122] In light of this, embodiments of the present invention provide a peer-to-peer data processing method, system, computing device, and storage medium. In this peer-to-peer data processing method, the general ledger and sub-ledgers are linked via hash indexes. When a transaction in a sub-ledger is triggered, the general ledger verifies the legitimacy of the transaction. If the transaction is legal, the balance in the sub-ledger and the general ledger are updated. The sub-ledger is prompted to save the current transaction record, and the general ledger is prompted to update the index table. Consequently, the general ledger does not contain a transaction data journal and does not query the sub-ledger's historical transaction records. It only stores the index table, while the transaction data journal is permanently stored in the sub-ledger. This achieves decentralized ledger management for peer-to-peer payments, high transaction efficiency, high account autonomy, and protection of personal privacy. This system combines the advantages of centralized systems with fast transactions while avoiding centralized third-party control. Individuals can control the entire transaction by controlling the multi-signature private key of a server. This utilizes blockchain technology to transform centralized payment systems, enabling the upgrade of centralized systems to Web 3.0 systems.
[0123] Among them, web3.0 is defined as: data sovereignty lies with the people, data is transparent and trustworthy, everyone contributes resources, everyone shares benefits, and everyone participates in governance.
[0124] Therefore, even if blockchain technology fails to achieve these five key points, it still falls within the scope of Web 2.0. The system in this embodiment of the present invention is positioned within this context, with individual ledgers. A general ledger storing 2 billion account entries does not exceed 2TB in size, resulting in very low operating costs. To increase speed, inexpensive flash drives are used, resulting in speeds exceeding those of centralized systems. Data movement is controlled by individuals, data is transparent and traceable, and community governance is introduced. This system's design philosophy does not conform to existing mainstream blockchain concepts and will be questioned by blockchain dogmatists. In reality, neither decentralization nor blockchain is the essential definition of crypto assets. Their essence lies in trustlessness, disintermediation, and trust in machines. From a security perspective, crypto assets are subject to the assumption of a 51% computing power attack, while this is not the case with the embodiments of the present invention.
[0125] To better understand the technical solutions provided in the embodiments of this application, the following briefly introduces the application scenarios to which the technical solutions provided in the embodiments of this application are applicable. It should be noted that the application scenarios introduced below are only used to illustrate the embodiments of this application and are not limiting. In specific implementation, the technical solutions provided in the embodiments of this application can be flexibly applied according to actual needs.
[0126] In one application scenario, the general ledger corresponds to a computer system (e.g., a computer cluster), and each sub-ledger corresponds to a computer system. The computer systems communicate with each other via a network. The computer system can be or be integrated into a terminal device, such as a smartphone, tablet computer, laptop computer, or desktop computer, but is not limited to these.
[0127] It should be noted that the terminal device used to execute the steps of the point-to-point data processing method recorded in the embodiment of the present invention should have interactive functions, such as supporting voice or touch screen or keyboard.
[0128] As shown in Figure 4, Figure 4 is a flow chart of a point-to-point data processing method provided by an embodiment of the present application. The present application embodiment provides a point-to-point data processing method:
[0129] S11. When a transaction operation in a sub-account is triggered, the legitimacy of the transaction in the sub-account is verified through the general ledger.
[0130] S12. Under the premise that the transaction is legal, update the amount in the sub-account and the corresponding amount in the general ledger, prompt the sub-account to save the current transaction record, and prompt the general ledger to generate the latest transaction entry for the sub-account and update the hash index table.
[0131] The legality of the transaction includes the legality of the transaction data source and the accuracy of the transaction data. The hash index table is used to record the correspondence between the hash value of the latest transaction record of the sub-account and the sub-account address. The general ledger is equipped with multiple sets of registers, each set of registers storing an asset, and the amount of each register is equal to the sum of the amounts of the asset in the latest transaction records of all sub-accounts in the general ledger.
[0132] In one embodiment, the index table is used to implement the indexing function of the general ledger. Based on the principle of one asset, one address (note: one asset refers to one asset type, such as a crypto asset), the more asset types in a personal ledger, the more corresponding addresses there will be. Addresses refer to the addresses of different asset types in the sub-ledgers. These addresses correspond to the latest hash value of the personal account in the general ledger. By looking up this hash value, the personal ledger from which the asset was sent can be determined.
[0133] It should be noted that the hash index becomes part of the data structure of the ledger address table. The hash index indicates the ownership of this record in the general ledger.
[0134] In one embodiment, the transaction operations include internal transaction operations between any two sub-accounts, and external transaction operations between any sub-account and an external account; wherein, the interaction process between any sub-account and the general ledger is encrypted.
[0135] Optionally, when the transaction operation is an internal transaction operation:
[0136] Forward the transaction request reported by the first sub-account to the general ledger. The transaction request includes the asset type and amount, and the address of the second sub-account;
[0137] Prompting the general ledger to verify the legitimacy of the transaction in the first sub-account according to the transaction request;
[0138] On the premise that the transaction is legal, the register amount of the general ledger remains unchanged, and the general ledger is prompted to generate a new first sub-account transaction entry and a new second sub-account transaction entry;
[0139] When both parties to the transaction confirm the transaction, the hash index table is updated according to the first sub-account transaction entry and the second sub-account transaction entry, and the transaction is completed.
[0140] Specifically, provided the transaction is legal, the register balance in the general ledger remains unchanged, and a new first sub-account transaction entry and a new second sub-account transaction entry are generated in the general ledger. The new first sub-account transaction entry is sent to the first sub-account to obtain a transaction confirmation instruction, and the transaction confirmation instruction is forwarded to the second sub-account to obtain a transaction confirmation instruction. The transaction entry and hash index table stored in the general ledger are updated based on the transaction confirmation instructions from both parties, completing the transaction. The same process is followed for the generated second sub-account transaction entry.
[0141] A sub-account is like a sub-ledger in a ledger. The connection between the sub-account and the general ledger must be through the network, so this process must be encrypted.
[0142] Optionally, when the transaction operation is an external transaction operation and the operation type is transfer-out:
[0143] Forwarding transaction requests submitted by sub-accounts to the general ledger. The transaction requests contain the asset type and amount, as well as the external account address.
[0144] Prompting the general ledger to verify the legitimacy of the transaction in the sub-account according to the transaction request;
[0145] On the premise that the transaction is legal, the general ledger is prompted to generate a new sub-account transaction entry. When both parties to the transaction confirm the transaction, the amount of the asset type in the register is deducted accordingly based on the new sub-account transaction entry. After verifying that the amount of the asset type in the register of the general ledger is equal to the sum of the amounts of the asset type in the latest transaction records of all sub-accounts in the latest transaction entry of the general ledger, the hash index table is updated and the transaction is completed.
[0146] Specifically, under the premise that the transaction is legal, the general ledger prompts the general ledger to generate a new sub-account transaction entry and send it to the sub-account to obtain a transaction confirmation instruction, and then forwards the transaction confirmation instruction to the external account in the general ledger and enters a verification procedure. After the verification is passed, the amount of the asset type in the register is deducted accordingly according to the confirmation instruction. At the same time, after verifying that the amount of the asset type in the register of the general ledger is equal to the sum of the amounts of the asset type in the latest transaction records of all sub-accounts in the latest transaction entry of the general ledger, the index table is updated and the transaction is completed.
[0147] As shown in Figure 5, Figure 5 is a schematic diagram of the process of transferring encrypted assets by an individual in an embodiment of the present application: transferring to any encrypted asset blockchain address.
[0148] 1. An individual sends an asset transfer instruction to the general ledger.
[0149] The external addresses of crypto assets in the general ledger are system-defined. Each asset has a set of general ledger registers that correspond to the addresses in the encrypted blockchain ledger. The general ledger contains the latest transaction record for each individual account (or sub-account), indicating the amount of crypto assets held.
[0150] An individual signs the ledger with their private key, including the token number of the crypto asset they wish to transfer, such as YBTC, along with the blockchain address of any crypto asset and the latest record of their holdings. The ledger can then be decrypted using the public key.
[0151] 2. The general ledger’s handling of sub-ledgers.
[0152] The general ledger will check the encrypted assets (YBTC) of the personal account with the records of the general ledger. If the verification result is correct, the general ledger will generate a new YBTC transfer to any encrypted asset blockchain address and data, and encrypt it and send it to the sub-account.
[0153] 3. The sub-ledger confirms the latest index record and transfers out, encrypts it, and then returns the confirmation information to the general ledger.
[0154] 4. The general ledger will sign the content returned by the sub-ledger again to start the multi-signature verification and transfer process.
[0155] 5. After the transaction is complete, the amount transferred out of the YBTC external register in the general ledger is deducted to generate a new YBTC record for the sub-account. The amount deducted is equal to the amount transferred out of the sub-account.
[0156] 6. Update the index hash and ledger address index table.
[0157] 7. The updated YBTC record of the sub-account is stored in the general ledger and transferred to the sub-account.
[0158] 8. After receiving the transfer, the sub-account returns the received information. After receiving this reply information, this transfer information is stored in the transfer log.
[0159] It should be noted that a complete transfer record consists of four parts: the transfer amount, the transfer-in crypto asset address, the transfer signature, and the corresponding public key. This method corresponds to the crypto asset standard.
[0160] This method has advantages in terms of internal transfer speed, but the encryption and decryption process and the verification and verification process will affect the speed. If only the general ledger is verified, the data verification speed will be very fast.
[0161] Optionally, when the transaction operation is an external transaction operation and the operation type is transfer-in:
[0162] The general ledger is prompted to confirm the asset type and amount of the current transaction based on the sub-account address and external account address reported by the sub-account, and obtain the asset type and amount in the external account address and transfer them to the register. The register amount is increased, a new sub-account transaction entry is generated and pushed to the sub-account, and the new sub-account transaction entry updates the hash index table and completes the transaction.
[0163] Specifically, the general ledger is prompted to generate a new sub-account index, not a complete transaction record. The index is sent to the sub-account to obtain a transaction confirmation instruction, and the transaction confirmation instruction is forwarded to the external account to obtain a confirmation instruction. The amount of the asset type in the register is deducted accordingly based on the transaction confirmation instruction. After verifying that the amount of the asset type in the register of the general ledger is equal to the sum of the amounts of the asset type in the latest transaction records of all sub-accounts in the index table of the general ledger, the index table is updated according to steps 6 to 8 above, and the transaction is completed.
[0164] in:
[0165] 6. Update the index hash and ledger address index table;
[0166] 7. The updated YBTC record of the sub-account is stored in the general ledger and transferred to the sub-account;
[0167] 8. After receiving the transfer, the sub-account returns the received information. After receiving this reply information, this transfer information is stored in the transfer log.
[0168] Figure 6 illustrates the process of transferring crypto assets by an individual in an embodiment of this application. Crypto asset transfers can only be initiated from a sub-account; other transfers are invalid. It should be noted that once the crypto assets shown in the figure are transferred into this system, they are converted into an equivalent value of YBTC. The actual crypto assets remain in the crypto asset ledger, so without multi-sig, security is not guaranteed. Multi-sig for crypto assets has never experienced any issues and has been proven in practice.
[0169] FIG7 is a schematic diagram of the verification process for transferring encrypted assets in an embodiment of the present application.
[0170] The transfer process has been explained above; here we will explain the verification process. All crypto assets mentioned within this system are YBTC. Within the crypto asset blockchain account, there is a general ledger external account, generated in the crypto asset ledger. The system's general ledger has a corresponding general ledger external account, and the two are identical. When the sub-ledger sends the request to host 1, it confirms that it is correct and then enters the verification process. As can be seen, this cluster consists of three hosts, forming a peer-to-peer cluster structure. Normally, only host 1 is operational. The other two hosts function as hot backups, ready to take over host 1's operations at any time. Another important task is multi-signature execution. This embodiment of the present invention assumes that host 2's private key is a combined private key, pre-set by the transfer-out sub-ledger. If no signature is present, the system remains in a temporary state. The multi-signature design for the crypto asset blockchain ledger is 3-3; if any one signature is missing, the system will not function properly. Therefore, if the sub-ledger disagrees with the transfer, the account transaction will not proceed. If the transaction is idle for more than 24 hours, the system will automatically cancel the transaction.
[0171] FIG8 is a flow chart of a peer-to-peer data processing method according to an embodiment of the present application. In one embodiment, after verifying the legitimacy of the transactions in the sub-account through the general ledger, the method further includes:
[0172] S22: Prompt the general ledger to obtain the execution program code of the current transaction, and send the execution program code to the audit node authorized by the sub-account to perform hash value verification of the execution program code.
[0173] It should be noted that in all the above examples, except for the private keys of individual sub-accounts (ledgers) and external registers, and the related calling procedures, all other code is publicly available and can be audited by any third party. Sub-accounts can be audited by any designated auditing node. Adding audit nodes will slow down the transfer process. Auditing nodes are not recommended for internal transfers, as the machine and input / output verification are sufficient. For external transfers, where there is no third party involved, third-party auditing and verification nodes are necessary. The result of the input / output audit is to verify the hash values of the executed program code. Third-party auditing of code execution results is possible.
[0174] As shown in Figure 9, Figure 9 is a flow chart of a peer-to-peer data processing method in an embodiment of the present application. In one embodiment, before a transaction operation of a sub-account is triggered, the method further includes:
[0175] S31. Multiple temporary accounts defined by the sub-accounts in the general ledger are used to store the types and amounts of assets used for transactions in the sub-accounts, thereby implementing an operation of dividing one transaction into multiple transactions.
[0176] (Or, as shown in FIG10 , FIG10 is a flow chart of a peer-to-peer data processing method in an embodiment of the present application. In one embodiment, before the transaction operation of the sub-account is triggered, it also includes:
[0177] S41. Distributed storage of the asset types and amounts used for transactions in the sub-accounts is performed using multiple registers defined in the general ledger by the sub-accounts, thereby enabling the operation of dividing a single transaction into multiple transactions.
[0178] Among them, a user temporary register is designed. A user can define any number of temporary registers, such as 10. This is mainly to avoid the expansion of the general ledger. The temporary register is designed for customers to disperse large account numbers and then send them. When sending small data, if the data is transferred twice, the real large account will be hidden. If the account is public and anyone can check it, then the other party will know who remitted the money and how much assets there are. However, if only one record in the sub-account of the general ledger has a hash value associated with the previous record, then the other party will not be able to guess how many account books your account has. The embodiment of the present invention is designed to be free when transferring accounts to yourself. There is such a setting in the sub-account that is set to hidden transfer, which automatically performs two transfers, and the data displayed by the sub-account on the general ledger will not be exposed.
[0179] In one embodiment, the subledger address and index hash table allow the latest data on the subledger to be retrieved. The settings define query levels, similar to the definitions of strangers and acquaintances on Facebook, with four or five levels: public, friends, specific friends, and self. There's actually an additional level, allowing the master ledger to query all subledgers, but this requires an audit node. Subledgers can query their own latest records in the four scenarios mentioned above. External registers are public; simply enter "crypto asset external register" in the search to display the total number. For subledger queries, such as "Li Ming, crypto assets," the latest record for that subledger is found using the index hash value associated with the subledger address book.
[0180] The general ledger and sub-ledgers are linked via hash indexes, making the general ledger inaccessible and historical transaction records inaccessible. All transaction records are held by individuals, with the sub-ledgers deciding whether to release them to the appropriate parties. The structure of the general ledger and sub-ledgers is neither a blockchain nor a current banking structure, making it significantly simpler than a centralized system without the slowness of blockchain's distributed authentication.
[0181] The innovation of the above-described embodiments of the present invention lies in achieving decentralized control and ledger disclosure, as well as privacy protection and asset self-storage. This embodiment of the present invention uses serial numbers in the log account, which do not correspond to the hash value of the general ledger. Only the user can understand their account and easily verify it with their own account, while others cannot see it, thus ensuring data privacy.
[0182] The log account design method of the embodiment of the present invention is that the log account is not disclosed, which can maximize privacy protection.
[0183] All transactions in this embodiment of the present invention are organized into a transaction log. This embodiment creates a page per second, which is synchronized by all willing full nodes. A hash value is calculated for each page. Using the hash values of all daily pages, a full-day page hash is calculated and stored on the blockchain to ensure the ledger has not been tampered with. Currently, the fastest ledgers typically complete a page in 3 seconds, requiring 11 confirmations for validity, typically around 30 seconds. Assuming network latency is not factored in, this is the fastest blockchain transaction speed. In practice, transactions take 1-2 minutes. Taking into account network congestion and packet processing, half an hour is common. In contrast, transactions in the trading system of this embodiment of the present invention are completed upon mutual confirmation, completing transactions in less than one second, approaching or even matching the transaction speeds of centralized systems. All centralized trading systems are structurally distributed to ensure security. This distributed system utilizes a centralized cluster approach, but achieves decentralized control. This fundamentally addresses all blockchain and directed acyclic graph (DAG) ledger systems, achieving the same transaction speeds as centralized systems. The structural details of this embodiment of the present invention will be disclosed in the peer-to-peer payment system white paper.
[0184] Referring to FIG. 11 , based on the same inventive concept, an embodiment of the present application provides a point-to-point data processing system, including:
[0185] Verification module 51, used to verify the legitimacy of the sub-account transaction through the general ledger when the sub-account transaction operation is triggered;
[0186] Payment module 52, used to update the amount of the sub-account and the corresponding amount of the general ledger under the premise that the transaction is legal;
[0187] The storage module 53 is used to prompt the sub-account to save the current transaction record, and to prompt the general ledger to generate the latest transaction entry of the sub-account and update the hash index table; wherein,
[0188] The legality of the transaction includes that the transaction data comes from a legal source and the transaction data is correct;
[0189] The hash index table is used to record the correspondence between the hash value of the latest transaction record of the sub-account and the sub-account address;
[0190] The general ledger is provided with multiple groups of registers, each group of registers stores an asset, and the amount is equal to the sum of the amounts of the asset in the latest transaction records of all sub-accounts in the general ledger.
[0191] In one embodiment, the transaction operations include internal transaction operations between any two sub-accounts, and external transaction operations between any sub-account and an external account; wherein, the interaction process between any sub-account and the general ledger is encrypted.
[0192] In one embodiment, when the transaction operation is an internal transaction operation:
[0193] Forward the transaction request reported by the first sub-account to the general ledger. The transaction request includes the asset type and amount, and the address of the second sub-account;
[0194] Prompting the general ledger to verify the legitimacy of the transaction in the first sub-account according to the transaction request;
[0195] On the premise that the transaction is legal, the register amount of the general ledger remains unchanged, and the general ledger is prompted to generate a new first sub-account transaction entry and a new second sub-account transaction entry;
[0196] When both parties to the transaction confirm the transaction, the hash index table is updated according to the first sub-account transaction entry and the second sub-account transaction entry, and the transaction is completed.
[0197] In one embodiment, when the transaction operation is an external transaction operation and the operation type is transfer-out:
[0198] Forwarding transaction requests submitted by sub-accounts to the general ledger. The transaction requests contain the asset type and amount, as well as the external account address.
[0199] Prompting the general ledger to verify the legitimacy of the transaction in the sub-account according to the transaction request;
[0200] On the premise that the transaction is legal, the general ledger is prompted to generate a new sub-account transaction entry. When both parties to the transaction confirm the transaction, the amount of the asset type in the register is deducted accordingly based on the new sub-account transaction entry. After verifying that the amount of the asset type in the register of the general ledger is equal to the sum of the amounts of the asset type in the latest transaction records of all sub-accounts in the latest transaction entry of the general ledger, the hash index table is updated and the transaction is completed.
[0201] In one embodiment, when the transaction operation is an external transaction operation and the operation type is transfer-in:
[0202] The general ledger is prompted to confirm the asset type and amount of the current transaction based on the sub-account address and external account address reported by the sub-account, and obtain the asset type and amount in the external account address and transfer them to the register. The register amount is increased, a new sub-account transaction entry is generated and pushed to the sub-account, and the new sub-account transaction entry updates the hash index table and completes the transaction.
[0203] Referring to FIG. 12 , in one embodiment, a point-to-point data processing system further includes:
[0204] The verification module 54 is used to prompt the general ledger to obtain the execution program code of the current transaction and send the execution program code to the audit node authorized by the sub-account to perform hash value verification of the execution program code.
[0205] In conjunction with FIG12 , in one embodiment, a point-to-point data processing system further includes:
[0206] The temporary storage module 50 is used to store the asset types and amounts used for transactions in the sub-accounts through multiple temporary accounts defined by the sub-accounts in the general ledger, thereby realizing the operation of dividing one transaction into multiple transactions.
[0207] Based on the same inventive concept, an embodiment of the present application further provides a computing device, which is a terminal device. Referring to FIG. 13 , the computing device in the embodiment of the present application includes at least one processor 1001 and a memory 1002 connected to the at least one processor. The embodiment of the present application does not limit the specific connection medium between the processor 1001 and the memory 1002. For example, the processor 1001 and the memory 1002 may be connected via a bus, which may be classified as an address bus, a data bus, a control bus, etc.
[0208] In an embodiment of the present application, the memory 1002 stores instructions that can be executed by at least one processor 1001. By executing the instructions stored in the memory 1002, the at least one processor 1001 can execute the steps included in the aforementioned point-to-point data processing method.
[0209] The processor 1001 may be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, and may implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the method disclosed in conjunction with the embodiments of the present application may be directly embodied as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.
[0210] Memory 1002 is a non-volatile computer-readable storage medium that can be used to store non-volatile software programs, non-volatile computer executable programs and modules. Memory can include at least one type of storage medium, such as a flash memory, a hard disk, a multimedia card, a card-type memory, a random access memory (Random Access Memory, RAM), a static random access memory (Static Random Access Memory, SRAM), a programmable read-only memory (Programmable Read Only Memory, PROM), a read-only memory (Read Only Memory, ROM), an electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), a magnetic memory, a disk, an optical disc, etc. Memory is any other medium that can be used to carry or store a desired program code in the form of an instruction or data structure and can be accessed by a computer, but is not limited thereto. The memory 1002 in the embodiment of the present application can also be a circuit or any other device that can realize a storage function, for storing program instructions and / or data.
[0211] The processor 1001 is the control center of the computing device. It can connect the various components of the computing device using various interfaces and lines. By running or executing instructions stored in the memory 1002 and invoking data stored in the memory 1002, it can perform various functions of the computing device and process data, thereby monitoring the entire computing device. Optionally, the processor 1001 may include one or more processing units. The processor 1001 may integrate an application processor and a modem processor. The application processor primarily processes the operating system, user interface, and application programs, while the modem processor primarily handles wireless communications. It is understood that the modem processor may not be integrated into the processor 1001. In some embodiments, the processor 1001 and the memory 1002 may be implemented on the same chip. In some embodiments, they may also be implemented on separate chips.
[0212] Furthermore, the computing device in the embodiment of the present application may further include components such as an input unit 1003, a display unit 1004, a radio frequency unit 1005, an audio circuit 1006, a speaker 1007, a microphone 1008, a WiFi module 1009, a Bluetooth module 1010, a power supply 1011, an external interface 1012, and a headphone jack 1013. It will be understood by those skilled in the art that FIG9 is merely an example of a computing device and does not constitute a limitation on the computing device. The computing device may include more or fewer components than shown in the figure, or may combine certain components, or may have different components.
[0213] The input unit 1003 can be used to receive input digital or character information and generate key signal input related to user settings and function control of the computing device. For example, the input unit 1003 may include a touch screen 1014 and other input devices 1015. The touch screen 1014 can collect user touch operations on or near it (for example, operations performed by the user using a finger, joint, stylus, or any other suitable object on or near the touch screen 1014). In other words, the touch screen 1014 can be used to detect touch pressure, touch input location, and touch input area, and drive corresponding connected devices according to pre-set programs. The touch screen 1014 can detect user touch operations on the touch screen 1014, convert the touch operations into touch signals, and transmit them to the processor 1001. Alternatively, it can be understood that the touch information of the touch operations can be transmitted to the processor 1001, and can receive and execute commands sent by the processor 1001. The touch information can include at least one of pressure intensity information and pressure duration information. The touch screen 1014 can provide an input interface and an output interface between the computing device and the user. In addition, the touch screen 1014 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch screen 1014, the input unit 1003 can also include other input devices 1015. For example, the other input devices 1015 can include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, power keys, etc.), a trackball, a mouse, a joystick, and the like.
[0214] The display unit 1004 can be used to display information input by the user or information provided to the user and various menus of the computing device. Furthermore, the touch screen 1014 can cover the display unit 1004. When the touch screen 1014 detects a touch operation on or near it, it transmits pressure information of the touch operation to the processor 1001 to determine it. In an embodiment of the present application, the touch screen 1014 and the display unit 1004 can be integrated into one component to realize the input, output, and display functions of the computing device. For ease of description, the embodiment of the present application uses the touch screen 1014 as an example to represent the functional set of the touch screen 1014 and the display unit 1004. Of course, in some embodiments, the touch screen 1014 and the display unit 1004 can also be two independent components.
[0215] When the display unit 1004 and the touch panel are stacked together in layers to form the touch screen 1014, the display unit 1004 can be used as an input device and an output device. When used as an output device, it can be used to display images, for example, to play various videos. The display unit 1004 can include at least one of a liquid crystal display (LCD), a thin film transistor liquid crystal display (TFT-LCD), an organic light emitting diode (OLED) display, an active matrix organic light emitting diode (AMOLED) display, an in-plane switching (IPS) display, a flexible display, a 3D display, and the like. Some of these displays can be configured to be transparent to allow a user to view from the outside, which can be referred to as a transparent display. Depending on the specific desired embodiment, the computing device can include two or more display units (or other display devices). For example, the computing device can include an external display unit (not shown in FIG. 13 ) and an internal display unit (not shown in FIG. 13 ).
[0216] The RF unit 1005 can be used to send and receive information or receive and send signals during calls. Typically, the RF circuit includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier (LNA), a duplexer, and the like. Furthermore, the RF unit 1005 can communicate with network devices and other devices via wireless communication.
[0217] The audio circuit 1006, speaker 1007, and microphone 1008 provide an audio interface between the user and the computing device. The audio circuit 1006 converts received audio data into electrical signals and transmits them to the speaker 1007, which then converts them into sound signals for output. Meanwhile, the microphone 1008 converts collected sound signals into electrical signals, which are then received by the audio circuit 1006 and converted into audio data. The audio data is then output to the processor 1001 for processing, and then sent to, for example, another computing device via the radio frequency unit 1005. Alternatively, the audio data is output to the memory 1002 for further processing. The audio circuit may also include a headphone jack 1013, which provides a connection interface between the audio circuit and headphones.
[0218] WiFi is a short-range wireless transmission technology. Computing devices can help users send and receive emails, browse the web, and access streaming media through WiFi module 1009, providing users with wireless broadband Internet access. Although FIG13 shows WiFi module 1009, it is understood that it is not a required component of the computing device and can be omitted as needed without changing the essence of the invention.
[0219] Bluetooth is a short-range wireless communication technology. Using Bluetooth technology, it is possible to effectively simplify communication between mobile communication devices such as PDAs, laptops, and cell phones, and also to successfully simplify communication between these devices and the Internet. Computing devices use Bluetooth modules 1010 to enable faster and more efficient data transmission between computing devices and other devices, paving the way for wireless communication. Bluetooth technology is an open solution that enables wireless transmission of voice and data. Although FIG13 shows a Bluetooth module 1010, it is understood that it is not a necessary component of a computing device and can be omitted as needed without changing the essence of the invention.
[0220] The computing device may further include a power supply 1011 (e.g., a battery) for receiving external power or powering various components within the computing device. Preferably, the power supply 1011 may be logically connected to the processor 1001 via a power management system, thereby enabling the power management system to manage charging, discharging, and power consumption.
[0221] The computing device may further include an external interface 1012 , which may include a standard Micro USB interface or a multi-pin connector, and may be used to connect the computing device to communicate with other devices or to connect a charger to charge the computing device.
[0222] Although not shown, the computing device in the embodiment of the present application may also include other possible functional modules such as a camera and a flash, which will not be described in detail here.
[0223] Based on the same inventive concept, an embodiment of the present application provides a computing device, which is a server. As shown in Figure 14, the computing device in the embodiment of the present application includes at least one processor 1101, and a memory 1102 and a communication interface 1103 connected to at least one processor 1101. The specific connection medium between the processor 1101 and the memory 1102 is not limited in the embodiment of the present application. Figure 11 takes the connection between the processor 1101 and the memory 1102 via the bus 1100 as an example. The bus 1100 is represented by a bold line in Figure 11. The connection method between other components is only for schematic illustration and is not intended to be limiting. The bus 1100 can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one bold line is used in Figure 14, but it does not mean that there is only one bus or one type of bus.
[0224] In an embodiment of the present application, the memory 1102 stores instructions that can be executed by at least one processor 1101. By executing the instructions stored in the memory 1102, the at least one processor 1101 can execute the steps included in the aforementioned point-to-point data processing method.
[0225] The processor 1101 is the control center of the computing device. It can connect the various parts of the entire computing device using various interfaces and lines. By running or executing instructions stored in the memory 1102 and calling data stored in the memory 1102, the various functions of the computing device and processing data are performed, thereby monitoring the computing device as a whole. Optionally, the processor 1101 may include one or more processing units. The processor 1101 may integrate an application processor and a modem processor. The processor 1101 mainly processes the operating system, user interface, and application programs, while the modem processor mainly handles wireless communications. It is understood that the modem processor may not be integrated into the processor 1101. In some embodiments, the processor 1101 and the memory 1102 may be implemented on the same chip. In some embodiments, they may also be implemented on separate chips.
[0226] The processor 1101 can be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, and can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method applied for in conjunction with the embodiments of the present application can be directly embodied as being executed by a hardware processor, or can be executed by a combination of hardware and software modules in the processor.
[0227] Memory 1102 is a non-volatile computer-readable storage medium that can be used to store non-volatile software programs, non-volatile computer executable programs and modules. Memory 1102 may include at least one type of storage medium, such as a flash memory, a hard disk, a multimedia card, a card-type memory, a random access memory (Rand om Access Memory, RAM), a static random access memory (Static Random Access Memory, SRAM), a programmable read-only memory (Programmable Read Only Memory, PROM), a read-only memory (Read Only Memory, ROM), an electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), a magnetic memory, a disk, an optical disk, etc. Memory 1102 is any other medium that can be used to carry or store a desired program code in the form of an instruction or data structure and can be accessed by a computer, but is not limited thereto. The memory 1102 in the embodiment of the present application can also be a circuit or any other device that can realize a storage function, for storing program instructions and / or data.
[0228] The communication interface 1103 is a transmission interface that can be used for communication. For example, data can be received or sent through the communication interface 1103 .
[0229] Continuing to refer to FIG. 14 , the computing device also includes a basic input / output system (I / O system) 1104 for helping to transmit information between various components within the computing device, and a large-capacity storage device 1108 for storing an operating system 1105 , application programs 1106 , and other program modules 1107 .
[0230] The basic input / output system 1104 includes a display 1109 for displaying information and an input device 1110, such as a mouse or keyboard, for user input. Both the display 1109 and the input device 1110 are connected to the processor 1101 via the basic input / output system 1104, which is connected to the system bus 1100. The basic input / output system 1104 may also include an input / output controller for receiving and processing input from various other devices, such as a keyboard, mouse, or electronic stylus. Similarly, the input / output controller also provides output to a display screen, printer, or other types of output devices.
[0231] The mass storage device is connected to the processor 1101 through a mass storage controller (not shown) connected to the system bus 1100. The mass storage device 1108 and its associated computer-readable media provide non-volatile storage for the server package. In other words, the mass storage device 1108 may include computer-readable media (not shown) such as a hard disk or CD-ROM drive.
[0232] According to various embodiments of the present invention, the computing device package can also be connected to a remote computer on a network such as the Internet for operation. In other words, the computing device can be connected to the network 1111 via the communication interface 1103 connected to the system bus 1100, or the communication interface 1103 can be used to connect to other types of networks or remote computer systems (not shown).
[0233] Based on the same inventive concept, an embodiment of the present application also provides a storage medium, which can be a computer-readable storage medium. The storage medium stores computer instructions. When the computer instructions are executed on a computer, the computer executes the steps included in the aforementioned point-to-point data processing method.
[0234] Based on the same inventive concept, an embodiment of the present application further provides a chip system, which includes a processor and may also include a memory, for implementing the steps included in the aforementioned point-to-point data processing method. The chip system can be composed of a chip or include a chip and other discrete devices.
[0235] In some possible implementations, various aspects of the social content processing method provided in the embodiments of the present application may also be implemented in the form of a program product, which includes program code. When the program product is run on a computer, the program code is used to enable the computer to execute the steps described above in the peer-to-peer data processing method according to various exemplary embodiments of the present application.
[0236] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, devices, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0237] Obviously, those skilled in the art may make various changes and modifications to this application without departing from the spirit and scope of this application. Thus, if these modifications and variations of this application fall within the scope of the claims of this application and their equivalents, this application is intended to include these modifications and variations.
Claims
1. A point-to-point data processing method, characterized in that: include: When a transaction operation in a sub-account is triggered, the legitimacy of the transaction in the sub-account is verified through the general ledger; Under the premise that the transaction is legal, the amount of the sub-account and the corresponding amount of the general ledger are updated, and the sub-account is prompted to save the current transaction record, and the general ledger is prompted to generate the latest transaction entry of the sub-account and update the hash index table; wherein, The legality of the transaction includes that the transaction data comes from a legal source and the transaction data is correct; The hash index table is used to record the correspondence between the hash value of the latest transaction record of the sub-account and the sub-account address; The general ledger is provided with multiple groups of registers, each group of registers stores a type of asset, and the amount of the asset is equal to the sum of the amounts of the asset in the latest transaction records of all sub-accounts in the general ledger; The transaction operation includes an internal transaction operation between any two sub-accounts. When the transaction operation is an internal transaction operation: Forward the transaction request reported by the first sub-account to the general ledger. The transaction request includes the asset type and amount, and the address of the second sub-account; Prompting the general ledger to verify the legitimacy of the transaction in the first sub-account according to the transaction request; On the premise that the transaction is legal, the register amount of the general ledger remains unchanged, and the general ledger is prompted to generate a new first sub-account transaction entry and a new second sub-account transaction entry; When both parties to the transaction confirm the transaction, the hash index table is updated according to the first sub-account transaction entry and the second sub-account transaction entry, and the transaction is completed.
2. The method according to claim 1, characterized in that The transaction operations also include external transaction operations between any sub-account and an external account; wherein, the interaction process between any sub-account and the general ledger is encrypted.
3. The method according to claim 2, characterized in that When the transaction operation is an external transaction operation and the operation type is transfer-out: Forward the transaction request reported by the sub-account to the general ledger. The transaction request contains the asset type and amount, and the external account address; Prompting the general ledger to verify the legitimacy of the transaction in the sub-account according to the transaction request; On the premise that the transaction is legal, the general ledger is prompted to generate a new sub-account transaction entry. When both parties to the transaction confirm the transaction, the amount of the asset type in the register is deducted accordingly based on the new sub-account transaction entry. After verifying that the amount of the asset type in the register of the general ledger is equal to the sum of the amounts of the asset type in the latest transaction records of all sub-accounts in the latest transaction entry of the general ledger, the hash index table is updated and the transaction is completed.
4. The method according to claim 2, characterized in that When the transaction is an external transaction and the transaction type is transfer-in: The general ledger is prompted to confirm the asset type and amount of the current transaction based on the sub-account address and external account address reported by the sub-account, and obtain the asset type and amount in the external account address and transfer them to the register. The register amount is increased, a new sub-account transaction entry is generated and pushed to the sub-account, and the new sub-account transaction entry updates the hash index table and completes the transaction.
5. The method according to any one of claims 1 to 4, characterized in that After verifying the legitimacy of the transactions in the sub-account through the general ledger, it also includes: The general ledger is prompted to obtain the execution program code of the current transaction, and the execution program code is sent to the audit node authorized by the sub-account to perform hash value verification of the execution program code.
6. The method according to any one of claims 1 to 3, characterized in that Before the transaction operation of the sub-account is triggered, it also includes: Multiple temporary accounts defined by sub-accounts in the general ledger are used to store the types and amounts of assets used for transactions in the sub-accounts, thereby achieving the operation of dividing one transaction into multiple transactions.
7. A point-to-point data processing system, characterized in that: include: A verification module, used to verify the legitimacy of the sub-account transaction through the general ledger when a transaction operation of the sub-account is triggered; The payment module is used to update the amount of the sub-account and the corresponding amount of the general ledger under the premise that the transaction is legal; A storage module is used to prompt the sub-account to save the current transaction record, and to prompt the general ledger to generate the latest transaction entry of the sub-account and update the hash index table; wherein, The legality of the transaction includes that the transaction data comes from a legal source and the transaction data is correct; The hash index table is used to record the correspondence between the hash value of the latest transaction record of the sub-account and the sub-account address; The general ledger is provided with multiple groups of registers, each group of registers stores a type of asset, and the amount of the asset is equal to the sum of the amounts of the asset in the latest transaction records of all sub-accounts in the general ledger; The transaction operation includes an internal transaction operation between any two sub-accounts. When the transaction operation is an internal transaction operation: Forward the transaction request reported by the first sub-account to the general ledger. The transaction request includes the asset type and amount, and the address of the second sub-account; Prompting the general ledger to verify the legitimacy of the transaction in the first sub-account according to the transaction request; On the premise that the transaction is legal, the register amount of the general ledger remains unchanged, and the general ledger is prompted to generate a new first sub-account transaction entry and a new second sub-account transaction entry; When both parties to the transaction confirm the transaction, the hash index table is updated according to the first sub-account transaction entry and the second sub-account transaction entry, and the transaction is completed.
8. A computing device, characterized in that The method comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the steps of the point-to-point data processing method according to any one of claims 1 to 6 are implemented.
9. A storage medium, characterized in that: The storage medium stores computer-executable instructions, and the computer-executable instructions are used to enable a computer to execute the steps included in the point-to-point data processing method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Accounting method and device based on block chain, and electronic device
CN110009338A
Accounting method, device and system and computer readable storage medium
CN111191292A
Distributed blockchain data storage under account model
CN111630830A
Point-to-point-based data processing method and system, computing equipment and storage medium
CN114511321A
Method for Settling Cash by Variety Account Connection
KR1020100013757A