Blockchain Puzzle Scripts for Conditional Shared Key Exchange
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for secure key exchange between parties do not allow one party to calculate a shared cryptographic key until certain conditions are met, compromising security and control over the key generation process.
Innovation Solution
Utilizing blockchain transactions with puzzle locking scripts and unlocking scripts to generate a shared cryptographic key, where private keys are revealed on the blockchain only when specific conditions are met, ensuring that only authorized parties can calculate the key.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If private keys are revealed on the blockchain immediately, then key generation is fast and transparent, but security is compromised and unauthorized parties can access the key
Solution Approach 1:
The puzzle locking script is prepared in advance with the target public key embedded, but the private key revelation is delayed until conditions are met. This allows the system to be ready for key generation while maintaining security through conditional revelation timing.
Solution Approach 2:
The blockchain transaction transitions from a locked state with puzzle locking script to an unlocked state with revealed private key in unlocking script, dynamically changing the accessibility of the key based on condition satisfaction. This enables secure initial state and fast key generation state.
2Reliability
If blockchain transactions are used to control key revelation, then security and control are improved, but system complexity increases
Solution Approach 1:
The blockchain transaction serves multiple functions: it acts as both a key generation mechanism and a conditional control system. The same transaction structure handles both the mathematical key derivation and the conditional logic for revelation, reducing the need for separate control systems.
Solution Approach 2:
The blockchain network acts as an intermediary that enforces the conditional revelation of private keys. Instead of requiring complex direct control mechanisms between parties, the blockchain mediates the key generation process through its transaction validation and condition enforcement capabilities.
3Reliability
If puzzle locking scripts are used to hide private keys, then security is enhanced, but the difficulty of detecting and measuring key revelation increases
Solution Approach 1:
The transition from puzzle locking script to unlocking script with revealed private key creates a detectable state change in the transaction. The change in script type and key visibility provides clear signals for detecting when key revelation conditions are met, making monitoring feasible while maintaining security during the locked state.
Data Source
AI summary
A method for enabling a second party to determine a shared cryptographic key, comprising: generating a puzzle blockchain transaction comprising one or more outputs, each output comprising a puzzle locking script, wherein each puzzle locking script comprises a target public key and is configured to, when executed together with a unlocking script comprising a candidate value, convert the candidate value into a candidate public key and require the candidate public key to match the target public key; and sending the puzzle blockchain transaction to one or more nodes of a blockchain network and/or the second party, wherein the first party is configured to generate the shared cryptographic key based on the first private key, the second public key, and each target public key, and wherein the second party is configured to generate the shared cryptographic key based on the second private key, the first public key, and each candidate value.


