There are many use cases which require to store data inside a blockchain. For example:
- Health Data
- Educational Certificates
- Property Register
- Document Certifications
- Account Balances
- Secure Communication
- Privacy Protection
- etc.
Unfortunately all data in a Blockchain is passed as an argument to a given function of a contract and it would be recorded on the ledger as a transaction data field in clear text as explained on page: “Blockchain Security and Encryption“
The above limitation hinders the implementation of many projects. For that reason we implemented a strong offchain asymmetric Elliptic Curve Public/Private Key Encryption in our Aloaha Blockchain Toolkit. This will be used when any data is published or read from the database.
The first dimension of the database will hold the data encrypted for yourself. The second dimension holds the data encrypted for the user the data is assigned to (for example a health record assigned to a doctor) and the third dimension holds the data itself.
You 3-dimensional database is demonstrated in following example:
https://demo.chain-provider.com/data.aspx
If you do not have a Blockchain address please use our demo accounts with the following Mnemonic Phrases:
demo1 Mnemonic Phrase: brass rather voice drift addict shell major wedding trash canyon blue divert
demo2 Mnemonic Phrase: story ill trade unable dice reduce unfold choose cheese federal can address
Ideally you use demo1 in one browser and demo2 in another browser to see how you can send encrypted transactions between the user with using multiple dimensins.
After you set your Wallet Password and clicked Logon please browse to: https://demo.chain-provider.com/data.aspx
Please note that the Mnemonic Phrase is only required on first logon with your browser. For future logons you need only to enter your “Wallet Password“.
You can now encrypt data for yourself only (leave Other Address and Other Public Key blank) or you can encrypt data for any other Blockchain user. In that case you need to fill in the fields “Other Address” and “Other Public Key” correctly.
Please note that our system supports account Aliase. If you type demo2 or demo1 into the Other Address Field and click Retrieve the fields will be filled from published Blockchain data.
Please give you Data an ID and enter that in the field “Data ID”. Your Data or Message itself must go into the field “Data”. Once you click “Encrypt and Submit Data” the data will be encrypted for yourself and for the “Other Address” with the public keys of the recipients. After signing the data package with your own private key the complete package will be injected into the blockchain.
After a while you will see a Transaction Receipt in the last form field. That means that the data has been successfully injected into the Blockchain . It will be visible to the other other after the next block has been mined. That takes approx. 30 seconds.
Once the block has been mined you can click on “Receive and Decrypt my Data” to read your data from the Blockchain. If you log on with the the Other User you need to click “Receive and Decrypt received Data”
Kindly note that http://demo.chain-provider.com is a test system and any saved data can be resetted at any point in time!