Invented by Vishal Patangia, Mark Standring, Vasudevan Atteeri, Matthew Steed, Bank of America Corp
The Bank of America Corp invention works as followsHerein are described “methods and systems” for providing data manifestations as a services (DMAAS). A first computing device may create a 1st data manifest containing a 1st count parameter and 1st hash parameter that are associated with the data exchange between the computing systems, then store the data manifest in a blockchain data storage and transfer the data payload from the data exchange. The second computing system can analyze the data received via the transport method, create a data manifest with a count parameter and hash parameter, and then store this second data to the blockchain data storage. A DMAAS computing systems facilitates access to blockchain data store and identifies errors in transmission. It also triggers data acceptance at the second computing system after a successful data transfer transaction.
Background for Data manifest is a blockchain service.
As computer systems are used to provide more automated and electronic services, they may collect and maintain an increasing amount of different types of information. Many enterprises have multiple applications (e.g. hundreds or thousands) that share data via the network. These applications are often developed by different groups at different times, and may have varying data management standards. Data sharing is becoming more common. Different industry or government groups may audit companies to enforce data management standards. Enterprises must therefore store each data exchange between applications on their network in order to ensure safety, security and accuracy. In many cases, each application may not follow a standard for electronic data management. Therefore, it was necessary to improve data management techniques to manage data exchange transactions as a response to data contracts.
The following is a streamlined summary of the various aspects described in this document. This summary does not provide an exhaustive overview and is not meant to define the scope of claims or identify essential or required elements. This summary is a simple introduction to a more detailed description.
To overcome the limitations described above and other limitations that are apparent after reading and understanding this specification, aspects described in the present specification are directed to systems and methods for facilitating, monitoring, and providing an immutable record of a plurality data transactions between applications communicatively connected via a network such as an enterprise networking. The systems and/or method may in some cases be achieved using API functions that are implemented on one or multiple data provider computing systems, one or several data consumer computing system and a DMAAS computing system configured to centrally manage entry of data transaction records into a Blockchain data store.
An example of a method could include a computing system that generates a manifest data comprising a hash parameter and a count parameter for a transaction data between a computing system. The first computing device then stores the data manifest in a blockchain store, and transfers the data payload from the transaction data to the second computer system using a transport system. The second computing system can be configured to analyze the data payload that is received via the transport method, generate a data manifest with a 2nd count parameter and 2nd hash parameter, and store the second data manifestation in the blockchain data storage. DMAAS computing systems may be configured to facilitate data storage in the blockchain data store by using API functions implemented at both the first and second computing systems. The DMAAS computer system can be configured to analyze the first data manifest, and the second data manifestation retrieved from blockchain and trigger the second computing to release the payload of data to a data-consuming application when analysis by the DMAAS system indicates a success transfer.
The disclosures below will help you to understand these and other aspects.
In the description of various embodiments that follows, references are made to the accompanying illustrations identified above, which form part of this document, and where is illustrated various embodiments which may be used in order to practice the aspects described in the present invention. Other embodiments and structural and functionality modifications can be made to the present invention without departing from its scope. “Various aspects can be embodied in other ways and practiced or carried out differently.
As a general introduction to subject matter described below in greater detail, aspects described are directed towards data manifestations as a services utilizing the advantages of blockchain, P2P communication, immutable records for data communications and a trustworthy source of records about data communications over P2P computer system.
It is important to understand that the terminology and phraseology used in this document are meant for description, and not as a limitation. The phrases and terms should be interpreted in the broadest sense. Use of the words ‘including’ and ‘comprising? The use of?including? The term ‘and variations thereof’ is intended to include the items listed below and their equivalents, as well as other items and their equivalents. Use of the term?mounted? ?connected,? ?coupled,? ?positioned,? ?engaged? “Engaged” and similar terms are meant to cover both direct and indirect mounting and coupling.
The disclosure described herein is at least partially based on a decentralized P2P (e.g. P2P) system that has been specialized to manage a blockchain. The decentralized P2P may consist of computing devices distributed across multiple geographical locations as opposed to one central location. Computing devices that form the decentralized P2P systems may work together to manage a Blockchain, which is a data structure for storing information about the decentralized P2P systems. The blockchain is a linkage between data elements (blocks, for example) that store records related to the decentralized computing systems.
In general, an individual can access the decentralized system via a special ‘wallet’. The wallet identifies the user uniquely and allows them to perform certain functions on the decentralized P2P system. The wallet may allow the user to store tokens, funds and/or other assets or transactions (e.g. a data contract and data manifest) that are associated with the P2P decentralized system. The wallet may also be used by the user to request network-specific features related to the P2P decentralized system, such as data, tokens, assets, or fund transfers. The decentralized P2P system’s computing devices may work together to perform the network-specific functions that the user requests. The various computing devices can produce blocks that contain the data generated by the network-specific function and add them to the blockchain. The wallet of the user can indicate the network-specific function performed after the block is added to the Blockchain.
As an example of how blockchain can be used, a user with a wallet may indicate that he has data (e.g. five tokens) linked to the decentralized P2P network. The user can request the decentralized P2P to transfer data (e.g. the five tokens), to a second person who has a wallet. The decentralized P2P system’s computing devices can perform the request to transfer data from the wallet belonging to the first user into the wallet belonging the second user. The various computing devices in the decentralized P2P system may create a block by doing this. The block can store data that indicates the transfer of data from the wallets of the first and second users. The block can be added to the blockchain by the various computing devices. The wallet of the user who transferred the data may now reflect that transfer. In the example given, the wallet of the first user may show a balance zero tokens. However, the wallet of the second person may also reflect that the data was transferred (e.g. the five tokens), and could indicate a total of five tokens.
In more detail, the decentralized P2P system may be specialized for managing a distributed ledger, such as a private blockchain or a public blockchain, through the implementation of digital cryptographic hash functions, consensus algorithms, digital signature information, and network-specific protocols and commands. The decentralized P2P system (e.g., decentralized system) may be comprised of decentralized system infrastructure consisting of a plurality computing devices, either of a heterogeneous or homogenous type, which serve as network nodes (e.g., full nodes and/or lightweight nodes) to create and sustain a decentralized P2P network (e.g., decentralized network). Each of the full network nodes may have a complete replica or copy of a blockchain stored in memory and may operate in concert, based on the digital cryptographic hash functions, consensus algorithms, digital signature information, and network-specific protocols, to execute network functions and/or maintain inter-nodal agreement as to the state of the blockchain. Each of the lightweight network nodes may have at least a partial replica or copy of the blockchain stored in memory and may request performance of network functions through the usage of digital signature information, hash functions, and network commands. In executing network functions of the decentralized network, such as balance sheet transactions and smart contract operations, at least a portion of the full nodes forming the decentralized network may execute the one or more cryptographic hash functions, consensus algorithms, and network-specific protocols to register a requested network function on the blockchain. In some instances, a plurality of network function requests may be broadcasted across at least a portion of the full nodes of the decentralized network and aggregated through execution of the one or more digital cryptographic hash functions and by performance of the one or more consensus algorithms to generate a single work unit (e.g., block), which may be added in a time-based, chronological manner to the blockchain through performance of network-specific protocols.
While in practice, the term “blockchain” can have a variety of contextually derived meanings, as used herein it refers to a concatenation of sequentially dependent data elements (e.g. blocks) acting as a data ledger that stores records relating to centralized computing system. The term “blockchain” can have a wide range of meanings depending on the context. However, in this document, it refers to an association of sequentially-dependent data elements (e.g. blocks) that act as a data database for records related to a distributed computing system. These data records can be related to a specific entity or enterprise such as a bank, and/or they may be linked to a specific application and/or case, including but not limited, to data communications between computing system, cryptocurrency, digital storage and delivery of content, entity authentication, authorization, digital identification, marketplace creation and operations, internet of thing (e.g. IoT), prediction platform, currency exchange, remittances, P2P transfers and ride sharing, trading platforms and real estate, precious metal and work A “private blockchain” is a decentralized private system in which only authorized computing devices are allowed to act as nodes and have access to the private blockchain. A ‘private blockchain’ is a blockchain that forms part of a private decentralized system. Only authorized devices can act as nodes and access the blockchain. In certain instances, authorized computing devices who are not nodes in the decentralized network but have the proper credentials may be able to view and/or access the private blockchain. A “public blockchain” A ‘public blockchain’ is a system of decentralized public systems in which computing devices are allowed to be nodes and access the public blockchain. In certain instances, the public Blockchain may be viewed and/or accessed by computing devices who are not participating in the decentralized network as nodes.
Further a full node?” or ?full node computing device,? As used herein, a computing system in a distributed system may be described as a device that creates and maintains a network decentralized, performs network functions requested, and maintains inter-nodal consensus as to the current state of the Blockchain. To perform these responsibilities, the computing device that is a full-node in the system must have a copy or replica of the blockchain in its memory as well as executables instructions for hash functions and consensus algorithms as well as digital signature information. A ‘lightweight node? ?light node,? ?lightweight node computing device,? or ?light node computing device? A computing device that is part of a decentralized system and requests network functions, such as balance sheet transactions and smart contracts, but does not have the capability to perform the requested functions or maintain agreement between nodes on the current state of the blockchain, may be referred to as a lightweight node. A computing device that is a lightweight in a decentralized system can have a copy or partial replica of the blockchain. “In some cases, network functions that are requested by lightweight nodes and performed by the network decentralized may be available to full nodes within the decentralized system.
?Network functions? and/or ?network-specific functions,? As described herein, functions can be performed by nodes in a decentralized P2P system. In certain arrangements, data generated by performing network-specific function may or may not stored on a decentralized P2P blockchain. Some examples of network functions include API functions, which may include functions like’smart contracts operations’. Examples of network functions may include application programming interface (API) functions that can include such things as?smart contract operations? Other API functions can include managing data contract information or data manifest information. As used herein, a smart contract operation may refer to one or more operations that are associated with a “smart contract.” One or more algorithms or programs may be stored on a Blockchain and identified via one or more wallets or public keys in a P2P decentralized network. When performing a smart-contract operation, a full node computing device in a decentralized P2P system may identify a specific block on a blockchain that contains the smart contract. Then, upon identifying the particular block, the full node may execute one or more programs and/or algorithms associated with the contract. “A balance sheet transaction can describe changes in data holdings for one or more nodes of a decentralized network.
In one or more aspects, the disclosure includes a “digital cryptographic function.” As used herein, a digital cryptographic hash function can be any function that takes an input of characters, such as a message, of either a fixed or non-fixed size, and returns a string of fixed characters, such as a hash, a hash value (e.g. message digest), a digital fingerprint (digest), and/or a checksum. Some examples of digital cryptographic functions include BLAKE, MD, SHA, Spectral Hash (e.g. SHA-1, SHA-2, SHA-4, SHA-5, etc. ), Scrypt (e.g. MD2, MD4, MD5, etc. ), Skein (e.g. Spectral Hash), SWIFT (e.g. Spectral Hash), Tiger (e.g. SWIFT), and so on. A “consensus algorithms” As used in this document and described below in more detail, a?consensus algorithm’ can refer to one of more algorithms that are designed to achieve agreement among nodes within a decentralized network on one or multiple data values. Some examples of consensus algorithms include proof of work (e.g. PoW), delegated Proof of Stake (e.g. DPoS), or practical byzantine error tolerance algorithm (e.g. PBFT). Further, “digital signature data” is also used. One or more private/public keys and digital signature algorithms may be used to digitally certify a message, network function request and/or authentication for purposes of identity verification. Examples of digital signature algorithms which use private/public key pairs contemplated herein may include public key infrastructure (PKI), Rivest-Shamir-Adleman signature schemes (e.g., RSA), digital signature algorithm (e.g., DSA), Edwards-curve digital signature algorithm, and the like. A “wallet” is a collection of data and/or software elements that allow a node in a decentralized P2P network to interact with the decentralized P2P network. As used herein, a?wallet’ can refer to data or software elements (e.g. digital cryptographic hash function, digital signature information and network-specific command) that enable a node to interact with a decentralized P2P system. A wallet can be associated with a publicly-available key that may serve as identifier for the wallet. When requesting network operations, the private key associated with a wallet can be used to sign digitally the network operation request.
As will be explained in more detail below, a P2P decentralized system that implements a blockchain datastructure may provide solutions to the technological problems present in current centralized systems with traditional data storage arrangements. The central data authority in conventional data storage systems is a single-point of failure. If compromised by malicious attackers, this can lead to data manipulation, unauthorized disclosure of data, or loss of control over the processes carried out by the centralized data system. Implementing a blockchain in a P2P decentralized system is a way to protect against malicious and/or unreliable nodes that could undermine the efforts of other nodes. The implementation of the Blockchain data structure also allows for management of electronic data transfers between two or multiple computing systems in order to maintain data security and integrity based on terms set out in a data exchange agreement.
FIG. “FIG. The centralized computing system 100 can include one or more computing device, including at least the server infrastructure 110 and the user computing devices. Each of the user computers 120 may be configured so that they communicate with the server 110 via the network 130. In certain arrangements, the central computer system 100 can include other computing devices and networks not shown in FIG. “1, which may also be configured to communicate with the server infrastructure and, in certain instances, user computing devices.
The server infrastructure 110 can be linked to a separate entity, such as a company, school, government agency, etc. The server infrastructure may include one or more PCs, server computers, laptops or handheld devices, multiprocessor systems or microprocessor-based systems. It could also include set-top boxes or programmable consumer electronics. The server infrastructure may consist of computing hardware and/or software to host data and applications that are used for the central entity’s tasks and to interact with user computing devices 120 and other computing devices. Each of the computing devices in the server 110 can include one or several processors 112 as well as one or multiple databases 114, which may be stored on the memory of one or many computing devices. The one or more processors 112 can execute computer-readable instructions in memory to configure the computing devices in the server infrastructure 110 to perform the functions of the central entity, and store data generated by such functions in databases 114.
In some arrangements, server infrastructure 110 can include or be part of a enterprise information technology infrastructure, and host a plurality enterprise applications, enterprise database, and/or enterprise resources. These applications can be run on one or more devices that are part of the server infrastructure 110, using distributed computing technologies and/or similar technology. The server infrastructure 110 can include a large number of servers to support the operations of an organization or enterprise, such as a bank. In this example, the server infrastructure 110 may create a single ledger that contains data from all the user computing devices 120. This information can be stored in databases 114.
Click here to view the patent on Google Patents.