TECHNICAL FIELD

This application generally relates to a database storage system, and more particularly, to a decentralized database such as a blockchain in which reliability information of external data sources may be stored within a database on a blockchain ledger.

BACKGROUND

A centralized database stores and maintains data in one single database (e.g., 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. Because of its single location, a centralized database is easy to manage, maintain, and control, especially for purposes of security. Within a centralized database data integrity is maximized and 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. This aids in the maintaining of data as accurate and as consistent as possible and enhances data reliability.

However, a centralized database suffers from significant drawbacks. For example, a centralized database has a single point of failure. In particular, if there is no fault-tolerance setup and a hardware failure occurs, all data within the database is lost and work of all users is interrupted. In addition, a centralized database is highly dependent on network connectivity. As a result, the slower the Internet connection, the longer the amount of time needed for each database access. Another drawback is that bottlenecks occur when the centralized database experiences of high traffic due to the single location. Furthermore, a centralized database provides limited access to data because only one copy of the data is maintained by the database. As a result, multiple users may not be able to access the same piece of data at the same time without creating problems such as overwriting stored data. Furthermore, because a central database system has minimal to no data redundancy, if a set of data is unexpectedly lost it is difficult to retrieve it other than through manual operation from back-up disk storage.

A decentralized database such as a blockchain system provides a storage system capable of addressing the drawbacks of a centralized database. In a blockchain system, multiple peer nodes store a distributed ledger which includes a blockchain. Clients interact with peer nodes to gain access to the blockchain. The peer nodes may be controlled by different entities having different interests and therefore are not trusting entities with respect to one another. Furthermore, there is no central authority in a blockchain. Therefore, in order for data to be added to or changed on the distributed ledger in a trusted manner, a consensus of peer nodes must occur. The consensus provides a way for trust to be achieved in a blockchain system of untrusting peer nodes.

Transactions which are performed via a blockchain between parties may require data from an external source (e.g., stocks, medical information, property information, documents, and the like). At present, it is difficult for a blockchain to verify that the external source or the data provided from the external source is reliable. In other words, the blockchain typically “takes the word” of the external data source. Also, external sources may have a reliability that changes over time. For example, an external source may be reliable during a first period of time, but may become unreliable when the data source is compromised by a hacker or other malicious party. Accordingly, what is needed is a mechanism for keeping and updating a reliability of an external data source.

SUMMARY

One example embodiment may provide a system that includes one or more of a network interface configured to receive a request to modify a reliability value of an off-chain data source to generate a modified reliability value, and a processor configured to one or more of determine whether a consensus on the modified reliability value has been received among a plurality of peer nodes, and, in response to a determination that the consensus has been received, update a storage to reflect the modified reliability value associated with the off-chain data source, and store an identification of the modified reliability value within a block among a hash-linked chain of blocks on a distributed ledger shared among the plurality of peer nodes.

Another example embodiment may provide a method that includes one or more of receiving a request to modify a reliability value of an off-chain data source to generate a modified reliability value, determining whether a consensus on the modified reliability value has been received among a plurality of peer nodes, and in response to a determination that the consensus has been received, updating a storage to reflect the modified reliability value associated with the off-chain data source, and storing an identification of the modified reliability value within a block among a hash-linked chain of blocks on a distributed ledger shared among the plurality of peer nodes.

A further example embodiment may provide a non-transitory computer readable medium comprising instructions, that when read by a processor, cause the processor to perform one or more of receiving a request to modify a reliability value of an off-chain data source to generate a modified reliability value, determining whether a consensus on the modified reliability value has been received among a plurality of peer nodes, and in response to a determination that the consensus has been received, updating a storage to reflect the modified reliability value associated with the off-chain data source, and storing an identification of the modified reliability value within a block among a hash-linked chain of blocks on a distributed ledger shared among the plurality of peer nodes.

Another example embodiment may provide a system that includes one or more of a storage configured to store data of one or more off-chain data sources within a database, a network interface configured to receive a notification of a change to the data of the one or more off-chain data sources stored in the database, and a processor configured to one or more of capture a snapshot of the data within the database based on the notification, where the snapshot identifies a historical state of the data within the database, and store the captured snapshot of the data in a block from among a hash-linked chain of blocks on a distributed ledger.

Another example embodiment may provide a method that includes one or more of storing data of one or more off-chain data sources within a database, receiving a notification of a change to the data of the one or more off-chain data sources stored in the database, capturing a snapshot of the data within the database based on the notification, where the snapshot identifies a historical state of the data within the database, and storing the captured snapshot of the data in a block from among a hash-linked chain of blocks on a distributed ledger.

