WO2020024968A1 - 资源转移数据管理方法、装置及存储介质 - Google Patents

资源转移数据管理方法、装置及存储介质 Download PDF

Info

Publication number
WO2020024968A1
WO2020024968A1 PCT/CN2019/098540 CN2019098540W WO2020024968A1 WO 2020024968 A1 WO2020024968 A1 WO 2020024968A1 CN 2019098540 W CN2019098540 W CN 2019098540W WO 2020024968 A1 WO2020024968 A1 WO 2020024968A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
data
transaction data
resource transfer
server
Prior art date
Application number
PCT/CN2019/098540
Other languages
English (en)
French (fr)
Inventor
郭锐
李茂材
王宗友
屠海涛
孔利
周开班
杨常青
王楠
丁勇
时一防
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Priority to JP2020563752A priority Critical patent/JP7264918B2/ja
Publication of WO2020024968A1 publication Critical patent/WO2020024968A1/zh
Priority to US17/089,462 priority patent/US20210049596A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/06Energy or water supply

Definitions

  • the embodiments of the present application relate to the field of Internet technologies, and in particular, to a method, an apparatus, and a storage medium for managing resource transfer data.
  • the inventors found that the related technology has at least the following problems: the above-mentioned resource transfer operation is performed by the server, and the resource transfer data is stored in the server in a centralized manner, which is easily lost or tampered with, and has poor security. Once the server maliciously transfers a user's resources to other resource accounts, it will cause the user to lose resources.
  • a method, an apparatus, and a storage medium for managing resource transfer data are provided.
  • a resource transfer data management method is provided, which is executed by a data management system.
  • the data management system includes multiple blockchain nodes.
  • the method includes:
  • the resource transfer data includes the identifier of the transfer-in party, the identifier of the transfer-in party, and the quantity of resources transferred by the transfer-in party;
  • a second block is generated according to the transaction data and the characteristic value of the first block, and the second block is added to the blockchain to make the second block in the blockchain
  • the block becomes the next block of the first block, and the second block is used to store the transaction data.
  • a method for managing resource transfer data is provided and executed by a first server.
  • the method includes:
  • resource transfer data includes the identifier of the transferor, the identifier of the transferor, and the amount of resources transferred by the transferor in the transfer direction;
  • the data management system includes a plurality of blockchain nodes; the data management system is configured to verify the transaction data according to the public key of the first server, and after the verification is passed, the transaction data and the first block are verified. Generate a second block with the characteristic value of, add the second block to the blockchain, so that the second block in the blockchain becomes the next block of the first block The second block is used to store the transaction data.
  • a resource transfer data management device is provided and is applied to a data management system.
  • the data management system includes multiple blockchain nodes.
  • the device includes:
  • a receiving module configured to receive transaction data sent by a first server, and when the transaction data is determined by the first server to meet resource transfer data transfer conditions, the resource transfer data is transferred according to a private key of the first server It is obtained after signing, and the resource transfer data includes the identifier of the transferor, the identifier of the transferor, and the quantity of resources transferred by the transferor in the transfer direction;
  • a verification module configured to verify the transaction data according to the public key of the first server
  • a generation module configured to generate a second block according to the transaction data and the characteristic value of the first block when the verification is passed, add the second block to the blockchain, and enable the blockchain The second block becomes the next block of the first block, and the second block is used to store the transaction data.
  • a device for managing resource transfer data is provided and is applied to a first server.
  • the device includes:
  • An obtaining module configured to obtain resource transfer data, where the resource transfer data includes an identifier of the transferring party, an identifier of the transferring party, and an amount of resources transferred by the transferring party;
  • a signature module configured to: when it is determined that the resource transfer data satisfies the condition for transferring resources, sign the resource transfer data according to the private key of the first server to obtain transaction data;
  • a sending module for sending the transaction data to a data management system
  • the data management system includes a plurality of blockchain nodes; the data management system is configured to verify the transaction data according to the public key of the first server, and after the verification is passed, the transaction data and the first block are verified. Generate a second block with the characteristic value of, add the second block to the blockchain, so that the second block in the blockchain becomes the next block of the first block The second block is used to store the transaction data.
  • an apparatus for managing resource transfer data which includes a memory and a processor.
  • the memory stores computer-readable instructions.
  • the processor executes the instructions. The steps in the method for managing resource transfer data involved in the above embodiments.
  • one or more non-volatile storage media storing computer-readable instructions are provided.
  • the computer-readable instructions are executed by one or more processors, the one or more processors are caused to execute the foregoing embodiments.
  • FIG. 1 is a schematic diagram of an implementation environment provided by an embodiment of the present application.
  • FIG. 2 is a schematic diagram of an implementation environment provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram of a resource transfer data management method according to an embodiment of the present application.
  • FIG. 4 is a schematic diagram of a resource transfer data management method according to an embodiment of the present application.
  • FIG. 5 is a schematic diagram of a resource transfer data management method according to an embodiment of the present application.
  • FIG. 6 is a schematic diagram of a resource transfer data management method according to an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a resource transfer data management apparatus according to an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a resource transfer data management device according to an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a server according to an embodiment of the present application.
  • the blockchain is a chain data structure formed by combining data blocks in a sequential manner in a chronological order, and it is a cryptographically-immutable and unforgeable distributed ledger.
  • blockchain technology uses blockchain data structures to verify and store data, uses distributed node consensus algorithms to generate and update data, uses cryptography to ensure the security of data transmission and access, and uses smart contracts to A new distributed infrastructure and computing method for operating data.
  • Multiple blockchain nodes in a blockchain network can be configured with the same blockchain to store data in the blockchain to ensure that the stored data is synchronized. And the adjacent blocks in the blockchain have an association relationship, so that when any data in the block is tampered with, it can be detected by the next block, thereby avoiding data tampering and ensuring data security and security. reliability.
  • the transferring party is a user who needs to transfer resources to a charging agency, such as an individual user who needs to pay electricity bills, an individual user who needs to repay a credit card, and so on.
  • the transferee is a charging agency that needs to collect user resources, such as a power company that needs to collect user electricity charges, a bank that needs to collect user credit card repayment, and so on.
  • the middle party is the medium between the transferring party and the transferring party.
  • the resources of the transferring party can be transferred to the transferring party.
  • the intermediate party can be called a third-party application.
  • the resource transfer data includes the identity of the transferor, the identity of the transferor, and the number of resources, and can indicate how much resources the transferor has transferred to the transferor.
  • the transaction data is obtained by signing the resource transfer data according to the private key of the server initiating the transaction, and the private key can represent the identity of the server, or it can also be obtained by signing the resource transfer data according to the private key of the transferor who initiated the transaction.
  • the private key can represent the identity of the transferring party, and according to the transaction data, it can be determined by which party to perform the process of transferring resources.
  • Active payment means that the user actively transfers resources in the resource account to other resource accounts, and the operation of transferring resources is actively performed by the user.
  • Passive payment refers to the transfer of resources in the resource account to other resource accounts by the intermediary party instead of the user.
  • the operation of transferring resources is not performed by the user but by the intermediary party.
  • a user who needs to transfer resources is used as a transferee
  • a user who needs to collect user resources is used as a transferee
  • a third-party application may be used as an intermediary between the transferor and the transferee.
  • the transferring party can access the server of the third-party application, create a resource account on the server, and store the resource in the resource account.
  • the transferee can also access the server, create a resource account on the server, and use this resource account to collect the resources transferred from each transferee.
  • the transferee needs to collect the resources of the transferee, it determines the resource transfer data.
  • the resource transfer data includes the amount of resources that the transferee should transfer to the transferee.
  • the server transfers the resources from the transferor according to the resource transfer data.
  • the corresponding amount of resources is deducted from the account, and the corresponding amount of resources is added to the resource account of the transferee to complete the resource transfer operation instead of the transferor.
  • the server will also store the resource transfer data, and use the resource transfer data to perform the above transfer.
  • the resource process is documented. Because the resource transfer operation is performed by the server, the resource transfer data is stored in the server in a centralized manner, which is easy to be lost or tampered with, and the security is poor. Once the server maliciously transfers a user's resources to other resource accounts, it will cause the user to lose resources.
  • FIG. 1 is a schematic diagram of an implementation environment provided by an embodiment of the present application.
  • the implementation environment includes a data management system, which can provide functions such as transferring resources, storing resource transfer data, and querying resource transfer data.
  • Users of the data management system can include transferees, intermediaries, and transferees. After the transferor and the intermediary reach an agreement to transfer resources from the transferor instead of the transferor, each time the transferor determines that the transferor needs to transfer to the transferor. After the number of resources transferred by the importer and the corresponding resource transfer data is generated, the intermediate party initiates a transaction for the resource transfer data and stores the resource transfer data in the blockchain.
  • the transferring party determines the amount of resources to transfer to the transferring party and generates corresponding resource transfer data, then initiates a transaction for the resource transfer data, and stores the resource transfer data to In the blockchain.
  • the transferor, intermediary, and transferee can query the resource transfer data in the blockchain, ensuring the security and traceability of the resource transfer data.
  • the data management system includes multiple blockchain nodes 101, and the multiple blockchain nodes 101 form a blockchain network.
  • Each blockchain node 101 can be configured with the same blockchain for storage in the blockchain.
  • Transaction data Each block can be used to store transaction data once.
  • a blockchain is composed of multiple blocks. Blocks on the blockchain are stored in chronological order, and new blocks will be added as the blockchain continues to be used. .
  • the data management system may further include a management server 102.
  • the management server 102 may serve as an application layer of the front-end of the data management system, which may implement functions such as user login verification functions, display interfaces, and other functions.
  • the transaction data stored on the blockchain of each blockchain node 101 are managed.
  • the management server 102 can serve as an intermediary between the user layer and the blockchain network, manage the data on the blockchain network according to the request initiated by the user layer, and User-level feedback.
  • FIG. 2 is a schematic diagram of another implementation environment provided by an embodiment of the present application.
  • the implementation environment includes a data management system 201, a first terminal 202, a second terminal 203, and a first server 204.
  • the data management system 201 includes multiple Blockchain nodes 2011.
  • the first terminal 202, the second terminal 203, and the first server 204 can all be connected to the data management system 201 through a network.
  • the first terminal 202 is a terminal configured by the transferring party.
  • the first terminal 202 can check the resources that have been transferred by the management interface provided by the data management system 201 or the resources transferred by the intermediary, and can also initiate a resource transfer request through the management interface. Thus transferring resources to the transferee.
  • the first terminal 202 may also access the first server 204 configured by the intermediary party, use the application interface provided by the first server 204 to view the resources transferred by the first server in place of the transferor, etc., and may also initiate a proxy through the application interface.
  • a resource transfer request thereby requesting the first server to transfer resources instead of the transfer-in direction to the transfer-in party.
  • the second terminal 203 is a terminal configured by the transferee, and can use the management interface provided by the data management system 201 to view the resources transferred by the intermediate party instead of the transferor, or the resources actively transferred by the transferor.
  • the second terminal 203 may also access the first server 204 configured by the middle party, manage the users who have activated the function of transferring resources on the application interface provided by the first server 204, and send the resource transfer data of these users to the first server 204 , The first server performs a resource transfer operation according to the resource transfer data.
  • the transferring party may be an individual user, or may be an enterprise user or a group user.
  • the transferee can be an individual user, or it can be a charging agency that collects resources, such as a bank that issues credit cards, a power company, and so on.
  • the first server 204 may serve as a server configured by the intermediate party, and may complete the resource transfer operation instead of the transferring party. And the first server 204 can interact with the data management system 201 to manage the resource transfer data stored on the blockchain.
  • either the first terminal 202 or the second terminal 203 can install an application client associated with the first server 204, and interact with the first server 204 through the application client, thereby realizing activation of transferring resources on behalf of Features.
  • either the first terminal 202 or the second terminal 203 can install an application client associated with the data management system 201, and interact with the data management system 201 through the application client, thereby realizing the function of managing resource transfer data on the blockchain.
  • the server may transfer the resources on behalf of the server.
  • the resource transfer operation is actively performed by the server without user confirmation, and the resource transfer data is stored centrally in the server, which is easy to be lost or tampered with, resulting in poor security.
  • the server maliciously transfers the user's resources to other resource accounts, it may not be traceable to the resource transfer data, and it will not be possible to blame the server and compensate the user for resources, which means that the user is irreparable. Loss of resources.
  • the third-party application handles these services for the user and withholds the user's charge. cost.
  • the third-party application manages the user account and has full rights to the user account. It can even conduct malicious debits and destroy the debit records, which will increase the account risk and cause users to lose property. On the other hand, it will not be able to discern the expenses in the account. Whether it is used by users or third-party applications, this will cause disputes and cannot be held accountable.
  • the embodiment of the present application provides a blockchain-based data management system.
  • the characteristics of the blockchain are decentralized, open, transparent, and tamper-resistant.
  • the resource transfer data is signed by the intermediary's private key to obtain transaction data, and the transaction data is stored in the blockchain, which can prevent the transaction data from being lost or tampered with, ensure the security of the transaction data, and use the intermediary's private
  • the key is used to indicate the identity of the intermediary party to ensure the traceability of transaction data.
  • the process of transferring the resources can be traced according to the transaction data, so that resources can occur
  • the intermediary party shall be held accountable to make up for the loss of the resources of the transferring party. It can be applied to a variety of passive payment scenarios, such as withholding of utility bills, fixed investment of funds, regular repayment of credit cards, and payment of telephone bills. In the passive payment scenario, passive payments can be made based on the blockchain system, each payment record and operator are clearly recorded, and the data cannot be tampered with higher security.
  • the transferor when it performs a resource transfer operation, it utilizes the characteristics of blockchain decentralization, openness, transparency, and tamper resistance.
  • the resource transfer data is signed according to the transferee's private key to obtain transaction data, and the transaction data is stored.
  • the blockchain it is possible to prevent transaction data from being lost or tampered with, to ensure the security of transaction data, and to use the private key of the transferring party to indicate the identity of the transferring party, ensuring the traceability of transaction data.
  • transferees, transferees and intermediaries, and regulatory authorities can easily query transaction data on the blockchain to understand the details of the transfer of resources by the intermediaries, effectively restricting the behavior of the intermediaries and reducing The risk of absconding by the middle party.
  • the user of the data management system may be an individual user or an enterprise user, a group user, etc.
  • the user registers a user ID on the management server, and logs in to the data management system based on the user ID, thereby managing resource transfer data through the data management system.
  • the user identifier is used to indicate the identity of the user, and may be a user name, a user account, and the like.
  • the data management system will generate a corresponding public and private key for the user, and the private key will be issued to the user for their own storage, and the public key can be kept separately by each blockchain node .
  • the user generates a corresponding public and private key, the private key is kept by itself, and the public key is uploaded to the data management system, which is stored separately by each blockchain node.
  • the user's private key must be used to sign, and the private key is used to represent the user's identity.
  • the blockchain node executes the transaction, , It is also necessary to verify the user's identity based on the user's public key, and then the transaction can be performed after the verification is passed.
  • the users of the data management system include transferee, transferee, and intermediary.
  • transferee in order to ensure security, when a user wants to register as an intermediary in order to transfer resources on behalf of other users, the The user uploads the real identity information and relevant certification materials for real-name authentication.
  • an enterprise user should upload a business registration certificate and a qualification certificate that allows resource-type transactions.
  • FIG. 3 is a schematic diagram of a resource transfer data management method according to an embodiment of the present application.
  • the execution subject of this embodiment of the present application is a data management system and a first server.
  • This embodiment of the present application describes a process of transferring resources. Referring to FIG. 3, the method includes:
  • a first server obtains resource transfer data.
  • the resource transfer data includes the identifier of the transferor, the identifier of the transferor, and the quantity of the resource transferred by the transferor in the transfer direction.
  • the transferor identifier is used to indicate the identity of the user who needs to transfer the resource.
  • the user can be referred to as the transfer
  • the transferring party ID can be at least one of the user account or user name of the transferring party.
  • the transferring party identifier is used to indicate the identity of the user who needs to transfer the resource.
  • the user can be called the transferring party.
  • the transfer-in party identification may be at least one of a user account or a user name of the transfer-in party.
  • the resource transfer data may also include at least one of a bill targeted for the resource transferred this time, a latest deadline for the resource transferred this time, or a detail of the resource transferred this time.
  • resource transfer data can be shown in Table 1 below:
  • the resource transfer data may be automatically generated by the first server according to a preset rule, and the preset rule includes a generation rule of the resource transfer data and the like.
  • the transferring party activates the monthly toll payment service and determines that the amount of the initial toll payment is 30 yuan.
  • the first server can generate a resource transfer data according to the service activated by the transferring party.
  • the resource transfer data includes The phone number of the transferring party, the operator who charges the call fee, and the amount of the call fee are 30 yuan.
  • the terminal or server of the transferee may generate resource transfer data according to requirements, send the resource transfer data to the first server, and the first server receives the resource transfer data.
  • electric power company B counts the change of the number of users of A every month, and determines the amount of electricity charges that user A should pay according to the change of the number of users, thereby obtaining resource transfer data.
  • the terminal or server of the transferee can determine whether to generate resource transfer data according to the requirements, or the preset rules of the first server include the timing of obtaining the resource transfer data, and the first server can determine the timing of the resource transfer data.
  • the transferee uses the terminal to access the first server and triggers a transfer request on behalf of the resource.
  • the first server receives the transfer request from the transferor's terminal, it generates resource transfer data or requests a transfer from the transferee. data.
  • the first server determines that the resource transfer data meets the conditions for transferring the resources, it signs the resource transfer data according to the private key of the first server to obtain transaction data.
  • the first server sets a transfer resource condition.
  • the transfer resource condition is used to specify the conditions that the resource transfer data that needs to be transferred to the resource should meet. Only resource transfer data that meets the transfer resource condition is allowed to transfer resources. Resource transfer data that satisfies the conditions for transferring resources on behalf of the resource cannot be transferred. Therefore, after the first server obtains the resource transfer data, it determines whether the resource transfer data satisfies the condition for transferring the resource, thereby determining whether the resource transfer process can be initiated for the resource transfer data.
  • the process of determining whether the resource transfer data satisfies the condition for transferring resources on behalf of the resource may include at least one of the following 3021-3023:
  • the condition for transferring resources on behalf of the designated transferee ID has activated the function of transferring resources on behalf of the resource.
  • the transferor identity in the resource transfer data is the designated transferee identity, it is determined that the resource transfer data meets the conditions for transferring resources.
  • One or more users may activate the transfer resource transfer function in the first server, and the first server determines the user ID that has been activated to transfer resource transfer functions as the designated transfer party identifier.
  • the first server obtains a resource transfer data, it obtains the transferor ID from it, and determines whether the transferor ID is the designated transferor ID. If so, it indicates that the transferor ID has indeed activated the function of transferring resources. Then it is determined that the resource transfer data satisfies the condition of transferring resources on behalf of.
  • the first server generates a user list, and the user list includes multiple user IDs that have been activated to transfer resource functions, and these multiple user IDs are designated transferee IDs. If the transferring party identifier in the resource transfer data obtained this time is included in the user list, it means that the first server is allowed to transfer resources on behalf of the transferring party.
  • the first server when user A has activated the function of transferring resources, the first server adds user A to the user list. If the transfer party in the resource transfer data obtained by the first server is user A, the first server is allowed to replace the user A transfers resources.
  • the conditions for transferring resources include the corresponding relationship between the designated transferor's identity and the designated transferor's identity that have activated the transfer resource transfer function.
  • the transferor's identity corresponds to the transferor's identity in the resource transfer data
  • the resource transfer data is determined. Meet the transfer resource requirements.
  • One or more users can activate the function of transferring resources to designated users on the first server.
  • the first server determines the user ID that has activated the function of transferring resources on behalf of the designated server, as the designated transferring party identifier, and determines each designated transferring party.
  • the identity of the designated transferee identity corresponding to the identity is established in the transfer resource condition on behalf of the designated transferee identity and the designated transferee identity.
  • the first server obtains a resource transfer data, it obtains the transferor ID and the transferee ID from it, and determines whether the condition for transferring resources includes the corresponding relationship between the transferor ID and the transferee ID.
  • the transferor's identity is the transferor's identity that allows the first server to transfer resources on behalf of the transferor, then it is determined that the resource transfer data meets the conditions for transferring resources.
  • user A has activated the function of transferring resources to user B.
  • the first server establishes the corresponding relationship between user A and user B. If the transferring party in the resource transfer data obtained by the first server is user A, the transferring party is User B allows the first server to transfer resources to user B instead of user A. If the transfer-out party in the resource transfer data obtained by the first server is user A and the transfer-in party is user C, the first server is not allowed to transfer resources to user C on behalf of user A.
  • the conditions for transferring resources include the maximum number of resources that can be transferred out of the designated transferor ID that has activated the function of transferring resources. When the number of resources in the resource transfer data is not greater than the maximum number of resources allowed by the transferor ID, it is determined. The resource transfer data meets the conditions for transferring resources on behalf of the resource.
  • One or more users can activate the function of transferring resources to the designated transferee identity on the first server, and the first server determines that the user identity of the function of transferring resources is activated as the designated transferee identity, and determines each designated The transferor identifies the maximum number of resources that can be transferred out.
  • the first server obtains a piece of resource transfer data, it obtains the transferor ID and the number of resources from it, and determines whether the amount of resources is greater than the maximum amount of resources allowed by the transferor ID. If the number of resources is not greater than the transferor ID
  • the maximum number of resources that can be transferred out means that the resources transferred this time do not exceed the limit of the transferring party, and it is determined that the resource transfer data meets the conditions for transferring the resources.
  • user A has activated the function of transferring resources and determined that the maximum amount of resources allowed to be transferred is 1,000 yuan. If the transfer party in the resource transfer data obtained by the first server is user A and the amount of resources is 100 yuan, then allow The first server transfers 100 yuan instead of user A. If the transfer party in the resource transfer data obtained by the first server is user A and the amount of resources is 5000 yuan, the first server is not allowed to transfer 5000 yuan on behalf of user A.
  • the transfer resource conditions set by the first server may include any one or more of the above 3021-3023, for example, the above multiple transfer resource conditions may be combined to determine the resource transfer data. Whether the resource transfer conditions are met. Of course, other transfer resource conditions can also be used, such as the maximum number of transfer resources per month and the maximum frequency of transfer resources.
  • the first server determines that the resource transfer data meets the conditions for transferring the resources, it signs the resource transfer data according to the private key of the first server to obtain transaction data.
  • the private key is used to indicate the identity of the first server and is performed based on the transaction data. Traceability can determine that it is the first server that initiated the resource transfer process.
  • the first server may obtain the characteristic value of the resource transfer data, and according to the private key of the first server, sign the characteristic value of the resource transfer data to obtain signature data, and use the resource transfer data and the signature data as Transaction data, that is, transaction data includes resource transfer data and signature data.
  • the feature value corresponds to the resource transfer data on a one-to-one basis, and may be a hash value or other feature value of the resource transfer data.
  • the first server sends the transaction data to the management server.
  • the data management system may include a management server and multiple blockchain nodes.
  • the management server may open an interface to the first server.
  • the first server calls the interface of the management server and sends the transaction data to the management server for Request the management server to store the transaction data through the blockchain, thus playing the role of recording the process of transferring resources.
  • the first server when the first server sends the transaction data to the management server, the first server may also carry an intermediary identifier of the first server, where the intermediary identifier is used to identify the identity of the intermediary and may be the user name or user account of the intermediary, For example, the user name may be an application name or an enterprise name.
  • the management server When the management server receives the transaction data, it broadcasts the transaction data to multiple blockchain nodes.
  • the management server can serve as an interface between the user layer and the blockchain network.
  • the management server receives the transaction data sent by the first server, it broadcasts the transaction data to multiple blockchain nodes and requests that the transaction data be stored in the area. Blockchain.
  • the management server may broadcast the transaction data only to a specific one or more blockchain nodes, rather than broadcasting the transaction data to all blockchain nodes, and the specific blockchain node may Determined based on the smart contract of the blockchain network.
  • the specific blockchain nodes When a specific one or more blockchain nodes receive transaction data, they will also broadcast the transaction data to other blockchain nodes, so that each blockchain node can receive the transaction data.
  • the data management system includes a management server as an example, and in another embodiment, the data management system does not include a management server, the first server sends a transaction to each blockchain node. Data, or the first server sends transaction data to one or more blockchain nodes in the data management system, and when the one or more blockchain nodes receive the transaction data, they will also broadcast transactions to other blockchain nodes Data, so that each blockchain node can receive transaction data.
  • “Multiple" means at least two.
  • each blockchain node receives the transaction data, it verifies the transaction data according to the public key of the first server.
  • multiple blockchain nodes constitute a blockchain network, and each blockchain node is configured with the same blockchain.
  • the blockchain is used to store transaction data in the block, and the transaction data is used to represent the user. Resource transfer between multiple blockchain nodes can achieve data synchronization.
  • each blockchain node that receives the transaction data verifies the transaction data according to the public key of the first server, so that the identity of the first server can be verified.
  • the blockchain node obtains the resource transfer data and signature data in the transaction data, obtains the characteristic values of the resource transfer data, and decrypts the signature data according to the public key of the first server to obtain The decrypted feature value is compared with the decrypted feature value and the feature value of the resource transfer data. When the decrypted feature value matches the feature value of the resource transfer data, it is determined that the resource transfer data has not been tampered with and that of the first server The identity is correct, so the transaction data is verified.
  • the manner in which the blockchain node obtains the characteristic value of the resource transfer data is the same as the manner in which the first server obtains the characteristic value of the resource transfer data in step 302 above.
  • the blockchain node When the verification passes, the blockchain node generates a second block according to the transaction data and the characteristic value of the first block, adds the second block to the blockchain, and makes the second block in the blockchain the first block. The next block of a block, the second block is used to store transaction data.
  • the blockchain node determines the current last block in the blockchain, that is, the first block, according to the transaction data and the characteristic value of the first block Generate a second block for storing transaction data and add it to the blockchain, so that the second block in the blockchain becomes the next block of the first block. Since the characteristic value of the second block is related to the characteristic value of the previous block, the purpose of connecting the adjacent blocks in the block chain in series is achieved, so that any information in the block chain can be tampered with. The characteristic values stored in the next block are traced and detected, ensuring the security of transaction data.
  • the feature value may be a hash value of data in the block or other feature values related to the data in the block.
  • the status of the transaction data can also be stored, and the status of the transaction data can be valid, invalid, etc.
  • a blockchain node may receive multiple transaction data, and at this time, one transaction data may be stored in one area at a time. Block, or multiple transaction data can also be stored in one block to save storage space.
  • the blockchain node when the blockchain node receives the transaction data, it first stores the transaction data in the transaction data pool, and then extracts one or more transaction data from the transaction data pool, according to the characteristics of the first block. Value, package the extracted transaction data to obtain a second block, and then add the second block to the blockchain.
  • a blockchain node can extract transaction data from the transaction data pool when the amount of transaction data in the transaction data pool reaches a maximum value, or extract transaction data from the transaction data pool according to a certain period. Each time, it can extract a reservation from the transaction data pool. The amount of transaction data is packed into a block, or all the transaction data in the transaction data pool can be extracted and packed into a block.
  • one or more blockchain nodes When storing transaction data in the blockchain, one or more blockchain nodes need to verify that the transaction data meets the smart contract. Only when one or more blockchain nodes have reached a consensus on the verification results of the transaction data, will it Allows transaction data to be stored in the blockchain. For example, at least one blockchain node may generate a second block when verifying that the transaction data meets the smart contract.
  • any one of the multiple blockchain nodes extracts the transaction data, it first verifies whether the transaction data meets the smart contract.
  • the transaction data and the characteristic value of the first block Generate a second block, and pass the generated second block to the next blockchain node, and the next blockchain node continues to verify whether the transaction data in the second block meets the smart contract until multiple blocks
  • the verification results of the chain nodes indicate that the second block is allowed to be added to the blockchain only when the transaction data meets the smart contract.
  • multiple blockchain nodes in the blockchain network can formulate smart contracts.
  • Smart contracts are used to specify the conditions that transaction data needs to meet.
  • it can verify whether the format of the transaction data is legal and whether Missing required information such as the transferor's identity, transferee's identity, and resource quantity, whether the user who initiated the transaction data has permissions, etc., can also verify whether the transaction data meets the above-mentioned conditions for transferring resources on behalf of others.
  • the smart contract may also include conditions that the verification results of multiple blockchain nodes should meet, such as the minimum number of blockchain nodes that have passed verification.
  • each blockchain node After each blockchain node verifies whether the transaction data meets the smart contract, it signs the verification result according to its own private key, and sends the signed data to one of the blockchain nodes, and the blockchain node collects each The signature data sent by the blockchain nodes, the signature data is decrypted according to the public key of each blockchain node, and the verification results of each blockchain node are obtained. It is allowed only when it is determined that the collected verification results meet the smart contract.
  • Each blockchain node stores a second block into the blockchain.
  • the blockchain network includes 5 blockchain nodes, and the minimum number of blockchain nodes that pass the transaction data verification in the smart contract is 3, so there are only 3 or more blockchain node-to-transaction data.
  • the transaction data is allowed to be stored in the blockchain.
  • the blockchain stores multiple transaction data in the form of blocks, and each transaction data records the amount of resources transferred by the transferor in each outbound direction, which is equivalent to recording the process of transferring resources. According to the blockchain, the transfer of resources between users can be determined.
  • each blockchain node can also update the amount of remaining resources in the resource account of the transferor and transferor that are transferring the resource each time a new block is generated. , So as to count the amount of remaining resources for each user. As transactions continue, the amount of users' remaining resources may change accordingly.
  • the blockchain node establishes at least one of the corresponding relationship between the transferor identifier and the second block in the block index table, or the corresponding relationship between the transferor identifier and the second block.
  • the index table is used to query at least one of the block corresponding to the identifier of the transferring party or the block corresponding to the identifier of the transferring party.
  • Blockchain nodes can also create a block index table. Using this block index table, it can store any transferor ID or any transferor ID and the resource transfer data including the transferor ID and the transferee ID. At least one of the corresponding relationships between the blocks, according to the block index table, you can query the block corresponding to any transferor ID or the block corresponding to any transferor ID, and then obtain storage from the block Transaction data.
  • the block index table can be used to query all or part of the transferee identification block, and the block index table can also be used to query all or part of the transferee identification block. Therefore, at least one of the correspondence between all or part of the transferor's identity and the second block can be established in the blockchain index.
  • a correspondence relationship between at least one of the transferor identification or transference identification and the second block may be established in the block index table, In order to subsequently query the transaction data in the block according to the block index table.
  • the block index table may store the correspondence between any transfer-out party identifier, any transfer-in party identifier, and block height, where the block height is used to represent the transfer-out party identifier and the transfer The position of the block corresponding to the input side in the blockchain.
  • the block index table may be as shown in Table 2 below.
  • the resource transfer data indicating that user A transfers resources to user B is located in the first block of the blockchain, and the resource transfer data that transfers resources from user A to user C is located at In the second block of the blockchain.
  • Blockchain nodes may not create a block index table, and each time they query the transaction data, they can traverse each block in the blockchain and query the identity of any transferor. Corresponding transaction data or transaction data corresponding to any transferee identification.
  • the resource transfer data is signed according to the private key of the first server to obtain transaction data, and the transaction data is stored in the blockchain. . Because the next block in the blockchain is generated based on the characteristic value of the previous block, there is an association relationship between the previous and subsequent blocks, so it has the characteristic of data tamperability. Storing transaction data in the blockchain can guarantee the transfer of resources. Security, avoids loss or tampering of resource transfer data, and also facilitates subsequent management operations such as querying resource transfer data through the blockchain.
  • the private key of the first server is used to indicate the identity of the first server, ensuring the traceability of transaction data. Once the first server maliciously transfers the resources of the transferring party to other resource accounts, the middle can be based on the transaction data. Party to pursue accountability to make up for the loss of resources of the transferring party.
  • the transaction data when the transaction data is verified according to the public key of the first server, the transaction data is allowed to be stored in the blockchain, so that the identity of the first server and the transaction data are correct according to the public key of the first server, avoid The possibility of being transferred out of resources by malicious users and the possibility of tampering with transaction data during transmission ensure the security of transaction data during transmission.
  • the transaction data is allowed to be stored in the blockchain, further ensuring security and reliability.
  • FIG. 4 is a schematic diagram of a resource transfer data management method according to an embodiment of the present application.
  • the execution subject of this embodiment of the present application is a first terminal and a data management system.
  • This embodiment of the present application describes a process of resource transfer initiated by the first terminal. Referring to Figure 4, the method includes:
  • the first terminal displays a management interface provided by the data management system based on the identifier of the transferring party, and obtains resource transfer data through the management interface.
  • the first terminal may be a device such as a mobile phone, a computer, or a tablet computer.
  • the first terminal logs in to the data management system based on a user identifier, and the user identifier is used to indicate the identity of the user.
  • the user of the first terminal is the transferring party. As an example, when the first terminal accesses the data management system, the management interface provided by the data management system is displayed, and the transferring party can trigger a management operation on the management interface.
  • the management operation may be an operation of initiating a resource transfer, and the operation of initiating a resource transfer is used to instruct a resource transfer to a transferee.
  • the management interface includes a data setting column and a transfer option.
  • the transferring party sets the transferring party identifier and the number of resources to be transferred in the data setting column and triggers the transferring option
  • the first terminal detects that The operation of initiating the resource transfer and obtaining the resource transfer data
  • the resource transfer data includes the identifier of the transferring party, the identifier of the transferring party, and the quantity of resources.
  • the first terminal signs the resource transfer data according to the private key identified by the transferring party to obtain transaction data.
  • the private key is used to indicate the identity of the transferring party, and retroactively according to the transaction data, it can be determined that it is the transferring party that initiated the resource transfer process.
  • both the transferring party and the first server can be assigned private keys, both of which can be transferred using their own private key.
  • the resources in the resource account are signed according to their own private keys when the resources are transferred out, so it can be distinguished whether the transferring party or the first server initiates the resource transfer process based on the signature.
  • the first terminal sends the transaction data to the management server.
  • the management server When the management server receives the transaction data, it broadcasts the transaction data to multiple blockchain nodes.
  • each blockchain node receives the transaction data, it verifies the transaction data according to the public key identified by the transferring party.
  • the blockchain node When the verification passes, the blockchain node generates a fourth block according to the transaction data and the characteristic value of the third block, adds the fourth block to the blockchain, and makes the fourth block in the blockchain the first The next block of the three blocks, and the fourth block is used to store the transaction data.
  • the blockchain node establishes a corresponding relationship between the transferor ID or the transferor ID and the fourth block in the block index table.
  • the block index table is used to query the block corresponding to any transferor ID. Or any block corresponding to the transferee identification.
  • the resource transferring data is signed according to the private key of the transferring party to obtain transaction data, and the transaction data is stored in the blockchain. Because the next block in the blockchain is generated based on the characteristic value of the previous block, there is an association relationship between the previous and subsequent blocks, so it has the characteristic of data tamperability. Storing transaction data in the blockchain can guarantee the transfer of resources. Security, avoids loss or tampering of resource transfer data, and also facilitates subsequent management operations such as querying resource transfer data through the blockchain.
  • the private key of the transferring party is used to indicate the identity of the transferring party, and the traceability of the transaction data is guaranteed.
  • FIG. 5 is a schematic diagram of a resource transfer data management method according to an embodiment of the present application.
  • the execution subject of this embodiment of the present application is a first terminal and a data management system.
  • This embodiment of the present application describes the process of querying transaction data by the first terminal. Referring to FIG. 5, the method includes:
  • the first terminal displays a management interface provided by the data management system based on the transfer-out party identifier.
  • a query operation is detected through the management interface, a query request is sent to the data management system, and the query request carries the transfer-out party identifier of the first terminal.
  • the first terminal may be a device such as a mobile phone, a computer, or a tablet computer.
  • the first terminal logs in to the data management system based on a user identifier, and the user identifier is used to indicate the identity of the user.
  • the user of the first terminal is the transferring party. As an example, when the first terminal accesses the data management system, the management interface provided by the data management system is displayed, and the transferring party can trigger a management operation on the management interface.
  • the management operation may include a query operation for instructing to query the resource transfer data of the transferring party.
  • the management interface includes a query condition setting column and a query option.
  • the transferring party sets a query condition in the query condition setting column and triggers the query option
  • the first terminal detects the query operation and sends data to the data.
  • the management system sends a query request, and the query request carries the transfer-out party identification and query conditions of the first terminal.
  • the query condition may include at least one of a resource transfer time period or a resource transfer type.
  • the resource transfer time period is used to query resource transfer data within the resource transfer time period, and the resource transfer type includes two types: transfer on behalf of and active transfer. For the transfer, it means that the transferring party replaces the transfer of resources by the intermediate party.
  • the specific process is similar to the embodiment shown in FIG. 3 above, and the active transfer means that the transferring party does not pass through the intermediate party, but directly performs resources through the data management system. Transfer.
  • the transferring party may not set the query condition, so the query request sent by the first terminal to the data management system does not include the query condition to request to query all the transaction data of the transferring party.
  • the first terminal can access the first server, and when a query operation is detected through an application interface provided by the first server, the first server sends a query request to the first server, and the first server forwards the query request to the data management system.
  • the data management system When the data management system receives a query request, it queries the blockchain for transaction data including the identification of the transferring party.
  • the data management system sends the query transaction data to the first terminal.
  • the first terminal when it sends a query request to the data management system, it may send a query request to one of the blockchain nodes.
  • the blockchain node receives the query request, the query in the blockchain includes transferring out The transaction data identified by the party is returned to the first terminal.
  • the first terminal sends a query request to the management server
  • the management server sends a query request to one of the blockchain nodes
  • the blockchain node queries the transaction data
  • the query transaction data is then returned to the first terminal through the management server.
  • a blockchain node when a blockchain node performs an inquiry, it traverses each block in the blockchain to determine whether the resource transfer data stored in each block includes the transferor's identity, thereby querying the information including the transferor's identity.
  • Transaction data if the blockchain node has already created a block index table, store any transferor ID, any transferor ID, and the resource transfer including the transferor ID and transferee ID in the block index table.
  • the corresponding relationship between the blocks where the data is located can be determined according to the block index table, the block corresponding to the transferor identification, and then obtain the transaction data including the transferor identification from the block in the blockchain.
  • the query request when the query request includes a query condition, after obtaining the transaction data including the transferor's identity from the block, it is also necessary to determine whether the transaction data meets the query condition, thereby determining the transaction that satisfies the query condition.
  • the data is sent to the first terminal.
  • the resource transfer time in the transaction data is obtained, and it is determined whether the resource transfer time belongs to the resource transfer time period, so as to determine that the resource transfer time belongs to the transaction data of the resource transfer time period.
  • the signature data in the transaction data is obtained, and the signature data is determined based on the private key of the first server or the private key of the first terminal, so as to determine whether the resource transfer type is transfer. Still active transfer, whether to meet the query conditions.
  • the management server may cache the transaction data obtained in a previous period of time, and when the management server receives the query request sent by the first terminal, it may first store the transaction data in the cache.
  • the query includes the transaction data of the transferor's identification.
  • the transaction data including the transferor's identification is queried, it is returned to the first terminal, and when the transaction data including the transferor's identification is not queried, the transaction data is then sent to the blockchain
  • the query includes the transaction data identified by the transferor.
  • the first terminal When the first terminal receives the transaction data, it displays the transaction data through the management interface.
  • the transaction data includes resource transfer data and signature data.
  • the first terminal may display the resource transfer data to show the transfer of resources to the transferring party, or display the signature data to show the transferring type of the resource to the transferring party.
  • the method provided in the embodiment of the present application stores transaction data in the blockchain and provides a function of querying transaction data to ensure that users can query the transaction data, understand the resource transfer situation, and identify the user who initiated the resource transfer.
  • the query operation is convenient and fast. In case of malicious transfer of the transferor's resources to other resource accounts, accountability can be pursued according to the signature of the transaction data to make up for the loss of the transferor's resources.
  • the supervisory department can effectively query and supervise transaction data, ensure the standardization of operations, and timely discover violations.
  • FIG. 6 is a schematic diagram of a resource transfer data management method according to an embodiment of the present application.
  • the execution subject of this embodiment of the present application is a second terminal and a data management system.
  • This embodiment of the present application describes the process of querying transaction data by the second terminal. Referring to FIG. 6, the method includes:
  • the second terminal displays a management interface provided by the data management system based on the transferee identification.
  • a query operation is detected through the management interface, a query request is sent to the data management system, and the query request carries the transferee identification of the second terminal.
  • the second terminal may be a device such as a mobile phone, a computer, or a tablet computer.
  • the second terminal logs in to the data management system based on a user identifier, and the user identifier is used to represent the identity of the user.
  • the user of the second terminal is taken as the transferring party as an example.
  • the management interface provided by the data management system is displayed, and the transferring party can trigger the management operation on the management interface.
  • the management operation may include a query operation, which is used to instruct the query transferee's resource transfer data.
  • the management interface includes a query condition setting column and a query option.
  • the transferee sets a query condition in the query condition setting column and triggers the query option
  • the second terminal detects the query operation and sends data to the data.
  • the management system sends a query request, and the query request carries the transfer-in identifier and query conditions of the second terminal.
  • the query condition may include a resource transfer time period, etc.
  • the resource transfer time period is used to query resource transfer data within the resource transfer time period.
  • the transferring party may not set the query condition, so the query request sent by the second terminal to the data management system does not include the query condition to request to query all the transaction data of the transferring party.
  • step 601 is an optional step.
  • the second terminal can access the first server, and when a query operation is detected through the application interface provided by the first server, the second server sends a query request to the first server, and the first server forwards the query request to the data management system.
  • the data management system When the data management system receives a query request, it queries the blockchain for transaction data including the identity of the transferee.
  • the data management system sends the query transaction data to the second terminal.
  • the second terminal when it sends a query request to the data management system, it may send a query request to one of the blockchain nodes.
  • the blockchain node receives the query request, the query in the blockchain includes transfer to The transaction data identified by the party is returned to the second terminal.
  • the second terminal when the data management system includes a management server, the second terminal sends a query request to the management server, the management server sends a query request to one of the blockchain nodes, and the blockchain node queries the transaction data, The query transaction data is then returned to the second terminal through the management server.
  • a blockchain node when a blockchain node performs an inquiry, it traverses each block in the blockchain to determine whether the resource transfer data stored in each block includes the transferee identifier, thereby querying the information including the transferee identifier.
  • Transaction data If the blockchain node has created a block index table, store any transferee ID, any transferee ID, and the resource transfer including the transferee ID and transferee ID in the block index table For the corresponding relationship between the blocks where the data is located, the block corresponding to the transferee identification can be determined according to the block index table, and then the transaction data including the transferee identification is obtained from the block in the blockchain.
  • the query request when the query request includes a query condition, after obtaining the transaction data including the transfer party identification from the block, it is also necessary to determine whether the transaction data meets the query condition, thereby determining the transaction that meets the query condition.
  • the data is sent to the second terminal.
  • the resource transfer time in the transaction data is obtained, and it is determined whether the resource transfer time belongs to the resource transfer time period, so as to determine that the resource transfer time belongs to the transaction data of the resource transfer time period.
  • the management server may cache the transaction data obtained in a previous period, and then when the management server receives the query request sent by the second terminal, it may first store the transaction data in the cache.
  • the query includes the transaction data of the transferee's identity.
  • the transaction data including the transferee's identity is queried, it is returned to the second terminal, and when the transaction data including the transferee's identity cannot be queried, the transaction data is then sent to the blockchain
  • the query includes the transaction data identified by the transferee.
  • the second terminal displays the transaction data through the management interface.
  • the transaction data includes resource transfer data and signature data.
  • the second terminal may display the resource transfer data to show the transfer of resources to the transferee, or display the signature data to show the transfer type to the transferee.
  • the method provided in the embodiment of the present application stores transaction data in the blockchain and provides a function of querying transaction data to ensure that users can query the transaction data, understand the resource transfer situation, and identify the user who initiated the resource transfer.
  • the query operation is convenient and fast. In case of malicious transfer of the transferor's resources to other resource accounts, accountability can be pursued according to the signature of the transaction data to make up for the loss of the transferor's resources.
  • the supervisory department can effectively query and supervise transaction data, ensure the standardization of operations, and timely discover violations.
  • FIG. 5 and FIG. 6 are described by using the process of querying transaction data by the transferring party and transferring party as an example.
  • the intermediary party or the regulatory department may also query the transaction data.
  • the terminal configured by the intermediate party may send a query request to the first server, and the first server forwards the query request to the data management system, and the query request carries any user ID and is used to query the user ID corresponding to Transaction data.
  • the terminal configured by the regulatory department may send a query request to the data management system, and the query request carries any user ID for querying the transaction data corresponding to the user ID.
  • the specific process of querying transaction data is similar to the embodiment shown in FIG. 5 and FIG. 6 described above, and is not repeated here.
  • FIG. 7 is a schematic structural diagram of a resource transfer data management apparatus according to an embodiment of the present application.
  • the device is applied to a data management system.
  • the data management system includes multiple blockchain nodes.
  • the device includes:
  • the receiving module 701 is configured to perform the steps of receiving the transaction data sent by the first server in the foregoing embodiment
  • a verification module 702 configured to perform the step of verifying transaction data according to the public key of the first server in the foregoing embodiment
  • a generating module 703 is configured to perform the steps of generating a second block according to the transaction data and the feature value of the first block and adding it to the blockchain when the verification passes in the foregoing embodiment.
  • the transaction data includes resource transfer data and signature data
  • the signature data is obtained by signing the characteristic value of the resource transfer data according to the private key of the first server
  • the verification module 702 includes:
  • a characteristic value acquiring unit configured to perform the step of acquiring a characteristic value of the resource transfer data in the foregoing embodiment
  • a decryption unit configured to perform the step of decrypting the signature data according to the public key of the first server in the foregoing embodiment to obtain the decrypted feature value
  • the verification unit is configured to perform the step of determining that the transaction data passes verification when the decrypted feature value matches the feature value of the resource transfer data in the above embodiment.
  • the generating module 703 includes:
  • a generating unit configured to execute the above embodiment when at least one of the multiple blockchain nodes verifies that the transaction data satisfies the smart contract, generates a second block according to the transaction data and the feature value of the first block, Steps added to the blockchain.
  • the device further includes:
  • a establishing module is configured to perform the steps of establishing a correspondence relationship between at least one of a transfer-out party identifier or a transfer-in party identifier and a second block in the block index table in the foregoing embodiment.
  • the device further includes:
  • a receiving module configured to execute the step of receiving a query request sent by a first terminal in the foregoing embodiment
  • a query module configured to execute the step of querying transaction data including a transfer party identification in the blockchain in the above embodiment
  • the sending module is configured to execute the step of sending the query transaction data to the first terminal in the foregoing embodiment.
  • the query module includes:
  • a block query unit configured to execute the step of querying the block corresponding to the transferor's identifier according to the block index table in the above embodiment
  • the obtaining unit is configured to perform the steps of obtaining the transaction data including the transferring party identification from the blocks of the blockchain in the foregoing embodiment.
  • the device further includes:
  • a receiving module configured to execute the step of receiving a query request sent by a second terminal in the foregoing embodiment
  • a query module configured to execute the step of querying transaction data including a transferee identity in the blockchain in the above embodiment
  • the sending module is configured to execute the step of sending the query transaction data to the second terminal in the foregoing embodiment.
  • the query module includes:
  • a block query unit configured to perform the steps of querying the block corresponding to the transferee identifier according to the block index table in the above embodiment
  • the obtaining unit is configured to perform the steps of obtaining the transaction data including the transfer-in party identification from the blocks of the blockchain in the foregoing embodiment.
  • FIG. 8 is a schematic structural diagram of a resource transfer data management apparatus according to an embodiment of the present application. Referring to FIG. 8, the apparatus is applied to a first server, and the apparatus includes:
  • An obtaining module 801 configured to perform the steps of obtaining resource transfer data in the foregoing embodiment
  • a signature module 802 configured to perform the steps of signing the resource transfer data according to the private key of the first server to obtain the transaction data when it is determined that the resource transfer data meets the conditions for transferring the resources in the above embodiment;
  • the data management system includes multiple blockchain nodes; the data management system is used to verify the transaction data according to the public key of the first server, and after the verification is passed, a second block is generated based on the transaction data and the characteristic value of the first block, and The second block is added to the blockchain, making the second block in the blockchain the next block of the first block, and the second block is used to store transaction data.
  • the device further includes:
  • Identification module for performing at least one of the following:
  • the condition for transferring resources includes the designated transferor ID that has activated the function of transferring resources.
  • the transferor ID is the designated transferor ID, it is determined that the resource transfer data meets the transfer resource conditions;
  • the transfer resource condition includes the correspondence between the designated transferor's identity and the designated transferee's identity when the function of transferring the resource has been activated.
  • the transfer resource condition includes the correspondence between the transferor's identity and the transferee's identity, the resource transfer is determined.
  • the data meets the conditions for transfer of resources;
  • the conditions for transferring resources include the maximum number of resources that can be transferred out of the designated transferor ID that has activated the function of transferring resources. When the number of resources is not greater than the maximum number of resources that can be transferred out by the transferor ID, it is determined that the resource transfer data meets the transfer on behalf of Resource conditions.
  • the signature module 802 includes:
  • a characteristic value acquiring unit configured to perform the step of acquiring a characteristic value of the resource transfer data in the foregoing embodiment
  • the signing unit is configured to perform the step of signing the characteristic value of the resource transfer data according to the private key of the first server in the foregoing embodiment to obtain the signature data.
  • the resource transfer data management device provided in the foregoing embodiment manages the resource transfer data
  • it is described by taking only the division of the above functional modules as an example.
  • the above functions may be allocated by different functions according to needs.
  • Module completion that is, the internal structure of the data management system is divided into different functional modules to complete all or part of the functions described above.
  • the resource transfer data management device and the resource transfer data management method embodiments provided by the foregoing embodiments belong to the same concept. For specific implementation processes, refer to the method embodiments, and details are not described herein again.
  • FIG. 9 is a schematic structural diagram of a server provided by an embodiment of the present application.
  • the server 900 may have a large difference due to different configurations or performance, and may include one or more processors (central processing units) (CPUs) 901 and one Or more than one memory 902, wherein the memory 902 stores at least one instruction, and the at least one instruction is loaded and executed by the processor 901 to implement the methods provided by the foregoing method embodiments.
  • the server may also have components such as a wired or wireless network interface, a keyboard, and an input-output interface for input and output.
  • the server may also include other components for implementing device functions, and details are not described herein.
  • the server 900 may be configured to perform the steps performed by the data management system or the first server in the foregoing resource transfer data management method.
  • An embodiment of the present application further provides a resource transfer data management device.
  • the resource transfer data management device includes a processor and a memory, and the memory stores at least one instruction, at least one program, code set, or instruction set, instructions, programs, and codes.
  • the set or instruction set is loaded by the processor and has operations to implement the resource transfer data management method of the above embodiment.
  • An embodiment of the present application further provides a computer-readable storage medium, where the computer-readable storage medium stores at least one instruction, at least one program, code set, or instruction set, the instruction, the program, the code set, or the instruction The set is loaded by the processor and has operations to implement the resource transfer data management method of the above embodiment.
  • steps in the embodiments of the present application are not necessarily performed sequentially in the order indicated by the step numbers. Unless explicitly stated in this document, the execution of these steps is not strictly limited, and these steps can be performed in other orders. Moreover, at least a part of the steps in each embodiment may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily performed at the same time, but may be performed at different times. The execution of these sub-steps or stages The sequence is not necessarily performed sequentially, but may be performed in turn or alternately with other steps or at least a part of the sub-steps or stages of other steps.
  • Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
  • Volatile memory can include random access memory (RAM) or external cache memory.
  • RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous chain Synchlink DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
  • SRAM static RAM
  • DRAM dynamic RAM
  • SDRAM synchronous DRAM
  • DDRSDRAM dual data rate SDRAM
  • ESDRAM enhanced SDRAM
  • SLDRAM synchronous chain Synchlink DRAM
  • Rambus direct RAM
  • DRAM direct memory bus dynamic RAM
  • RDRAM memory bus dynamic RAM

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Signal Processing (AREA)
  • Technology Law (AREA)
  • Data Mining & Analysis (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)

