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 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.
Claims10
A method comprising:
- generating, by a processor, 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, the 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;
- and
- replacing, by the processor, a local storage update command S[v/l], which updates at least one location l by the object v, by a command to broadcast to the decentralized computer network at least one transaction that spends at least one unspent-transaction-output corresponding to the location 1 into a new output that stores at least one of (i) the object v and (ii) information enabling the object v to be determined;
- wherein the generated instruction in the first object-oriented computer language enables operation of a smart contract.
A computer system comprising a local computer, the local computer comprising:
- a) a memory for storing computer instructions and data;
- and
- b) a processor operatively coupled to the memory, the processor executes the instructions to cause the local computer performing:
- 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, the 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;
- and
- replacing a centralized storage update command S[v/l], which updates at least one location l by the object v, by a command to broadcast to the decentralized computer network at least one transaction that spends at least one unspent-transaction-output corresponding to the location l into a new output that stores at least one of (i) the object v and (ii) information enabling the object v to be determined;
- wherein the generated instruction in the first object-oriented computer language enables operation of a smart contract.
Dependencies are inferred from the claim text.