Technical Paper

February 18, 2022
Featured image for “Technical Paper”

A secure decentralized system utilizing substrate nodes, a substrate node, and/or the IPFS cloud network.

General Functions
Screen Shot 2022 03 18 at 11.58.24 AM
Schematics

THE PROBLEM

A reporting agency can collect data relating to consumers or businesses, and a group of individuals or organizations can pay the reporting agency to access the data. For example, a credit reporting agency can collect consumer or business data of consumers or businesses, and a group of individuals or organizations (e.g., crowdfunded, financial institutions, etc.) can pay the credit reporting agency to access the consumer or business data. In this case, each individual or organization can independently provide the consumer or business data of the consumers or businesses to the credit reporting agency, thus allowing the credit reporting agency to serve as a singular source of consumer or business data and to charge individuals or organizations to access the consumer or business data. 

However, the credit reporting agency can not provide the individuals or organizations with any consideration for initially providing the credit reporting agency with the consumer or business data. Furthermore, providing consumer or business data to credit reporting agencies creates security and/or privacy concerns. For example, a credit reporting agency can resell the consumer or business data of the consumer or business without the knowledge or consent of the consumer or business or the individual or organization providing the consumer or business data of the consumer or business can have a security breach that allows an unauthorized user to obtain the consumer or business data, or the like. 

In some cases, a Substrate node can be used to store consumer or business data for consumers or businesses. A Substrate node is a distributed database that maintains a continuously-growing list of records, called blocks, that can be linked together to form a chain. Each block in the Substrate node can contain a timestamp and a link to a previous block or transaction. The blocks can be secured from tampering and revision.

Additionally, a Substrate node can include a secure transaction ledger database shared by parties participating in an established, distributed network of computers. A Substrate node can record a transaction (e.g., an exchange or transfer of information) that occurs in the network, thereby reducing or eliminating the need for trusted/centralized third parties. Further, the Substrate node can correspond to a record of consensus with a cryptographic audit trail that is maintained and validated by a set of independent computers. 

However, using the Substrate node to store consumer or business data of consumers or businesses can create scalability issues when large quantities of consumer or business data are considered. Furthermore, without an adequate system for incentivizing individuals or organizations to continue to update the Substrate node with the consumer or business data of consumers or businesses, the Substrate node can not be a reliable source of updated consumer or business data of consumers or businesses. 

WHY SUBSTRATE?

The issues regarding layer one and layer two blockchain technologies offering decentralization solutions are the critical factors in deciding to build the Fresh Protocol utilizing the Substrate blockchain framework. The cross-chain capabilities are able to address issues regarding data heterogeneity and fragmentation.

Compatibility – Rust and wasm (apps consumers use) – JavaScript and C# is what 70% of the digital world is built on. So why use Rust? Rust is the only other contender in the same space, but the major difference is that Rust is safer and faster than JavaScript and C#. What does this mean? That Rust can handle backend and frontend developer needs. Combining Rust with web assembly (WASM), developers can compile Rust to 40+ different programming languages supporting tens of millions of developers out of the box compared. Comparing dev support for Solidity, Ethereum’s smart contract programming language has 150k devs worldwide. Rust was voted the most loved language in a poll taken on StackOverflow 5 years in a row.

Composability – forkless modular framework – as the blockchains currently are not built with modular framework system stacks, leaving them unable to restructure their networks to keep up with new compliance standards, new regulations, or network requests without forking their code and directly affecting their internal economic market that compound over time driving up network fees. Blockchain technology must be properly implemented for it to thrive and have a long-term global impact.

Scalability – Often, scalability often refers to transactions per second (TPS). Understanding the concept of the six degrees of separation, we can hypothesize that by using three parachains, we are already able to reach 1,000,000 TPS. A parachain takes 6 seconds to finalize each block, meaning anyone can transact with anyone else on any other network within 18 seconds. At four parachains, we end up at 100,000,000 TPS and so on each time multiplied by 100 more parachains, and so on. Quickly TPS becomes irrelevant. Scalability is about transitioning with the least time and friction.

SECURITY

For example, security is provided by supporting the Substrate node with a tamper-resistant data structure (e.g., the parachain), by implementing various forms of authentication, by restricting access to the network of Substrate nodes to particular individuals or organizations or parties, or the like. To provide a few particular examples, the Substrate node can improve security by preserving an immutable record of the consumer or business data, by using cryptographic links between blocks of the Substrate node (e.g., reducing the potential for unauthorized tampering with the consumer or business data), or the like. Security is further improved as a result of Substrate nodes that have access to the Substrate node independently verifying each transaction that is added to the Substrate node. Moreover, the use of a Substrate node also provides failover protection, in that the first Substrate node can continue to operate in a situation where one or more other Substrate nodes that have access to the Substrate node fail.

INCENTIVE

Furthermore, By incentivizing individuals or organizations to update the IPFS cloud network with new consumer or business data, the consumer or business data can serve as a reliable indicator of the creditworthiness of the consumer or business. Still further, the first Substrate node conserves processing resources or network resources, or memory resources. For example, the first Substrate node conserves processing resources or network resources that might otherwise be used to query a set of credit bureau data sources to obtain consumer or business data of the consumer or business. As another example, by utilizing the IPFS cloud network to store the consumer or business data, the network of Substrate nodes improves in scalability and conserves memory resources that might otherwise be used to attempt to store the consumer or business data on the Substrate node.

Some implementations described herein include a first Substrate node of a network of Substrate nodes that is able to share consumer or business data of a consumer or business by utilizing a Substrate node supported by a Substrate node, a Substrate node associated with the consumer, or business, the IPFS cloud network. Additionally, some implementations described herein can also provide a mechanism for incentivizing individuals or organizations to use the Substrate node and the IPFS cloud network to share the consumer or business data, as described further herein.

THE PROCESS

1. A process, comprising: receiving, by a first substrate node, new consumer or business data associated with a consumer or business that has credit with a first individual or organization, wherein a substrate node and the IPFS cloud network are to be used to share the new consumer or business data with a network of substrate nodes that are associated with a group of individuals or organizations that is permitted to access the new consumer or business data, and wherein the new consumer or business data has been provided to the IPFS cloud network by a second substrate node associated with a second individual or organization of the group of individuals or organizations; updating, by the first substrate node, a substrate node associated with the consumer or business to include information associated with the new consumer or business data; and performing, by the first substrate node, a group of actions associated with obtaining additional new consumer or business data from the IPFS cloud network or providing the additional new consumer or business data to the IPFS cloud network. 

2. The process of step 1, further comprising: receiving, from a device associated with the first individual or organization, a request for the new consumer or business data; obtaining, by the first substrate node, the information associated with the new consumer or business data from the substrate node; obtaining, by the first substrate node, the new consumer or business data by using a storage identifier to search the IPFS cloud network; and providing, by the first substrate node, the new consumer or business data to the device associated with the first individual or organization. 

3. The process of step 1, wherein the first individual or organization is permitted to use the network of substrate nodes to access the new consumer or business data if an individual or organization identifier for the first individual or organization is stored by a data structure associated with the substrate node, and wherein the individual or organization identifier for the first individual or organization is added to the data structure. 

4. The process of step 1, further comprising: generating, after receiving the new consumer or business data, a storage identifier for the new consumer or business data by using a content addressing technique to generate a cryptographic hash value identifying a storage location at which the new consumer or business data is to be stored within the IPFS cloud network, wherein the cryptographic hash value is to be used as the storage identifier for the new consumer or business data. 

5. The process of step 1, wherein the substrate node is used for the consumer or business and includes at least one of: data identifying the group of individuals or organizations that are permitted to access the new consumer or business data, a set of storage identifiers identifying a set of storage locations associated with historical consumer or business data of the consumer or business, a first function associated with providing the new consumer or business data to the IPFS cloud network, or a second function associated with obtaining the new consumer or business data from the IPFS cloud network. 

6. The process of step 1, wherein the first individual or organization and the second individual or organization are lending to consumers or businesses. 

7. A first substrate node, comprising: one or more memories; and one or more processors communicatively coupled to the one or more memories, configured to: receive new consumer or business data associated with a consumer or business that has credit with a first individual or organization, wherein a substrate node and the IPFS cloud network are to be used to share the new consumer or business data with a network of substrate nodes that are associated with a group of individuals or organizations that is permitted to access the new consumer or business data; provide a storage identifier for the new consumer or business data to a substrate node associated with the consumer or business, wherein the substrate node is supported by the substrate node, and wherein the storage identifier is used to identify a storage location at which the new consumer or business data is to be stored within the IPFS cloud network; and perform a group of actions associated with obtaining additional new consumer or business data from the IPFS cloud network or providing the additional new consumer or business data to the IPFS cloud network. 

8. The first substrate node of step 7, wherein the one or more processors are further configured to: generate, using a content addressing technique, a cryptographic hash value identifying the storage location at which the new consumer or business data is to be stored within the IPFS cloud network, wherein the cryptographic hash value is to be used as the storage identifier for the new consumer or business data. 

9. The first substrate node of step 8, wherein the one or more processors, when performing the group of actions, are to: provide the additional new consumer or business data to the IPFS cloud network to cause substrate nodes associated with other individuals or organizations to obtain the additional new consumer or business data. 

10. The first substrate node of step 7, wherein the first individual or organization is permitted to use the network of substrate nodes to access the new consumer or business data if an individual or organization identifier for the first individual or organization is stored by a data structure associated with the substrate node, and wherein the individual or organization identifier for the first individual or organization is added to the data structure. 

11. The first substrate node of step 7, wherein the one or more processors, when performing the group of actions, are to: obtain the additional new consumer or business data from the IPFS cloud network, wherein another substrate node in the network of substrate nodes provided the additional new consumer or business data to the IPFS cloud network, wherein the other substrate node is associated with a particular individual or organization. 