Abstract

本申请实施例公开了一种资源转移数据管理方法、装置及存储介质,属于互联网技术领域。该方法包括:接收第一服务器发送的交易数据,交易数据根据第一服务器的私钥对资源转移数据进行签名后得到;根据第一服务器的公钥,对交易数据进行验证;验证通过时根据交易数据和第一区块的特征值生成第二区块,添加至区块链中。

Description

资源转移数据管理方法、装置及存储介质
本申请要求于2018年08月01日提交中国专利局,申请号为201810861049.4,申请名称为“资源转移数据管理方法、装置及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及互联网技术领域,特别涉及一种资源转移数据管理方法、装置及存储介质。
背景技术
人们在日常生活中需要进行多种类型的资源转移操作,如缴纳水费、缴纳电费、为***还款等。而随着互联网技术的快速发展和广泛应用,代为进行资源转移操作的第三方应用应运而生,第三方应用可以帮助用户方便快捷地完成资源转移操作,为用户的生活带来了很多便利。
在实现本申请实施例的过程中,发明人发现相关技术至少存在以下问题:上述资源转移操作由服务器进行,资源转移数据集中存储于服务器中,很容易丢失或者被篡改,安全性差。一旦出现服务器恶意将某一用户的资源转移给其他资源账户的情况,会给该用户造成资源损失。
发明内容
根据本申请提供的各种实施例,提供一种资源转移数据管理方法、装置及存储介质。
一方面,提供了一种资源转移数据管理方法,由数据管理***执行,所述数据管理***包括多个区块链节点,所述方法包括:
接收第一服务器发送的交易数据,所述交易数据由所述第一服务器确定资源转移数据满足代为转移资源条件时,根据所述第一服务器的私钥对所述资源转移数据进行签名后得到,所述资源转移数据包括转出方标识、转入方标识和转出方向转入方转移的资源数量;
根据所述第一服务器的公钥,对所述交易数据进行验证;及
验证通过时,根据所述交易数据和第一区块的特征值生成第二区块,将所述第二区块添加至所述区块链中,使所述区块链中所述第二区块成为所述第一区块的下一个区块,所述第 二区块用于存储所述交易数据。
一方面,提供了一种资源转移数据管理方法,由第一服务器执行,所述方法包括:
获取资源转移数据,所述资源转移数据包括转出方标识、转入方标识和转出方向转入方转移的资源数量;
当确定所述资源转移数据满足代为转移资源条件时,根据所述第一服务器的私钥对所述资源转移数据进行签名,得到交易数据;
向数据管理***发送所述交易数据;及
所述数据管理***包括多个区块链节点;所述数据管理***用于根据所述第一服务器的公钥对所述交易数据进行验证,验证通过后根据所述交易数据和第一区块的特征值生成第二区块,将所述第二区块添加至所述区块链中,使所述区块链中所述第二区块成为所述第一区块的下一个区块,所述第二区块用于存储所述交易数据。
一方面,提供了一种资源转移数据管理装置,应用于数据管理***,所述数据管理***包括多个区块链节点,所述装置包括:
接收模块,用于接收第一服务器发送的交易数据,所述交易数据由所述第一服务器确定资源转移数据满足代为转移资源条件时,根据所述第一服务器的私钥对所述资源转移数据进行签名后得到,所述资源转移数据包括转出方标识、转入方标识和转出方向转入方转移的资源数量;
验证模块,用于根据所述第一服务器的公钥,对所述交易数据进行验证;及
生成模块,用于验证通过时,根据所述交易数据和第一区块的特征值生成第二区块,将所述第二区块添加至所述区块链中,使所述区块链中所述第二区块成为所述第一区块的下一个区块,所述第二区块用于存储所述交易数据。
一方面,提供了一种资源转移数据管理装置,应用于第一服务器,所述装置包括:
获取模块,用于获取资源转移数据,所述资源转移数据包括转出方标识、转入方标识和转出方向转入方转移的资源数量;
签名模块,用于当确定所述资源转移数据满足代为转移资源条件时,根据所述第一服务器的私钥对所述资源转移数据进行签名,得到交易数据;
发送模块,用于向数据管理***发送所述交易数据;及
所述数据管理***包括多个区块链节点;所述数据管理***用于根据所述第一服务器的公钥对所述交易数据进行验证,验证通过后根据所述交易数据和第一区块的特征值生成第二区块,将所述第二区块添加至所述区块链中,使所述区块链中所述第二区块成为所述第一区 块的下一个区块,所述第二区块用于存储所述交易数据。
一方面,提供了一种资源转移数据管理装置,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述实施例中涉及的资源转移数据管理方法中所具有的步骤。
一方面,提供了一个或多个存储有计算机可读指令的非易失性存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述实施例中涉及的资源转移数据管理方法中所具有的步骤。
本申请的一个或多个实施例的细节在下面的附图和描述中提出。本申请的其它特征、目的和优点将从说明书、附图以及权利要求书变得明显。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种实施环境的示意图;
图2是本申请实施例提供的一种实施环境的示意图;
图3是本申请实施例提供的一种资源转移数据管理方法的示意图;
图4是本申请实施例提供的一种资源转移数据管理方法的示意图;
图5是本申请实施例提供的一种资源转移数据管理方法的示意图;
图6是本申请实施例提供的一种资源转移数据管理方法的示意图;
图7是本申请实施例提供的一种资源转移数据管理装置的结构示意图;
图8是本申请实施例提供的一种资源转移数据管理装置的结构示意图;及
图9是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例进行详细说明之前,首先对本申请实施例涉及的概念进行如下介绍:
1、区块链:
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合形成的链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用智能合约来操作数据的一种全新的分布式基础架构与计算方式。
区块链网络中的多个区块链节点可以配置有相同的区块链,在区块链中存储数据,从而保证存储的数据同步。且区块链中的前后相邻的区块具有关联关系,使得区块中任一数据被篡改时都能通过下一区块检测到,从而避免了数据被篡改,保证了数据的安全性和可靠性。
2、转出方、中间方和转入方:
转出方为需要向收费机构转移资源的用户,如需要缴纳电费的个人用户、需要为***还款的个人用户等。
转入方为需要收取用户资源的收费机构,如需要收取用户电费的电力公司、需要收取用户***还款的银行等。
中间方为转出方和转入方之间的媒介,可以将转出方的资源转移给转入方,该中间方可以称为第三方应用。
3、资源转移数据和交易数据:
资源转移数据包括转入方标识、转出方标识和资源数量,可以表示转出方向转入方转移了多少资源。
交易数据根据发起交易的服务器的私钥对资源转移数据进行签名后得到,该私钥可以表示服务器的身份,或者还可以根据发起交易的转出方标识的私钥对资源转移数据进行签名后得到,该私钥可以表示转出方标识的身份,则根据交易数据可以确定本次转移资源的过程由哪一方执行。
4、主动支付和被动支付:
主动支付是指用户主动将资源账户中的资源转移到其他资源账户中,转移资源的操作由用户主动执行。
被动支付是指由中间方代替用户将资源账户中的资源转移到其他资源账户中,转移资源的操作不是由用户主动执行,而是由中间方执行。
相关技术中,将需要转出资源的用户作为转出方,将需要收取用户资源的用户作为转入方,而第三方应用可以作为转出方和转入方之间的中间方。那么,转出方可以访问第三方应用的服务器,在服务器上创建资源账户,在该资源账户中存储资源。转入方也可以访问服务 器,在服务器上创建资源账户,通过该资源账户收取各个转出方转来的资源。转入方需要收取转出方的资源时,确定资源转移数据,该资源转移数据中包括转出方应当转移给转入方的资源数量,则服务器根据该资源转移数据,从转出方的资源账户中扣除相应数量的资源,向转入方的资源账户中添加相应数量的资源,从而代替转出方完成资源转移操作,并且,服务器还会存储资源转移数据,通过该资源转移数据对上述转移资源的过程进行记录。由于资源转移操作由服务器进行,资源转移数据集中存储于服务器中,很容易丢失或者被篡改,安全性差。一旦出现服务器恶意将某一用户的资源转移给其他资源账户的情况,会给该用户造成资源损失。
图1是本申请实施例提供的一种实施环境的示意图。如图1所示,该实施环境包括数据管理***,该数据管理***可以提供代为转移资源、存储资源转移数据、查询资源转移数据等功能。
该数据管理***的用户可以包括转出方、中间方和转入方,转出方与中间方达成协议由中间方代替转出方转移资源后,每次转入方确定转出方需要向转入方转移的资源数量并生成相应的资源转移数据后,由中间方发起针对该资源转移数据的交易,将该资源转移数据存储至区块链中。
或者,转出方主动转移资源时,由转出方确定要向转入方转移的资源数量,并生成相应的资源转移数据后,发起针对该资源转移数据的交易,将该资源转移数据存储至区块链中。
且后续过程中,转出方、中间方和转入方均可查询区块链中的资源转移数据,保证了资源转移数据的安全性和可追溯性。
该数据管理***包括多个区块链节点101,该多个区块链节点101构成区块链网络,每个区块链节点101可以配置相同的区块链,用于在区块链中存储交易数据。每个区块可以用于存储一次交易数据,一条区块链由多个区块组成,区块链上区块按照时间顺序进行存储,并且随着区块链的不断使用会添加新的区块。
在一种可能实现方式中,该数据管理***还可以包括管理服务器102,管理服务器102可以作为数据管理***前端的应用层,既可以实现用户的登录验证功能、展示界面等功能,还可以对多个区块链节点101的区块链上存储的交易数据进行管理。
那么,该数据管理***与用户层进行交互时,该管理服务器102可以作为用户层与区块链网络之间的媒介,根据用户层发起的请求对区块链网络上的数据进行管理,并向用户层反馈。
基于上述实施例所示的实施环境,本申请实施例还提供了另一实施环境。图2是本申请 实施例提供的另一实施环境的示意图,参见图2,该实施环境包括数据管理***201、第一终端202、第二终端203和第一服务器204,数据管理***201包括多个区块链节点2011。第一终端202、第二终端203和第一服务器204均可通过网络与数据管理***201连接。
第一终端202为转出方配置的终端,可以通过数据管理***201提供的管理界面查看自身已转移的资源或者由中间方代为转移的资源等,并且还可以通过该管理界面发起资源转移请求,从而向转入方转移资源。
或者,第一终端202还可以访问中间方配置的第一服务器204,通过第一服务器204提供的应用界面查看第一服务器已代替转出方转移的资源等,并且还可以通过该应用界面发起代为转移资源请求,从而请求第一服务器代替转出方向转入方转移资源。
第二终端203为转入方配置的终端,可以通过数据管理***201提供的管理界面查看由中间方代替转出方转来的资源,或者由转出方主动转来的资源等。或者,第二终端203还可以访问中间方配置的第一服务器204,通过第一服务器204提供的应用界面管理已激活代为转移资源功能的用户,并向第一服务器204发送这些用户的资源转移数据,由第一服务器根据资源转移数据进行资源转移操作。
其中,转出方可以为某一个人用户,或者也可以为企业用户、团体用户等。转入方可以为某一个人用户,或者也可以为收取资源的收费机构,如发行***的银行、电力公司等。
而第一服务器204可以作为中间方配置的服务器,可以代替转出方完成资源转移操作。且第一服务器204可以与数据管理***201进行交互,对区块链上存储的资源转移数据进行管理。
在一种可能实现方式中,第一终端202或第二终端203均可安装第一服务器204关联的应用客户端,通过该应用客户端与第一服务器204进行交互,进而实现激活代为转移资源的功能。且第一终端202或第二终端203均可安装数据管理***201关联的应用客户端,通过该应用客户端与数据管理***201进行交互,进而实现在区块链上管理资源转移数据的功能。
相关技术中,用户在中间方配置的服务器中激活代为转移资源的功能后,当用户作为转出方需要向转入方转移资源时,可以由服务器代为转移资源。但是,资源转移操作由服务器主动进行,未经过用户的确认,且资源转移数据集中存储于服务器中,很容易丢失或者被篡改,导致安全性差。一旦出现服务器恶意将该用户的资源转移给其他资源账户的情况,可能无法追溯到资源转移数据,也就无法对服务器进行追责并对用户进行资源补偿,也即是给用户造成了无法挽回的资源损失。
比如说,在被动支付的场景下,如水电费代交、基金定投、话费代收等业务中,用户与 第三方应用签署代付协议后,由第三方应用为用户处理这些业务,为用户代扣费用。而第三方应用管理用户账户,对用户账户具有完全的权限,甚至可以进行恶意扣款并销毁扣款记录,会增加账户风险,使用户蒙受财产损失,另一方面还会无法辨别账户中的花费是用户使用还是第三方应用使用,这样会引起纠纷,无法进行追责。
本申请实施例提供了一种基于区块链的数据管理***,在中间方的第一服务器代替用户进行资源转移操作时,利用区块链去中心化、开放、透明、防篡改的特点,将资源转移数据根据中间方的私钥进行签名后得到交易数据,将交易数据存储于区块链中,既能够防止交易数据丢失或者被篡改,保证交易数据的安全性,还能够利用中间方的私钥来表明中间方的身份,保证了交易数据的可追溯性,一旦出现服务器恶意将用户的资源转移给其他资源账户的情况时,可以根据交易数据对转移资源的过程进行追溯,从而在发生资源纠纷时对中间方进行追责,以弥补转出方的资源损失。可以应用于多种被动支付的场景中,如水电燃气费代扣、基金定投、***定时还款、话费代交等。在被动支付的场景下,可以基于区块链***进行被动支付,清晰地记录每笔支付记录和操作方,并且数据不可篡改,具有更高的安全性。
另外,转出方进行资源转移操作时,利用区块链去中心化、开放、透明、防篡改的特点,将资源转移数据根据转出方的私钥进行签名后得到交易数据,将交易数据存储至区块链中,既能够防止交易数据丢失或者被篡改,保证交易数据的安全性,还能够利用转出方的私钥来表明转出方的身份,保证了交易数据的可追溯性。另外,转出方、转入方和中间方以及监管部门可以很方便地对区块链上的交易数据进行查询,了解中间方代为转移资源的详细情况,有效地约束了中间方的行为,降低了中间方卷款潜逃的风险。
以下先对数据管理***的注册流程进行说明:
数据管理***的用户可以为个人用户或者企业用户、团体用户等,用户在管理服务器上注册用户标识,基于用户标识登录数据管理***,从而通过该数据管理***对资源转移数据进行管理。其中,该用户标识用于表示用户的身份,可以为用户名称、用户账号等。
并且,针对注册成功的用户,数据管理***会为该用户生成相互对应的公钥和私钥,将私钥下发给用户,由用户自己保管,而公钥可以由各个区块链节点分别保管。或者,用户生成相互对应的公钥和私钥,私钥自己保管,公钥上传给数据管理***,由各个区块链节点分别保管。
那么,在后续的交易过程中,每当用户向数据管理***发起任一交易时,要根据用户的私钥进行签名,以该私钥来表示该用户的身份,区块链节点执行该交易时,也需要先根据该用户的公钥验证该用户的身份,验证通过后才能执行交易。
数据管理***的用户包括转出方、转入方和中间方三种,其中针对中间方来说,为了保证安全性,当某一用户要注册成为中间方以便代替其他用户转移资源时,需要该用户上传真实的身份信息以及相关证明材料进行实名认证,如企业用户应当上传工商登记证明和允许进行资源类交易的资质证书。
图3是本申请实施例提供的一种资源转移数据管理方法的示意图。本申请实施例的执行主体为数据管理***和第一服务器,本申请实施例对转移资源的过程进行说明,参见图3,该方法包括:
301、第一服务器获取资源转移数据。
其中,该资源转移数据包括转出方标识、转入方标识和转出方向转入方转移的资源数量,转出方标识用于表示需要转出资源的用户的身份,该用户可以称为转出方,该转出方标识可以为转出方的用户账号或者用户名称中的至少一个,转入方标识用于表示需要转入资源的用户的身份,该用户可以称为转入方,该转入方标识可以为转入方的用户账号或者用户名称中的至少一个。
另外,该资源转移数据还可以包括本次转移的资源针对的账单、本次转移资源的最晚截止时间或者本次转移资源的明细中的至少一个。
例如,该资源转移数据可以如下表1所示:
表1
付款方 收款方 支付金额 账单
用户A 电力公司B 100 2018年5月份电费
在一种可能实现方式中,该资源转移数据可以由第一服务器根据预设规则自动生成,该预设规则中包括资源转移数据的生成规则等。例如转出方激活每月代交话费业务并确定每月初代交的话费金额为30元,则在每月初第一服务器可以根据转出方激活的业务生成一条资源转移数据,该资源转移数据包括转出方的电话号码、收取话费的运营商以及话费金额30元。
在另一种可能实现方式中,转入方的终端或者服务器可以根据需求生成资源转移数据,发送给第一服务器,由第一服务器接收该资源转移数据。例如,电力公司B每个月统计用户A的电表示数变化情况,根据电表示数变化情况确定用户A应当缴纳的电费金额,从而获取到资源转移数据。
需要说明的是,转入方的终端或服务器可以根据需求确定是否要生成资源转移数据,或者第一服务器的预设规则中包括获取资源转移数据的时机,第一服务器根据预设规则中的时机生成资源转移数据或者向转入方请求资源转移数据。或者,转出方使用终端访问第一服务 器,并触发代为转移资源请求,当第一服务器接收到转出方的终端发送的代为转移资源请求时,生成资源转移数据或者向转入方请求资源转移数据。
302、当第一服务器确定资源转移数据满足代为转移资源条件时,根据第一服务器的私钥对资源转移数据进行签名,得到交易数据。
第一服务器设置代为转移资源条件,该代为转移资源条件用于规定需要代为转移资源的资源转移数据应当满足的条件,只有针对满足代为转移资源条件的资源转移数据才允许进行资源转移,而针对不满足代为转移资源条件的资源转移数据不能进行资源转移。因此当第一服务器获取到资源转移数据后,判断资源转移数据是否满足代为转移资源条件,从而确定能否针对该资源转移数据发起代为转移资源过程。
在一种可能实现方式中,确定资源转移数据是否满足代为转移资源条件的过程可以包括以下至少一项3021-3023:
3021、代为转移资源条件包括已激活代为转移资源功能的指定转出方标识,当资源转移数据中转出方标识为指定转出方标识时,确定资源转移数据满足代为转移资源条件。
一个或多个用户可以在第一服务器中激活代为转移资源功能,第一服务器确定已激活代为转移资源功能的用户标识,作为指定转出方标识。当第一服务器获取到一条资源转移数据时,从中获取转出方标识,判断该转出方标识是否为指定转出方标识,如果是,表示该转出方标识确实已经激活代为转移资源功能,则确定资源转移数据满足代为转移资源条件。
可选地,第一服务器生成用户列表,用户列表中包括已激活代为转移资源功能的多个用户标识,这多个用户标识即为指定转出方标识。如果本次获取到的资源转移数据中的转出方标识包含在用户列表中,表示允许第一服务器代替该转出方转移资源。
例如,当用户A已激活代为转移资源功能时,第一服务器将用户A添加到用户列表中,如果第一服务器获取的资源转移数据中的转出方为用户A,则允许第一服务器代替用户A转移资源。
3022、代为转移资源条件包括已激活代为转移资源功能的指定转出方标识与指定转入方标识的对应关系,当资源转移数据中转出方标识与转入方标识对应时,确定资源转移数据满足代为转移资源条件。
一个或多个用户可以在第一服务器中激活代为向指定的用户转移资源功能,第一服务器确定已激活代为转移资源功能的用户标识,作为指定转出方标识,并确定每个指定转出方标识对应的指定转入方标识,在代为转移资源条件中建立指定转出方标识和指定转入方标识的对应关系。当第一服务器获取到一条资源转移数据时,从中获取转出方标识和转入方标识, 判断该代为转移资源条件是否包括转出方标识与转入方标识的对应关系,如果是,表示该转出方标识确实已经激活代为转移资源功能,且该转入方标识为转出方标识允许第一服务器代为转移资源的转出方标识,则确定资源转移数据满足代为转移资源条件。
例如,用户A已激活代为向用户B转移资源的功能,第一服务器建立用户A和用户B的对应关系,如果第一服务器获取的资源转移数据中的转出方为用户A,转入方为用户B,则允许第一服务器代替用户A向用户B转移资源。如果第一服务器获取的资源转移数据中的转出方为用户A但转入方为用户C,则不允许第一服务器代替用户A向用户C转移资源。
3023、代为转移资源条件包括已激活代为转移资源功能的指定转出方标识允许转出的最大资源数量,当资源转移数据中资源数量不大于转出方标识允许转出的最大资源数量时,确定资源转移数据满足代为转移资源条件。
一个或多个用户可以在第一服务器中激活代为向指定的转入方标识转移资源功能,第一服务器确定已激活代为转移资源功能的用户标识,作为指定转出方标识,并确定每个指定转出方标识允许转出的最大资源数量。当第一服务器获取到一条资源转移数据时,从中获取转出方标识和资源数量,判断该资源数量是否大于转出方标识允许转出的最大资源数量,如果该资源数量不大于转出方标识允许转出的最大资源数量,表示本次转移的资源没有超出转出方的限制,则确定资源转移数据满足代为转移资源条件。
例如,用户A已激活代为转移资源功能,并确定允许转出的最大资源数量为1000元,如果第一服务器获取的资源转移数据中的转出方为用户A,资源数量为100元,则允许第一服务器代替用户A转出100元,如果第一服务器获取的资源转移数据中的转出方为用户A,资源数量为5000元,则不允许第一服务器代替用户A转出5000元。
需要说明的是,具体实施时,第一服务器设置的代为转移资源条件可以包括上述3021-3023中的任一项或多项,例如可以将上述多项代为转移资源条件进行结合来确定资源转移数据是否满足代为转移资源条件。当然,还可以采用其他的代为转移资源条件,如每个月代为转移资源的最大次数、代为转移资源的最大频率等。
当第一服务器确定资源转移数据满足代为转移资源条件时,根据第一服务器的私钥对资源转移数据进行签名,得到交易数据,该私钥用于表示第一服务器的身份,根据该交易数据进行追溯可以确定发起资源转移过程的是该第一服务器。
在一种可能实现方式中,第一服务器可以获取资源转移数据的特征值,根据第一服务器的私钥,对资源转移数据的特征值进行签名,得到签名数据,将资源转移数据和签名数据作为交易数据,也即是交易数据包括资源转移数据和签名数据。其中,该特征值与资源转移数 据一一对应,可以为资源转移数据的哈希值或其他特征值。
303、第一服务器向管理服务器发送该交易数据。
本申请实施例中,数据管理***可以包括管理服务器和多个区块链节点,管理服务器可以向第一服务器开放接口,第一服务器调用管理服务器的接口,向管理服务器发送该交易数据,用于请求管理服务器通过区块链存储该交易数据,从而起到记录转移资源过程的作用。
可选地,第一服务器向管理服务器发送该交易数据时,还可以携带第一服务器的中间方标识,该中间方标识用于标识中间方的身份,可以为中间方的用户名称或用户账号,例如该用户名称可以为应用名称或者企业名称等。
304、管理服务器接收到该交易数据时,向多个区块链节点广播该交易数据。
管理服务器可以作为用户层与区块链网络之间的接口,当管理服务器接收到第一服务器发送的交易数据时,向多个区块链节点广播该交易数据,请求将该交易数据存储于区块链中。
在一种可能实现方式中,管理服务器可以仅向特定的一个或多个区块链节点广播该交易数据,而不向所有的区块链节点广播该交易数据,该特定的区块链节点可以根据区块链网络的智能合约确定。而特定的一个或多个区块链节点接收到交易数据时,也会向其他区块链节点广播交易数据,从而使得每个区块链节点均可收到交易数据。
需要说明的是,本申请实施例以数据管理***包括管理服务器为例进行说明,而在另一实施例中该数据管理***不包括管理服务器,则第一服务器向每个区块链节点发送交易数据,或者第一服务器向数据管理***中的一个或多个区块链节点发送交易数据,而该一个或多个区块链节点接收到交易数据时,也会向其他区块链节点广播交易数据,从而使得每个区块链节点均可收到交易数据。“多个”是指至少两个。
305、每个区块链节点接收到该交易数据时,根据第一服务器的公钥对交易数据进行验证。
本申请实施例中,多个区块链节点构成区块链网络,每个区块链节点配置相同的区块链,区块链用于在区块中存储交易数据,以交易数据来表示用户之间的资源转移情况,多个区块链节点可以实现数据同步。
因此,每个接收到该交易数据的区块链节点根据第一服务器的公钥对交易数据进行验证,从而能够对第一服务器的身份进行验证。
基于上述步骤302中的可能实现方式,区块链节点获取到交易数据中的资源转移数据和签名数据,获取资源转移数据的特征值,根据第一服务器的公钥,对签名数据进行解密,得到解密后的特征值,将解密后的特征值与资源转移数据的特征值进行对比,当解密后的特征值与资源转移数据的特征值匹配时,确定资源转移数据没有被篡改且第一服务器的身份无误, 因此交易数据验证通过。
其中,为了保证一致性,区块链节点获取资源转移数据的特征值的方式与上述步骤302中第一服务器获取资源转移数据的特征值的方式相同。
306、验证通过时,区块链节点根据交易数据和第一区块的特征值生成第二区块,将第二区块添加至区块链中,使区块链中第二区块成为第一区块的下一个区块,第二区块用于存储交易数据。
针对每个区块链节点来说,该区块链节点接收到交易数据后,确定区块链中当前的最后一个区块,即第一区块,根据交易数据和第一区块的特征值生成用于存储交易数据的第二区块,添加到区块链中,从而使区块链中第二区块成为第一区块的下一个区块。由于第二区块的特征值与上一区块的特征值相关,实现了将区块链中前后相邻的区块串联起来的目的,使得对区块链中任何信息的篡改均可通过对下一个区块中存储的特征值进行追溯而检测到,保证了交易数据的安全性。其中,该特征值可以为区块中的数据的哈希值或者其他与区块中的数据相关的特征值。另外,第二区块中除存储交易数据之外,还可以存储交易数据的状态,交易数据的状态可以为生效、失效等。
需要说明的是,本申请实施例仅是以一次交易为例进行说明,而具体实施时,区块链节点可能会接收到多个交易数据,此时可以每次将一个交易数据存储至一个区块中,或者也可以将多个交易数据存储至一个区块中,以节省存储空间。
一种可能实现方式中,区块链节点接收到交易数据时,先将交易数据存储至交易数据池中,后续再从交易数据池中提取一个或多个交易数据,根据第一区块的特征值,对提取的交易数据进行打包,得到第二区块,再将第二区块添加至区块链中。例如,区块链节点可以在交易数据池中交易数据的数量达到最大值时从交易数据池提取交易数据,或者按照一定周期从交易数据池提取交易数据,每次可以从交易数据池中提取预定数量的交易数据,打包到一个区块中,或者也可以将交易数据池中所有的交易数据均提取出来,打包到一个区块中。
在区块链中存储交易数据时需要由一个或多个区块链节点验证交易数据是否满足智能合约,只有当一个或多个区块链节点对交易数据的验证结果达成共识的情况下,才允许在区块链中存储交易数据。例如可以是至少一个区块链节点验证交易数据满足智能合约时,可以生成第二区块。
因此,多个区块链节点中的任一区块链节点提取交易数据后,先验证交易数据是否满足智能合约,当确定交易数据满足智能合约时,根据交易数据和第一区块的特征值生成第二区块,并将生成的第二区块传递给下一个区块链节点,由下一个区块链节点继续验证第二区块 中的交易数据是否满足智能合约,直到多个区块链节点的验证结果均表示交易数据满足智能合约时,才允许将第二区块添加至区块链中。
其中,区块链网络中的多个区块链节点可以制定智能合约,智能合约用于规定交易数据需要满足的条件,验证交易数据是否满足智能合约时,可以验证交易数据的格式是否合法、是否遗漏转出方标识、转入方标识和资源数量等必填信息、发起该交易数据的用户是否具有权限等,还可以验证交易数据是否满足上述代为转移资源条件等。智能合约中还可以包括多个区块链节点的验证结果应当满足的条件,如验证通过的区块链节点的最少数量等。
可选地,每个区块链节点验证交易数据是否满足智能合约后,根据自身的私钥对验证结果进行签名,将签名数据发送给其中一个区块链节点,该区块链节点收集每个区块链节点发送的签名数据,根据每个区块链节点的公钥对签名数据进行解密,获取每个区块链节点的验证结果,当确定收集到的验证结果满足智能合约时,才允许每个区块链节点将第二区块存储至区块链中。
例如,区块链网络中包括5个区块链节点,智能合约中规定交易数据验证通过的区块链节点的最少数量为3,则只有3个或3个以上的区块链节点对交易数据验证通过时,才允许将交易数据存储至区块链中。
需要说明的是,区块链中以区块的形式存储多个交易数据,每个交易数据记录了每次转出方向转入方转移的资源数量,相当于对转移资源的过程进行了记录,根据该区块链可以确定各个用户之间的资源转移情况。
在一种可能实现方式中,每个区块链节点还可以在每次生成新的区块时,对本次进行资源转移的转出方和转入方的资源账户中的剩余资源数量进行更新,从而统计出每个用户的剩余资源数量。随着交易的不断进行,用户的剩余资源数量可能会相应发生变化。
307、区块链节点在区块索引表中建立转出方标识与第二区块之间的对应关系,或者转入方标识与第二区块之间的对应关系中的至少一个,区块索引表用于查询转出方标识对应的区块或转入方标识对应的区块中的至少一个。
区块链节点还可以创建区块索引表,采用该区块索引表可以存储任一转出方标识或者任一转入方标识与包括该转出方标识和转入方标识的资源转移数据所在的区块之间的对应关系中的至少一个,根据该区块索引表可以查询任一转出方标识对应的区块或任一转入方标识对应的区块,进而从区块中获取存储的交易数据。区块索引表可以用于查询所有或者部分转出方标识对应的区块,区块索引表也可以用于查询所有或者部分转入方标识对应的区块。因此 区块链索引中可以建立所有或者部分转出方标识与第二区块之间的对应关系,或者所有或者部分转入方标识与第二区块之间的对应关系中的至少一个。
那么,当区块链节点生成存储交易数据的第二区块时,可以在区块索引表中建立转出方标识或者转入方标识中的至少一个与第二区块之间的对应关系,以便后续根据区块索引表查询区块中的交易数据。
可选地,该区块索引表中可以存储任一转出方标识、任一转入方标识与区块高度之间的对应关系,其中区块高度用于表示该转出方标识和该转入方标识对应的区块在区块链中的位置。
例如,该区块索引表可以如下表2所示,表示用户A向用户B转移资源的资源转移数据位于区块链的第1个区块中,用户A向用户C转移资源的资源转移数据位于区块链的第2个区块中。
表2
转出方标识 转入方标识 区块高度
用户A 用户B 1
用户A 用户C 2
需要说明的是,该步骤307为可选步骤,区块链节点也可以不创建区块索引表,每次查询交易数据时可以遍历区块链中的各个区块,查询任一转出方标识对应的交易数据或任一转入方标识对应的交易数据。
本申请实施例提供的方法,由中间方的第一服务器代替转出方转移资源的过程中,根据第一服务器的私钥对资源转移数据进行签名得到交易数据,在区块链中存储交易数据。由于区块链中下一区块根据上一区块的特征值生成,前后区块之间具有关联关系,因此具有数据不可篡改的特性,在区块链中存储交易数据可以保证资源转移数据的安全性,避免了资源转移数据丢失或被篡改,也便于后续通过区块链对资源转移数据进行查询等管理操作。且利用第一服务器的私钥表明第一服务器的身份,保证了交易数据的可追溯性,一旦出现第一服务器恶意将转出方的资源转移给其他资源账户的情况,可以根据交易数据对中间方进行追责,以弥补转出方的资源损失。
并且,根据第一服务器的公钥对交易数据进行验证通过时,才会允许将交易数据存储至区块链中,从而根据第一服务器的公钥确认第一服务器的身份和交易数据正确,避免了被恶意用户转出资源的可能以及传输过程中交易数据被篡改的可能,保证了传输过程中交易数据的安全性。
并且,按照智能合约对交易数据进行验证通过时,才会允许将交易数据存储至区块链中,进一步保证了安全性和可靠性。
图4是本申请实施例提供的一种资源转移数据管理方法的示意图。本申请实施例的执行主体为第一终端和数据管理***,本申请实施例对第一终端发起资源转移的过程进行说明。参见图4,该方法包括:
401、第一终端基于转出方标识显示数据管理***提供的管理界面,通过管理界面获取资源转移数据。
本申请实施例中,该第一终端可以为手机、计算机、平板电脑等设备,该第一终端基于用户标识登录数据管理***,该用户标识用于表示用户的身份。本申请实施例以第一终端的用户为转出方为例,第一终端访问数据管理***时,显示数据管理***提供的管理界面,转出方可以在管理界面上触发管理操作。
该管理操作可以为发起资源转移的操作,该发起资源转移的操作用于指示向转入方转移资源。在一种可能实现方式中,该管理界面包括数据设置栏和转移选项,当转出方在数据设置栏中设置转入方标识和待转移的资源数量并触发转移选项时,第一终端检测到该发起资源转移的操作,并获取资源转移数据,该资源转移数据包括转出方标识、转入方标识和资源数量。
402、第一终端根据转出方标识的私钥对资源转移数据进行签名,得到交易数据。其中,该私钥用于表明转出方的身份,根据该交易数据进行追溯可以确定发起资源转移过程的是转出方。
需要说明的是,本申请实施例中采用了多重私钥的方式,针对转出方的资源账户可以为转出方和第一服务器均分配私钥,两者均可采用自己的私钥转出资源账户中的资源,并在转出资源时根据自己的私钥进行签名,因此根据签名可以区分发起资源转移过程的是转出方还是第一服务器。
403、第一终端向管理服务器发送该交易数据。
404、管理服务器接收到该交易数据时,向多个区块链节点广播该交易数据。
405、每个区块链节点接收到该交易数据时,根据转出方标识的公钥对交易数据进行验证。
406、验证通过时,区块链节点根据交易数据和第三区块的特征值生成第四区块,将第四区块添加至区块链中,使区块链中第四区块成为第三区块的下一个区块,第四区块用于存储所述交易数据。
407、区块链节点在区块索引表中建立转出方标识或者转入方标识与第四区块之间的对应 关系,区块索引表用于查询任一转出方标识对应的区块或任一转入方标识对应的区块。
上述步骤403-407与上述步骤303-307类似,在此不再赘述。
本申请实施例提供的方法,转出方转移资源的过程中,根据转出方的私钥对资源转移数据进行签名得到交易数据,在区块链中存储交易数据。由于区块链中下一区块根据上一区块的特征值生成,前后区块之间具有关联关系,因此具有数据不可篡改的特性,在区块链中存储交易数据可以保证资源转移数据的安全性,避免了资源转移数据丢失或被篡改,也便于后续通过区块链对资源转移数据进行查询等管理操作。且利用转出方的私钥表明转出方的身份,保证了交易数据的可追溯性。
图5是本申请实施例提供的一种资源转移数据管理方法的示意图。本申请实施例的执行主体为第一终端和数据管理***,本申请实施例对第一终端查询交易数据的过程进行说明。参见图5,该方法包括:
501、第一终端基于转出方标识显示数据管理***提供的管理界面,通过管理界面检测查询操作时,向数据管理***发送查询请求,查询请求携带第一终端的转出方标识。
本申请实施例中,该第一终端可以为手机、计算机、平板电脑等设备,该第一终端基于用户标识登录数据管理***,该用户标识用于表示用户的身份。本申请实施例以第一终端的用户为转出方为例,第一终端访问数据管理***时,显示数据管理***提供的管理界面,转出方可以在管理界面上触发管理操作。
管理操作可以包括查询操作,该查询操作用于指示查询转出方的资源转移数据。在一种可能实现方式中,该管理界面包括查询条件设置栏和查询选项,当转出方在查询条件设置栏中设置查询条件并触发查询选项时,第一终端检测到查询操作,并向数据管理***发送查询请求,该查询请求携带第一终端的转出方标识以及查询条件。
其中,查询条件可以包括资源转移时间段或者资源转移类型中的至少一个,资源转移时间段用于查询在该资源转移时间段内的资源转移数据,而资源转移类型包括代为转移和主动转移两种,代为转移是指转出方由中间方代替转移资源,具体过程与上述图3所示的实施例类似,而主动转移是指转出方不经过中间方,而是直接通过数据管理***进行资源转移。
当然,转出方也可以不设置查询条件,则第一终端向数据管理***发送的查询请求中不包含查询条件,以请求查询转出方的所有交易数据。
需要说明的是,上述步骤501为可选步骤。在另一实施例中,第一终端可以访问第一服务器,通过第一服务器提供的应用界面检测到查询操作时,向第一服务器发送查询请求,由第一服务器向数据管理***转发查询请求。
502、数据管理***接收到查询请求时,在区块链中查询包括转出方标识的交易数据。
503、数据管理***向第一终端发送查询到的交易数据。
需要说明的是,第一终端向数据管理***发送查询请求时,可以向其中一个区块链节点发送查询请求,该区块链节点接收到该查询请求时,在区块链中查询包括转出方标识的交易数据,返回给第一终端。
在一种可能实现方式中,数据管理***包括管理服务器时,第一终端向管理服务器发送查询请求,由管理服务器向其中一个区块链节点发送查询请求,由该区块链节点查询交易数据,之后再通过管理服务器将查询到的交易数据返回给第一终端。
可选地,区块链节点在进行查询时,遍历区块链中的各个区块,判断每个区块中存储的资源转移数据是否包括转出方标识,从而查询到包括转出方标识的交易数据。或者,如果区块链节点已经创建了区块索引表,在区块索引表中存储任一转出方标识、任一转入方标识与包括该转出方标识和转入方标识的资源转移数据所在的区块之间的对应关系,则可以根据区块索引表确定该转出方标识对应的区块,再从区块链中该区块中获取包括转出方标识的交易数据。
在另一种可能实现方式中,当查询请求包含查询条件时,从区块中获取包括转出方标识的交易数据后,还要判断该交易数据是否满足查询条件,从而确定满足查询条件的交易数据,发送给第一终端。
例如,查询条件包括资源转移时间段,则获取交易数据中的资源转移时间,判断该资源转移时间是否属于资源转移时间段,从而确定资源转移时间属于资源转移时间段的交易数据。
例如,查询条件包括资源转移类型,则获取交易数据中签名数据,判断该签名数据是根据第一服务器的私钥进行签名还是根据第一终端的私钥进行签名,从而确定资源转移类型是代为转移还是主动转移,是否满足查询条件。
在另一实施例中,数据管理***包括管理服务器时,管理服务器可以缓存之前一段时间内获取的交易数据,则当管理服务器接收到第一终端发送的查询请求时,可以先在缓存的交易数据中查询包括转出方标识的交易数据,当查询到包括转出方标识的交易数据时,返回给第一终端,而当查询不到包括转出方标识的交易数据时,再在区块链中查询包括转出方标识的交易数据。
504、第一终端接收到交易数据时,通过管理界面显示交易数据。
交易数据中包括资源转移数据和签名数据,第一终端可以显示资源转移数据,以向转出方展示资源转移情况,也可以显示签名数据,以向转出方展示资源转移类型。
本申请实施例提供的方法,将交易数据存储于区块链中,并提供了查询交易数据的功能,保证用户可以查询交易数据,了解资源转移情况和发起资源转移的用户身份,查询操作方便快捷,一旦出现将转出方的资源恶意转移给其他资源账户的情况可以根据交易数据的签名进行追责,以弥补转出方的资源损失。并且,监管部门能够对交易数据进行有效地查询监管,保证了操作规范性,能够及时发现存在的违规行为。
图6是本申请实施例提供的一种资源转移数据管理方法的示意图。本申请实施例的执行主体为第二终端和数据管理***,本申请实施例对第二终端查询交易数据的过程进行说明。参见图6,该方法包括:
601、第二终端基于转入方标识显示数据管理***提供的管理界面,通过管理界面检测查询操作时,向数据管理***发送查询请求,查询请求携带第二终端的转入方标识。
本申请实施例中,该第二终端可以为手机、计算机、平板电脑等设备,该第二终端基于用户标识登录数据管理***,该用户标识用于表示用户的身份。本申请实施例以第二终端的用户为转入方为例,第二终端访问数据管理***时,显示数据管理***提供的管理界面,转入方可以在管理界面上触发管理操作。
管理操作可以包括查询操作,该查询操作用于指示查询转入方的资源转移数据。在一种可能实现方式中,该管理界面包括查询条件设置栏和查询选项,当转入方在查询条件设置栏中设置查询条件并触发查询选项时,第二终端检测到查询操作,并向数据管理***发送查询请求,该查询请求携带第二终端的转入方标识以及查询条件。
其中,查询条件可以包括资源转移时间段等,资源转移时间段用于查询在该资源转移时间段内的资源转移数据。当然,转入方也可以不设置查询条件,则第二终端向数据管理***发送的查询请求中不包含查询条件,以请求查询转入方的所有交易数据。
需要说明的是,上述步骤601为可选步骤。在另一实施例中,第二终端可以访问第一服务器,通过第一服务器提供的应用界面检测到查询操作时,向第一服务器发送查询请求,由第一服务器向数据管理***转发查询请求。
602、数据管理***接收到查询请求时,在区块链中查询包括转入方标识的交易数据。
603、数据管理***向第二终端发送查询到的交易数据。
需要说明的是,第二终端向数据管理***发送查询请求时,可以向其中一个区块链节点发送查询请求,该区块链节点接收到该查询请求时,在区块链中查询包括转入方标识的交易数据,返回给第二终端。
在一种可能实现方式中,数据管理***包括管理服务器时,第二终端向管理服务器发送 查询请求,由管理服务器向其中一个区块链节点发送查询请求,由该区块链节点查询交易数据,之后再通过管理服务器将查询到的交易数据返回给第二终端。
可选地,区块链节点在进行查询时,遍历区块链中的各个区块,判断每个区块中存储的资源转移数据是否包括转入方标识,从而查询到包括转入方标识的交易数据。或者,如果区块链节点已经创建了区块索引表,在区块索引表中存储任一转入方标识、任一转入方标识与包括该转入方标识和转入方标识的资源转移数据所在的区块之间的对应关系,则可以根据区块索引表确定该转入方标识对应的区块,再从区块链中该区块中获取包括转入方标识的交易数据。
在另一种可能实现方式中,当查询请求包含查询条件时,从区块中获取包括转入方标识的交易数据后,还要判断该交易数据是否满足查询条件,从而确定满足查询条件的交易数据,发送给第二终端。
例如,查询条件包括资源转移时间段,则获取交易数据中的资源转移时间,判断该资源转移时间是否属于资源转移时间段,从而确定资源转移时间属于资源转移时间段的交易数据。
在另一实施例中,数据管理***包括管理服务器时,管理服务器可以缓存之前一段时间内获取的交易数据,则当管理服务器接收到第二终端发送的查询请求时,可以先在缓存的交易数据中查询包括转入方标识的交易数据,当查询到包括转入方标识的交易数据时,返回给第二终端,而当查询不到包括转入方标识的交易数据时,再在区块链中查询包括转入方标识的交易数据。
604、第二终端接收到交易数据时,通过管理界面显示交易数据。
交易数据中包括资源转移数据和签名数据,第二终端可以显示资源转移数据,以向转入方展示资源转移情况,也可以显示签名数据,以向转入方展示资源转移类型。
本申请实施例提供的方法,将交易数据存储于区块链中,并提供了查询交易数据的功能,保证用户可以查询交易数据,了解资源转移情况和发起资源转移的用户身份,查询操作方便快捷,一旦出现将转出方的资源恶意转移给其他资源账户的情况可以根据交易数据的签名进行追责,以弥补转出方的资源损失。并且,监管部门能够对交易数据进行有效地查询监管,保证了操作规范性,能够及时发现存在的违规行为。
上述图5和图6所示实施例仅是以转出方和转入方查询交易数据的过程为例进行说明,实际上中间方或者监管部门也可以查询交易数据。
在一种可能实现方式中,中间方配置的终端可以向第一服务器发送查询请求,由第一服务器向数据管理***转发查询请求,该查询请求携带任一用户标识,用于查询该用户标识对 应的交易数据。或者,监管部门配置的终端可以向数据管理***发送查询请求,该查询请求携带任一用户标识,用于查询该用户标识对应的交易数据。具体查询交易数据的过程与上述图5和图6所示实施例类似,在此不再赘述。
图7是本申请实施例提供的一种资源转移数据管理装置的结构示意图。参见图7,该装置应用于数据管理***中,数据管理***包括多个区块链节点,该装置包括:
接收模块701,用于执行上述实施例中接收第一服务器发送的交易数据的步骤;
验证模块702,用于执行上述实施例中根据第一服务器的公钥,对交易数据进行验证的步骤;
生成模块703,用于执行上述实施例中验证通过时,根据交易数据和第一区块的特征值生成第二区块,添加至区块链中的步骤。
可选地,交易数据包括资源转移数据和签名数据,签名数据根据第一服务器的私钥对资源转移数据的特征值进行签名后得到,验证模块702包括:
特征值获取单元,用于执行上述实施例中获取资源转移数据的特征值的步骤;
解密单元,用于执行上述实施例中根据第一服务器的公钥,对签名数据进行解密,得到解密后的特征值的步骤;
验证单元,用于执行上述实施例中当解密后的特征值与资源转移数据的特征值匹配时,确定交易数据验证通过的步骤。
可选地,生成模块703,包括:
生成单元,用于执行上述实施例中当多个区块链节点中的至少一个区块链节点验证交易数据满足智能合约时,根据交易数据和第一区块的特征值生成第二区块,添加至区块链中的步骤。
可选地,装置还包括:
建立模块,用于执行上述实施例中在区块索引表中建立转出方标识或者转入方标识中的至少一个与第二区块之间的对应关系的步骤。
可选地,装置还包括:
接收模块,用于执行上述实施例中接收第一终端发送的查询请求的步骤;
查询模块,用于执行上述实施例中在区块链中查询包括转出方标识的交易数据的步骤;
发送模块,用于执行上述实施例中向第一终端发送查询到的交易数据的步骤。
可选地,查询模块,包括:
区块查询单元,用于执行上述实施例中根据区块索引表,查询转出方标识对应的区块的 步骤;
获取单元,用于执行上述实施例中从区块链的区块中获取包括转出方标识的交易数据的步骤。
可选地,装置还包括:
接收模块,用于执行上述实施例中接收第二终端发送的查询请求的步骤;
查询模块,用于执行上述实施例中在区块链中查询包括转入方标识的交易数据的步骤;
发送模块,用于执行上述实施例中向第二终端发送查询到的交易数据的步骤。
可选地,查询模块,包括:
区块查询单元,用于执行上述实施例中根据区块索引表,查询转入方标识对应的区块的步骤;
获取单元,用于执行上述实施例中从区块链的区块中获取包括转入方标识的交易数据的步骤。
图8是本申请实施例提供的一种资源转移数据管理装置的结构示意图。参见图8,该装置应用于第一服务器中,该装置包括:
获取模块801,用于执行上述实施例中获取资源转移数据的步骤;
签名模块802,用于执行上述实施例中当确定资源转移数据满足代为转移资源条件时,根据第一服务器的私钥对资源转移数据进行签名,得到交易数据的步骤;
发送模块803,用于执行上述实施例中向数据管理***发送交易数据的步骤;
数据管理***包括多个区块链节点;数据管理***用于根据第一服务器的公钥对交易数据进行验证,验证通过后根据交易数据和第一区块的特征值生成第二区块,将第二区块添加至区块链中,使区块链中第二区块成为第一区块的下一个区块,第二区块用于存储交易数据。
可选地,装置还包括:
确定模块,用于执行以下至少一项:
代为转移资源条件包括已激活代为转移资源功能的指定转出方标识,当转出方标识为指定转出方标识时,确定资源转移数据满足代为转移资源条件;
代为转移资源条件包括已激活代为转移资源功能的指定转出方标识与指定转入方标识的对应关系,当代为转移资源条件包括转出方标识与转入方标识的对应关系时,确定资源转移数据满足代为转移资源条件;
代为转移资源条件包括已激活代为转移资源功能的指定转出方标识允许转出的最大资源数量,当资源数量不大于转出方标识允许转出的最大资源数量时,确定资源转移数据满足代 为转移资源条件。
可选地,签名模块802,包括:
特征值获取单元,用于执行上述实施例中获取资源转移数据的特征值的步骤;
签名单元,用于执行上述实施例中根据第一服务器的私钥,对资源转移数据的特征值进行签名,得到签名数据的步骤。
需要说明的是:上述实施例提供的资源转移数据管理装置在管理资源转移数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将数据管理***的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的资源转移数据管理装置与资源转移数据管理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图9是本申请实施例提供的一种服务器的结构示意图,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)901和一个或一个以上的存储器902,其中,所述存储器902中存储有至少一条指令,所述至少一条指令由所述处理器901加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
服务器900可以用于执行上述资源转移数据管理方法中数据管理***或第一服务器所执行的步骤。
本申请实施例还提供了一种资源转移数据管理装置,该资源转移数据管理装置包括处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,指令、程序、代码集或指令集由处理器加载并具有以实现上述实施例的资源转移数据管理方法中所具有的操作。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该指令、该程序、该代码集或该指令集由处理器加载并具有以实现上述实施例的资源转移数据管理方法中所具有的操作。
应该理解的是,本申请各实施例中的各个步骤并不是必然按照步骤标号指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或 者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述仅为本申请实施例的较佳实施例,并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (23)

  1. 一种资源转移数据管理方法,由数据管理***执行,所述数据管理***包括多个区块链节点,包括:
    接收第一服务器发送的交易数据,所述交易数据由所述第一服务器确定资源转移数据满足代为转移资源条件时,根据所述第一服务器的私钥对所述资源转移数据进行签名后得到,所述资源转移数据包括转出方标识、转入方标识和转出方向转入方转移的资源数量;
    根据所述第一服务器的公钥,对所述交易数据进行验证;及
    验证通过时,根据所述交易数据和第一区块的特征值生成第二区块,将所述第二区块添加至所述区块链中,使所述区块链中所述第二区块成为所述第一区块的下一个区块,所述第二区块用于存储所述交易数据。
  2. 根据权利要求1所述的方法,所述交易数据包括所述资源转移数据和签名数据,所述签名数据根据所述第一服务器的私钥对所述资源转移数据的特征值进行签名后得到,所述根据所述第一服务器的公钥,对所述交易数据进行验证,包括:
    获取所述资源转移数据的特征值;
    根据所述第一服务器的公钥,对所述签名数据进行解密,得到解密后的特征值;及
    当所述解密后的特征值与所述资源转移数据的特征值匹配时,确定所述交易数据验证通过。
  3. 根据权利要求1所述的方法,所述根据所述交易数据和第一区块的特征值生成第二区块,将所述第二区块添加至所述区块链中,包括:
    当多个区块链节点中的至少一个区块链节点验证所述交易数据满足智能合约时,根据所述交易数据和所述第一区块的特征值生成所述第二区块,将所述第二区块添加至所述区块链中。
  4. 根据权利要求1-3任一项所述的方法,所述根据所述交易数据和第一区块的特征值生成第二区块,将所述第二区块添加至所述区块链中之后,所述方法还包括:
    在区块索引表中建立所述转出方标识与所述第二区块之间的对应关系,或者所述转入方标识与所述第二区块之间的对应关系中的至少一个,所述区块索引表用于查询转出方标识对应的区块或转入方标识对应的区块中的至少一个。
  5. 根据权利要求1所述的方法,所述方法还包括:
    接收第一终端发送的查询请求,所述查询请求携带所述转出方标识;
    在所述区块链中查询包括所述转出方标识的交易数据;及
    向所述第一终端发送查询到的交易数据。
  6. 根据权利要求5所述的方法,所述在所述区块链中查询包括所述转出方标识的交易数据,包括:
    根据区块索引表,查询所述转出方标识对应的区块,所述区块索引表包括转出方标识对应的区块;及
    从所述区块链的所述区块中获取包括所述转出方标识的交易数据。
  7. 根据权利要求1所述的方法,所述方法还包括:
    接收第二终端发送的查询请求,所述查询请求携带所述转入方标识;
    在所述区块链中查询包括所述转入方标识的交易数据;及
    向所述第二终端发送查询到的交易数据。
  8. 根据权利要求7所述的方法,所述在所述区块链中查询包括所述转入方标识的交易数据,包括:
    根据区块索引表,查询所述转入方标识对应的区块,所述区块索引表包括转入方标识对应的区块;及
    从所述区块链的所述区块中获取包括所述转入方标识的交易数据。
  9. 一种资源转移数据管理方法,由第一服务器执行,所述方法包括:
    获取资源转移数据,所述资源转移数据包括转出方标识、转入方标识和转出方向转入方转移的资源数量;
    当确定所述资源转移数据满足代为转移资源条件时,根据所述第一服务器的私钥对所述资源转移数据进行签名,得到交易数据;
    向数据管理***发送所述交易数据;及
    所述数据管理***包括多个区块链节点;所述数据管理***用于根据所述第一服务器的公钥对所述交易数据进行验证,验证通过后根据所述交易数据和第一区块的特征值生成第二区块,将所述第二区块添加至所述区块链中,使所述区块链中所述第二区块成为所述第一区块的下一个区块,所述第二区块用于存储所述交易数据。
  10. 根据权利要求9所述的方法,所述方法还包括以下至少一项:
    所述代为转移资源条件包括已激活代为转移资源功能的指定转出方标识,当所述转出方标识为所述指定转出方标识时,确定所述资源转移数据满足所述代为转移资源条件;
    所述代为转移资源条件包括已激活代为转移资源功能的指定转出方标识与指定转入方标识的对应关系,当所述代为转移资源条件包括所述转出方标识与所述转入方标识的对应关系 时,确定所述资源转移数据满足所述代为转移资源条件;及
    所述代为转移资源条件包括已激活代为转移资源功能的指定转出方标识允许转出的最大资源数量,当所述资源数量不大于所述转出方标识允许转出的最大资源数量时,确定所述资源转移数据满足所述代为转移资源条件。
  11. 根据权利要求9或10所述的方法,所述根据所述第一服务器的私钥对所述资源转移数据进行签名,得到交易数据,包括:
    获取所述资源转移数据的特征值;及
    根据所述第一服务器的私钥,对所述资源转移数据的特征值进行签名,得到签名数据,所述交易数据包括所述资源转移数据和所述签名数据。
  12. 一种资源转移数据管理装置,应用于数据管理***,所述数据管理***包括多个区块链节点,所述装置包括:
    接收模块,用于接收第一服务器发送的交易数据,所述交易数据由所述第一服务器确定资源转移数据满足代为转移资源条件时,根据所述第一服务器的私钥对所述资源转移数据进行签名后得到,所述资源转移数据包括转出方标识、转入方标识和转出方向转入方转移的资源数量;
    验证模块,用于根据所述第一服务器的公钥,对所述交易数据进行验证;及
    生成模块,用于验证通过时,根据所述交易数据和第一区块的特征值生成第二区块,将所述第二区块添加至所述区块链中,使所述区块链中所述第二区块成为所述第一区块的下一个区块,所述第二区块用于存储所述交易数据。
  13. 一种资源转移数据管理装置,应用于第一服务器,所述装置包括:
    获取模块,用于获取资源转移数据,所述资源转移数据包括转出方标识、转入方标识和转出方向转入方转移的资源数量;
    签名模块,用于当确定所述资源转移数据满足代为转移资源条件时,根据所述第一服务器的私钥对所述资源转移数据进行签名,得到交易数据;
    发送模块,用于向数据管理***发送所述交易数据;及
    所述数据管理***包括多个区块链节点;所述数据管理***用于根据所述第一服务器的公钥对所述交易数据进行验证,验证通过后根据所述交易数据和第一区块的特征值生成第二区块,将所述第二区块添加至所述区块链中,使所述区块链中所述第二区块成为所述第一区块的下一个区块,所述第二区块用于存储所述交易数据。
  14. 一种资源转移数据管理装置,包括存储器和处理器,所述存储器中存储有计算机可 读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行以下步骤:
    接收第一服务器发送的交易数据,所述交易数据由所述第一服务器确定资源转移数据满足代为转移资源条件时,根据所述第一服务器的私钥对所述资源转移数据进行签名后得到,所述资源转移数据包括转出方标识、转入方标识和转出方向转入方转移的资源数量;
    根据所述第一服务器的公钥,对所述交易数据进行验证;及
    验证通过时,根据所述交易数据和第一区块的特征值生成第二区块,将所述第二区块添加至所述区块链中,使所述区块链中所述第二区块成为所述第一区块的下一个区块,所述第二区块用于存储所述交易数据。
  15. 根据权利要求14所述的装置,所述交易数据包括所述资源转移数据和签名数据,所述签名数据根据所述第一服务器的私钥对所述资源转移数据的特征值进行签名后得到,所述根据所述第一服务器的公钥,对所述交易数据进行验证,包括:
    获取所述资源转移数据的特征值;
    根据所述第一服务器的公钥,对所述签名数据进行解密,得到解密后的特征值;及
    当所述解密后的特征值与所述资源转移数据的特征值匹配时,确定所述交易数据验证通过。
  16. 根据权利要求14所述的装置,所述根据所述交易数据和第一区块的特征值生成第二区块,将所述第二区块添加至所述区块链中,包括:
    当多个区块链节点中的至少一个区块链节点验证所述交易数据满足智能合约时,根据所述交易数据和所述第一区块的特征值生成所述第二区块,将所述第二区块添加至所述区块链中。
  17. 根据权利要求14-16任一项所述的装置,所述根据所述交易数据和第一区块的特征值生成第二区块,将所述第二区块添加至所述区块链中之后,所述计算机可读指令还使得所述处理器执行如下步骤:
    在区块索引表中建立所述转出方标识与所述第二区块之间的对应关系,或者所述转入方标识与所述第二区块之间的对应关系中的至少一个,所述区块索引表用于查询转出方标识对应的区块或转入方标识对应的区块中的至少一个。
  18. 根据权利要求14所述的装置,所述计算机可读指令还使得所述处理器执行如下步骤:
    接收第一终端发送的查询请求,所述查询请求携带所述转出方标识;
    在所述区块链中查询包括所述转出方标识的交易数据;及
    向所述第一终端发送查询到的交易数据。
  19. 根据权利要求18所述的方法,所述在所述区块链中查询包括所述转出方标识的交易数据,包括:
    根据区块索引表,查询所述转出方标识对应的区块,所述区块索引表包括转出方标识对应的区块;及
    从所述区块链的所述区块中获取包括所述转出方标识的交易数据。
  20. 根据权利要求14所述的装置,所述计算机可读指令还使得所述处理器执行如下步骤:
    接收第二终端发送的查询请求,所述查询请求携带所述转入方标识;
    在所述区块链中查询包括所述转入方标识的交易数据;及
    向所述第二终端发送查询到的交易数据。
  21. 根据权利要求20所述的装置,所述在所述区块链中查询包括所述转入方标识的交易数据,包括:
    根据区块索引表,查询所述转入方标识对应的区块,所述区块索引表包括转入方标识对应的区块;及
    从所述区块链的所述区块中获取包括所述转入方标识的交易数据。
  22. 一种资源转移数据管理装置,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求9至11任一权利要求所述的资源转移数据管理方法中所具有的步骤。
  23. 一个或多个存储有计算机可读指令的非易失性存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至8任一权利要求所述的资源转移数据管理方法中所具有的步骤;
    或者,如权利要求9至11任一权利要求所述的资源转移数据管理方法中所具有的步骤。
