WO2022218227A1 - Procédé et appareil de dépôt à base de chaîne de blocs, et dispositif électronique - Google Patents

Procédé et appareil de dépôt à base de chaîne de blocs, et dispositif électronique Download PDF

Info

Publication number
WO2022218227A1
WO2022218227A1 PCT/CN2022/085848 CN2022085848W WO2022218227A1 WO 2022218227 A1 WO2022218227 A1 WO 2022218227A1 CN 2022085848 W CN2022085848 W CN 2022085848W WO 2022218227 A1 WO2022218227 A1 WO 2022218227A1
Authority
WO
WIPO (PCT)
Prior art keywords
transaction
data
blockchain
deposit
target data
Prior art date
Application number
PCT/CN2022/085848
Other languages
English (en)
Chinese (zh)
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 支付宝(杭州)信息技术有限公司
Publication of WO2022218227A1 publication Critical patent/WO2022218227A1/fr

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/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Definitions

  • One or more embodiments of this specification relate to the field of blockchain technology, and in particular, to a blockchain-based certificate deposit method, device, and electronic device.
  • Blockchain technology also known as distributed ledger technology, is an emerging technology in which several computing devices jointly participate in "bookkeeping" and jointly maintain a complete distributed database. Due to the characteristics of decentralization, openness and transparency of blockchain technology, each computing device can participate in database records, and data synchronization between computing devices can be performed quickly, blockchain technology has been widely used in many fields. to apply. In practical applications, the real data generated in the physical world can be persistently stored in the blockchain; in this case, how to improve the efficiency of data storage and data reading in the blockchain, that is, has become an urgent problem to be solved.
  • a certificate deposit transaction for data deposit certificate includes: obtaining a certificate deposit transaction initiated by a depository party; wherein, the certificate deposit transaction carries target data to be deposited; and an index corresponding to the target data data; in response to the deposit transaction, initiate a consensus check for the deposit transaction; if the consensus check for the deposit transaction passes, the block data of the deposit transaction will be included;
  • the mapping relationship between the index data and the deposit transaction is respectively stored in the distributed ledger of the blockchain maintained locally.
  • the index data includes a non-unique index with business semantics.
  • the business includes a product traceability business; the index data includes a business identifier corresponding to the product traceability business; or, the index data includes a business identifier corresponding to the product traceability business and the product.
  • the transaction format of the deposit transaction includes a field for filling the account address of the depositor and a field for filling the transaction payload, and: does not include a field for filling the address of the transaction recipient, or includes The field used to populate the transaction recipient address but is either empty or the depositor's own address.
  • the transaction format of the deposit transaction includes a field for filling the account address of the depositor and a field for filling the transaction payload, and does not include a field for filling in the transfer from the transaction sender to the transaction receiver.
  • a field for the transfer amount or includes a field that populates the transfer amount from the transaction sender to the transaction receiver but is empty.
  • the target data; and at least part of the index data in the index data corresponding to the target data are carried in the transaction payload of the certificate deposit transaction.
  • the deposit transaction includes an index field for carrying index data; the target data is carried in the transaction payload of the deposit transaction; the index data corresponding to the target data is carried in the in the index field.
  • the target data includes data content of the target data and the index data.
  • the node device maintains a first database for carrying block data in the distributed ledger and a second database for carrying metadata in the distributed ledger;
  • the block data of the deposit transaction; and, the mapping relationship between the index data and the deposit transaction is stored in the locally maintained distributed ledger of the blockchain, including:
  • the block data of the deposit transaction is stored in the locally maintained first database, and the mapping relationship between the index data and the deposit transaction is stored in the locally maintained second database .
  • the mapping relationship includes a mapping relationship between the index data and the hash value of the deposit transaction.
  • the blockchain supports multiple native transactions; wherein, at least the deposit transaction in the multiple native transactions includes a transaction type field; wherein, the value of the field of the transaction type field includes an indication
  • the native transaction is the first preset value of the depository transaction.
  • a variety of native transactions supported by the blockchain include the transaction type field; wherein, when the blockchain is a blockchain using the UXTO model, the transaction type field includes an indication of the type of transaction.
  • the native transaction is a first preset value of a deposit transaction, and a second preset value indicating that the native transaction is a transfer transaction; when the blockchain is a blockchain using an account model, the transaction type fields, including a first preset value indicating that the native transaction is a deposit transaction, a second preset value indicating that the native transaction is a transfer transaction, and a third preset value indicating that the native transaction is a smart contract creation transaction , and a fourth preset value indicating that the native transaction is a smart contract invocation transaction.
  • This specification also proposes a blockchain-based certificate deposit method, which is applied to node devices in the blockchain, and the native transaction types supported by the blockchain include transactions that are independent of transfer transactions or smart contract calling transactions.
  • Carrying out a certificate deposit transaction for data deposit includes: acquiring a deposit transaction initiated by a depositor; wherein, the deposit transaction carries target data to be stored; the target data includes the target data and, the index data corresponding to the target data; in response to the certificate deposit transaction, initiate a consensus check for the certificate deposit transaction; if the consensus check for the certificate deposit transaction passes, the The block data that contains the certificate transaction; and the mapping relationship between the index data and the certificate transaction is stored in the distributed ledger of the blockchain maintained locally.
  • the index data includes a non-unique index with business semantics.
  • the business includes a product traceability business; the index data includes a business identifier corresponding to the product traceability business; or, the index data includes a business identifier corresponding to the product traceability business and the product.
  • the node device maintains a first database for carrying block data in the distributed ledger and a second database for carrying metadata in the distributed ledger;
  • the block data of the deposit transaction; and, the mapping relationship between the index data and the deposit transaction is stored in the locally maintained distributed ledger of the blockchain, including:
  • the block data of the deposit transaction is stored in the locally maintained first database, and the mapping relationship between the index data and the deposit transaction is stored in the locally maintained second database .
  • This specification also proposes a blockchain-based data access method, which is applied to node devices in the blockchain, and the native transaction types supported by the blockchain include transactions that are independent of transfer transactions or smart contract invocation transactions.
  • Carry out a certificate deposit transaction for data deposit the deposit transaction carries the deposit target data and the index data corresponding to the target data; or, the deposit transaction carries the deposit target data;
  • the target data includes the data content of the target data and the index data corresponding to the target data;
  • the distributed ledger of the blockchain stores the mapping relationship between the index data and the certificate transaction;
  • the method includes: receiving a query request for the target data initiated by a query party; wherein the query request includes index data corresponding to the deposit transaction; in response to the query request, querying the mapping relationship to Determine the attestation transaction that has a mapping relationship with the index data, and further search for the attestation transaction from the block data stored in the distributed ledger of the blockchain; from the found transaction load of the attestation transaction
  • the target data is read in and the read target data
  • the index data includes a non-unique index with business semantics.
  • the business includes a product traceability business; the index data includes a business identifier corresponding to the product traceability business; or, the index data includes a business identifier corresponding to the product traceability business and the product.
  • the data content of the target data includes index data corresponding to the target data; the returning the read target data to the query party includes: obtaining the read target data index data in the data content of the data; confirm whether the obtained index data matches the index data in the query request; if so, further return the target data to the query party.
  • This specification also proposes a blockchain-based certificate storage device, which is applied to node devices in the blockchain, and the native transaction types supported by the blockchain include transactions that are independent of transfer transactions or smart contract invocation transactions.
  • Carrying out a certificate deposit transaction for data deposit certificate includes: an acquisition module to obtain a certificate deposit transaction initiated by the depository party; wherein, the certificate deposit transaction carries the target data to be deposited; and, with the target The index data corresponding to the data; the consensus module, in response to the deposit transaction, initiates a consensus check for the deposit transaction; the storage module, if the consensus check for the deposit transaction passes, will include the deposit transaction.
  • the block data of the certificate transaction; and the mapping relationship between the index data and the certificate transaction is respectively stored in the distributed ledger of the blockchain maintained locally.
  • This specification also proposes a blockchain-based certificate storage device, which is applied to node devices in the blockchain, and the native transaction types supported by the blockchain include transactions that are independent of transfer transactions or smart contract invocation transactions.
  • Carrying out a certificate deposit transaction of data deposit certificate includes: an acquisition module to obtain a certificate deposit transaction initiated by the depository party; wherein, the certificate deposit transaction carries the target data to be deposited; the target data includes all The data content of the target data; and the index data corresponding to the target data; the consensus module, in response to the deposit transaction, initiates a consensus check for the deposit transaction; If the consensus check of the attestation transaction is passed, the block data of the attestation transaction will be included; and, the mapping relationship between the index data and the attestation transaction, the distribution of the blockchain maintained locally, respectively stored in the ledger.
  • This specification also proposes a blockchain-based data access device, which is applied to node devices in the blockchain, and the native transaction types supported by the blockchain include transactions that are independent of transfer transactions or smart contract calling transactions Carry out a certificate deposit transaction for data deposit; the deposit transaction carries the deposit target data and the index data corresponding to the target data; or, the deposit transaction carries the deposit target data;
  • the target data includes the data content of the target data and the index data corresponding to the target data;
  • the distributed ledger of the blockchain stores the mapping relationship between the index data and the certificate transaction;
  • the device includes: a receiving module, receiving a query request for the target data initiated by a query party; wherein the query request includes index data corresponding to the certificate deposit transaction; and a query module, in response to the query request, querying
  • the mapping relationship is used to determine the certificate transaction that has a mapping relationship with the index data, and further search for the certificate transaction from the block data stored in the distributed ledger of the blockchain; the reading module, The target data is read from the found transaction payload
  • This specification also proposes an electronic device, comprising: a processor; a memory for storing instructions executable by the processor; wherein the processor implements the steps of the above method by running the executable instructions.
  • This specification also proposes a computer-readable storage medium on which computer instructions are stored, and when the instructions are executed by a processor, implement the steps of the above method.
  • the certificate is stored by carrying the target data to be stored in the transaction payload of the native transaction supported by the blockchain; It can realize the user's unilateral certificate storage requirements; on the other hand, because it is no longer necessary to call smart contracts to store certificates; therefore, the overhead of certificate storage can be reduced and the efficiency of certificate storage can be improved;
  • the index data corresponding to the target data to be certified is carried in the transaction payload of the native transaction supported by the blockchain, and the mapping relationship between the index data and the transaction is stored in the blockchain, so that the When querying the target data in the blockchain, the index data can be used to find the target data; therefore, the query efficiency can be improved.
  • FIG. 1 is a schematic diagram of a network environment related to the blockchain shown in this specification
  • FIG. 2 is a flowchart of a blockchain-based certificate deposit method shown in an exemplary embodiment of the present specification
  • FIG. 3 is a transaction format of a native transaction shown in an exemplary embodiment of this specification
  • FIG. 4 is a flowchart of a blockchain-based data access method shown in an exemplary embodiment of the present specification
  • FIG. 5 is a hardware structure diagram of an electronic device shown in an exemplary embodiment of the present specification.
  • FIG. 6 is a block diagram of a block chain-based certificate storage device shown in an exemplary embodiment of the present specification
  • FIG. 7 is a block diagram of a block chain-based data access device shown in an exemplary embodiment of the present specification.
  • the steps of the corresponding methods are not necessarily performed in the order shown and described in this specification.
  • the method may include more or fewer steps than described in this specification.
  • a single step described in this specification may be decomposed into multiple steps for description in other embodiments; and multiple steps described in this specification may also be combined into a single step in other embodiments. describe.
  • FIG. 1 is a schematic diagram of a network environment related to the blockchain shown in this specification.
  • a client-side computing device 101 a server-side 102, and at least one blockchain system may be included; for example, a blockchain system 103, a blockchain system 104, and a blockchain system 105.
  • the client-side computing device 101 may include various types of client-side computing devices; for example, the client-side terminal device may include, for example, a PC terminal device, a mobile terminal device, an Other forms of smart devices with certain computing capabilities, and so on.
  • the client-side terminal device may include, for example, a PC terminal device, a mobile terminal device, an Other forms of smart devices with certain computing capabilities, and so on.
  • client-side computing device 101 does not mean that all the client-side computing devices therein are in the same communication network, but is merely a general term for these client-side computing devices.
  • At least part of the computing devices in the client-side terminal device 101 can be connected to the server side 102 through various communication networks; for example, the device 1 and device 2 shown in FIG. connected.
  • terminal devices in the client-side terminal device 101 may not be connected to the server-side 102, but directly connected to the blockchain system as blockchain nodes through various communication networks; for example, Figure 1
  • the device 4 shown in can be connected to the blockchain system as a blockchain node.
  • the above-mentioned communication network may include wired and/or wireless communication networks; for example, it may be a Local Area Network (LAN), Wide Area Network (WAN), the Internet, or a combination thereof.
  • LAN Local Area Network
  • WAN Wide Area Network
  • the Internet or a combination thereof.
  • the client-side computing device 101 may further include one or more user-side servers; for example, the device 5 shown in FIG. 1 . At least part of the computing devices in the client-side terminal device 101 can be connected to the user-side server, and the user-side server can be further connected to the above-mentioned server 102; for example, the device 1 shown in FIG. 1 is connected to the device 2. To the device 5, the device 5 is further connected to the server side 102.
  • the above-mentioned user-side server may be implemented by a service entity that has built a user account system; the above-mentioned service entity may include an operating entity of a service carrier that provides various online and/or offline services to users;
  • the above-mentioned service carrier may include a service carrier in the form of software, and may also include a service carrier in the form of hardware.
  • the above-mentioned service carrier may include various client software for providing online Internet services; for example, a website, a webpage, an APP, and the like.
  • the above service carrier may also include various smart devices deployed offline and capable of providing offline services; for example, smart express cabinets deployed in residential areas, office areas, and public places.
  • the above-mentioned operating entities may include operators corresponding to the above-mentioned service carriers; for example, the above-mentioned operating entities may include individuals, organizations, companies, and enterprises that operate and manage the above-mentioned service carriers, and so on.
  • the server 102 can also be connected to one or more blockchain systems through various communication networks; for example, the server 102 shown in FIG. Blockchain system 104 and blockchain system 105, etc.
  • each blockchain system may maintain one or more blockchains (eg, public blockchains, private blockchains, consortium blockchains, etc.) or multiple blockchain nodes of multiple blockchains; for example, blockchain node 1, blockchain node 2, blockchain node 3, blockchain node 4, blockchain node 4 as shown in Figure 1 Node i, etc. can jointly host one or more blockchains.
  • Cross-chain data access can also be performed between the blockchains included in each blockchain system and between the various blockchain systems.
  • blockchain nodes may include full nodes and light nodes.
  • the full node can download the blockchain transactions contained in each block in the blockchain in full, and can perform consensus verification on the blockchain transactions contained in each blockchain according to the blockchain consensus algorithm on board. .
  • the light node can not download the complete blockchain, but can only download the block header data of each block in the blockchain, and use the data contained in the block header as the verification root to verify the blockchain. authenticity of the transaction. Light nodes can attach to full nodes to access more features of the blockchain.
  • each blockchain node in the blockchain system 103 shown in FIG. 1 can be used as a full node; and the device 4 directly connected to the blockchain system shown in FIG. 1 can be used as a light node, Attached to each full node in the blockchain system 103 .
  • the blockchain node may be a physical device or a virtual device implemented in a server or server cluster; for example, the blockchain node device may be a physical host in a server cluster, or It is a virtual machine created after virtualizing the hardware resources carried by a server or server cluster based on virtualization technology.
  • Each blockchain node can be connected to form a network through various types of communication methods (such as TCP/IP) to carry one or more blockchains.
  • the server side 102 may include a BaaS platform (also referred to as a BaaS cloud) for providing blockchain services (BaaS, Blockchain as a Service).
  • BaaS platforms can provide easy access to client-side computing devices connected to BaaS platforms by providing pre-written software for activities that take place on the blockchain, such as subscriptions and notifications, user authentication, database management, and remote updates. Easy-to-use, one-click deployment, fast verification, flexible and customizable blockchain services, which can accelerate the development, testing, and launch of blockchain business applications, and help the implementation of blockchain business application scenarios in various industries.
  • software such as MQ (Message Queue, message queue) services can be provided with the BaaS platform; client-side computing devices connected with the BaaS platform can subscribe to a certain block chain system connected with the BaaS platform.
  • a smart contract deployed on the blockchain generates contract events on the blockchain after the execution is triggered; the BaaS platform can monitor the events generated on the blockchain after the smart contract is triggered and executed, and then based on the MQ service related events software, the contract event is added to the message queue in the form of a notification message, so that the client-side computing device subscribed to the message queue can get the notification related to the above-mentioned contract event.
  • the BaaS platform can also provide enterprise-level platform services based on blockchain technology to help enterprise-level customers build a secure and stable blockchain environment and easily manage the deployment, operation, and maintenance of blockchains and development.
  • a BaaS platform can implement rich security policies and a multi-tenant isolation environment based on cloud technology, provide advanced security protection based on chip encryption technology, and provide rapid expansion based on highly reliable data storage without End-to-end, high-availability services that can be disrupted; in another example, enhanced management capabilities to help customers build enterprise-grade blockchain network environments; and native provisioning for standard blockchain applications and data Support, support mainstream open source blockchain technologies such as Hyperledger Fabric and Enterprise Ethereum-Quorum to build an open and inclusive technology ecosystem.
  • the blockchain is usually composed of several blocks. Timestamps corresponding to the creation time of the blocks are respectively recorded in these blocks, and all blocks form a time-ordered data chain strictly according to the timestamps recorded in the blocks.
  • the data generated outside the chain it can be constructed into a standard transaction format supported by the blockchain, and then published to the blockchain. After the consensus, the node device in the blockchain as the accounting node will package the transaction into the block and store the certificate persistently in the blockchain.
  • the current blockchain system usually includes two mainstream transaction models; one is the UTXO (Unspent Transaction Output, unspent transaction output) model represented by the Bitcoin system; the other is the Ethereum The account model represented by the (Ethereum) system.
  • UTXO Unspent Transaction Output, unspent transaction output
  • the supported native transactions usually only include transfer transactions.
  • users can fill in additional transactions in the transaction postscript (ie, transfer postscript) in the transfer transaction. to store the additional data on the blockchain.
  • this method can also indirectly realize the data storage certificate, the data storage certificate through the transaction postscript is limited by the storage capacity of the transaction postscript, and only the short data content of the certificate can be stored;
  • this method of depositing certificates is realized by relying on ordinary transfer transactions, but in practical applications, many scenarios of data depositing certificates are unilateral needs of users, which do not require or involve transfers; therefore, through The method of transaction postscript for data storage obviously cannot meet the actual storage requirements of users.
  • the blockchain data that needs to be stored and maintained usually includes the block data and the account status data corresponding to the blockchain account in the blockchain; and the block data can further include the block header. data, block transaction data in blocks, and transaction receipts corresponding to block transaction data in blocks, etc.
  • the various blockchain data described above can usually be organized into a Merkle tree in the form of key-value pairs and stored in the database.
  • a smart contract for data storage can be deployed on the blockchain, and users can call the smart contract to use the data that needs to be stored as the contract account corresponding to the smart contract.
  • Account status stored in the Merkle tree corresponding to the smart contract.
  • MPT tree For example, taking Ethereum as an example, a special Merkle tree called MPT tree is usually used to store and maintain blockchain data; among them, account state data can be organized into an MPT state tree (commonly known as the world state ) is stored in the database; the MPT state tree stores a key-value pair with the account address as the key and the account status data as the value.
  • MPT state tree commonly known as the world state
  • the data content stored in the contract account corresponding to the smart contract will also be further organized into a storage tree (an MPT storage tree for storing data) and stored in the database; the hash value of the root node of the storage tree will be used as a Part of the account state data corresponding to the contract account is filled into the MPT state tree; and the hash of the root node of the MPT state tree will be used as the authentication root and further filled into the block header.
  • the data that needs to be stored can be stored in the storage tree corresponding to the smart contract as the account status data of the contract account corresponding to the smart contract by invoking the smart contract.
  • invoking a smart contract is usually achieved by packaging a smart contract invocation transaction and sending it to the blockchain network for distributed execution; when the node device in the blockchain is executing the smart contract invocation transaction, it is usually necessary to The contract code related to the smart contract called by the transaction is loaded into the virtual machine carried by the node device for execution; and the execution of the contract code obviously needs to consume the system resources of the node device; therefore, in this way, additional The system performance of the consuming node device.
  • the data stored in the certificate is stored in the Merkle tree corresponding to the smart contract
  • the smallest storage unit used by EVM is usually 32 bytes in size; if the user needs to store 1M data, he needs to split the stored data into more than 30 records to store in the storage tree.
  • the process of writing the records divided into more than 30 into the storage tree it will involve updating a large number of intermediate nodes in the storage tree, so it needs to consume a lot of system performance.
  • this application proposes a technical solution for data storage through the transaction load of the native transaction supported by the blockchain; during implementation, the native transaction supported by the blockchain can be extended to expand a A certificate transaction for data storage; for example, for a blockchain using the UTXO model, a certificate transaction dedicated to data storage can be extended on the basis of the supported transfer transactions; The blockchain of the account model can be extended to a certificate deposit transaction dedicated to data deposit on the basis of the supported transfer transactions, smart contract creation transactions and smart contract invocation transactions.
  • the depositor When the depositor needs to store the data, it can package a transaction for depositing the certificate, and add the target data to be deposited; and the index data corresponding to the target data to the transaction payload of the deposit transaction ( payload), and then publish the deposit transaction to the blockchain.
  • the node device in the blockchain When the node device in the blockchain obtains the above-mentioned certificate deposit transaction initiated by the depositor, it can respond to the certificate deposit transaction, perform consensus verification on the certificate deposit transaction, and perform consensus verification on the certificate deposit transaction. Through, when reaching a consensus with other node devices, the block data containing the certificate transaction, as well as the mapping relationship between the above index data and the above certificate transaction, will be maintained locally in the distributed ledger of the blockchain. storage.
  • the certificate is stored by carrying the target data to be stored in the transaction payload of the native transaction supported by the blockchain; Realize the user's unilateral certificate storage requirements; on the other hand, because it is no longer necessary to call smart contracts to store certificates; therefore, the overhead of certificate storage can be reduced and the efficiency of certificate storage can be improved; in addition, by combining and The index data corresponding to the target data to be certified is carried in the transaction payload of the native transaction supported by the blockchain, and the mapping relationship between the index data and the transaction is stored in the blockchain, so that the When querying the target data in the blockchain, the index data can be used to find the target data; therefore, the query efficiency can be improved.
  • FIG. 2 is a flowchart of a blockchain-based certificate deposit method shown in an exemplary embodiment of this specification.
  • the above blockchain-based certificate deposit method can be applied to node devices in the blockchain; the method may include the following steps: Step 202: Obtain the certificate deposit transaction initiated by the depositor; Wherein, the deposit transaction carries the target data of the deposit and the index data corresponding to the target data; or, the deposit transaction carries the target data of the deposit; the target data includes the target The data content of the data and the index data corresponding to the target data; step 204, in response to the deposit transaction, initiate a consensus check for the deposit transaction; step 206, if the consensus check for the deposit transaction is If the verification is passed, the block data containing the certificate transaction will be included; and the mapping relationship between the index data and the certificate transaction will be stored in the distributed ledger of the blockchain maintained locally. .
  • the native transaction type supported by the above-mentioned blockchain can be expanded, so as to expand a certificate deposit transaction for data deposit in the blockchain; it should be noted that the expansion
  • the above-mentioned deposit transaction can be a native transaction that is independent of the transfer transaction or the smart contract invocation transaction.
  • a certificate deposit transaction dedicated to data deposit can be extended on the basis of the supported transfer transactions; while for the blockchain using the account model, it can be supported On the basis of the transfer transaction, smart contract creation transaction and smart contract invocation transaction, a certificate deposit transaction dedicated to data deposit is extended.
  • the transaction format of the above-mentioned deposit transaction is not particularly limited in this specification; in practical applications, the existing transaction format compatible with the blockchain can be adopted, or a new transaction format can be redefined.
  • the transaction format of the above-mentioned deposit transaction may include a field for filling the account address of the depositor and a field for filling the transaction payload; wherein, in the illustrated embodiment, in the above-mentioned depository In the transaction format of the deposit transaction, the field for filling the address of the transaction recipient may not be included; of course, if the above-mentioned deposit transaction includes the field for filling the address of the transaction recipient, the field of the recipient address may be empty, or This field can be filled with the address of the depositor itself by default.
  • the transaction format of the above-mentioned deposit transaction may not include a field for filling the transfer amount transferred by the transaction sender to the transaction receiver; If the transaction format includes the transfer amount field, this field can be empty by default.
  • FIG. 3 is a transaction format of a native transaction shown in an exemplary embodiment of this specification.
  • the transaction format of the above-mentioned native transaction may include main fields such as from field, to field, value field, and data field; wherein, the above-mentioned from field is used to fill in the address of the sender of the transaction; the above-mentioned to field, with It is used to fill in the address of the transaction recipient; the above value field is used to fill in the transfer amount transferred from the transaction sender to the transaction recipient; and the above data field is the transaction payload field, which is used to fill in the transaction payload of the transaction.
  • the transaction payload of different types of native transactions can be different; for example, for transfer transactions, the above data field can be empty; for smart contract invocation transactions, the above data field can be filled with the called contract to be invoked
  • the code identifier (such as the function name of the function in the called contract code) and call parameters corresponding to the code; for smart contract creation transactions, the above data field can be filled with the contract code of the smart contract to be created.
  • the above transaction format in addition to the above main fields, in practical applications, the above transaction format may also include several additional fields. Definitions, which will not be listed one by one in this specification.
  • the above-mentioned from field can be used to fill in the account address of the depositor; the above-mentioned to field can be a null value; or, in another implementation manner , the above to field can also be filled with the account address of the depositor by default; that is, both the from and to fields are filled with the account address of the certificate depositor, indicating that the deposit transaction is a unilateral certificate deposit behavior of the depositor.
  • the above value field can be empty, indicating that the deposit transaction is a native transaction for depositing certificate data, not a transfer transaction; the above data field can be used to fill in the target data to be stored.
  • the above-mentioned to field and value field may not be included in the transaction format of the above-mentioned native transaction;
  • a certificate deposit transaction is a native transaction initiated by the depository party and only involves the depository party for depository data; similarly, the transaction format of the above certificate deposit transaction may not include the above value field to indicate the
  • the deposit transaction is a native transaction for depositing data, not a transfer transaction, and there is no specific limitation in this manual.
  • the index data corresponding to the above-mentioned target data may be included in the above-mentioned certificate deposit transaction as a part of data independent of the above-mentioned target data; for example, the above-mentioned target data and the above-mentioned index data may be filled in in different fields in the transaction format of the above depository transaction.
  • the above-mentioned deposit transaction carries the above-mentioned target data and the index data corresponding to the above-mentioned target data.
  • the index data corresponding to the above-mentioned target data may also be carried in the above-mentioned deposit transaction as a part of the above-mentioned target data; in this case, the above-mentioned deposit transaction only carries the above-mentioned Target data; wherein, the target data further includes the data content of the target data and the index data.
  • the above-mentioned index data can also be carried for the above-mentioned target data at this time;
  • the target data may also include the data content of the target data and the index data.
  • the above certificate deposit transaction is equivalent to carrying a total of two pieces of index data, one of which is carried as an independent part of the index data and the above target data in the above certificate deposit transaction; the other index data is used as an independent part of data.
  • a part of the data content of the target data is carried in the data content of the target data.
  • the above-mentioned index data may specifically include a non-unique index with business semantics; the so-called non-unique index means that one index data can correspond to target data in multiple deposit transactions.
  • the specific content of the above-mentioned index data is not particularly limited in this embodiment, and in practical applications, it may include any form of data that can be used as a query index for the above-mentioned target data; in the shown In one embodiment, the above-mentioned business may include product traceability business.
  • the above-mentioned index data may include a business identifier corresponding to the above-mentioned product traceability service; or, the above-mentioned index data may also include a business identifier corresponding to the product traceability service and a product identifier corresponding to the product traceability service; for example, the above-mentioned index data It can be a 2-tuple consisting of the above-mentioned business ID and product ID.
  • the factory needs to store the relevant data of each A-type product produced by the factory in the above-mentioned blockchain for data storage for users who have purchased A-type products. It is used for inquiries during product traceability.
  • the above-mentioned index data may include business identifiers (such as business IDs) corresponding to product traceability services; or, may also include business identifiers corresponding to product traceability services and product identifiers (such as products corresponding to Type A products) ID) consisting of two tuples.
  • business identifiers such as business IDs
  • product traceability services such as products corresponding to Type A products ID
  • the data field of the certificate deposit transaction may carry the target data and at least part of the index data corresponding to the target data.
  • the above-mentioned index data includes a service identifier corresponding to the above-mentioned product traceability service and a product identifier corresponding to the product traceability service.
  • the above target data and the business identifier corresponding to the product traceability business in the above index data corresponding to the target data may be carried in the transaction payload of the above certificate deposit transaction, and the above product The identifier is carried in an independent field other than the transaction payload; alternatively, the target data and all the data in the above-mentioned index data corresponding to the target data (that is, the business identifier corresponding to the product traceability business and the product The product identifier corresponding to the traceability business) is carried in the transaction payload of the deposit transaction.
  • index data when performing product traceability, if products cannot be distinguished based on business identifiers, products can be further distinguished based on product identifiers;
  • the business further includes the traceability of A-type products and the traceability of B-type products; if the index data is designed as a tuple composed of business identifiers, it may not be possible to further distinguish the traceable products; on the contrary, if the index data is designed as a business identifier and a product
  • the two-tuple formed by the identification can further distinguish the traceable products in the business traceability business.
  • the transaction payload of the certificate deposit transaction may only carry the target data, but not the index data.
  • the transaction format of the certificate deposit transaction may further include an index field for carrying index data; the target data may be carried in the data field, and the index data may be carried in the index field.
  • the transaction format of the above-mentioned certificate deposit transaction may also include a business identifier for carrying the business identifier.
  • the transaction format of the transaction may further include a business identification field for carrying a business identification and a product identification field for carrying a product identification.
  • the above-mentioned blockchain can support a variety of native transaction types; for example, for the blockchain using the UTXO model, it can support transfer transactions and deposit transactions; for the blockchain using the account model, it can support It supports transfer transactions, smart contract creation transactions, smart contract invocation transactions, and depository transactions.
  • the above-mentioned deposit transaction among the various native transaction types supported by the above-mentioned blockchain may further include a Type field; wherein, the above-mentioned Type field is a transaction used to indicate the type of the native transaction Type field, the field value of this field can include the first preset value used to indicate that the transaction is a deposit transaction; for example, during implementation, the first preset value can be the string deposit, indicating that the native transaction It is a deposit transaction to distinguish it from other types of native transactions.
  • the Type field may not be included; for example, a transfer transaction can be distinguished by whether the value of the to field is the same as the value of the from field; while smart contracts Call transactions and smart contract creation transactions can be distinguished by the content carried in the data field; therefore, for native transactions such as transfer transactions, smart contract invocation transactions, and smart contract creation transactions, the above Type field may not be carried.
  • the various native transactions supported by the above-mentioned blockchain may also maintain the same transaction format.
  • the above-mentioned various native transactions may include the above-mentioned Type field; for example, when When the above-mentioned blockchain is a blockchain using the UXTO model, the native transactions supported by the blockchain include transfer transactions and the above-mentioned deposit transactions; then the above Type field may include the first pre-order indicating that the native transaction is a deposit transaction.
  • the native transactions supported by the blockchain include transfer transactions, smart contract creation transactions, The smart contract invokes the transaction and the deposit transaction;
  • the above Type field may include a first preset value indicating that the native transaction is a deposit transaction, a second preset value indicating that the native transaction is a transfer transaction, and indicating that the native transaction is a smart transaction.
  • the depositor may access the above-mentioned blockchain in advance, and establish and maintain a communication connection with the node device in the blockchain.
  • the certificate depositor When the certificate depositor has the certificate deposit requirement, it can package a certificate deposit transaction, carry the above target data in the transaction payload of the certificate deposit transaction, and then publish the certificate deposit transaction to the blockchain; of course; , and in practical applications, the index data corresponding to the target data may also be carried in the transaction payload of the certificate deposit transaction.
  • the depositor can package a deposit transaction according to the transaction format shown in FIG. 2, and carry the target data to be deposited; and the index data corresponding to the target data in the above-mentioned data field, and then store the deposit.
  • the certificate transaction is published to the blockchain.
  • the node device in the above-mentioned blockchain that maintains a communication connection with the above-mentioned depositor, when receiving the above-mentioned deposit transaction, can initiate a consensus check of the deposit transaction based on the onboard consensus algorithm. test.
  • the consensus verification of the certificate deposit transaction may include the verification of the certificate deposit transaction itself (for example, the legality verification of the transaction itself), and the verification of the block data containing the certificate deposit transaction.
  • Different consensus algorithms usually have certain differences, which will not be described in detail in this specification, and those skilled in the art can refer to the records in the related art.
  • the node device After the node device receives the deposit transaction sent by the connected client, it needs to verify the validity of the deposit transaction first, and then broadcast the deposit transaction to other node devices after passing the validity check; After the node device receives the block data packaged by the accounting node in the blockchain, it also needs to verify the block data, and after the verification has reached a consensus with other node devices, the block data needs to be verified. Store in a locally maintained distributed ledger.
  • the node device in the above-mentioned blockchain can store the block data including the transaction for deposit, and the data between the above-mentioned index data and the transaction for deposit of certificate.
  • the mapping relationship is stored in the distributed ledger of the blockchain maintained, so that the above target data and the corresponding index data carried in the transaction payload of the certificate transaction are persistently stored in the blockchain. .
  • the node device can package the deposit transaction into block data, and send the block data including the deposit transaction to the Other node devices in the blockchain perform consensus verification, and after the consensus verification is passed, other node devices respectively use the block data; and, the mapping relationship between the above-mentioned index data and the above-mentioned certificate transaction is maintained locally. stored in the distributed ledger.
  • the node device can send the certificate transaction to the current node device in the blockchain as the accounting node, and the node device as the accounting node
  • the node device packages the certificate transaction into block data, and sends the block data containing the certificate transaction to other node devices in the blockchain for consensus verification, and after the consensus verification is passed, the node
  • the device then stores the block data; and the mapping relationship between the above-mentioned index data and the certificate transaction is stored in the distributed ledger maintained locally.
  • the node devices in the above blockchain can simultaneously maintain a database (referred to as a first database) for carrying the block data in the distributed ledger of the blockchain, and a database for carrying the block data in the distributed ledger of the blockchain.
  • a database (called a second database) that hosts the metadata in the blockchain's distributed ledger.
  • the above-mentioned first database is usually referred to as a block database
  • the above-mentioned second database is usually referred to as an extra database, wherein, the extra database is usually used to store metadata corresponding to transactions in a block
  • the metadata may include the receipt data corresponding to the transaction in the block, and may also include the hash of the transaction in the block and the mapping relationship between the maximum block height and the block number in which the transaction is located; in this specification, it can be The mapping relationship between the above-mentioned index data and the said deposit transaction is also stored in the above-mentioned extra database as metadata.
  • the node device can also store the block data; and the mapping relationship between the above index data and the above-mentioned deposit transaction in the same database, which is not particularly limited in this specification.
  • the specific type of the above database is not particularly limited in this specification; for example, in the illustrated embodiment, the above database may include a LevelDB database.
  • the mapping relationship between the above-mentioned index data and the above-mentioned deposit transaction may include a mapping relationship between the index data and the hash value of the deposit transaction;
  • the transaction performs hash calculation, and stores the mapping relationship between the index data and the calculated hash value in the above-mentioned second database, so as to realize the storage of the mapping relationship between the index data and the deposit transaction.
  • the factory needs to store the relevant data of 3 A-type products and 2 B-type products produced by the factory in the above-mentioned blockchain;
  • the deposit transactions corresponding to the A-type products are the deposit transaction A1, the deposit transaction A2 and the deposit transaction A3 respectively, and the deposit transactions corresponding to the two B-type products are the deposit transaction B1 and the deposit transaction B2 respectively.
  • the index data corresponding to the relevant data of the A-type product may include the business ID 1 corresponding to the product traceability business and the product ID A corresponding to the A-type product.
  • the index data corresponding to the relevant data of the B-type product may include a binary consisting of the business ID 2 corresponding to the product traceability business and the product ID B corresponding to the B-type product That is, the mapping relationship between the index data stored in the above-mentioned second database and the deposit transaction can be as shown in Table 1 below:
  • the specific capacity of the transaction load of the above-mentioned deposit transaction is not specifically limited. In practical applications, it can be flexibly set based on the actual situation of the blockchain system; for example, in the illustrated implementation In this method, due to performance considerations, the network data packets supported by the blockchain system are usually set to a maximum data capacity, and the specific capacity of the transaction load of the above-mentioned certificate transaction may not be larger than that supported by the blockchain system.
  • the maximum data capacity of network packets are usually set to a maximum data capacity, and the specific capacity of the transaction load of the above-mentioned certificate transaction may not be larger than that supported by the blockchain system. The maximum data capacity of network packets.
  • the maximum data capacity of a network data packet supported by the above-mentioned blockchain system may generally be 64M bytes.
  • the transaction payload of the above-mentioned depository transaction can be set to be no larger than 64M bytes.
  • the data field can also be used to fill the encoded target data; it should be noted that the data field in the certificate deposit transaction is also used to fill the encoded target data.
  • Target data in this case, after the above-mentioned depositor retrieves the above-mentioned deposit transaction stored in the blockchain based on the deposit ID, and obtains the above-mentioned encoded target data carried in the transaction payload of the above-mentioned target data, The above-mentioned target data can be further decoded to obtain the original target data; wherein, the encoding method of the above-mentioned target data is not particularly limited in this specification, and can be selected flexibly in practical applications; for example, still can Use RLP (Recursive Length Prefix, recursive length prefix) encoding method.
  • RLP Recursive Length Prefix, recursive length prefix
  • the certificate is stored by carrying the target data to be stored in the transaction payload of the native transaction supported by the blockchain; To achieve the user's unilateral certificate storage requirements; on the other hand, because it is no longer necessary to call smart contracts to store certificates; therefore, the overhead of certificate storage can be reduced and the efficiency of certificate storage can be improved.
  • FIG. 4 is a flowchart of a blockchain-based data access method shown in an exemplary embodiment of this specification.
  • the above blockchain-based data access method can be applied to node devices in the blockchain; the method may include the following steps: Step 402: Receive a request for the target data initiated by a querying party The query request; wherein, the query request includes the index data corresponding to the deposit transaction; Step 404, in response to the query request, query the mapping relationship to determine the storage that has a mapping relationship with the index data Attestation transaction, and further search for the attestation transaction from the block data stored in the distributed ledger of the blockchain; Step 406, read the target data from the transaction load of the searched attestation transaction, and return the read target data to the query party.
  • the native transaction types supported by the above-mentioned blockchain can be extended, so as to expand a certificate storage for data storage in the blockchain Transaction; it should be noted that the above-mentioned extended certificate deposit transaction may specifically be a native transaction that is independent of a transfer transaction or a smart contract invocation transaction.
  • the transaction format of the above-mentioned deposit transaction may include a field for filling the account address of the depositor and a field for filling the transaction payload; wherein, in the illustrated embodiment, in the above-mentioned depository In the transaction format of the deposit transaction, the field for filling the address of the transaction recipient may not be included; of course, if the above-mentioned deposit transaction includes a field for filling the address of the transaction recipient, the field may be empty, or the field may be empty. The address of the depositor itself is filled by default.
  • the transaction format of the above-mentioned deposit transaction may not include a field for filling the transfer amount transferred by the transaction sender to the transaction receiver;
  • the transaction format includes a field for filling the transfer amount transferred by the transaction sender to the transaction receiver, and this field can be empty by default.
  • the above-mentioned index data may specifically include a non-unique index with business semantics; the so-called non-unique index means that one index data can correspond to target data in multiple deposit transactions.
  • the specific content of the above-mentioned index data is not particularly limited in this embodiment, and in practical applications, it may include any form of data that can be used as a query index for the above-mentioned target data; in the shown In one embodiment, the above-mentioned business may include product traceability business.
  • the above-mentioned index data may include a business identifier corresponding to the above-mentioned product traceability service; or, the above-mentioned index data may also include a business identifier corresponding to the product traceability service and a product identifier corresponding to the product traceability service; for example, the above-mentioned index data It can be a 2-tuple consisting of the above-mentioned business ID and product ID.
  • the node device connected to the above-mentioned depositor can return the deposit ID of the above-mentioned deposit transaction to the above-mentioned deposit.
  • the index data can be used as the deposit identifier of the above-mentioned deposit transaction and returned to the above-mentioned deposit party; if the above-mentioned deposit transaction does not If the index data corresponding to the above target data is not carried, in this case, the hash value of the above-mentioned deposit transaction can be used as the index data and returned to the above-mentioned depositor.
  • the inquiring party of the above target data (which may be the depositor or a third-party inquirer designated by the depositor) can retrieve the above-mentioned deposit transaction stored in the blockchain based on the above-mentioned deposit identifier, in order to obtain The above-mentioned target data carried in the transaction payload of the above-mentioned deposit transaction; and the node device in the blockchain can receive a query request initiated by the inquiring party for the already-existing target data; The certificate storage identifier corresponding to the certificate transaction; the node device can respond to the query request and search for the certificate storage identifier from the block data stored in the distributed ledger of the locally maintained blockchain in response to the query request. For the corresponding deposit transaction, the target data is read from the transaction payload of the found deposit transaction, and the read target data is returned to the query party.
  • the node device can traverse the block data stored in the distributed ledger of the locally maintained blockchain based on the hash value, and search for the block data related to the transaction.
  • the certificate transaction corresponding to the hash value is the hash value of the above-mentioned certificate transaction.
  • the node device can search for the certificate transaction by querying the mapping relationship between the above-mentioned index data and the above-mentioned certificate transaction, and then further Obtain the above-mentioned target data carried in the transaction payload of the above-mentioned deposit transaction.
  • the data content of the target data may also include index data corresponding to the target data.
  • the index data in the data content of the read target data can be obtained first, and the obtained index data can be confirmed, and Whether the index data in the above query request matches. If the two match, the read target data may be further returned to the above query party.
  • the above target data is carried in the transaction payload of the above-mentioned deposit transaction, it is not stored in the Merkle tree corresponding to the smart contract as the state data of the smart contract; therefore, the target data is not stored in the Merkle tree corresponding to the smart contract.
  • the data query process does not need to call smart contracts, nor does it generate any account status, and the query request does not require consensus.
  • the index data corresponding to the target data to be stored is carried in the transaction payload of the native transaction supported by the blockchain, and the mapping relationship between the index data and the transaction is carried out in the blockchain.
  • the certificate is stored, so that when the target data is queried from the blockchain, the target data can be found by using the index data; therefore, the query efficiency can be improved.
  • the above-mentioned certificate depositor can access the blockchain system 103 in advance through any one of the devices 1 to 5 in the client-side computing device 101 in the network environment. Assume that the above-mentioned depositor accesses the blockchain system 103 through the device 4; subsequently, the depositor can package the above-mentioned deposit transaction, and carry the above-mentioned target data and corresponding index data in the transaction payload of the deposit transaction , and then publish the deposit transaction to the blockchain system 103 through the device 4 through the blockchain node 2 that maintains a communication connection with the device 4 .
  • the accounting node in the blockchain system 103 is the blockchain node 1, and the blockchain node 2 in the blockchain system 103 that maintains a communication connection with the device 4 receives the above-mentioned deposit certificate During the transaction, the deposit transaction can be sent to the blockchain node 1, and the blockchain node 1 will package the deposit transaction into block data, and send the block data containing the deposit transaction to the blockchain Other node devices such as blockchain node 2, blockchain node 3, blockchain node 4, and blockchain node i in the system 103 are performed by all node devices in the blockchain system 103 for the certificate transaction. Consensus verification.
  • Each node device can store the block data including the certificate transaction and the mapping relationship between the above index data and the certificate transaction in the distributed ledger of the blockchain system 103 maintained by the node device.
  • the above-mentioned query party may access the blockchain system 103 in advance through any one of the devices 1 to 5 in the client-side computing device 101 in the network environment (assuming device 4). Subsequently, the inquiring party can send a query request for the above-mentioned target data that has been certified to the node device in the blockchain system 103 that has maintained a communication connection with the device 4 through the device 4 (assuming that it is the blockchain node 2); Wherein, the query request may include index data corresponding to the above-mentioned deposit transaction carrying the target data.
  • the blockchain node 2 can receive the above query request, and in response to the query request, query the mapping relationship between the index data stored in the distributed ledger of the blockchain system 103 and the certificate transaction, In order to determine the above-mentioned transaction with the above-mentioned certificate of deposit mapping relationship with the above-mentioned index data in the query request, and further search for the confirmed transaction of this certificate from the block data stored in the distributed ledger of the blockchain system 103 .
  • the blockchain node 2 After the blockchain node 2 finds the above-mentioned deposit transaction, it can read the above-mentioned target data from the deposit transaction, and send the read target data to the device 4, so as to realize the return of the target data to the above-mentioned target data. inquiring party.
  • the present specification also provides an embodiment of a blockchain-based certificate deposit device.
  • the embodiments of the blockchain-based certificate storage device in this specification can be applied to electronic devices.
  • the apparatus embodiment may be implemented by software, or may be implemented by hardware or a combination of software and hardware. Taking software implementation as an example, a device in a logical sense is formed by reading the corresponding computer program instructions in the non-volatile memory into the memory for operation by the processor of the electronic device where the device is located.
  • this specification is a hardware structure diagram of the electronic device where the blockchain-based certificate storage device is located, except for the processor, memory, network interface, and non-volatile hardware shown in Figure 5
  • the electronic device in which the apparatus in the embodiment is located usually may also include other hardware according to the actual function of the blockchain-based certificate storage, which will not be repeated here.
  • FIG. 6 is a block diagram of a blockchain-based certificate storage device according to an exemplary embodiment of this specification.
  • the blockchain-based certificate depositing device 60 can be applied to an electronic device as shown in FIG. 5; the electronic device can be added to the blockchain as a node device, and the native transaction types supported by the blockchain include transfer-independent transactions.
  • a certificate deposit transaction used for data deposit by a transaction or a smart contract calling transaction; the blockchain-based certificate deposit device 60 may include: an acquisition module 601 to obtain a deposit transaction initiated by a depositor; The certificate transaction carries the target data of the certificate and the index data corresponding to the target data; or, the certificate transaction carries the target data of the certificate; the target data includes the data content and the target data of the target data.
  • the block data including the deposit transaction; and the mapping relationship between the index data and the deposit transaction are respectively stored in the distributed ledger of the blockchain maintained locally.
  • FIG. 7 is a block diagram of a block chain-based data access device shown in an exemplary embodiment of this specification.
  • the blockchain-based data access device 70 can be applied to an electronic device as shown in FIG. 5; the electronic device can be added to the blockchain as a node device, and the native transaction types supported by the blockchain include transfer-independent transaction types.
  • the block chain-based data access device 70 may include: a receiving module 701 for receiving a query request for the target data initiated by a query party; wherein the query request includes a query request with the storage The index data corresponding to the certificate transaction; the query module 702, in response to the query request, inquires the mapping relationship to determine the certificate deposit transaction that has a mapping relationship with the index data, and further retrieves the data from the distributed data of the blockchain. Find the certificate deposit transaction in the block data stored in the ledger; the reading module 703 reads the target data from the found transaction load of the certificate deposit transaction, and returns the read target data to the inquiring party.
  • a typical implementing device is a computer, which may be in the form of a personal computer, laptop computer, cellular phone, camera phone, smart phone, personal digital assistant, media player, navigation device, email sending and receiving device, game control desktop, tablet, wearable device, or a combination of any of these devices.
  • a computer includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
  • processors CPUs
  • input/output interfaces network interfaces
  • memory volatile and non-volatile memory
  • Memory may include forms of non-persistent memory, random access memory (RAM) and/or non-volatile memory in computer readable media, such as read only memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
  • RAM random access memory
  • ROM read only memory
  • flash RAM flash memory
  • Computer-readable media includes both persistent and non-permanent, removable and non-removable media, and storage of information may be implemented by any method or technology.
  • Information may be computer readable instructions, data structures, modules of programs, or other data.
  • Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), Flash Memory or other memory technology, Compact Disc Read Only Memory (CD-ROM), Digital Versatile Disc (DVD) or other optical storage, Magnetic tape cartridges, disk storage, quantum memory, graphene-based storage media or other magnetic storage devices or any other non-transmission media can be used to store information that can be accessed by computing devices.
  • computer-readable media does not include transitory computer-readable media, such as modulated data signals and carrier waves.
  • first, second, third, etc. may be used in this specification to describe various information, such information should not be limited by these terms. These terms are only used to distinguish the same type of information from each other.
  • first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information without departing from the scope of one or more embodiments of the present specification.
  • word "if” as used herein can be interpreted as "at the time of" or "when” or "in response to determining.”

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Accounting & Taxation (AREA)
  • Computing Systems (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

Un ou plusieurs modes de réalisation de la présente description concernent un procédé et un appareil de dépôt à base de chaîne de blocs, et un dispositif électronique, qui sont appliqués à un dispositif de nœud dans une chaîne de blocs. Une transaction d'origine prise en charge par la chaîne de blocs comprend une transaction de dépôt permettant le dépôt de données. Le procédé consiste : à obtenir une transaction de dépôt déclenchée par une partie déposante, la transaction de dépôt portant des données cibles à déposer, et des données d'index correspondant aux données cibles ; à déclencher une vérification de consensus destinée à la transaction de dépôt en réponse à la transaction de dépôt ; et si la vérification de consensus destinée à la transaction de dépôt aboutit, à stocker séparément des données de bloc comprenant la transaction de dépôt et le mappage entre les données d'index et la transaction de dépôt à des livres de compte distribués d'une chaîne de blocs maintenue localement.
PCT/CN2022/085848 2021-04-13 2022-04-08 Procédé et appareil de dépôt à base de chaîne de blocs, et dispositif électronique WO2022218227A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110395400.7 2021-04-13
CN202110395400.7A CN113077259A (zh) 2021-04-13 2021-04-13 基于区块链的存证方法、装置及电子设备

Publications (1)

Publication Number Publication Date
WO2022218227A1 true WO2022218227A1 (fr) 2022-10-20

Family

ID=76617501

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/085848 WO2022218227A1 (fr) 2021-04-13 2022-04-08 Procédé et appareil de dépôt à base de chaîne de blocs, et dispositif électronique

Country Status (2)

Country Link
CN (1) CN113077259A (fr)
WO (1) WO2022218227A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115965388A (zh) * 2022-12-30 2023-04-14 国网数字科技控股有限公司 基于区块链的产业链金融密态溯源方法、装置及相关设备
CN116150234A (zh) * 2023-04-20 2023-05-23 中国信息通信研究院 基于区块链的数据存证方法、装置、设备和介质
CN117220947A (zh) * 2023-09-13 2023-12-12 中国南方电网有限责任公司 基于区块链的数据存证方法、装置和计算机设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113077259A (zh) * 2021-04-13 2021-07-06 支付宝(杭州)信息技术有限公司 基于区块链的存证方法、装置及电子设备
CN113592495A (zh) * 2021-08-23 2021-11-02 中国银行股份有限公司 一种基于区块链的存证方法、装置及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108924107A (zh) * 2018-06-21 2018-11-30 桂林电子科技大学 一种区块链远程医疗数据调用可验证方法
CN110162527A (zh) * 2019-04-29 2019-08-23 阿里巴巴集团控股有限公司 一种基于区块链的业务溯源方法、装置以及电子设备
CN110246005A (zh) * 2019-05-23 2019-09-17 阿里巴巴集团控股有限公司 基于区块链的租赁方法和装置
CN110264354A (zh) * 2019-05-31 2019-09-20 阿里巴巴集团控股有限公司 创建区块链账户及验证区块链交易的方法及装置
CN113077259A (zh) * 2021-04-13 2021-07-06 支付宝(杭州)信息技术有限公司 基于区块链的存证方法、装置及电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2584346A (en) * 2019-05-31 2020-12-02 British Telecomm Data-exchange between blockchains
CN111708825B (zh) * 2020-06-11 2021-08-24 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108924107A (zh) * 2018-06-21 2018-11-30 桂林电子科技大学 一种区块链远程医疗数据调用可验证方法
CN110162527A (zh) * 2019-04-29 2019-08-23 阿里巴巴集团控股有限公司 一种基于区块链的业务溯源方法、装置以及电子设备
CN110246005A (zh) * 2019-05-23 2019-09-17 阿里巴巴集团控股有限公司 基于区块链的租赁方法和装置
CN110264354A (zh) * 2019-05-31 2019-09-20 阿里巴巴集团控股有限公司 创建区块链账户及验证区块链交易的方法及装置
CN113077259A (zh) * 2021-04-13 2021-07-06 支付宝(杭州)信息技术有限公司 基于区块链的存证方法、装置及电子设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115965388A (zh) * 2022-12-30 2023-04-14 国网数字科技控股有限公司 基于区块链的产业链金融密态溯源方法、装置及相关设备
CN115965388B (zh) * 2022-12-30 2023-12-22 国网数字科技控股有限公司 基于区块链的产业链金融密态溯源方法、装置及相关设备
CN116150234A (zh) * 2023-04-20 2023-05-23 中国信息通信研究院 基于区块链的数据存证方法、装置、设备和介质
CN117220947A (zh) * 2023-09-13 2023-12-12 中国南方电网有限责任公司 基于区块链的数据存证方法、装置和计算机设备
CN117220947B (zh) * 2023-09-13 2024-06-07 中国南方电网有限责任公司 基于区块链的数据存证方法、装置、计算机设备、存储介质和程序产品

Also Published As

Publication number Publication date
CN113077259A (zh) 2021-07-06

Similar Documents

Publication Publication Date Title
WO2022218227A1 (fr) Procédé et appareil de dépôt à base de chaîne de blocs, et dispositif électronique
US12008015B2 (en) Import and export in blockchain environments
US10956376B2 (en) Accessing objects in hosted storage
US11030217B2 (en) Blockchain implementing cross-chain transactions
US9639546B1 (en) Object-backed block-based distributed storage
US10515058B2 (en) Unified file and object data storage
US9672053B2 (en) Service request processing
US9762670B1 (en) Manipulating objects in hosted storage
JP2018088293A (ja) 単一テナント及び複数テナント環境を提供するデータベースシステム
US10860604B1 (en) Scalable tracking for database udpates according to a secondary index
US9749445B2 (en) System and method for updating service information for across-domain messaging in a transactional middleware machine environment
US9830091B2 (en) Policy-based data tiering using a cloud architecture
TWI706664B (zh) 基於多個區塊鏈網路的資料存證方法及系統
US11677778B2 (en) Protecting data in non-volatile storages provided to clouds against malicious attacks
US10855637B2 (en) Architecture for large data management in communication applications through multiple mailboxes
WO2022247316A1 (fr) Système de traitement d'objet de stockage, procédé de traitement de requête, passerelle et support de stockage
Atkins et al. A cloud service for end-user participation concerning the internet of things
TW202004592A (zh) 事務因果序的校正方法及裝置、電子設備
CN107454138A (zh) 业务降级的实现方法及装置
WO2023020242A1 (fr) Procédé et appareil de traitement de données basés sur une chaîne de blocs, dispositif informatique, support de stockage lisible et produit de programme informatique
WO2022206210A1 (fr) Gestion d'actifs basée sur une chaîne de blocs
US20180205790A1 (en) Distributed data structure in a software defined networking environment
CN107357557B (zh) 一种信息更新方法及装置
CN113077260A (zh) 基于区块链的数据访问方法、装置及电子设备
WO2020257123A1 (fr) Systèmes et procédés d'authentification reposant sur une chaîne de blocs

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: 22787453

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22787453

Country of ref document: EP

Kind code of ref document: A1