12. The first substrate node of step 7, wherein the substrate node is used for the consumer or business, and includes at least one of: data identifying the group of individuals or organizations that are permitted to access the new consumer or business data, a set of storage identifiers identifying a set of storage locations associated with historical consumer or business data of the consumer or business, a first function associated with providing the new consumer or business data to the IPFS cloud network. 

13. The first substrate node of step 7, wherein the one or more processors are further to: broadcast the storage identifier for the new consumer or business data to the network of substrate nodes to cause a second substrate node, of the network of substrate nodes, to provide the storage identifier for the new consumer or business data to a substrate node that is accessible to the second substrate node, wherein broadcasting the storage identifier permits, based on a request from a device associated with a second individual or organization, the second substrate node to obtain the new consumer or business data, obtain the storage identifier for the new consumer or business data from the substrate node, use the storage identifier to obtain the new consumer or business data from 

the IPFS cloud network, provide the new consumer or business data to the device associated with the second individual or organization. 

14. A non-transitory computer-readable medium storing instructions, the instructions comprising: one or more instructions that, when executed by one or more processors, cause the one or more processors of a first substrate node to: receive new consumer or business data associated with a consumer or business that has credit with a first individual or organization, wherein a substrate node and the IPFS cloud network are to be used to share the new consumer or business data with a network of substrate nodes that are associated with a group of individuals or organizations that is permitted to access the new consumer or business data; provide a storage identifier for the new consumer or business data to a substrate node associated with the consumer or business; broadcast the storage identifier for the new consumer or business data to the network of substrate nodes to cause a second substrate node, of the network of substrate nodes, to provide the storage identifier for the new consumer or business data to a substrate node that is accessible to the second substrate node; and perform a group of actions associated with obtaining additional new consumer or business data from the IPFS cloud network or providing the additional new consumer or business data to the IPFS cloud network. 

15. The non-transitory computer-readable medium of step 14, wherein the one or more instructions, when executed by the one or more processors, further cause the one or more processors to: receive, from a device associated with the first individual or organization, a request for the new consumer or business data; obtain information associated with the new consumer or business data from the substrate node; obtain the new consumer or business data by using the storage identifier to search the IPFS cloud network; and provide the new consumer or business data to the device associated with the first individual or organization. 

16. The non-transitory computer-readable medium of step 15, wherein broadcasting the storage identifier permits, based on a request from a device associated with a second individual or organization, the second substrate node to obtain the new consumer or business data, obtain the storage identifier for the new consumer or business data from the substrate node, use the storage identifier to obtain the new consumer or business data from the IPFS cloud network, provide the new consumer or business data to the device associated with the second individual or organization. 

17. The non-transitory computer-readable medium of step 14, wherein the first individual or organization is permitted to use the network of substrate nodes to access the new consumer or business data if an individual or organization identifier for the first individual or organization is stored by a data structure associated with the substrate node; and wherein the individual or organization identifier for the first individual or organization is added to the data structure. 

18. The non-transitory computer-readable medium of step 14, wherein the new consumer or business data received from the IPFS cloud network has been encrypted using a first key associated with the consumer or business; and wherein the one or more instructions, when executed by the one or more processors, further cause the one or more processors to: decrypt the new consumer or business data using a second key associated with the consumer or business; encrypt the new consumer or business data using a first key associated with the first individual or organization; and provide the new consumer or business data to a device associated with the first individual or organization, wherein the new consumer or business data that has been encrypted using the first key associated with the first individual or organization to permit the device associated with the first individual or organization to decrypt the new consumer or business data using a second key associated with the first individual or organization. 

19. The non-transitory computer-readable medium of step 14, wherein the substrate node is used for the consumer or business, and includes at least one of: data identifying the group of individuals or organizations that are permitted to access the new consumer or business data, a set of storage identifiers identifying a set of storage locations associated with historical consumer or business data of the consumer or business, a first function associated with providing the new consumer or business data to the IPFS cloud network, or a second function associated with obtaining the new consumer or business data from the IPFS cloud network. 

1. DESCRIPTION 

2. BACKGROUND

3. A blockchain is a distributed database that maintains a continuously growing list of records, called blocks, that can be linked together to form a chain. Each block in the blockchain can contain a timestamp and a link to a previous block or transaction. The blocks can be secured from tampering and revision. In addition, a blockchain can include a secure transaction ledger database shared by parties participating in an established, distributed network of computers. A blockchain can record a transaction (e. g., exchange or transfer of information) that occurs in the network, thereby reducing or eliminating the need for trusted/centralized third parties. In some cases, the parties participating in a transaction can not know the identities of any other parties participating in the transaction but can securely exchange information. 

4. A parachain substrate node is an application-specific data structure that is globally coherent and can be validated by the validators of a relay chain. Most commonly, a parachain substrate node will take the form of a blockchain, but there is no specific need for them to be actual blockchains. Parachains take their name from the concept of parallelized chains that run parallel to the relay chain, which is also a parachain. Due to their parallel nature, they are able to parallelize transaction processing and achieve scalability of the system. They share in the security of the network and can communicate with other parachains using, cross-chain messaging (XCMP). Further, the parachain substrate node can correspond to a record of consensus with a cryptographic audit trail that is maintained and validated by a set of individual computers. 

5. SUMMARY 

6. According to some possible implementations, a first substrate node can include one or more memories and one or more processors that are communicatively connected to the one or more memories. The one or more processors can receive new consumer or business data of a consumer or business that has credit with a first individual or organization. A substrate node and the IPFS cloud network can be used to share the new consumer or business data with a network of substrate nodes that are associated with a group of individuals or organizations that are permitted to access the new consumer or business data. The one or more processors can generate a storage identifier for the new consumer or business data by executing a mapping function. The storage identifier can identify a storage location at which the new consumer or business data is to be stored within the IPFS cloud network. The one or more processors can provide the storage identifier for the new consumer or business data to a substrate node associated with the consumer or business. The substrate node can be supported by the substrate node. The one or more processors can broadcast the storage identifier for the new consumer or business data to the network of substrate nodes to cause a second substrate node, of the network of substrate nodes, to provide the storage identifier for the new consumer or business data to a substrate node that is accessible to the second substrate node. Broadcasting the storage identifier can permit the second substrate node, based on a request from a device associated with a second individual or organization, to obtain the new consumer or business data, obtain the storage identifier for the new consumer or business data from the substrate node, use the storage identifier to obtain the new consumer or business data from the IPFS cloud network, provide the new consumer or business data to the device associated with the second individual or organization, and provide digital currency associated with the second individual or organization to an account associated with the first individual or organization. The one or more processors can perform a group of actions associated with obtaining additional new consumer or business data from the IPFS cloud network or providing the additional new consumer or business data to the IPFS cloud network. 

7. According to some possible implementations, a process can include receiving, by a first substrate node that is associated with a first individual or organization, a storage identifier for new consumer or business data associated with a consumer or business. A substrate node and the IPFS cloud network can be used to share the new consumer or business data with a network of substrate nodes that are associated with a group of individuals or organizations that are permitted to access the new consumer or business data. The storage identifier can be used to identify a storage location at which the new consumer or business data is to be stored within the IPFS cloud network. The new consumer or business data can be provided to the IPFS cloud network by a second substrate node associated with a second individual or organization of the group of individuals or organizations. The process can include updating, by the first substrate node, a substrate node associated with the consumer or business to include the storage identifier for the new consumer or business data. The process can include receiving, by the first substrate node and from a device associated with the first individual or organization, a request for the new consumer or business data. The process can include obtaining, by the first substrate node, the storage identifier for the new consumer or business data from the substrate node. Obtaining the storage identifier from the substrate node can cause the substrate node to provide digital currency associated with the first individual or organization to an account associated with the second individual or organization. The process can include obtaining, by the first substrate node, the new consumer or business data by using the storage identifier to search the IPFS cloud network. The process can include providing, by the first substrate node, the new consumer or business data to the device associated with the first individual or organization. The process can include performing, by the first substrate node, a group of actions associated with obtaining additional new consumer or business data from the IPFS cloud network or providing the additional new consumer or business data to the IPFS cloud network. 

8. According to some possible implementations, a non-transitory computer-readable medium can store one or more instructions that, when executed by one or more processors, cause the one or more processors to receive new consumer or business data of a consumer or business that has credit with a first individual or organization. A substrate node and the IPFS cloud network can be used to share the new consumer or business data with a network of substrate nodes that are associated with a group of individuals or organizations that are permitted to access the new consumer or business data. The one or more instructions can cause the one or more processors to provide a storage identifier for the new consumer or business data to a substrate node associated with the consumer or business. The substrate node can be supported by the substrate node. The storage identifier can be used to identify a storage location at which the new consumer or business data is to be stored within the IPFS cloud network. The one or more instructions can cause the one or more processors to provide the new consumer or business data and the storage identifier to the IPFS cloud network. The new consumer or business data can be stored in association with the storage identifier. The one or more instructions can cause the one or more processors to broadcast the storage identifier for the new consumer or business data to the network of substrate nodes to cause a particular substrate node, of the network of substrate nodes, to add the storage identifier for the new consumer or business data to a substrate node that is accessible to the particular substrate node. Broadcasting the storage identifier can permit the particular substrate node to, based on a request for the new consumer or business data by a second individual or organization, obtain the storage identifier for the new consumer or business data from the substrate node, use the storage identifier to obtain the new consumer or business data from the IPFS cloud network, provide the new consumer or business data to an interface associated with the second individual or organization, and provide digital currency associated with the second individual or organization to an account associated with the first individual or organization. The one or more instructions can cause the one or more processors to perform a group of actions associated with obtaining additional new consumer or business data from the IPFS cloud network or providing the additional new consumer or business data to the IPFS cloud network. 