PCT/CN2019/098540 2018-08-01 2019-07-31 资源转移数据管理方法、装置及存储介质 WO2020024968A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020563752A JP7264918B2 (ja) 2018-08-01 2019-07-31 リソース移行データの管理方法及び装置、並びにコンピュータプログラム
US17/089,462 US20210049596A1 (en) 2018-08-01 2020-11-04 Resource transfer data management method and apparatus, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810861049.4 2018-08-01
CN201810861049.4A CN109102299A (zh) 2018-08-01 2018-08-01 资源转移数据管理方法、装置及存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/089,462 Continuation US20210049596A1 (en) 2018-08-01 2020-11-04 Resource transfer data management method and apparatus, and storage medium

Publications (1)

Publication Number Publication Date
WO2020024968A1 true WO2020024968A1 (zh) 2020-02-06

Family

ID=64848041

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/098540 WO2020024968A1 (zh) 2018-08-01 2019-07-31 资源转移数据管理方法、装置及存储介质

Country Status (4)

Country Link
US (1) US20210049596A1 (zh)
JP (1) JP7264918B2 (zh)
CN (2) CN109102299A (zh)
WO (1) WO2020024968A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111881483A (zh) * 2020-08-07 2020-11-03 广州运通链达金服科技有限公司 基于区块链的资源账户绑定方法、装置、设备和介质

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109102299A (zh) * 2018-08-01 2018-12-28 腾讯科技(深圳)有限公司 资源转移数据管理方法、装置及存储介质
CN109831501B (zh) * 2019-01-30 2020-09-29 京东数字科技控股有限公司 基于区块链的信息分发方法和***
CN110351292B (zh) * 2019-03-05 2020-08-25 腾讯科技(深圳)有限公司 私钥管理方法、装置、设备和存储介质
CN109993530A (zh) * 2019-03-29 2019-07-09 北京柏链基石科技有限公司 一种虚拟资源管理方法、装置及电子设备
EP3619665B1 (en) 2019-04-03 2021-07-07 Advanced New Technologies Co., Ltd. Processing and storing blockchain data under a trusted execution environment
CN110175831B (zh) * 2019-04-23 2023-09-29 创新先进技术有限公司 一种基于区块链的信用转移方法、装置及电子设备
CN110222116B (zh) * 2019-05-07 2022-02-01 北京奇艺世纪科技有限公司 一种交易数据存储的控制方法、装置及存储介质
CN110262892B (zh) * 2019-05-13 2020-02-14 特斯联(北京)科技有限公司 一种基于分布式存储数据链的票务发布方法、装置及数据链节点
CN110210732A (zh) * 2019-05-20 2019-09-06 平安银行股份有限公司 资源转移方法、装置、计算机设备和存储介质
CN110278266B (zh) * 2019-06-20 2021-09-17 深圳前海微众银行股份有限公司 一种基于区块链的资源处理方法及装置
CN110287196B (zh) * 2019-06-29 2021-11-02 杭州复杂美科技有限公司 区块存储方法、平行链交易获取方法、设备和存储介质
CN110443073A (zh) * 2019-07-31 2019-11-12 南瑞集团有限公司 一种基于区块链的防篡改数据存储方法、装置及***
CN110619578A (zh) * 2019-08-05 2019-12-27 孟江华 一种通过链下结算的链上资产转移***和方法
CN110503432B (zh) * 2019-08-20 2024-03-26 腾讯科技(深圳)有限公司 资源转移请求的处理方法、装置和计算机可读存储介质
CN110490005B (zh) * 2019-08-20 2024-04-02 腾讯科技(深圳)有限公司 资源转移请求的处理方法、装置和计算机可读存储介质
CN110489488B (zh) * 2019-08-21 2021-06-15 腾讯科技(深圳)有限公司 一种数据处理方法和装置
CN110766406B (zh) * 2019-09-30 2024-03-15 腾讯科技(深圳)有限公司 资源转移方法、资源转移装置、存储介质及电子设备
CN110737723B (zh) * 2019-10-12 2021-10-22 腾讯科技(深圳)有限公司 卡券领取方法、装置、设备及存储介质
CN110704196B (zh) * 2019-10-15 2021-03-30 京东数字科技控股有限公司 资源数据的转移方法、装置和区块链***
CN110889145B (zh) * 2019-11-06 2024-02-23 腾讯科技(深圳)有限公司 区块链资源处理方法、平台、***及计算机可读存储介质
CN110942301B (zh) * 2019-11-22 2022-07-12 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、计算机以及存储介质
CN110717761B (zh) * 2019-12-12 2020-04-03 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机存储介质
CN111160888B (zh) * 2019-12-31 2023-12-01 深圳大学 一种基于零知识证明的付费方法
CN111311412B (zh) * 2020-02-24 2023-03-10 腾讯科技(深圳)有限公司 去中心化的交易确认方法、装置及服务器
CN111355797B (zh) * 2020-02-27 2024-04-05 平安壹钱包电子商务有限公司 数据调和更新方法、装置、计算机设备和存储介质
CN111629033B (zh) * 2020-04-30 2022-08-09 ***通信集团江苏有限公司 数据转移的方法、装置、设备以及计算机可读存储介质
CN111339574B (zh) * 2020-05-19 2021-03-16 卓尔智联(武汉)研究院有限公司 区块数据处理方法、装置、计算机设备和存储介质
CN111835929B (zh) * 2020-07-14 2022-02-25 中国联合网络通信集团有限公司 基于区块链的话费交易方法及***
CN112070606B (zh) * 2020-07-16 2024-01-12 深圳市先河***技术有限公司 基于区块链的资源管理方法、电子设备和存储介质
CN113971562A (zh) * 2020-07-24 2022-01-25 中移物联网有限公司 一种物权转移方法、区块链***和第一终端
CN111970350B (zh) * 2020-08-10 2021-12-14 中国联合网络通信集团有限公司 基于区块链网络的无线资源交易方法、终端和***
CN112036880B (zh) * 2020-08-28 2024-02-23 阚嘉 一种实时区块链的实现方法
CN111899008B (zh) * 2020-09-17 2021-02-19 支付宝(杭州)信息技术有限公司 资源转移方法、装置、设备及***
CN112883414A (zh) * 2021-01-21 2021-06-01 贵州电网有限责任公司 一种it资产管理整治平台
US11722558B2 (en) * 2021-02-23 2023-08-08 Seagate Technology Llc Server-side resource monitoring in a distributed data storage environment
CN112990903B (zh) * 2021-03-10 2023-06-09 中国联合网络通信集团有限公司 基于区块链的话费转账方法、可转账节点和需求节点
US11818205B2 (en) * 2021-03-12 2023-11-14 Bank Of America Corporation System for identity-based exposure detection in peer-to-peer platforms
CN112905705A (zh) * 2021-03-19 2021-06-04 南京博雅区块链研究院有限公司 基于区块链的数据生命周期管理***
CN113112252B (zh) * 2021-04-28 2023-03-10 深圳壹账通智能科技有限公司 基于区块链的资源转移方法、装置、电子设备及存储介质
US20230029815A1 (en) * 2021-07-29 2023-02-02 The Toronto-Dominion Bank System and methods for secure processing of real-time resource transfers
CN113630767B (zh) * 2021-08-25 2022-09-16 中国联合网络通信集团有限公司 终端寻址方法及服务器
CN114004608A (zh) * 2021-09-24 2022-02-01 支付宝(杭州)信息技术有限公司 一种基于区块链的交易费用结算方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105976232A (zh) * 2016-06-24 2016-09-28 深圳前海微众银行股份有限公司 资产交易方法和装置
US20170005804A1 (en) * 2015-07-02 2017-01-05 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
CN107240001A (zh) * 2017-06-06 2017-10-10 北京汇通金财信息科技有限公司 一种数字资产的交易方法和***
CN108062671A (zh) * 2017-11-03 2018-05-22 深圳市轱辘车联数据技术有限公司 数据交易方法、区块链节点服务器及数据提交终端
CN109102299A (zh) * 2018-08-01 2018-12-28 腾讯科技(深圳)有限公司 资源转移数据管理方法、装置及存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170011460A1 (en) * 2015-07-09 2017-01-12 Ouisa, LLC Systems and methods for trading, clearing and settling securities transactions using blockchain technology
US10679267B2 (en) * 2016-08-03 2020-06-09 Raise Marketplace, Llc Method and system for consumption based redemption in an exchange item marketplace network
CN106327173A (zh) * 2016-08-22 2017-01-11 布比(北京)网络技术有限公司 网络支付方法及装置
US20180101846A1 (en) * 2016-10-11 2018-04-12 Fujitsu Limited Selective signature system
KR101835519B1 (ko) * 2016-12-29 2018-04-19 주식회사 코인플러그 Utxo 기반 프로토콜에서 머클 트리 구조를 사용하여 통합 포인트 서비스를 제공하는 방법 및 이를 이용한 지원 서버
KR101877335B1 (ko) * 2017-01-02 2018-08-09 주식회사 코인플러그 블록체인 및 이와 연동되는 머클 트리 구조 기반의 모바일 아이디를 이용하여 사용자를 비대면 인증하는 방법, 단말 및 이를 이용한 서버
US10762481B2 (en) * 2017-03-21 2020-09-01 The Toronto-Dominion Bank Secure offline approval of initiated data exchanges
CA2961828A1 (en) * 2017-03-21 2018-09-21 The Toronto-Dominion Bank Secure offline approval of initiated data exchanges
CN106991164A (zh) * 2017-03-31 2017-07-28 北京京东金融科技控股有限公司 基于区块链的用于金融数据处理的方法、装置及电子设备
KR101877345B1 (ko) * 2017-04-18 2018-07-12 주식회사 코인플러그 블록체인 및 이와 연동되는 머클 트리 구조 기반의 토큰 아이디를 이용하여 카드 사용을 승인하는 방법 및 이를 이용한 서버
US10176308B2 (en) * 2017-04-28 2019-01-08 Accenture Global Solutions Limited Entitlement management system
CN107220820B (zh) * 2017-05-16 2019-10-01 腾讯科技(深圳)有限公司 资源转移方法、装置及存储介质
CN107301536B (zh) * 2017-06-12 2019-07-12 腾讯科技(深圳)有限公司 资源转移方法及装置
CN107395343B (zh) * 2017-07-10 2019-10-25 腾讯科技(深圳)有限公司 证书管理方法及***
CN107729383B (zh) * 2017-09-18 2021-06-29 联动优势科技有限公司 一种索引库生成方法、数据验证方法、装置及平台
CN108009917B (zh) * 2017-10-13 2021-12-07 ***股份有限公司 数字货币的交易验证和登记方法及***
CN108009441B (zh) * 2017-11-23 2023-05-30 创新先进技术有限公司 资源转移和资金转移的方法和装置
JP2019109635A (ja) * 2017-12-16 2019-07-04 株式会社bitFlyer ブロックチェーン・ネットワークにおいて過去のトランザクションにアクセス可能とするための方法及び当該ネットワークを構成するためのノード
KR102109201B1 (ko) * 2018-05-14 2020-05-11 엔에이치엔 주식회사 사용자 단말기들 사이의 게임 아이템 거래를 중개하는 네트워크 서버 및 그것의 동작 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170005804A1 (en) * 2015-07-02 2017-01-05 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
CN105976232A (zh) * 2016-06-24 2016-09-28 深圳前海微众银行股份有限公司 资产交易方法和装置
CN107240001A (zh) * 2017-06-06 2017-10-10 北京汇通金财信息科技有限公司 一种数字资产的交易方法和***
CN108062671A (zh) * 2017-11-03 2018-05-22 深圳市轱辘车联数据技术有限公司 数据交易方法、区块链节点服务器及数据提交终端
CN109102299A (zh) * 2018-08-01 2018-12-28 腾讯科技(深圳)有限公司 资源转移数据管理方法、装置及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111881483A (zh) * 2020-08-07 2020-11-03 广州运通链达金服科技有限公司 基于区块链的资源账户绑定方法、装置、设备和介质
CN111881483B (zh) * 2020-08-07 2024-02-23 广州运通链达金服科技有限公司 基于区块链的资源账户绑定方法、装置、设备和介质

