User talk:William7500

Overview
Large amount of the electronic data has been generated with the thriving of internet. However, the problems of electronic data are revealed as well. Easy to be falsified or fabricated, copied and plagiarised, they are the flaw of internet electronic data. Nowadays, there are more and more companies devoted themselves into the security technology. Learned from companies like Baoquan.com, Factom.com, they both using the blcockchain technology to ensure that no falsification will be happened. By using the dual backup centres of Cloud service, the data storage is safely secured, and Hash value of those stored data will be stored on the blockchain and finally anchor to the Bitcoin Blockchain to ensure that no falsification will be happened. Additionally, the timestamp of blockchain could be used to prove the ownership of stored electronic data, and through Certification Authority to prevent data fabrication. The theory and practice of data attestation are as follows.

Blockchain
The Blockchain in nature is a kind of peer-to-peer distributed database, and the synchronisation of data among nodes is guaranteed by a specific kind of consensus algorithm. Bitcoin is a successful application of the Blockchain technology, and the Bitcoin Blockchain is the most secure blockchain in the current world, therefore, data storage on the Bitcoin Blockchain make it extremely difficulty to be lost or falsified. Bitcoin blockchain generates a new block in approximately 10 minutes. Each block have the data size limit of 1Mb. The average transaction frequency supported by Bitcoin blockchain is 7 transactions per second. The data structure of Bitcoin blockchain is designed for Bitcoin transfer. You have two methods to storage customised data:

1.	Storing the data into the coinbase transaction. The advantage of this approach is you can store any arbitrary data which is smaller than 100 bytes, however, the disadvantage is only the creator of a certain block can insert the data into the coinbase.

2.	Compiling the data hash as the output of Bitcoin, and set the first action of script output as OP_RETURN, then create a transaction to be broadcasted onto the Bitcoin network. The advantage of this approach is it does not limit to the creator of block to store data on blockchain, the disadvantage is, however, the data size can be stored is extremely limited, and frequent transaction sending could lead to network jamming.

Store the data on their own User chain, and after every 1 minute, the hash data of the User chain will be constructed as a Merkle tree. The Merkle root hash will be computed and stored onto the anchored block. Every 10 minutes the computed Merkle root hash will be sotred on the Bitcoin blockchain and we call the process as anchoring.The benefit of layered storage system is when people creating the nodes they do not need to concern the data on others’ User chain, hence, the network loads and storage pressure could be largely relieved.

Attestation
People could upload data in various way to store the data they want:

1.	Directly upload our by access API to upload files as word, pdf, image etc.

2.	Use the template system like Baoquan to design electronic data template, and use API to send data. It will insert those data into the template to generate the finalised data.

3.	Directly upload the hash value of the electronic data.

Authentication
People can apply for data notarisation on website. The website have access to notarisation authorities and electronic data forensic authorities who can provide authentication services for Users online.

Data encryption
The famous data encryption algorithm is AES256 algorithm, therefore, no unauthorised third-party could crack the encryption for the original data. Meanwhile, the data senders are required to electronically sign their data by CA certificates to prove the source and originality of their data. The signed data will be packed to generate attestation fingerprint, and stored to Blockchain. Hence, the authenticity of data sent to website is based on the CA certificate, it will use CA certificate to verify the identity of data sender and source of the data. The data will be split into multiple sections dynamically, and each section will be stored redundantly for at least three copies, those redundant data sections will then be stored respectively into distributed cloud servers provided by Aliyun. This method prevents any hacking activity towards single serve, since no complete data could be withdrawal by hacking any single serve.