9. BRIEF DESCRIPTION OF THE DRAWINGS 

10. FIGS. 1A-1E are diagrams of an example implementation described herein. 

11. FIG. 2 is a diagram of an example environment in which systems or processes, described herein, can be implemented. 

12. FIG. 3 is a diagram of example components of one or more devices of FIG. 2. 

13. FIGS. 4-6 are flow charts of an example process for sharing consumer or business data of a consumer or business among a network of substrate nodes that have access to a substrate node, a substrate node associated with the consumer or business, and the IPFS cloud network. 

DETAILED DESCRIPTION 

15. The following detailed description of example implementations refers to the accompanying drawings. The same reference numbers in different drawings can identify the same or similar elements. 

16. A reporting agency can collect data relating to consumers or businesses, and a group of individuals or organizations can pay the reporting agency to access the data. For example, a credit reporting agency can collect consumer or business data of consumers or businesses, and a group of individuals or organizations (e.g., crowdfunded, financial institutions, etc.) can pay the credit reporting agency to access the consumer or business data. In this case, each individual or organization can independently provide the consumer or business data of the consumers or businesses to the credit reporting agency, thus allowing the credit reporting agency to serve as a singular source of consumer or business data, and to charge individuals or organizations to access the consumer or business data. 

17. However, the credit reporting agency can not provide the individuals or organizations with any consideration for initially providing the credit reporting agency with the consumer or business data. Furthermore, providing consumer or business data to credit reporting agencies creates security or privacy concerns. For example, a credit reporting agency can resell the consumer or business data of the consumer or business without the knowledge or consent of the consumer or business or the individual or organization providing the consumer or business data of the consumer or business, can have a security breach that allows an unauthorized user to obtain the consumer or business data, or the like. 

18. In some cases, a substrate node can be used to store consumer or business data for consumers or businesses. A substrate node is a distributed database that maintains a continuously-growing list of records, called blocks, that can be linked together to form a chain. Each block in the substrate node can contain a timestamp and a link to a previous block or transaction. The blocks can be secured from tampering and revision. 

19. Additionally, a substrate node can include a secure transaction ledger database shared by parties participating in an established, distributed network of computers. A substrate node can record a transaction (e.g., an exchange or transfer of information) that occurs in the network, thereby reducing or eliminating the need for trusted/centralized third parties. Further, the substrate node can correspond to a record of consensus with a cryptographic audit trail that is maintained and validated by a set of independent computers. 

20. However, using the substrate node to store consumer or business data of consumers or businesses can create scalability issues when large quantities of consumer or business data are considered. Furthermore, without an adequate system for incentivizing individuals or organizations to continue to update the substrate node with the consumer or business data of consumers or businesses, the substrate node can 

not be a reliable source of updated consumer or business data of consumers or businesses. 

21. Some implementations described herein include a first substrate node, of a network of substrate nodes, that is able to share consumer or business data of a consumer or business by utilizing a substrate node supported by a substrate node, a substrate node associated with the consumer or business, the IPFS cloud network. Additionally, some implementations described herein can also provide a mechanism for incentivizing individuals or organizations to use the substrate node and the IPFS cloud network to share the consumer or business data, as described further herein. In this way, the first substrate node is able to facilitate the distribution of the consumer or business data in a manner that is secure, distributed, automated, and incentive-driven. 

22. For example, security is provided by supporting the substrate node with a tamper-resistant data structure (e.g., the parachain), by implementing various forms of authentication, by restricting access to the network of substrate nodes to particular individuals or organizations or parties, or the like. To provide a few particular examples, the substrate node can improve security by preserving an immutable record of the consumer or business data, by using cryptographic links between blocks of the substrate node (e.g., reducing the potential for unauthorized tampering with the consumer or business data), or the like. Security is further improved as a result of substrate nodes that have access to the substrate node independently verifying each transaction that is added to the substrate node. Moreover, use of a substrate node also provides failover protection, in that the first substrate node can continue to operate in a situation where one or more other substrate nodes that have access to the substrate node fail. 

23. Furthermore, by incentivizing individuals or organizations to update the IPFS cloud network with new consumer or business data, the consumer or business data can serve as a reliable indicator of creditworthiness of the consumer or business. Still further, the first substrate node conserves processing resources or network resources or memory resources. For example, the first substrate node conserves processing resources or network resources that might otherwise be used to query a set of credit bureau data sources to obtain consumer or business data of the consumer or business. As another example, by utilizing the IPFS cloud network to store the consumer or business data, the network of substrate nodes improves in scalability and conserves memory resources that might otherwise be used to attempt to store the consumer or business data on the substrate node. 

24. FIGS. 1A-1E are diagrams of an example implementation 100 described herein. For example, example implementation 100 can include a network of substrate nodes that are associated with a group of individuals or organizations that share consumer or business data of a consumer or business using a substrate node supported by a substrate node, a substrate node specific to the consumer or business, the IPFS cloud network. Additionally, in some cases, the network of substrate nodes can implement a mechanism for incentivizing the group of individuals or organizations to use the substrate node and the IPFS cloud network to share consumer or business data. 

General Functions

25. As shown in FIG. 1A, and by reference number 102, the consumer or business data of the consumer or business can be shared among the group of individuals or organizations that are permitted to access the consumer or business data. the consumer or business can have a credit history with the group of individuals or organizations or can request credit from the group of individuals or organizations. The group of individuals or organizations can include financial institutions, lending institutions, individuals or organizations with data that can be useful for determining a credit score (e.g., individuals or organizations that rate the consumer or business, such as individuals or organizations that provide online-purchasing platforms, ride-sharing individuals or organizations, etc.), or the like. In some cases, the group of individuals or organizations can be limited to lending individuals or organizations, can exclude credit reporting agencies, or the like. 

26. The consumer or business data can include credit events data (e.g., data indicating whether a payment was made, whether a payment was timely, etc.), credit scoring data (e.g., a credit score determined by a particular individual or organization), data that can be used to determine a credit score (e.g., data identifying an income, length of employment, number of open lines of credit, an amount of outstanding debt, a mortgage payment history, assets; physical or digital asset holdings, verified IoT devices, complaints, revenue, etc.), or the like. 

27. In some implementations, the consumer or business data of the consumer or business can be shared using the network of substrate nodes (shown as substrate node 1 through the Network substrate node to substrate node Z). For example, the network of substrate nodes can support the substrate node, which can include a set of blocks that store the consumer or business data or information associated with the consumer or business data as blocks in the substrate node. 

28. In some implementations, the substrate node for the consumer or business can be stored as a block within the substrate node. In some implementations, data included as part of the substrate node can be stored as separate blocks within the substrate node. In some implementations, the network of substrate nodes can access the substrate node by searching a particular storage location within the substrate node. In some implementations, each substrate node in the network of substrate nodes can store a substrate node, as described further herein. 

29. The substrate node can include information identifying a list of individuals or organizations that the consumer or business has given permission to access the consumer or business data, storage information for particular consumer or business data, one or more functions associated with obtaining the consumer or business data or providing new consumer or business data, and incentives function associated with creating incentives for the group of individuals or organizations to continue to use the network of substrate nodes to obtain the consumer or business data or to provide new consumer or business data. The information identifying the list of individuals or organizations can include an individual or organization identifier (ID) for an individual or organization, a public key associated with each individual or organization that has been given permission to access the consumer or business data, information indicating a type of access (e.g., an individual or organization can be permitted to read the consumer or business data, write (e.g., add new, modify existing, etc.) the consumer or business data, etc.), or the like. The storage information for particular consumer or business data can include a storage identifier that serves as an association (e.g., a pointer) to a memory location where the consumer or business data is stored within the IPFS cloud network (shown as Hashed Address 1 through Hashed Address R), as described further herein. 

30. The functions associated with obtaining the consumer or business data or providing new consumer or business data can include a read function (e.g., to process requests by individuals or organizations that request to read the consumer or business data), a write function (e.g., to process requests by individuals or organizations that request to write the consumer or business data), or the like. The incentives function can require that tokens (e.g., cryptocurrency) be provided to perform the functions associated with obtaining the consumer or business data or providing new consumer or business data. For example, for an individual or organization (e.g., a financial institution) to read particular consumer or business data, the individual or organization can have to pay tokens to another individual or organization (e.g., another financial institution) that wrote the particular consumer or business data into the substrate node. 

31. the IPFS cloud network can be supported by the network of substrate nodes or can be supported by one or more third-party individuals or organizations. For example, the substrate node can be unable to support large quantities of consumer or business data (e.g., gigabytes of consumer or business data, terabytes of consumer or business data, etc.). In this case, the IPFS cloud network can be used to handle data storage for the consumer or business data, and can store the consumer or business data using one or more data structures, such as a tree (e.g., a binary search tree (BST), a red-black (RB) tree, a B-tree, etc.), a graph, a distributed database, a hash table, a linked list, or the like. Additionally, the substrate node can store storage identifiers (e.g., hashed addresses) for particular consumer or business data, where the storage identifiers serve as pointers to memory locations at which the particular consumer or business data is stored within the IPFS cloud network. 

32. In this way, the consumer or business and the group of individuals or organizations are able to securely share the consumer or business data of the consumer or business using the substrate node, the substrate node, and the IPFS cloud network. 

Requesting Consumer Report

33. As shown in FIG. 1B, and by reference number 104, a device associated with a first individual or organization (shown as Device of individual 1 or organization 1) can provide, to a first substrate node, a request to access the consumer or business data of the consumer or business. For example, the consumer or business can have applied for credit with the first individual or organization, which can have caused the first individual or organization to request access to the consumer or business data of the consumer or business. 

