Customizable Endorsement Logic for Blockchain Transaction Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional blockchain endorsement logic is simplistic and limiting, as it does not allow endorsing nodes to reject transactions or consider off-chain information, such as user inputs, external data sources, or system resources, when determining whether to endorse a transaction.
Innovation Solution
Implementing customizable endorsement logic on blockchain nodes that can access and evaluate off-chain data sources, user inputs, and other external information to determine whether to endorse or reject transactions, providing the ability to prioritize transactions and issue rejection reasons.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional endorsement logic is used, then the endorsement process is simple and fast, but the node cannot reject transactions or consider off-chain information
Solution Approach 1:
The endorsement logic is segmented into two distinct components: (1) simulation logic that executes transactions and generates read/write sets, and (2) endorsement logic that evaluates whether to endorse based on customizable criteria. This segmentation allows the system to maintain simple simulation operations while enabling complex endorsement decisions through separate, configurable endorsement rules that can access off-chain information.
Solution Approach 2:
The endorsement logic is made dynamic and configurable rather than fixed. Nodes can customize their endorsement criteria based on off-chain information sources, user inputs, and system resources. This dynamic approach allows the system to adapt endorsement behavior to different scenarios and information conditions without requiring complex hard-coded logic for every possible case.
2Reliability
If customizable endorsement logic is implemented, then transaction decisions are more informed, but processing time increases
Solution Approach 1:
The system performs preliminary simulation of the transaction before endorsement evaluation. The simulation phase executes the transaction against a copy of the state database to generate read sets and write sets in advance. This preliminary action allows the endorsement logic to evaluate pre-computed data rather than re-executing the full transaction, reducing endorsement processing time while maintaining decision accuracy.
Solution Approach 2:
The patent extracts the computationally intensive simulation step from the endorsement decision step. By separating simulation (which generates the data) from endorsement evaluation (which consumes the data), the system can perform heavy computation once during simulation and then make multiple endorsement decisions based on the extracted read/write sets without repeating the full simulation each time.
3Measurement precision
If off-chain information is accessed, then endorsement decisions are more accurate, but system complexity increases
Solution Approach 1:
The patent introduces an intermediary data structure (the read set and write set from simulation) that mediates between off-chain information sources and the endorsement logic. Instead of having endorsement logic directly access diverse off-chain data sources with different formats and protocols, the simulation phase acts as an intermediary that standardizes data into a common format, simplifying the endorsement evaluation process while maintaining access to accurate off-chain information.
Data Source
AI summary
An example operation may include one or more of receiving, via a network, a blockchain request from a client device, simulating a transaction of the blockchain request to generate a read set of data being read by the transaction and a write set of data being written by the transaction, determining whether to endorse the transaction with respect to a distributed ledger by executing customizable endorsement logic of the blockchain node, wherein the executing customizable endorsement logic receives, as input, the generated read and write sets and determines whether or not the transaction should be committed to a data block of the distributed ledger based on the generated read and write sets, and transmitting information about a result of the customized endorsement logic determination to the client device.


