TECHNICAL FIELD

This application generally relates to storing data via a blockchain, and more particularly, to a data structure which enables multiple output values to be added as input candidates to a blockchain transaction data structure.

BACKGROUND

A centralized database stores and maintains data in a single database (e.g., a database server) at one location. This location is often a central computer, for example, a desktop central processing unit (CPU), a server CPU, or a mainframe computer. Information stored on a centralized database is typically accessible from multiple different points. Multiple users or client workstations can work simultaneously on the centralized database, for example, based on a client/server configuration. A centralized database is easy to manage, maintain, and control, especially for purposes of security because of its single location. Within a centralized database, data redundancy is minimized as a single storing place of all data also implies that a given set of data only has one primary record.

Meanwhile, blockchain systems store data on an immutable ledger, provide distributed and decentralized access to the immutable ledger through non-trusting participants, establish consensus requirements for agreement between the non-trusting participants such that no one entity can change the immutable ledger without agreement from others, invoke smart contracts, and the like. A blockchain is formed by a network of participants which agree to add a block (with data stored therein) to the immutable ledger. Before being added, the block is linked to a previous block on the immutable ledger thereby forming a chain. This immutable and incorruptible nature of blockchain makes it safe from falsified information and hacks. The decentralized nature also gives it the unique quality of being trustless, in that parties do not need to establish trust before they can transact safely.

SUMMARY

One example embodiment provides an apparatus that includes one or more of a processor configured to one or more of read first and second output values of an entity from first and second memory addresses, respectively, store the first and second output values in a blockchain data structure, and execute the blockchain data structure, where the execution selects one of the first and second output values based on an operation to perform with a third output value and modifies the selected output value based on the third output value, and a memory configured to store the modified output value at an output memory address.

Another example embodiment provides a method that includes one or more of reading first and second output values of an entity from first and second memory addresses, respectively, storing the first and second output values in a blockchain data structure, executing the blockchain data structure, where the executing comprises selecting one of the first and second output values based on an operation to perform with a third output value, and modifying the selected output value based on the third output value, and storing the modified selected output value at an output memory address.

A further example embodiment provides a non-transitory computer-readable medium comprising instructions, that when read by a processor, cause the processor to perform one or more of reading first and second output values of an entity from first and second memory addresses, respectively, storing the first and second output values in a blockchain data structure, executing the blockchain data structure, where the executing comprises selecting one of the first and second output values based on an operation to perform with a third output value, and modifying the selected output value based on the third output value, and storing the modified selected output value at an output memory address.