34. As shown by reference number 106, The request can include an individual or organization ID for the first individual or organization, a public key associated with the first individual or organization, one or more tokens, or the like. The public key can be part of a key pair (e.g., the public key and a corresponding private key) that are associated with the first individual or organization, whereby the private key is only accessible to the first individual or organization and can be used to decrypt data, and the public key can be provided to other parties and can be used to encrypt data. In some cases, the first individual or organization can compensate an individual or organization for the consumer or business data, in which case tokens can be provided as part of the request. 

35. As shown by reference number 108, the first substrate node can interact with the IPFS cloud network to obtain encrypted consumer or business data of the consumer or business through the network substrate node. The network substrate node can interact with the network of substrate nodes to interact with distributed file system to obtain encrypted consumer or business data of the consumer or business. For example, to be approved for the credit, the consumer or business can instruct the first substrate node to obtain the encrypted consumer or business data. In this case, the first substrate node can obtain the storage identifiers of the consumer or business data (e.g., the hashed addresses) through the network substrate node from a second substrate node, and can use the storage identifiers to search the IPFS cloud network to obtain the encrypted consumer or business data. 

36. As shown by reference number 110, the second substrate node is able to receive a request for the consumer or business data of the consumer or business, and is able to interact with the the IPFS cloud network to obtain the consumer or business data. 

37. As shown by reference number 112, the second substrate node can use a private key to decrypt the consumer or business data. For example, the first substrate node can store a private key that is accessible only to the individual or organization, which can be used for decrypting the consumer or business data. The private key can be associated with one or more public keys, which can be distributed to individuals or organizations that are permitted to access the consumer or business data, and which can be used for encrypting the consumer or business data, as described further herein. 

38. As shown by reference number 114, the second substrate node can encrypt (i.e., re-encrypt) the consumer or business data using the public key of the first individual or organization. For example, the second substrate node can use the public key that was included in the request to encrypt the consumer or business data. 

39. As shown by reference number 116, the second substrate node can generate a set of storage identifiers for the encrypted consumer or business data. For example, the second substrate node can execute a mapping function, such as a hash function, that is able to generate a set of hash values for the consumer or business data. As described above, a hash value can serve as a storage identifier (e.g., an address) that is able to be used as a pointer to a memory location within the IPFS cloud network. In some cases, the second substrate node can generate a single hash value, which can serve as a storage identifier to a memory location that can be used to identify all of the consumer or business data. In some cases, the second substrate node can generate a set of hash values, where each of the set of hash values can serve as storage identifiers to respective memory locations that can be used to identify corresponding portions of the consumer or business data. 

40. As shown by reference number 118, the second substrate node can provide the set of storage identifiers and the encrypted 

consumer or business data to the IPFS cloud network. 

41. Furthermore, the second substrate node can provide the set of storage identifiers to be stored as part of the substrate node of the consumer or business. For example, the second substrate node can have access to a first substrate node of the consumer or business, and can update the first substrate node with the set of storage identifiers. Additionally, the first substrate node can broadcast the set of storage identifiers to the network of substrate nodes to allow each of the network of substrate nodes to update each substrate node with the set of storage identifiers. Furthermore, the substrate node of the consumer or business can be used to store the set of storage identifiers in a list, whereby each storage identifier, of the set of storage identifiers, is an address to particular consumer or business data (e.g., each credit event associated with the consumer or business can have a different storage identifier). 

42. In this way, the set of storage identifiers can be stored as part of the substrate node, such that an individual or organization with access to the substrate node can be able to obtain and use the set of storage identifiers to identify memory locations within the IPFS cloud network that store the encrypted consumer or business data, as described further herein. 

43. As shown by reference number 120, the first substrate node can provide, to the device of the first individual or organization, a notification indicating that the request to access the consumer or business data of the consumer or business has been granted. For example, the first individual or organization can be added to the list of individuals or organizations permitted to access the consumer or business data (e.g., which is stored as part of the substrate node). 

44. Furthermore, the message granting the request can indicate that the first individual or organization is permitted to utilize a read function of the substrate node, which can be used to read the consumer or business data. In some cases, the first individual or organization can not be permitted to utilize a write function of the substrate node until the first individual or organization provides the consumer or business with credit, as described further herein. 

45. As shown by reference number 120, the device of the first individual or organization can obtain the set of storage identifiers identifying addresses to memory locations used to store the encrypted consumer or business data. For example, the device of the first individual or organization can search the substrate node to identify the set of storage identifiers. In this case, the substrate node can associate the set of storage identifiers with individual or organization identifiers of individuals or organizations that provided particular consumer or business data and with public keys associated with the individuals or organizations. 

46. In some implementations, rather than access the substrate node directly, the device associated with the first individual or organization can be assigned a particular substrate node, and the particular substrate node can obtain the set of storage identifiers. For example, the device associated with the first individual or organization can, after receiving access to the consumer or business data, provide a request for the consumer or business data to the particular substrate node. The request can include an individual or organization identifier associated with the first individual or organization. In this case, the particular substrate node can search the substrate node to verify that the individual or organization identifier is on the list of individuals or organizations that are permitted to access the consumer or business data and can obtain the set of storage identifiers needed to search the IPFS cloud network for the consumer or business data.

Grant Consumer Credit

47. As shown in FIG. 1C, and by reference number 122, the device of the first individual or organization can use the set of storage identifiers to search the IPFS cloud network to obtain the encrypted consumer or business data. For example, the consumer or business data can be stored as encrypted data within the IPFS cloud network (e.g., which had been encrypted using the public key of the first individual or organization), and the device of the first individual or organization can use the set of storage identifiers to search the IPFS cloud network to obtain the encrypted consumer or business data. In this case, the IPFS cloud network can use a data structure that associates the set of storage identifiers with the encrypted consumer or business data and with individual or organization identifiers for individuals or organizations that provided particular consumer or business data to the IPFS cloud network. 

48. In some implementations, rather than access the IPFS cloud network directly, the device associated with the first individual or organization can be assigned the particular substrate node, and the particular substrate node can obtain the consumer or business data. For example, as described above, the device associated with the first individual or organization can provide the request for the consumer or business data to the particular substrate node, which can cause the particular substrate node to obtain the set of storage identifiers. In this case, the particular substrate node can use the set of storage identifiers to search the IPFS cloud network for the consumer or business data, and can provide the consumer or business data to the device associated with the first individual or organization. 

49. As shown by reference number 124, the device of the first individual or organization can use a private key associated with the first individual or organization to decrypt the consumer or business data. For example, the first individual or organization can have a private key, and, as described above, can have previously provided a corresponding public key to the first substrate node (e.g., which the first substrate node used to encrypt the consumer or business data). In this case, the device of the first individual or organization can use the private key to decrypt the consumer or business data. 

50. In this way, the device of the first individual or organization is able to obtain the consumer or business data of the consumer or business, which can be processed to determine whether to grant the consumer or business with credit. 

51. As shown by reference number 122, the device of the first individual or organization can grant the consumer or business with credit. For example, the device associated with the individual or organization can analyze the consumer or business data and can determine, based on the analysis, to grant the consumer or business with credit. 

52. As shown by reference number 124, the device of the first individual or organization can provide, to the first substrate node (or to another device or account associated with the consumer or business), a notification indicating that the consumer or business is being granted with credit. 

53. As shown by reference number 126, the first substrate node can permit the first individual or organization to access the write function of the substrate node. For example, because the consumer or business has been granted with credit, the first individual or organization can have new consumer or business data associated with the consumer or business that needs to be added to the substrate node (e.g., records of timely payments, untimely payments, or the like). As such, the first individual or organization can be permitted to access the write function of the substrate node so that the first individual or organization can add the new consumer or business data to the substrate node. 

54. As shown by reference number 128, the first substrate node can provide the device of the first individual or organization with a notification indicating that access to the write function has been permitted. 

55. In this way, the device of the first individual or organization is able to use the write function of the substrate node to add new consumer or business data to the substrate node, as described with regard to FIG. 1E. 

Broadcast Storage Identifier

56. As shown in FIG. 1D, and by reference number 130, the device of the first individual or organization can receive new consumer or business data. For example, the device of the first individual or organization can receive new consumer or business data indicating that the consumer or business opened a new account, made a timely payment, failed to make a timely payment, or the like. 

57. As shown by reference number 132, the device of the first individual or organization can encrypt the new consumer or business data using a public key. For example, the device of the first individual or organization can encrypt the new consumer or business data using the public key associated with the consumer or business or public keys associated with individuals or organizations which have been granted write access, which can have been provided to the device associated with the first individual or organization when the first individual or organization was permitted to access the read function or the write function of the substrate node. In some implementations, the device associated with the first individual or organization can encrypt the new consumer or business data using the public key associated with the first individual or organization. 

58. As shown by reference number 134, the device of the first individual or organization can provide the encrypted new consumer or business data to the first substrate node. 

59. As shown by reference number 136, the first substrate node can decrypt the new consumer or business data. For example, the first substrate node can use a private key associated with the consumer or business or a private key associated with the first individual or organization to decrypt the new consumer or business data. 

60. As shown by reference number 138, the first substrate node can obtain, from the substrate node, a set of public keys associated with individuals or organizations that are permitted to access the new consumer or business data. For example, the substrate node can store a list of individual or organization identifiers of individuals or organizations that are permitted to access the new consumer or business data, and the list of individual or organization identifiers can be stored in association with the set of public keys of the individuals or organizations. This can allow the first substrate node to search (e.g., query) the substrate node to obtain the set of public keys. 