Also Published As

Publication number Publication date
JP2021524088A (ja) 2021-09-09
US20210049596A1 (en) 2021-02-18
CN111008839B (zh) 2021-09-14
JP7264918B2 (ja) 2023-04-25
CN109102299A (zh) 2018-12-28
CN111008839A (zh) 2020-04-14

Similar Documents

Publication Publication Date Title
WO2020024968A1 (zh) 资源转移数据管理方法、装置及存储介质
US20230325941A1 (en) Systems and methods of access control and system integration
US20210203482A1 (en) Method for recording data block in blockchain network, accounting node, and medium
US11150271B2 (en) Method or system for management of a device for energy consumption by applying blockchain protocol
WO2020103566A1 (zh) 一种区块链存证方法、装置和计算机设备
CN109102269B (zh) 基于区块链的转账方法及装置、区块链节点及存储介质
CN110599213B (zh) 一种基于区块链网络的物品管理方法、装置及电子设备
CN108229926B (zh) 业务结算方法及相关装置
TW202008290A (zh) 基於區塊鏈的服務租賃方法、裝置、系統及電子設備
CN109508970B (zh) 基于区块链的汇款方法及装置
KR102119449B1 (ko) 통합 오픈 api 플랫폼 시스템, 이를 이용한 금융 서비스 방법 및 이를 위한 컴퓨터 프로그램
CN110599323B (zh) 一种资源处理方法及处理设备
CN111444209B (zh) 一种基于区块链的数据处理方法、装置、设备及介质
CN110599331B (zh) 基于区块链的债务催收***、方法、设备及存储介质
WO2019227345A1 (zh) 维修厂的管理方法、***及数据管理服务器
CN111292174A (zh) 一种纳税信息处理方法、装置及计算机可读存储介质
CN110599275A (zh) 一种基于区块链网络的数据处理方法、装置及存储介质
CN111695978A (zh) 用于工资发放的区块链***和工资发放方法
CN111507851A (zh) 基于区块链的医保理赔处理方法、装置、***和存储介质
CN110659993A (zh) 一种基于区块链网络的资源管理方法及装置
CN111914230B (zh) 基于区块链的身份验证方法、***、终端设备及存储介质
KR101120059B1 (ko) 클라우드 컴퓨팅 과금 공증장치, 과금 시스템 및 과금방법
Oktian et al. BlockSubPay-a blockchain framework for subscription-based payment in cloud service
CN109584028B (zh) 一种虚拟资源分配方法及装置
CN111260421B (zh) 一种基于区块链的电子***管控方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19845079

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020563752

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19845079

Country of ref document: EP

Kind code of ref document: A1