Object-Oriented Smart Contracts for UTXO Blockchains

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current blockchain systems face challenges in efficiently storing and updating non-basic, nested data structures on UTXO-based platforms, limiting their applicability and security, particularly in supporting all computational token transfer types and maintaining data integrity without relying on expensive miner computations.

Innovation Solution

The system employs object-oriented programming languages to define alternative semantics for storing computation traces on blockchains, allowing users to validate and update data structures independently, enabling trustless consensus and reducing computational costs by shifting work from miners to users.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If smart contracts are implemented on UTXO-based blockchains using traditional methods, then basic token transfers are supported, but nested data structures and complex computational transfers cannot be efficiently stored and updated

Engineering Contradiction:
Improvesupport for nested data structuresVSAvoiddata structure storage complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements nested data structures by allowing UTXOs to contain other UTXOs or data structures within them, creating a hierarchical nesting capability. This enables complex nested data structures to be stored and manipulated on UTXO-based blockchains without requiring fundamental changes to the underlying blockchain architecture.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent segments complex data structures into smaller, manageable UTXO units that can be independently stored, updated, and validated. This segmentation approach allows the system to handle large nested data structures by breaking them down into discrete transaction outputs that follow standard UTXO rules while collectively representing complex data.

Inventive Principle:
Principle #1Segmentation

2Reliability

If miners perform all computational validation, then data integrity is maintained, but computational costs and transaction fees increase significantly

Engineering Contradiction:
Improvedata integrityVSAvoidcomputational cost
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent implements preliminary validation where users validate and update their own data structures before submitting transactions to the blockchain. This preliminary action by users reduces the computational burden on miners, as the data is pre-validated and structured in a way that requires minimal verification during the mining process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables users to perform self-validation of their transactions and data structures using the provided validation rules and semantics. This self-service approach allows users to independently verify the integrity and correctness of their transactions before broadcast, reducing the need for expensive miner-computed validation while maintaining overall data integrity through cryptographic proofs and consensus mechanisms.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If object-oriented programming is used for smart contracts, then general-purpose computing is enabled, but the semantic rules for blockchain integration become more complex

Engineering Contradiction:
Improvegeneral-purpose smart contract capabilityVSAvoidsemantic rule complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer of semantic rules and translation mechanisms that bridge object-oriented programming constructs and UTXO-based blockchain operations. This intermediary layer provides a standardized interface that translates high-level OOP concepts into blockchain-compatible transactions, shielding developers from the underlying complexity while enabling general-purpose smart contract functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameters of how smart contracts are represented and executed by mapping object-oriented concepts to UTXO parameters and properties. By transforming OOP state and behavior into UTXO data structures and spending conditions, the system enables general-purpose computing while maintaining compatibility with the simpler UTXO model.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If computation is performed on-chain by miners, then consensus is achieved, but scalability and transaction throughput are limited

Engineering Contradiction:
Improveconsensus agreementVSAvoidtransaction throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts computational work from the blockchain consensus process and places it in the hands of users who perform validation and computation locally. By taking out the heavy lifting of data structure manipulation and validation from miners, the system achieves consensus only on the essential transaction validity and state transitions, significantly improving scalability while maintaining reliability through cryptographic verification.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11188911B2Object oriented smart contracts for UTXO-based blockchains
Publication Date: 2021.11.30 BCDB INC
  • US11188911B2 patent drawing
  • US11188911B2 patent drawing
  • US11188911B2 patent drawing

AI summary

Disclosed is method and system for turning existing object-oriented programming languages into smart contract languages without introducing new syntactic features. The invented method and system provide a protocol that enables storing a history of computations on a decentralized computer network, such as a UTXO-based blockchain system, for any object-oriented computer language. The invented method and system further provide for storing and updating data on blockchains, where such blockchains may be used in cryptocurrency applications and for smart contracts.