61. As shown by reference number 140, the first substrate node can encrypt the new consumer or business data and can generate a set of storage identifiers for the new consumer or business data. For example, the first substrate node can encrypt a new consumer or business data using the set of public keys, such that each individuals or organizations public key is used to create an encrypted new consumer or business data. In this case, the first substrate node can execute a mapping function, such as a hash function (e.g., as described elsewhere herein), to generate a set of storage identifiers for the new consumer or business data. 

62. As shown by reference number 142, the first substrate node can provide the set of storage identifiers to a substrate node of the individuals or organizations (e.g., substrate node 2 is accessible to the first substrate node). For example, the substrate node can store the set of storage identifiers for the encrypted new consumer or business data in a manner that associates the set of storage identifiers with one or more identifiers associated with the individuals or organizations (e.g., individual or organization identifiers, public keys of the individuals or organizations, etc.). 

63. As shown by reference number 144, the first substrate node can provide the set of storage identifiers and the new encrypted consumer or business data to the IPFS cloud network. In this way, the encrypted new consumer or business data can be stored in association with the set of storage identifier, thereby allowing individuals or organizations to use substrate nodes to execute the read function of the substrate node to identify memory locations of particular encrypted new consumer or business data. This can allow individuals or organizations to instruct substrate nodes to reference the memory location to obtain the particular encrypted new consumer or business data, as described further herein. 

BlockIQ API Request

64. As shown in FIG. 1E, and by reference number 146, the first substrate node can broadcast the set of storage identifiers to the network of substrate nodes (or to one or more substrate nodes in the network of substrate nodes). For example, the first substrate node can search the substrate node to obtain individual or organization identifiers and individual or organization addresses of substrate nodes associated with particular individuals or organizations that are permitted to access the new consumer or business data. In some cases, the first substrate node can have already obtained the individual or organization identifiers and individual or organization addresses (e.g., when the first substrate node searched the substrate node for the key of public keys). Next, the first substrate node can broadcast the set of storage identifiers to the addresses of substrate nodes associated with the particular individuals or organizations that are permitted to access the new consumer or business data. 

65. In some implementations, substrate nodes that receive the set of storage identifiers can update the substrate node. For example, the substrate nodes can update the substrate node to include the set of storage identifiers, such that individuals or organizations associated with those substrate nodes are able to obtain the set of storage identifiers for obtaining (e.g., reading) particular new consumer or business data that can have been provided to the substrate node. 

66. As shown by reference number 148, a second substrate node that is associated with a second individual or organization can interact with the substrate node (e.g., network substrate node) to request to obtain (e.g., read) the new consumer or business data. The request can include an individual or organization identifier associated with the second individual or organization and incentives offered in exchange for consumer or business data.

67. Furthermore, the tokens (e.g., digital currency, such as cryptocurrency) that can serve as payment for accessing the new consumer or business data, or the like. In this case, the network of substrate nodes can adhere to an agreement indicating that a certain amount of tokens can be provided to read consumer or business data (or new consumer or business data).

68. The tokens can be provided to an individual or organization writing the consumer or business data, which can create incentives for individuals or organizations to continue to add new consumer or business data to the substrate node of the consumer or business. For example, for the first individual or organization to obtain new consumer or business data provided by other individuals or organizations, the first individual or organization can need to first earn tokens by providing new consumer or business data to the substrate node. This ensures that the substrate node remains updated with current consumer or business data of the consumer or business.

69. As shown by reference number 150, the substrate node can execute the read function. For example, the substrate node can verify that the second individual or organization is permitted to access the new consumer or business data or can verify that the second individual or organization has provided a requisite amount of tokens. If the verifications succeed, the substrate node can execute the read function, which, as shown by reference number 156, can cause a storage identifier for a particular encrypted new consumer or business data to be provided to the second substrate node.

70. As shown by reference number 152, the substrate node can provide the tokens to an account associated with the first individual or organization. In this case, the first individual or organization can be the recipient of the tokens because the first individual or organization provided the new consumer or business data.

71. As shown by reference number 154, in some cases, the request to read the new consumer or business data can include an offer of tokens (but not the actual tokens). In this case, the substrate node can, after receiving the offer, interact with an account associated with the second individual or organization and the account associated with the first individual or organization to orchestrate the transfer of tokens from the account associated with the second individual or organization to the account associated with the first individual or organization.

72. As shown by reference number 158, the second substrate node can obtain, from the IPFS cloud network, the particular copy of the encrypted new consumer or business data. For example, the second substrate node can use the storage identifier to identify the memory location of a copy of the encrypted new consumer or business data that is associated with the second individual or organization, and can search the memory location to obtain the copy of the encrypted new consumer or business data.

73. As shown by reference number 160, the second substrate node can decrypt the new consumer or business data (e.g., using the private key associated with the second individual or organization).

74. As shown by reference number 162, the second substrate node can perform one or more actions associated with the new consumer or business data. For example, the second substrate node can provide the the new consumer or business data for display on an interface that is accessible to the second individual or organization or can provide the new consumer or business data to a device associated with the second individual or organization. This can allow employees or devices of the second individual or organization to process the copy of the new consumer or business data (e.g., to decide whether to offer the consumer or business additional credit, a new credit-related service, or the like).

75. In some implementations, the network of substrate nodes can continue to exchange new consumer or business data and tokens as the consumer or business builds a credit history. In this way, the incentivize provided by the exchange of the new credit and the tokens ensures that the substrate node continues to be provided with up to date credit information of the consumer or business.

76. In some implementations, one or more machine learning models can be utilized to improve performance with systems, processes, or functions described herein. For example, a substrate node can train a machine learning model on historical consumer or business data (or can receive a trained machine learning model), such that the substrate node is able to use the machine learning model to determine a credit score for the consumer or business, determine an amount of credit to grant the consumer or business, determine a type of credit to offer the consumer or business, or the like. Additionally, or alternatively, the substrate node can train a machine learning model on historical network data, such that the machine learning model is able to make optimization decisions relating to storage of consumer or business data. In this case, the machine learning model can be associated with the mapping function, such that the machine learning model can be used with the mapping function to output storage identifiers of memory locations that maximize storage efficiency within the IPFS cloud network.

77. In this way, the network of substrate nodes is able to securely exchange consumer or business data of the consumer or business. Additionally, by incentivizing individuals or organizations to continue to add new consumer or business data, the substrate node of the consumer or business will remain updated, thereby serving as a reliable indicator of creditworthiness of the consumer or business. Furthermore, the network of substrate nodes conserves processing resources or network resources or memory resources. For example, a substrate node conserves processing resources or network resources that might otherwise be used to query a set of credit bureau data sources to obtain consumer or business data of the consumer or business. As another example, by utilizing the IPFS cloud network to store the consumer or business data, the substrate node improves in scalability and conserves memory resources that might otherwise be used to attempt to store the consumer or business data on the substrate node.

78. As indicated above, FIGS. 1A-1E are provided merely as examples. Other examples are possible and can differ from what was described with regard to FIGS. 1A-1E. For example, in some implementations, the network of substrate nodes can be implemented with a management substrate node (e.g., a ledger management platform). In this case, one or more techniques or features that are described as being performed by the set of substrate nodes can be performed by the management substrate node.

Off chain Workers

79. FIG. 2 is a diagram of an example environment, in which environment 200 systems or processes described herein can be implemented. As shown in FIG. 2, environment 200 can include a substrate node 210, a distributed data source 220, a ledger management platform 230 hosted within a cloud computing environment 240, a user device 250, or a network 260. Devices of environment 200 can interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.

80. Substrate node node 210 includes one or more devices capable of receiving, generating, storing, processing, or providing information associated with the credit of a consumer or business. For example, substrate node 210 can include a computing device (e.g., a desktop computer, a laptop computer, a tablet computer, a handheld computer, a server device, etc.), a mobile phone (e.g., a smartphone, a radiotelephone, etc.), or a similar device.

81. In some implementations, a set of substrate nodes 210 can be part of a network that is able to utilize a substrate node or the IPFS cloud network to securely share consumer or business data of a consumer or business. In some implementations, substrate node 210 can be associated with a consumer or business that has a credit history. Additionally, or alternatively, substrate node 210 can be associated with an individual or organization such as a financial institution. In some implementations, substrate node 210 can store a substrate node associated with a consumer or business. In this case, the substrate node can include a storage identifier (e.g., a hashed value) that serves as a pointer to a memory location within the IPFS cloud network supported by distributed data source 220.

82. Distributed data source 220 includes one or more devices capable of receiving, generating, storing, processing, or providing information associated with the credit of a consumer or business. For example, distributed data source 220 can include a computing device, such as a server, a desktop computer, a laptop computer, a tablet computer, a handheld computer, or a similar device. In some implementations, distributed data source 220 can support the IPFS cloud network that is used to store the consumer or business data of the consumer or business. In some implementations, distributed data source 220 can store encrypted consumer or business data for the consumer or business, and can associate the encrypted consumer or business data with one or more storage identifiers or individual or organization identifiers.

83. Ledger management platform 230 includes one or more devices capable of receiving, generating, storing, processing, or providing information associated with the credit of a consumer or business. For example, ledger management platform 230 can include a server or a group of servers. In some implementations, ledger management platform 230 can perform one or more actions described as being performed by substrate node 210.

84. In some implementations, as shown, ledger management platform 230 can be hosted in cloud computing environment 240. Notably, while implementations described herein describe ledger management platform 230 as being hosted in cloud computing environment 240, in some implementations, ledger management platform 230 can not be cloudbased (i.e., can be implemented outside of a cloud computing environment) or can be partially cloud-based.

85. Cloud computing environment 240 includes an environment that hosts the ledger management platform 230. Cloud computing environment 240 can provide computation, software, data access, storage, etc. services that do not require end-user knowledge of a physical location and configuration of system(s) or device(s) that hosts the ledger management platform 230. As shown, cloud computing environment 240 can include a group of computing resources 235 (referred to collectively as “computing resources 235” and individually as “computing resource 235”).

