Object Oriented Smart Contracts For UTXO-Based Blockchains
AssigneeBcdb, Inc.
InventorClemens Ley
Life of this patent
Estimating the term…
Abstract
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.
Claims12
A method of generating an instruction in a first object-oriented computer language for operating in a decentralized computer network from an instruction in a second object-oriented computer language that can operate on a local computer, where a semantic of the second object-oriented computer language can be expressed by a rule
- so, S, E, ├e:
- v, S′
- with ├ denoting a semantic relation, said rule meaning that in a context where a variable self refers to an object so, where a data store on the local computer is S, and where an execution environment is E, an expression e evaluates to an object v at a second data store S′ in the local computer, said method comprising:
- replacing a local storage update command S[v/l], which updates an at least one location l by an object v, by a command to (a) broadcast to the decentralized computer network an at least one transaction that spends at least one unspent-transaction-output corresponding to said location l into a new output that stores at least one of (i) said object v and (ii) information enabling said object v to be determined;
- and (b) spend at least one additional unspent-transaction-output corresponding to a second location l′ in said execution environment E or said object so;
- wherein said generated instruction enables operation of a smart contract.
A computer system comprising a local computer, the local computer comprising:
- a) a memory for storing computer instruction and data;
- and
- b) a processor operatively coupled to said memory, said processor capable of generating an instruction in a first object-oriented computer language for operating in a decentralized computer network from an instruction in a second object-oriented computer language that can operate on the local computer, where a semantic of the second object-oriented computer language can be expressed by a rule
- so, S, E, ├e:
- v, S′
- with ├ denoting a semantic relation, said rule meaning that in a context where a variable self refers to an object so, where a data store on the local computer is S, and where an execution environment is E, an expression e evaluates to an object v at a second data store S′ in the local computer,
- said local computer:
- replacing a centralized storage update command S[v/l], which updates an at least one location l by an object v, by a command to (c) broadcast to the decentralized computer network an at least one transaction that (c) spends at least one unspent-transaction-output corresponding to said location l into a new output that stores at least one of (i) said object v and (ii) information enabling said object v to be determined;
- and (d) spending at least one additional unspent-transaction-output corresponding to a second location l′ in said execution environment E or said object so;
- wherein said generated instruction enables operation of a smart contract
Dependencies are inferred from the claim text.