Invention for Secure distributed system using smart contracts, a Blockchain and/or a distributed files system
Invented by Jonathan Lee, Steve Frensch, Ethan Greig, Anna-Maria Nalepa, Zheng Jian, Capital One Services LLC
Smart contracts are self-executing contracts with the terms of the agreement between buyer and seller being directly written into lines of code. They allow for secure and transparent transactions without the need for intermediaries. This technology is particularly useful in industries such as finance, real estate, and supply chain management.
Blockchain technology is a decentralized digital ledger that records transactions on multiple computers. It is tamper-proof and transparent, making it ideal for secure and efficient data storage. Blockchain technology has already been implemented in industries such as finance, healthcare, and logistics.
Distributed file systems are a type of computer file system that allows multiple users to access and modify files stored on a network. This technology is particularly useful for large organizations that need to share files across multiple locations.
The market for secure distributed systems is expected to grow significantly in the coming years. According to a report by MarketsandMarkets, the blockchain market is expected to grow from $3 billion in 2020 to $39.7 billion by 2025. The smart contract market is also expected to grow from $106 million in 2019 to $300 million by 2025.
The potential applications for these technologies are vast. In finance, blockchain technology can be used to create secure and transparent payment systems. In healthcare, it can be used to securely store patient data and ensure privacy. In supply chain management, it can be used to track products from the manufacturer to the end consumer.
However, there are also challenges to be addressed. One of the main challenges is scalability. As the number of users and transactions on these systems grows, there is a risk of slowing down the system. Another challenge is interoperability. Different blockchain platforms and smart contract languages can make it difficult for different systems to communicate with each other.
In conclusion, the market for secure distributed systems using smart contracts, a blockchain, and/or a distributed file system is growing rapidly. These technologies have the potential to revolutionize the way we store and transfer data, making it more secure and transparent. However, there are also challenges to be addressed, and it will be important for companies to work together to ensure interoperability and scalability.
The Capital One Services LLC invention works as follows
A storage identifier may be given to a node that is associated with an organization for credit data. The new credit data may be shared with other nodes using distributed data sources and a distributed ledger. A smart contract may be updated by the node with the storage identifier to the new credit information. A request for new credit data may be received by the node from an associated device. The smart contract may provide the storage identifier to the node for the new credit data. The storage identifier can be used by the node to search for distributed data sources. The node might provide the updated credit data to the device. The node can perform actions to obtain additional credit data from distributed data sources, or to provide additional credit data to those data sources.
Background for Secure distributed system using smart contracts, a Blockchain and/or a distributed files system
A blockchain is a distributed database that keeps a growing list of records called blocks. These records can be linked together to create a chain. Each block may include a timestamp, a link to previous blocks and/or transactions. The blocks can be protected from modification and revision. A blockchain could also include a secure transaction database that is shared among participants in a distributed, established network of computers. Blockchains can record transactions (e.g. an exchange or transfer information) which occur in the network. This reduces or eliminates the need for trusted/centralized parties. Sometimes, participants in transactions may not be able to identify the identities of other parties involved in the transaction. However, they can securely exchange information. The distributed ledger could also be a record of consensus that includes a cryptographic audit trail. This audit trail is maintained by an independent set of computers and validated by them.
According to some implementations, a node can contain one or several memories and one or two processors that are communicatively linked to the one or multiple memories. One or more processors could receive credit data from an individual who has credit with a single organization. The new credit data may be shared with a network that is associated with the same group of organizations by using a distributed ledger and a collection of distributed data sources. One or more processors can generate a storage ID for the new credit information by using a mapping function. The storage identifier can identify the storage location where the new credit data will be stored within the distributed data sources. One or more processors could provide the storage identifier to the smart contract for the new credit data. Distributed ledgers may support the smart contract. One or more processors can broadcast the storage ID for the new credit information to the network. This will cause a second node in the network to give the storage identifier to the copy of the smart contracts that is available to them. The broadcasting of the storage ID may allow the second node to, on the basis of a request from a device associated to a second organisation, to obtain new credit data. It can also enable the second node to obtain the storage ID for the new data from the smart contract. One or more processors can perform various actions to obtain additional credit data from the distributed data source or provide additional credit data to the distributed data source.
One possible implementation of a method is to receive, from a first node associated with a single organization, a storage ID for credit data that an individual has. To share new credit data with a network that is associated with an organization that has access to it, a distributed ledger and a collection of distributed data sources could be used. A storage identifier can be used to identify the storage location where the new credit data will be kept within the distributed data source set. A second node, associated with another organization in the group, may provide the new credit data to the distributed data sources. This may involve updating a smart contract associated to the individual to include the storage ID for the new credit information. This may involve receiving a request for new credit data from the first node. The first node may be able to obtain the storage identifier from the smart contract for the new credit data. The smart contract could provide digital currency to the account associated with the second organisation by obtaining the storage identifier. This could include the first node obtaining the new credit data using the storage ID to search the distributed data sources. The first node may provide the new credit data to a device associated with the organization. The first node may perform a set of actions that are related to obtaining additional credit data from the distributed data source or providing additional credit data to the distributed data source.
According to some implementations, a computer-readable non-transitory medium could store one or several instructions that, when executed, cause one or more processors receive new credit data from an individual who has credit with a single organization. The new credit data may be shared with a network that is associated with the same group of organizations by using a blockchain and distributed data sources. One or more instructions could cause one or more processors provide a storage ID for the credit data to a smart-contract associated with the individual. Blockchain may support the smart contract. The storage identifier can be used to identify the storage location where the credit data will be kept within the distributed data source set. One or more instructions could cause one or more processors provide the new credit information and the storage ID to the set of distributed sources. The storage identifier may also be used to store the new credit data. One or more instructions could cause one or more processors broadcast the storage ID for the new data to the network. This will cause a specific node of the network to add the storage ID for the new data to a copy that is accessible to them. The broadcasting of the storage ID may allow a particular node, upon a request from a second organization for new credit information, to obtain the storage ID for the new data from the copy. It can also be used to access the storage identifier to get the new data from the set. One or more instructions could cause one or more processors perform a series of actions related to obtaining additional credit data from the distributed data source set and/or providing additional credit data to the distributed data source set.
The accompanying drawings provide a detailed description of examples implementations. Different drawings might have the same reference numbers. This could identify similar or identical elements.
A reporting agency can collect data about individuals. However, a group of organizations might pay the agency to have the data accessible. A credit reporting agency might collect credit data about individuals. However, other organizations, such as financial institutions, may pay the agency to have access to the credit data. Each organization can provide credit data to the credit agency independently. This allows the credit agency to act as a single source of credit data and charge organizations for access to credit data.
The credit reporting agency may not offer any consideration to the organizations for providing credit data. Credit reporting agencies may also have privacy and security concerns when they provide credit data. A credit reporting agency might resell credit data without the consent or knowledge of the individual. Or, the organization that provides credit data may have security breaches that allow an unauthorized user access to credit data.
A blockchain can be used in certain cases to store credit information for individuals. Blockchain is a distributed database that keeps a continually growing list of records called blocks. These records can be linked together to create a chain. Each block of the blockchain can contain a timestamp, a link to previous blocks and/or transactions. The blocks can be protected from modification and revision.
A blockchain could also include a secure transaction database that is shared among parties in a distributed, established network of computers. Blockchains may be used to record transactions (e.g. an exchange or transfer information) within the network. This reduces or eliminates the need for trusted/centralized third party verification. The distributed ledger could also be a record of consensus that has a cryptographic audit trail. This audit trail is maintained by an independent set of computers and validated by them.
However, the use of blockchain to store credit information of individuals could lead to scalability problems when large amounts of credit data are being considered. The blockchain might not be reliable for updating credit data of individuals if there is no incentive system to encourage organizations to keep the blockchain updated with credit data.
Some of the implementations described herein include a node that can share credit data from an individual using a distributed ledger supported with a blockchain, smart contacts associated with the individual, and a distributed filesystem. Some implementations described herein could also be used to incentivize organizations to use the distributed leadger and distributed file system to share credit data. This allows the first node to facilitate credit data distribution in a secure, distributed, automated, incentive-driven manner.
Security can be provided by providing a distributed ledger with a tamper resistant data structure (e.g. the blockchain), and by implementing different forms of authentication by restricting access the network of nodes for certain organizations or parties. A distributed ledger can improve security by keeping an immutable record credit data. This is done by using cryptographic links among blocks of the distributed leadger. (e.g., decreasing the possibility of unauthorized tampering of credit data) and other such examples. The distributed ledger is secured by nodes that can independently verify each transaction added to it. A distributed ledger provides failover protection. This means that the first node can continue to work even if other nodes have failed to access the distributed ledger.
Incentivizing organizations update the distributed credit file system with updated credit data can be a reliable indicator of creditworthiness. The first node also conserves memory and/or network resources, and/or processing resources. The first node, for example, conserves computing resources and/or network resource that could otherwise be used to query credit bureau data sources in order to obtain credit information of the individual. Another example is that the distributed file system used to store credit data increases scalability and saves memory resources that could otherwise be used to store credit data on the Blockchain.
FIGS. “FIGS. Example implementation 100 might include a network consisting of nodes that are linked to a group that shares credit data with an individual through a distributed ledger that is supported by a Blockchain, a smart contract that is specific to that individual, and a distributed filesystem. In some cases, the network may also implement a mechanism to incentivize the use of the distributed ledger or the distributed file system to credit data.
As shown at FIG. “As shown in FIG. 1A and reference number 102, credit data may be shared between the organizations that have access to it. An individual might have a credit history with the organization and/or request credit from the organization. This group may include lending institutions, financial institutions, and organizations that have data that can be used to determine a credit score. The like. Sometimes, the list of organizations might be restricted to lending agencies. Credit reporting agencies and the like may not be included in some cases.
Credit data can include data about credit events (e.g. data that indicates whether a payment has been made and whether it was received on time, etc. Credit scoring data (e.g., a credit rating determined by a specific organization), data that can be used to calculate a credit score (e.g. data identifying an income and a number of open credit lines, an amount outstanding debt, a history of mortgage payments, etc. ), and/or similar.
In some cases, credit data may be shared via the network of nodes (shown at Node 1 through Node N). The network of nodes might support the blockchain. This may include blocks that store credit data and/or information as blocks in the Blockchain.
In some cases, the smart contract of an individual might be stored in a block on the blockchain. Some implementations may store data that is part of the smart contracts in separate blocks within the Blockchain. The smart contract may be accessed by the network of nodes through a search within the blockchain. As described below, in some implementations, each node within the network of nodes might store a copy the smart contract.
The smart contract could include information that identifies the list of organizations to which the individual has granted permission to access credit data. It may also contain storage information for credit data. One or more functions associated to obtaining credit data or providing credit data. An incentive function is used to create incentives for the group to continue using the network of nodes to obtain credit data. Information identifying the list may include an organization ID (or organization number), a public key that is associated with each organization that has permission to access credit data, and information indicating the type of access (e.g. an organization may have access to the credit data to read, write, add new, modify existing etc.). Credit data, etc. (or similar). Storage information for credit data may contain a storage identifier, which acts as an association (e.g. a pointer), to a memory location in which credit data is stored within the distributed system (shown here as Hashed Address 1 through Hashed Address M).
The functions associated to obtaining credit data or providing credit data could include a read function (e.g. to process requests from organizations that request credit data), a writing function (e.g. to process requests from organizations that request credit data), and/or other similar functions. To perform functions such as obtaining credit data or providing credit data, the incentives function might require tokens (e.g. cryptocurrency) to be used. To read credit data from an institution (e.g. a bank), the organization might have to pay tokens for access to the data.
The network of nodes may support the distributed file system, and/or one or more third-party organisations may support it. The blockchain may not be able to handle large amounts of credit data such as gigabytes or terabytes. The distributed file system could be used in this instance to store credit data. It may use one or more data structures such as a binary search tree (BST), red-black (RB), tree, etc. A graph, a distributed data base, a hashtable, a linked table and/or similar are all possible. The blockchain can also store storage identifiers for credit data (e.g. hashed addresses), where these storage identifiers are used to point out memory locations where credit data is stored within the distributed data system.
Click here to view the patent on Google Patents.