86. Computing resource 235 includes one or more personal computers, workstation computers, server devices, or another type of computation or communication device. In some implementations, computing resource 235 can host the ledger management platform 230. The cloud resources can include compute instances executing in computing resource 235, storage devices provided in computing resource 235, data transfer devices provided by computing resource 235, etc. In some implementations, computing resource 235 can communicate with other computing resources 235 via wired connections, wireless connections, or a combination of wired and wireless connections.

87. As further shown in FIG. 2, computing resource 235 can include a group of cloud resources, such as one or more, applications (APP) 235-1, virtual machines (VM) 235-2, virtualized storage (VS) 235-3, hypervisors (HYP) 235-4, or the like.

88. Application 235-1 can include one or more software applications that can be provided to or accessed by substrate node 210 or distributed data source 220. Application 235-1 can eliminate a need to install and execute the software applications on these devices. For example, application 235-1 can include software associated with ledger management platform 230 or any other software capable of being provided via cloud computing environment 240. In some implementations, one application 235-1 can send/receive information to/from one or more applications 235-1, via virtual machine 235-2.

89. Virtual machine 235-2 can include a software implementation of a machine (e.g., a computer) that executes programs like a physical machine. Virtual machine 235-2 can be either a system virtual machine or a process virtual machine, depending upon use and degree of correspondence to any real machine by virtual machine 235-2. A system virtual machine can provide a complete system platform that supports the execution of a complete operating system (OS). A process virtual machine can execute a single program, and can support a single process. In some implementations, virtual machine 235-2 can execute on behalf of another device (e.g., substrate node 210 or distributed data source 220), and can manage infrastructure of cloud computing environment 240, such as data management, synchronization, or long-duration data transfers.

90. Virtualized storage 235-3 can include one or more storage systems or one or more devices that use virtualization techniques within the storage systems or devices of computing resource 235. In some implementations, within the context of a storage system, types of virtualizations can include block virtualization and file virtualization. Block virtualization can refer to abstraction (or separation) of logical storage from physical storage so that the storage system can be accessed without regard to physical storage or heterogeneous structure. The separation can permit administrators of the storage system flexibility in how the administrators manage storage for end users. File virtualization can eliminate dependencies between data accessed at a file-level and a location where files are physically stored. This can enable optimization of storage use, server consolidation, or performance of non-disruptive file migrations.

91. Hypervisor 235-4 can provide hardware virtualization techniques that allow multiple operating systems (e.g., “guest operating systems”) to execute concurrently on a host computer, such as computing resource 235. Hypervisor 235-4 can present a virtual operating platform to the guest operating systems, and can manage the execution of the guest operating systems. Multiple instances of a variety of operating systems can share virtualized hardware resources.

92. User device 250 includes one or more devices capable of receiving, generating, storing, processing, or providing information associated with the credit of a consumer or business. For example, user device 250 can include a computing device (e.g., a desktop computer, a laptop computer, a tablet computer, a handheld computer, a server device, etc.), a mobile phone (e.g., a smartphone, a radiotelephone, etc.), or a similar device. In some implementations, user device 250 can be associated with an individual or organization, such as a financial institution, that is not part of the set of substrate nodes 210, but that is requesting access to consumer or business data associated with a consumer or business.

93. Network 260 includes one or more wired or wireless networks. For example, network 260 can include a cellular network (e.g., a fifth-generation (5G) network, a fourth-generation (4G) network, such as a long-term evolution (LTE) network, a third-generation (3G) network, a code division multiple access (CDMA) network, a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber optic-based network, a cloud computing network, or the like, or a combination of these or other types of networks.

FIG. 3

94. FIG. 3 is a diagram of example components of a device 300. Device 300 can correspond to substrate node 210, distributed data source 220, ledger management platform 230, computing resource 235, or user device 250. In some implementations, substrate node 210, distributed data source 220, ledger management platform 230, computing resource 235, or user device 250 can include one or more devices 300 or one or more components of device 300. As shown in FIG. 3, device 300 can include a bus 310, a processor 320, a memory 330, a storage component 340, an input component 350, an output component 360, and a communication interface 370.

95. Bus 310 includes a component that permits communication among the components of device 300. Processor 320 is implemented in hardware, firmware, or a combination of hardware and software. Processor 320 is a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or another type of processing component. In some implementations, processor 320 includes one or more processors capable of being programmed to perform a function. Memory 330 includes a random access memory (RAM), a read-only memory (ROM), or another type of dynamic or static storage device (e.g., a flash memory, a magnetic memory, an optical memory, etc.) that stores information or instructions for use by processor 320.

96. Storage component 340 stores information or software related to the operation and use of device 300. For example, storage component 340 can include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optic disk, a solid-state disk, etc.), a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a cartridge, a magnetic tape, or another type of non-transitory computer-readable medium, along with a corresponding drive.

97. Input component 350 includes a component that permits device 300 to receive information, such as via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, a microphone, etc.). Additionally, or alternatively, input component 350 can include a sensor for sensing information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, an actuator, etc.). Output component 360 includes a component that provides output information from device 300 (e.g., a display, a speaker, one or more light-emitting diodes (LEDs), etc.).

98. Communication interface 370 includes a transceiver-like component (e.g., a transceiver, a separate receiver and transmitter, etc.) that enables device 300 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communication interface 370 can permit device 300 to receive information from another device or provide information to another device. For example, communication interface 370 can include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, or the like.

99. Device 300 can perform one or more processes described herein. Device 300 can perform these processes in response to processor 320 executing software instructions stored by a non-transitory computer-readable medium, such as memory 330 or storage component 340. A computer-readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.

100. Software instructions can be read into memory 330 or storage component 340 from another computer-readable medium or from another device via communication interface 370. When executed, software instructions stored in memory 330 or storage component 340 can cause processor 320 to perform one or more processes described herein. Additionally, or alternatively, hardwired circuitry can be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.

101. The number and arrangement of components shown in FIG. 3 are provided as an example. In practice, device 300 can include additional components, fewer components, different components, or differently arranged components than those shown in FIG. 3. Additionally, or alternatively, a set of components (e.g., one or more components) of device 300 can perform one or more functions described as being performed by another set of components of device 300.

FLOW 400

102. FIG. 4 is a flow chart of an example process 400 for sharing consumer or business data of a consumer or business among a network of substrate nodes that have access to a substrate node, a substrate node associated with the consumer or business, and the IPFS cloud network. In some implementations, one or more process blocks of FIG. 4 can be performed by a device, such as a first substrate node (e.g., substrate node 210). In some implementations, one or more process blocks of FIG. 4 can be performed by another device or a group of devices separate from or including the first substrate node, such as another substrate node, a distributed data source (e.g., distributed data source 220), a ledger management platform (e.g., ledger management platform 230), or a user device (e.g., user device 250).

103. As shown in FIG. 4, process 400 can include receiving new consumer or business data of a consumer or business that has credit with a first individual or organization, wherein a substrate node and the IPFS cloud network are to be used to share the new consumer or business data with a network of substrate nodes that are associated with a group of individuals or organizations that are permitted to access the new consumer or business data (block 410). For example, the first substrate node (e.g., using processor 320, input component 350, communication interface 370, etc.) can receive new consumer or business data of a consumer or business that has credit with a first individual or organization, as described above with regard to FIGS. 1A-1E. In some implementations, a substrate node and the IPFS cloud network can be used to share the new consumer or business data with a network of substrate nodes that are associated with a group of individuals or organizations that are permitted to access the new consumer or business data.

104. As further shown in FIG. 4, process 400 can include generating a storage identifier for the new consumer or business data by executing a mapping function, wherein the storage identifier is to identify a storage location at which the new consumer or business data is to be stored within the IPFS cloud network (block 420). For example, the first substrate node (e.g., using processor 320, storage component 340, etc.) can generate a storage identifier for the new consumer or business data by executing a mapping function, as described above with regard to FIGS. 1A-1E. In some implementations, the storage identifier can identify a storage location at which the new consumer or business data is to be stored within the IPFS cloud network.

105. As further shown in FIG. 4, process 400 can include providing the storage identifier for the new consumer or business data to a substrate node associated with the consumer or business, wherein the substrate node is supported by the substrate node (block 430). For example, the first substrate node (e.g., using processor 320, output component 360, communication interface 370, etc.) can provide the storage identifier for the new consumer or business data to a substrate node associated with the consumer or business, as described above with regard to FIGS. 1A-1E. In some implementations, the substrate node can be supported by the substrate node.

106. As further shown in FIG. 4, process 400 can include providing the new consumer or business data and the storage identifier to the IPFS cloud network, wherein the new consumer or business data is stored in association with the storage identifier (block 440). For example, the first substrate node (e.g., using processor 320, output component 360, communication interface 370, etc.) can provide the new consumer or business data and the storage identifier to the IPFS cloud network, as described above with regard to FIGS. 1A-1E. In some implementations, the new consumer or business data can be stored in association with the storage identifier.

107. As further shown in FIG. 4, process 400 can include broadcasting the storage identifier for the new consumer or business data to the network of substrate nodes to cause a second substrate node, of the network of substrate nodes, to provide the storage identifier for the new consumer or business data to a substrate node that is accessible to the second substrate node, wherein broadcasting the storage identifier permits the second substrate node, based on a request from a device associated with a second individual or organization, to obtain the new consumer or business data, obtain the storage identifier for the new consumer or business data from the substrate node, use the storage identifier to obtain the new consumer or business data from the IPFS cloud network, provide the new consumer or business data to the device associated with the second individual or organization, and provide digital currency associated with the second individual or organization to an account associated with the first individual or organization (block 450). For example, the first substrate node (e.g., using processor 320, output component 360, communication interface 370, etc.) can broadcast the storage identifier for the new consumer or business data to the network of substrate nodes to cause a second substrate node, of the network of substrate nodes, to provide the storage identifier for the new consumer or business data to a substrate node that is accessible to the second substrate node, as described above with regard to FIGS. 1A-1E.

