A company, such as a supplier or buyer, might share information with other entities via a secure, distributed transaction ledger, such as one that uses blockchain technology. For example, suppliers might respond to a buyer's request for information via blockchain. To encourage efficiency and automation, the exchanged information may need to be a certain format (e.g., product name, price per unit, date of delivery, etc.). The exchange of improperly formatted information can lead to errors and time-consuming attempts to correct the data. Moreover, manually reviewing exchanged information may not be practical, especially when a substantial number of transactions are being processed. Thus, there is a need to automatically validate data published on the blockchain for syntactical correctness so that it can be automatically processed in subsequent Information Technology (“IT”) systems. Note that the validation should preferably be performed before the data is stored on the blockchain.
It would therefore be desirable to automatically provide validation of content for a secure, distributed transaction ledger in an efficient and accurate manner.
According to some embodiments, methods and systems may provide validation of content for a secure, distributed transaction ledger. A system may include a Java Script Object Notation (“JSON”) schema data store that contains electronic records providing JSON schema content format requirements. A computer processor of a content validation smart contract creation platform, coupled to the JSON schema data store, may access information in the JSON schema data store. The content validation smart contract creation platform may then automatically create a content validation smart contract based on the JSON schema content format requirements. The content validation smart contract may then be deployed by the content validation smart contract creation platform to the secure, distributed transaction ledger.
Some embodiments comprise: means for accessing information in a JSON schema data store, the JSON schema data store containing electronic records that provide JSON schema content format requirements; means for automatically creating, by a computer processor a content validation smart contract creation platform, a content validation smart contract based on the JSON schema content format requirements; and means for deploying the content validation smart contract via a secure, distributed transaction ledger.
Some technical advantages of some embodiments disclosed herein are improved systems and methods that provide validation of content for a secure, distributed transaction ledger in an efficient and accurate manner.
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of embodiments. However, it will be understood by those of ordinary skill in the art that the embodiments may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the embodiments.
One or more specific embodiments of the present invention will be described below. In an effort to provide a concise description of these embodiments, all features of an actual implementation may not be described in the specification. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developer's specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure.
At (B), the “automated” content validation smart contract creation platform 150 may receive information about content format and automatically create a smart contract. A used herein, the term “automated” may refer to a device or process that can operate with little or no human interaction. A used herein, the term “smart contract” may refer to a computer program or a transaction protocol that is intended to automatically execute, control, and/or document legally relevant events and actions according to the terms of a contract or an agreement. The objectives of a smart contract might include, for example, a reduction of need in trusted intermediators, arbitrations and enforcement costs, fraud losses, as well as the reduction of malicious and accidental exceptions.
The smart contract may be associated with a secure, distributed transaction ledger, such as one that uses “blockchain” technology. A blockchain is a growing list of records (“blocks”) that are linked using cryptography. Each block may contain a cryptographic hash of the previous block, a timestamp, and transaction data (e.g., represented as a Merkle tree). Because it is decentralized and distributed, a blockchain may provide resistance to data modification. It may represent an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way. For use as a distributed ledger, a blockchain is typically managed by a peer-to-peer network collectively adhering to a protocol for inter-node communication and validating new blocks. Once recorded, the data in any given block cannot be altered retroactively without alteration of all subsequent blocks, which requires consensus of the network majority. Blockchains are considered secure by design and exemplify a distributed computing system with high fault tolerance.
According to some embodiments, devices, including those associated with the system 100 and any other device described herein, may exchange information via any communication network which may be one or more of a Local Area Network (“LAN”), a Metropolitan Area Network (“MAN”), a Wide Area Network (“WAN”), a proprietary network, a Public Switched Telephone Network (“PSTN”), a Wireless Application Protocol (“WAP”) network, a Bluetooth network, a wireless LAN network, and/or an Internet Protocol (“IP”) network such as the Internet, an intranet, or an extranet. Note that any devices described herein may communicate via one or more such communication networks.
The elements of the system 100 may store information into and/or retrieve information from various data stores (e.g., the JSON schema data store 110), which may be locally stored or reside remote from the content validation smart contract creation platform 150. Although a single content validation smart contract creation platform 150 is shown in
A user (e.g., an operator or administrator) may access the system 100 via a remote device (e.g., a Personal Computer (“PC”), tablet, or smartphone) to view information about and/or manage operational information in accordance with any of the embodiments described herein. In some cases, an interactive graphical user interface display may let an operator or administrator define and/or adjust certain parameters (e.g., to setup company relationships) and/or provide or receive automatically generated recommendations or results from the system 100.
At S210, a content validation smart contract creation platform may access information in a JSON schema data store (e.g., a database) that contains electronic and/or encrypted records providing JSON schema content format requirements (e.g., format requirements). At S220, the content validation smart contract creation platform or computer processor may automatically create a content validation smart contract (e.g., validation conditions) based on the JSON schema content format requirements (e.g., after decrypting the format requirements). At S230, the system may deploy the content validation smart contract via a secure, distributed transaction ledger (e.g., by encrypting the validation conditions and transmitting the encrypted data to a block file system associated with blockchain technology). When new content is published or transmitted to the secure, distributed transaction ledger, the content validation smart contract can be automatically executed to validate the newly published content.
The smart contracts 316, 326, 336 are a blockchain technology component that including a piece of programming code that is stored on the blockchain as data and is executed when reading/writing data from/to the blockchain. The openness of blockchain is a key capability of the technology that implies that every participant can store data on the blockchain network 300 without involving any central server for validations of the written content. On the other hand, there may be a need to have a commonly defined data structure on the network 300 so that every participant can access the data in a defined way.
According to some embodiments, data may need to be stored on the blockchain in a JSON compliant way. Embodiments may then provide a way to define a JSON schema for published data and use smart contracts 316, 326, 336 to validate the data with the defined schema. For example:
Using a JSON schema as a language definition file for a data structure shared on the blockchain may allow for a flexible way to pre-define the structure of the data. Using a schema validation, every item of published data can be generically checked against a formal language. Such an approach may be more flexible and cost-effective as compared to implementing a dedicated check for every use case process. Additionally, the JSON schema may itself be stored on the blockchain to enable all participants to access it and get an overview of the data structure. This may allow them to always publish new data in a correct way.
Note that the embodiments described herein may be implemented using any number of different hardware configurations. For example,
The processor 1110 also communicates with a storage device 1130. The storage device 1130 can be implemented as a single database or the different components of the storage device 1130 can be distributed using multiple databases (that is, different deployment information storage options are possible). The storage device 1130 may comprise any appropriate information storage device, including combinations of magnetic storage devices (e.g., a hard disk drive), optical storage devices, mobile telephones, and/or semiconductor memory devices. The storage device 1130 stores a program 1112 and/or content validation smart contract creation engine 1114 for controlling the processor 1110. The processor 1110 performs instructions of the programs 1112, 1114, and thereby operates in accordance with any of the embodiments described herein. For example, the processor 1110 may access information in a JSON schema data store 1160. The processor 1110 may then automatically create a content validation smart contract based on the JSON schema content format requirements. The content validation smart contract may then be deployed by the processor 1110 to a secure, distributed transaction ledger.
The programs 1112, 1114 may be stored in a compressed, uncompiled and/or encrypted format. The programs 1112, 1114 may furthermore include other program elements, such as an operating system, clipboard application, a database management system, and/or device drivers used by the processor 1110 to interface with peripheral devices.
As used herein, information may be “received” by or “transmitted” to, for example: (i) the platform 1100 from another device; or (ii) a software application or module within the platform 1100 from another software application, module, or any other source.
In some embodiments (such as the one shown in
Referring to
The smart contact identifier 1202 identifier 1202 might be a unique alphanumeric label or link that is associated with a particular smart contract or filter that validates blockchain content in accordance with any of the embodiments described herein. The enterprise identifier 1204 might identify, for example, a buyer who defines the JSON schema 1206. The publication data 1208 might include a date and time of publication, a blockchain node identifier, etc. The smart contract 1210 may comprise executable code that contains all of the logic needed to verify published content.
In this way, embodiments may provide validation of content for a secure, distributed transaction ledger in an efficient and accurate manner. Note that embodiments may validate data published on a blockchain for syntactical correctness so that it can be automatically processed in subsequent IT systems. (and the validation might be executed before the data is stored on the blockchain). According to some embodiments, an increase in transaction growth and/or scale may be provided (e.g., because increased content accuracy may improve the quality of blockchain transactions) along with a reduced time to impact revenue (that is, content may be deployed and verified more quickly). Moreover, an increase of business growth, productivity, efficiency, and quality may be provided by the various embodiments described herein.
The following illustrates various additional embodiments of the invention. These do not constitute a definition of all possible embodiments, and those skilled in the art will understand that the present invention is applicable to many other embodiments. Further, although the following embodiments are briefly described for clarity, those skilled in the art will understand how to make any changes, if necessary, to the above-described apparatus and methods to accommodate these and other embodiments and applications.
Although specific hardware and data configurations have been described herein, note that any number of other configurations may be provided in accordance with some embodiments of the present invention (e.g., some of the information associated with the databases described herein may be combined or stored in external systems). Moreover, although some embodiments are focused on particular types of blockchain transactions, any of the embodiments described herein could be applied to other types of business functions. Moreover, the displays shown herein are provided only as examples, and any other type of user interface could be implemented. For example,
The present invention has been described in terms of several embodiments solely for the purpose of illustration. Persons skilled in the art will recognize from this description that the invention is not limited to the embodiments described, but may be practiced with modifications and alterations limited only by the spirit and scope of the appended claims.