We have built CircuitBuilder to be the fastest way to access, experiment with, implement, and deliver blockchain-based complements to existing systems and processes. Many companies, both SMBs and large, enterprise-scale organizations, are seeing that using blockchain technology adds value to their offerings, and are spending hundreds of millions of dollars figuring out how, how much, when, and where.
We are making it simple and easy to experiment with where blockchain might fit into your existing offering or business process, and then deploy that solution to fit right in, with high quality, enterprise-grade delivery and availability.
One of the most common use cases for many who are looking for blockchain's immutability, security, and auditability, is to cherry pick specific pieces of information, hashing that information, and then storing just that hash on a blockchain.
So let's talk about that for a second. What can you do with that? Well, you can, at any time, start from your original data, re-hash it, and confirm that that exact data was written to the blockchain at exactly the time it was written there. When you hash the data first, you are not storing anything sensitive on the blockchain that others can use in nefarious ways. For all intents and purposes, hashes cannot be reverse engineered to reveal the original data.
What can't you do with that? Well, the issue of *how fast* you can write data to a blockchain is an issue that is constantly in competition, with several players trying to be able to handle thousands, millions, billions of transactions per x time period. The blockchain isn't really meant to hold ALL of your data, either. It's not a silver bullet. Because those don't exist.
In this example, we are using ChainPoint. ChainPoint is an open standard for creating a timestamp proof of any data, file, or process (per their web site). Using ChainPoint's open API, we were able to create components to utilize the ChainPoint Network: one to write some hashes to their nodes and retrieve the proofs of those stamps, and then another to verify data, given the proof information. You may know this process as "proof-of-existence".
In this circuit, we start by downloading a file from a remote server. In this case, it is a file hosted up on our GitHub. It's a .png image. Then, we hash that whole image file and produce a single SHA-256 hash of that file. Then, we call out to ChainPoint to write that hash to the blockchain and stamp it.
At this point, in a production environment, you would want to store the response somewhere, such as a file, database, or other API endpoint in your ecosystem. For simplicity's sake, we are just going to send that proof data right on into the verification component.
Verify Proofs then takes proof data generated from the Store Data on Blockchain component, and responds with verification of that data, including the timestamp when it was stored.
Once you have implemented the desired process, you will be able to export your circuit to run as a service on local data servers, or a cloud provider. Then, it will be available to respond to any trigger you want (sign-ins to your web site, purchases, financial transactions, healthcare transactions, doctor visits, etc), running 24/7.
(and if you are running Windows, be sure that you don't already have CB open. This is a known bug, and we will fix it soon, but we wanted to be able share circuits with you as soon as we could!!)
Ready for more?