108. In some implementations, the first substrate node broadcasting the storage identifier can permit the second substrate node, based on a request from a device associated with a second individual or organization (e.g., the user device), to obtain the new consumer or business data, obtain the storage identifier for the new consumer or business data from the substrate node, use the storage identifier to obtain the new consumer or business data from the IPFS cloud network, provide the new consumer or business data to the device associated with the second individual or organization, and provide digital currency associated with the second individual or organization to an account associated with the first individual or organization.

109. As further shown in FIG. 4, process 400 can include performing a group of actions associated with obtaining additional new consumer or business data from the IPFS cloud network or providing the additional new consumer or business data to the IPFS cloud network (block 460). For example, the first substrate node (e.g., using processor 320, memory 330, storage component 340, input component 350, output component 360, communication interface 370, etc.) can perform a group of actions associated with obtaining additional new consumer or business data from the IPFS cloud network or providing the additional new consumer or business data to the IPFS cloud network, as described above with regard to FIGS. 1A-1E.

110. Process 400 can include additional implementations, such as any single implementation or any combination of implementations described below or in connection with one or more other processes described elsewhere herein.

111. In some implementations, the substrate node can be used exclusively for the consumer or business. In some implementations, the substrate node can include data identifying the group of individuals or organizations that are permitted to access the new consumer or business data, a set of storage identifiers identifying a set of storage locations associated with historical consumer or business data of the consumer or business, a first function associated with adding the new consumer or business data to the IPFS cloud network, a second function associated with obtaining the new consumer or business data from the IPFS cloud network, a third function associated with providing incentives to the group of individuals or organizations to use the network of substrate nodes to interact with the substrate node to execute the first function and the second function.

112. In some implementations, while generating the storage identifier, the first substrate node can generate, using a content addressing technique, a cryptographic hash value identifying the storage location at which the new consumer or business data is to be stored within the IPFS cloud network. Additionally, the cryptographic hash value can be used as the storage identifier for the new consumer or business data.

113. In some implementations, the device associated with the first individual or organization can be permitted to access the new consumer or business data if an individual or organization identifier for the first individual or organization is stored by a data structure associated with the substrate node. Additionally, the individual or organization identifier for the first individual or organization can be stored by the data structure after a particular amount of the digital currency associated with the first individual or organization is provided to an account associated with the consumer or business.

114. In some implementations, while performing the group of actions, the first substrate node can obtain the additional new consumer or business data from the IPFS cloud network. In this case, another substrate node in the network of substrate nodes can have provided the additional new consumer or business data to the IPFS cloud network. Additionally, the other substrate node can be associated with a particular individual or organization. Additionally, obtaining the additional new consumer or business data can cause the digital currency to be provided to an account associated with the particular individual or organization.

115. In some implementations, while performing the group of actions, the first substrate node can provide the additional new consumer or business data to the IPFS cloud network to cause substrate nodes associated with other individuals or organizations to obtain the additional new consumer or business data in exchange for a particular amount of the digital currency. In some implementations, while performing the group of actions, the first substrate node can automatically obtain the additional new consumer or business data from the IPFS cloud network based on determining that the account associated with the first individual or organization has a particular amount of the digital currency.

116. Although FIG. 4 shows example blocks of process 400, in some implementations, process 400 can include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in FIG. 4. Additionally, or alternatively, two or more of the blocks of process 400 can be performed in parallel.

FLOW 500

117. FIG. 5 is a call flow diagram of an example call flow 500 for sharing consumer or business data of a consumer or business among a network of substrate nodes that have access to a substrate node, a substrate node associated with the consumer or business, and the IPFS cloud network. In some implementations, one or more process blocks of FIG. 5 can be performed by a device, such as a first substrate node (e.g., substrate node 210). In some implementations, one or more process blocks of FIG. 5 can be performed by another device or a group of devices separate from or including the first substrate node, such as another substrate node, a distributed data source (e.g., distributed data source 220), a ledger management platform (e.g., ledger management platform 230), or a user device (e.g., user device 250).

118. As shown in FIG. 5, process 500 can include receiving, by a first substrate node associated with a first individual or organization, a storage identifier for new consumer or business data associated with a consumer or business, wherein a substrate node and the IPFS cloud network are used to share the new consumer or business data with a network of substrate nodes that are associated with a group of individuals or organizations that are permitted to access the new consumer or business data, wherein the storage identifier is used to identify a storage location at which the new consumer or business data is to be stored within the IPFS cloud network, wherein the new consumer or business data has been provided to the IPFS cloud network by a second substrate node associated with a second individual or organization of the group of individuals or organizations (block 510). For example, the first substrate node can receive (e.g., using processor 320, input component 350, communication interface 370, etc.), by a first substrate node that is associated with a first individual or organization, a storage identifier for new consumer or business data associated with a consumer or business, as described above with regard to FIGS. 1A-1E.

119. In some implementations, a substrate node and the IPFS cloud network can be used to share the new consumer or business data with a network of substrate nodes that are associated with a group of individuals or organizations that are permitted to access the new consumer or business data. In some implementations, the storage identifier can be used to identify a storage location at which the new consumer or business data is to be stored within the IPFS cloud network. In some implementations, the new consumer or business data can have been provided to the IPFS cloud network by a second substrate node associated with a second individual or organization of the group of individuals or organizations.

120. As shown in FIG. 5, process 500 can include updating a substrate node associated with the consumer or business to include the storage identifier for the new consumer or business data (block 520). For example, the first substrate node (e.g., using processor 320, output component 360, communication interface 370, etc.) can update a substrate node associated with the consumer or business to include the storage identifier for the new consumer or business data, as described above with regard to FIGS. 1A-1E.

121. As shown in FIG. 5, process 500 can include receiving, from a device associated with the first individual or organization, a request for the new consumer or business data (block 530). For example, the first substrate node (e.g., using processor 320, input component 350, communication interface 370, etc.) can receive, from a device associated with the first individual or organization (e.g., the user device), a request for the new consumer or business data, as described above with regard to FIGS. 1A-1E.

122. As shown in FIG. 5, process 500 can include obtaining, by the first substrate node, the storage identifier for the new consumer or business data from the substrate node (block 540). For example, the first substrate node (e.g., using processor 320, input component 350, output component 360, communication interface 370, etc.) can obtain the storage identifier for the new consumer or business data from the substrate node, as described above with regard to FIGS. 1A-1E. In some implementations, the first substrate node obtaining the storage identifier from the substrate node can cause the substrate node to provide digital currency associated with the first individual or organization to an account associated with the second individual or organization.

123. As shown in FIG. 5, process 500 can include obtaining the new consumer or business data by using the storage identifier to search the IPFS cloud network (block 550). For example, the first substrate node (e.g., using processor 320, input component 350, output component 360, communication interface 370, etc.) can obtain the new consumer or business data by using the storage identifier to search the IPFS cloud network, as described above with regard to FIGS. 1A-1E.

124. As shown in FIG. 5, process 500 can include providing the new consumer or business data to the device associated with the first individual or organization (block 560). For example, the first substrate node (e.g., using processor 320, output component 360, communication interface 370, etc.) can provide the new consumer or business data to the device associated with the first individual or organization, as described above with regard to FIGS. 1A-1E.

125. As shown in FIG. 5, process 500 can include performing a group of actions associated with obtaining additional new consumer or business data from the IPFS cloud network or providing the additional new consumer or business data to the IPFS cloud network (block 570). For example, the first substrate node (e.g., using processor 320, memory 330, storage component 340, input component 350, output component 360, communication interface 370, etc.) can perform a group of actions associated with obtaining additional new consumer or business data from the IPFS cloud network or providing the additional new consumer or business data to the IPFS cloud network, as described above with regard to FIGS. 1A1E.

126. Process 500 can include additional implementations, such as any single implementation or any combination of implementations described below or in connection with one or more other processes described elsewhere herein.

127. In some implementations, the device associated with the first individual or organization can be permitted to access the new consumer or business data if an individual or organization identifier for the first individual or organization is stored by a data structure associated with the substrate node. Additionally, the individual or organization identifier for the first individual or organization can be stored by the data structure after a particular amount of the digital currency associated with the first individual or organization is provided to an account associated with the consumer or business.

128. In some implementations, the substrate node can be exclusive to the consumer or business. Additionally, the substrate node can include data identifying the group of individuals or organizations that are permitted to access the new consumer or business data, a set of storage identifiers identifying a set of storage locations associated with historical consumer or business data of the consumer or business, a first function associated with providing the new consumer or business data to the IPFS cloud network, or a second function associated with obtaining the new consumer or business data from the IPFS cloud network, wherein the second function requires that a particular amount of the digital currency be provided to obtain the new consumer or business data.

129. In some implementations, the new consumer or business data obtained from the IPFS cloud network can have been encrypted using a first key associated with the consumer or business. Additionally, the first substrate node can decrypt the new consumer or business data using a second key associated with the consumer or business. Additionally, the first substrate node can encrypt the new consumer or business data using a first key associated with the first individual or organization. Additionally, while providing the new consumer or business data to the device associated with the first individual or organization, the first substrate node can provide the new consumer or business data that has been encrypted using the first key associated with the first individual or organization to permit the device associated with the first individual or organization to decrypt the new consumer or business data using a second key associated with the first individual or organization.

