System for interacting objects as tokens on a blockchain using a class-based language
Abstract
In modern object-oriented programming, programs are written using typed objects like classes and instances that interact with one another via rules of composition, inheritance, encapsulation, message passing, and polymorphism. Some embodiments described herein can include a method for tokenizing such modern objects that maintains their interactive properties on a blockchain. It improves upon, and diverges from, the smart contract model used mainly on account-based blockchains today to create a generally-programmable token system that is native to UTXO-based blockchains, where individually-owned software objects interact with other software objects owned by other individuals. These tokenized objects are called jigs. Jigs, an abstraction like objects, enable applications to build their own digital assets that interact with other jigs from other applications. Jogs enable users to own their data as tokens and use their data independent of any one application's complete control.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A blockchain computing system, comprising:
a computer system having a processor and a memory, the computer system configured to:
receive instructions to generate an instance of a class object;
retrieve a first transaction from a database associated with a blockchain ledger, wherein a blockchain associated with the blockchain ledger is Unspent Transaction Output (UTXO)-based, wherein the first transaction includes computer-executable instructions to generate the class object;
process the first transaction to generate a first instance of the class object, wherein the first instance comprises an occurrence of the class object, wherein characteristics of the first instance is detected by at least the class object; and
record a second transaction onto the blockchain ledger, wherein the second transaction includes computer-executable instructions to generate the first instance of the class object, wherein the second transaction has at least one or more input or a reference to at least one output of the first transaction.
2. A blockchain computing system of claim 1 , wherein the computing system is further configured to:
receive a request to generate the class object;
generate the class object; and
record the first transaction onto the blockchain ledger.
3. A blockchain computing system of claim 1 , wherein the blockchain is a layer 1 blockchain.
4. A blockchain computing system of claim 1 , wherein the blockchain is a layer 2 protocol that operates on a layer 1 blockchain.
5. The blockchain computing system of claim 1 , wherein the class object includes a class type characteristic, and instances from the class object share the same class type characteristic.
6. A blockchain method, comprising:
receiving instructions to generate a class object;
generating the class object; and
recording a first transaction onto a blockchain ledger, wherein a blockchain associated with the blockchain ledger is Unspent Transaction Output (UTXO)-based, wherein the first transaction includes computer-executable instructions to generate the class object, wherein an instance is generated from the class object and that instance includes at least one characteristic of the class object, wherein a second transaction is recorded onto the blockchain ledger that includes computer-executable instructions to generate the instance, wherein the second transaction has at least one or more input or a reference to at least one output of the first transaction.
7. The blockchain method of claim 6 , wherein the class object comprises an object that defines characteristics for instances that are created for the class object.
8. The blockchain method of claim 7 , wherein the characteristics include one or more functions for the corresponding instance.
9. The blockchain method of claim 7 , wherein the characteristics include one or more properties for the corresponding instance.
10. The blockchain method of claim 7 , wherein the characteristics include initial properties for the corresponding instance.
11. The blockchain method of claim 6 , wherein the second transaction has at least one or more input of the first transaction.
12. The blockchain method of claim 6 , wherein the second transaction has a reference to the at least one output of the first transaction.
13. The blockchain method of claim 6 , wherein the method further comprises generating the computer-executable instructions to generate the class object.
14. The blockchain method of claim 6 , wherein the instance comprises an object that includes an occurrence of the class object, wherein characteristics of the instance is determined by the class object, wherein the class object includes a class type characteristic, and instances from the class object share the same class type characteristic.
15. A non-transitory computer storage medium storing computer-executable instructions that, when executed by a processor, cause the processor to perform the following method:
receiving instructions to generate a resource type;
generating a first resource type; and
recording a first transaction onto a blockchain ledger, wherein a blockchain associated with the blockchain ledger is Unspent Transaction Output (UTXO)-based, wherein the first transaction includes computer-executable instructions to generate the first resource type, wherein a second resource type is generated from the first resource type and that second resource type includes at least one characteristic of the first resource type, wherein a second transaction is recorded onto the blockchain ledger that includes computer-executable instructions to generate the second resource type, wherein the second transaction has at least one or more input or a reference to at least one output of the first transaction.
16. The non-transitory computer storage medium of claim 15 , wherein to generate the second resource type comprises deleting or modifying a prior object within the first resource type.
17. The non-transitory computer storage medium of claim 15 , wherein the method further comprises determining an identifier for the second transaction in order to identify the second resource type on the blockchain ledger.
18. The non-transitory computer storage medium of claim 15 , wherein the recorded computer-executable instructions to recreate the second resource type onto the blockchain ledger includes a token payment from a user providing the instructions to generate the second resource type, wherein the token
payment is provided to one or more users assisting in the recordation of the second resource type onto the blockchain ledger.
19. The non-transitory computer storage medium of claim 15 , wherein executing the second transaction comprises executing the first transaction and inputting the output of the first transaction as the input to the second transaction for executing the second transaction.
20. The non-transitory computer storage medium of claim 15 , wherein the method further comprises:
receiving instructions to perform a function on the second resource type;
processing the function on the second resource type to generate an updated state for the second resource type; and
recording a third transaction onto a blockchain ledger, wherein the third transaction include computer-executable instructions to recreate the updated state of the second resource type.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.