Distributed Ledger Authorization for Privacy-Preserving Shared Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed systems face challenges in ensuring the validity and accuracy of program code execution across multiple nodes due to limited or incomplete system views, making it difficult to coordinate and verify the execution of shared processes while preserving privacy.
Innovation Solution
A computer system utilizing a distributed ledger to record and validate shared code segments, with authorizing nodes ensuring execution results meet shared authorization conditions, allowing nodes to agree on obligations and commit data or code in a non-repudiable manner, enabling system-wide coordination and execution of shared processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If distributed nodes execute code segments independently with limited views, then execution privacy and autonomy are improved, but verification reliability and coordination accuracy deteriorate
Solution Approach 1:
The patent introduces a distributed ledger as an intermediary mechanism that enables nodes to verify code execution without requiring direct communication or complete system views. The ledger serves as a shared reference that mediates between independent node executions, allowing nodes to certify their local executions while maintaining trust in the overall system through cryptographic records of valid code segments and execution results.
Solution Approach 2:
The patent divides the program code into discrete code segments that can be independently executed by different nodes. Each segment maintains its own execution context and can be verified locally, while the distributed ledger segments the verification process into separate, certifiable units. This segmentation allows nodes to operate with limited views while still achieving system-wide coordination through the ledger's distributed record-keeping.
2Reliability
If nodes maintain limited or incomplete views of the system, then privacy preservation and execution autonomy are improved, but coordination capability and verification accuracy deteriorate
Solution Approach 1:
The distributed ledger maintains copies of valid code segments and execution results across multiple nodes. Instead of requiring nodes to possess complete system state information, each node stores and verifies copies of the ledger entries relevant to its execution. This copying mechanism enables nodes to execute with limited local views while ensuring execution accuracy through cryptographic verification of the copied records.
Solution Approach 2:
The system implements feedback mechanisms where nodes provide certification of their execution results to the distributed ledger, which then feeds back verification information to other nodes. This feedback loop allows nodes to maintain limited views while still achieving accurate coordination, as each node's execution certification contributes to the collective verification state maintained in the ledger.
3Productivity
If nodes independently verify and execute code segments, then execution efficiency and privacy are improved, but system-wide coordination and authorization validation deteriorate
Solution Approach 1:
The distributed ledger records and validates authorization information in advance before code execution occurs. Code segments are pre-validated against authorization conditions, and execution rights are pre-established through cryptographic signatures on the ledger. This preliminary action enables nodes to execute code efficiently with minimal real-time coordination, while maintaining authorization validity through pre-verified records that independent nodes can reference without requiring active system-wide coordination.
Data Source
AI summary
A computer system (100) for distributed shared execution of one or more shared processes, comprising: first program code for the one or more shared processes that comprises one or more shared code segments (142, 144, 146) shared between a first authorizing node (102) and a second authorizing node (104), wherein the one or more shared code segments (142, 144, 146) are executable by one or more executing nodes (102, 104, 106); a distributed ledger (152, 154, 156) that provides a record of valid code segments of the program code; and second program code comprising instructions that, when executed by the first and/or second authorizing nodes, validates that an anticipated execution result of the one or more shared code segments (142, 144, 146) satisfies shared authorization conditions and, if satisfied, authorizes the execution of the one or more shared code segments by the one or more executing nodes.


