Method and device for executing transactions in blockchain network
What is a smart contract? What role does it play in blockchain?
Describe the "read set" and "write set" in blockchain.
Explain the meaning of the term "world state" in blockchain.
Why does the direct call of the oracle service by the smart contract in the existing blockchain mechanism lead to difficulties in multi-node endorsement?
What are the advantages of the solution proposed in the embodiment of the present disclosure compared with the existing technology?
What role does the proxy node play in the process of accessing external data sources?
What key information is included in the access request? What is the role of this information?
How to verify the credibility of the request result returned from the external data source?
When verifying the validity of the transaction, how to handle off-chain type records and non-off-chain type records?
Please explain the importance of a trusted computing environment in protecting the security of proxy nodes.
Answer
Short answer question
A smart contract is a computer protocol designed to disseminate, verify or execute contracts in an information-based manner, which can be expressed as a computer program that runs accurately on the blockchain. It allows users to conduct transactions, share data and establish trust on the blockchain, and the characteristics of blockchain technology guarantee the security and traceability of data.
The "read set" contains the unique keys and their corresponding versions read during the simulation execution of the smart contract, while the "write set" contains the modified unique keys and their new values. The Committer node uses the read set to verify the validity of the transaction and uses the write set to update the world state.
"World state" refers to a variable set containing the execution results of all committed transactions, which represents the latest state of all data on the blockchain.
Because the external data obtained by directly calling the oracle service through the smart contract will not be recorded in the read set, the Committer node cannot verify the source and consistency of the data, making it difficult to perform multi-node endorsement.
The embodiment of the present disclosure introduces a proxy node to record the access request and results of external data in the read set, thereby solving the problem of multi-node endorsement difficulties in the prior art and improving the security and reliability of transaction execution.
The proxy node serves as a bridge between the blockchain network and the external data source, is responsible for receiving access requests from the Endorser node, obtaining data through the oracle service, and returning the results to the Endorser node.
The access request contains request identification information, the access address of the data source, and the endorsement policy. The request identification information ensures the uniqueness of the request, the access address of the data source indicates the location of the data, and the endorsement policy specifies the requirements of the endorsement node.
When the proxy node obtains the request result through the oracle service, it also obtains the proof information generated by the oracle service. The proxy node can use the proof information to verify whether the request result comes from the external data source reliably.
For off-chain records, it is necessary to verify the consistency of the signature of the proxy node and the record content; for non-off-chain records, its validity is verified based on the world state, which is similar to the processing method in the existing blockchain technology.
The trusted computing environment provides an isolated execution environment to protect the proxy node from malware attacks, ensure its security and reliability, prevent data from being tampered with or leaked, and improve the security of the entire system.
Thesis title
Discuss in detail how the disclosed embodiment solves the challenges encountered by smart contracts in the existing blockchain technology when accessing external data sources, and compare its advantages and disadvantages with other solutions.
Explore the application scenarios and implementation methods of proxy nodes in different types of blockchain networks (public chains, alliance chains, and private chains), and analyze their impact on blockchain performance and security.
Analyze the importance of endorsement strategy in ensuring data consistency and preventing malicious attacks, and design an endorsement strategy suitable for specific application scenarios.
With the development of the Internet of Things and the data economy, the types and scale of external data sources of blockchain are growing. Discuss how the disclosed embodiments adapt to this trend, and put forward improvement suggestions to improve its scalability and efficiency.
Combined with specific application cases, such as supply chain finance, digital identity authentication, etc., explain how the disclosed embodiments promote the integration and development of blockchain technology and other technologies, and look forward to its future development trends.
Key Glossary
Term Definitions Smart contract A computer program running on the blockchain that automatically executes predefined rules and terms. Oracle An intermediary service that connects the blockchain with the outside world and provides off-chain data for smart contracts. The proxy node is responsible for receiving access requests from the Endorser node, obtaining data through the oracle service, and returning the results to the Endorser node. Read Collection Unique keys and their corresponding versions read during the simulation execution of the smart contract. Write Collection Unique keys that are modified and their new values. World state A collection of variables containing the results of all submitted transaction executions. Transaction request A request to perform a certain function on the blockchain. The endorsement policy specifies the requirements for endorsement nodes, such as specific endorsement nodes, quantity, and combination thereof. The trusted computing environment provides an isolated execution environment to protect code and data from malware attacks. The off-chain type is used to identify the record type that stores off-chain data.