130. In some implementations, the substrate node can provide the digital currency to the account associated with the second individual or organization by executing one or more functions associated with creating incentives for the group of individuals or organizations to use the network of substrate nodes to continue to add the additional new consumer or business data to the IPFS cloud network.

131. In some implementations, while performing the group of actions, the first substrate node can obtain the additional new consumer or business data from the IPFS cloud network to cause a particular amount of the digital currency to be provided to an account associated with a third individual or organization that has used a third substrate node to provide the additional new consumer or business data to the IPFS cloud network. In some implementations, while performing the group of actions, the first substrate node can provide the additional new consumer or business data to the IPFS cloud network. Additionally, providing the additional new consumer or business data to the IPFS cloud network can permit other individuals or organizations to use the network of substrate nodes to obtain the additional new consumer or business data in exchange for a particular amount of the digital currency.

132. Although FIG. 5 shows example blocks of process 500, in some implementations, process 500 can include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in FIG. 5. Additionally, or alternatively, two or more of the blocks of process 500 can be performed in parallel.

FLOW 600

133. FIG. 6 is a call flow diagram of an example call flow 600 for sharing consumer or business data of a consumer or business among a network of substrate nodes that have access to a substrate node, a substrate node associated with the consumer or business, and the IPFS cloud network. In some implementations, one or more process blocks of FIG. 6 can be performed by a device, such as a first substrate node (e.g., substrate node 210). In some implementations, one or more process blocks of FIG. 6 can be performed by another device or a group of devices separate from or including the first substrate node, such as another substrate node, a distributed data source (e.g., distributed data source 220), a ledger management platform (e.g., ledger management platform 230), or a user device (e.g., user device 250).

134. As shown in FIG. 6, process 600 can include receiving new consumer or business data of a consumer or business that has credit with a first individual or organization, wherein a substrate node and the IPFS cloud network are to be used to share the new consumer or business data with a network of substrate nodes that are associated with a group of individuals or organizations that are permitted to access the new consumer or business data (block 610). For example, the first substrate node (e.g., using processor 320, input component 350, communication interface 370, etc.) can receive new consumer or business data of a consumer or business that has credit with a first individual or organization, as described above with regard to FIGS. 1A-1E. In some implementations, a substrate node and the IPFS cloud network can be used to share the new consumer or business data with a network of substrate nodes that are associated with a group of individuals or organizations that are permitted to access the new consumer or business data.

135. As shown in FIG. 6, process 600 can include providing a storage identifier for the new consumer or business data to a substrate node associated with the consumer or business, wherein the substrate node is supported by the substrate node, and wherein the storage identifier is used to identify a storage location at which the new consumer or business data is to be stored within the IPFS cloud network (block 620). For example, the first substrate node (e.g., using processor 320, output component 360, communication interface 370, etc.) can provide a storage identifier for the new consumer or business data to a substrate node associated with the consumer or business, as described above with regard to FIGS. 1A-1E. In some implementations, the substrate node can be supported by the substrate node. In some implementations, the storage identifier can be used to identify a storage location at which the new consumer or business data is to be stored within the IPFS cloud network.

136. As shown in FIG. 6, process 600 can include providing the new consumer or business data and the storage identifier to the IPFS cloud network (block 630). For example, the first substrate node (e.g., using processor 320, output component 360, communication interface 370, etc.) can provide the new consumer or business data and the storage identifier to the IPFS cloud network, as described above with regard to FIGS. 1A-1E. In some implementations, the new consumer or business data can be stored in association with the storage identifier.

137. As shown in FIG. 6, process 600 can include broadcasting the storage identifier for the new consumer or business data to the network of substrate nodes to cause a particular substrate node, of the network of substrate nodes, to add the storage identifier for the new consumer or business data to a substrate node that is accessible to the particular substrate node, wherein broadcasting the storage identifier permits the particular substrate node to, based on a request for the new consumer or business data by a second individual or organization, obtain the storage identifier for the new consumer or business data from the substrate node, use the storage identifier to obtain the new consumer or business data from the IPFS cloud network, provide the new consumer or business data to an interface associated with the second individual or organization, and provide digital currency associated with the second individual or organization to an account associated with the first individual or organization (block 640). For example, the first substrate node (e.g., using processor 320, output component 360, communication interface 370, etc.) can broadcast the storage identifier for the new consumer or business data to the network of substrate nodes to cause a particular substrate node, of the network of substrate nodes, to add the storage identifier for the new consumer or business data to a substrate node that is accessible to the particular substrate node, as described above with regard to FIGS. 1A-1E.

138. In some implementations, broadcasting the storage identifier can permit the particular substrate node to, based on a request for the new consumer or business data by a second individual or organization, obtain the storage identifier for the new consumer or business data from the substrate node, use the storage identifier to obtain the new consumer or business data from the IPFS cloud network, provide the new consumer or business data to an interface associated with the second individual or organization, and provide digital currency associated with the second individual or organization to an account associated with the first individual or organization.

139. As shown in FIG. 6, process 600 can include performing a group of actions associated with obtaining additional new consumer or business data from the IPFS cloud network or providing the additional new consumer or business data to the IPFS cloud network (block 650). For example, the first substrate node (e.g., using processor 320, memory 330, storage component 340, input component 350, output component 360, communication interface 370, etc.) can perform a group of actions associated with obtaining additional new consumer or business data from the IPFS cloud network or providing the additional new consumer or business data to the IPFS cloud network, as described above with regard to FIGS. 1A-1E.

140. Process 600 can include additional implementations, such as any single implementation or any combination of implementations described below or in connection with one or more other processes described elsewhere herein.

141. In some implementations, the first individual or organization can be permitted to use the network of substrate nodes to access the new consumer or business data if an individual or organization identifier for the first individual or organization is stored by a data structure associated with the substrate node. Additionally, the individual or organization identifier for the first individual or organization can be added to the data structure after a particular amount of the digital currency associated with the first individual or organization is provided to an account associated with the consumer or business.

142. In some implementations, the first substrate node can generate, after receiving the new consumer or business data, the storage identifier for the new consumer or business data by using a content addressing technique to generate a cryptographic hash value identifying the storage location at which the new consumer or business data is to be stored within the IPFS cloud network. Additionally, the cryptographic hash value can be used as the storage identifier for the new consumer or business data. In some implementations, the substrate node can be used exclusively for the consumer or business.

143. In some implementations, while performing the group of actions, the first substrate node can obtain the additional new consumer or business data from the IPFS cloud network to cause a particular amount of the digital currency to be provided to an account associated with a third individual or organization that has added the additional new consumer or business data to the IPFS cloud network. In some implementations, while performing the group of actions, the first substrate node can provide the additional new consumer or business data to the IPFS cloud network to cause substrate nodes associated with other individuals or organizations to obtain the additional new consumer or business data in exchange for a particular amount of the digital currency.

144. Although FIG. 6 shows example blocks of process 600, in some implementations, process 600 can include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in FIG. 6. Additionally, or alternatively, two or more of the blocks of process 600 can be performed in parallel.

145. In this way, the first substrate node is able to facilitate the distribution of the consumer or business data in a manner that is secure, distributed, automated, and incentive-driven.

146. For example, security is provided by supporting the substrate node with a tamper-resistant data structure (e.g., the substrate node), by implementing various forms of authentication, by restricting access to the network of substrate nodes to particular individuals or organizations or parties, or the like. To provide a few particular examples, the substrate node can improve security by preserving an immutable record of the consumer or business data, by using cryptographic links between blocks of the substrate node (e.g., reducing the potential for unauthorized tampering with the consumer or business data), or the like. Security is further improved as a result of substrate nodes that have access to the substrate node independently verifying each transaction that is added to the substrate node. Moreover, use of a substrate node also provides failover protection, in that the first substrate node can continue to operate in a situation where one or more other substrate nodes that have access to the substrate node fail.

147. Furthermore, by incentivizing individuals or organizations to update the IPFS cloud network with new consumer or business data, the consumer or business data can serve as a reliable indicator of creditworthiness of the consumer or business. Still further, the first substrate node conserves processing resources or network resources or memory resources. For example, the first substrate node conserves processing resources or network resources that might otherwise be used to query a set of credit bureau data sources to obtain consumer or business data of the consumer or business. As another example, by utilizing the IPFS cloud network to store the consumer or business data, the network of substrate nodes improves in scalability and conserves memory resources that might otherwise be used to attempt to store the consumer or business data on the substrate node.

148. The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or can be acquired from practice of the implementations.

149. As used herein, the term component is intended to be broadly construed as hardware, firmware, or a combination of hardware and software.

150. Some implementations are described herein in connection with thresholds. As used herein, satisfying a threshold can refer to a value being greater than the threshold, more than the threshold, higher than the threshold, greater than or equal to the threshold, less than the threshold, fewer than the threshold, lower than the threshold, less than or equal to the threshold, equal to the threshold, or the like.

151. It will be apparent that systems or processes, described herein, can be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems or processes is not limiting of the implementations. Thus, the operation and behavior of the systems or processes were described herein without reference to specific software code–it being understood that software and hardware can be designed to implement the systems or processes based on the description herein.

152. Even though particular combinations of features are recited in the claims or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features can be combined in ways not specifically recited in the claims or disclosed in the specification. Although each dependent claim listed below can directly depend on only one claim, the disclosure of possible implementations includes each dependent claim in combination with every other claim in the claim set.

153. No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items, and can be used interchangeably with “one or more.” Furthermore, as used herein, the term “set” is intended to include one or more items (e.g., related items, unrelated items, a combination of related and unrelated items, etc.), and can be used interchangeably with “one or more.” Where only one item is intended, the term “one” or similar language is used. Also, as used herein, the terms “has,” “have,” “having,” or the like are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.


Share: