Document testing application using blockchain
Testing
Project:
DocuTest
Credible Digital Asset Store
Certification Application
Outline
The Problem
Solution Proposal
Wireframes
Next Steps
The Problem
Problem
statement
We want to verify the authenticity
of information
Without:
1.
2.
3.
4.
A central authority to do the
authenticating
Disclosing the information being
verified
While being able to know not only
state but time of verification
What customers
do today
Asset verification will require a central
authority or government which might
tamper with the documents
Some authorities have more credibility than
others.
Certification of the same documents can
occur using outdated systems
Services are not always available
Solution Proposal
Our Application
Checks document integrity
Verifies Data ownership without revealing actual data
Uses the blockchain technology to verify the existence of a technology without the need of a central
authority
Our Application
This solution is also decentralized
And because of the bitcoin blockchain, data cannot be erased or modified
It's also anonymous so no one can identify the source of the data
How will it work?
How it works
➔ This can be done by generating a special bitcoin transaction
➔ The Embed a file’s SHA256 hash into the transaction’s op_return script
➔ An op_return script it Bitcoin’s scripting opcode which marks the transaction output provable
unspendable
➔ This allows small amounts of data to be inserted
How to timestamp
➔ Timestamping is possible by taking the hashed data and turning it into a bitcoin address
➔ This is done by making a small payment bitcoin payment to an address
➔ Then the hashed data and the address will both be saved in the blockchain
➔ Once the transaction is confirmed the document is permanently verified
Why it’s better than existing solutions
Because the hash function is second preimage resistant:
It is impossible to store a document’s digest in the transaction if the document if the document didnt
exist by the time of transaction.
It is also impossible to create a future document with the same hash
What is second preimage resistance?
Is a property of cryptography where if there is an input m1 it should be
difficult to find another input m2 such that if m1 is not equal to m2 the
hash(m1) = hash(m2)
If a function has this property it is said to be second preimage attack
resistant.
How to confirm existence?
Uses
➔ Calculate the documents’ SHA256 digest
➔ Find the transaction in the Bitcoin Blockchain contain the op-return output with documents hash
prepended
➔ Services like coinsecrets and Blockchain.info’s list can help with this
➔ Confirm the existence of the transactions at the particular time
The Applications
Uses
➔ Protecting copyrighted material
➔ Proving the time of existence for filed patents
➔ Checking document integrity
➔ Among Others
Next Steps
The way forward
➔ Add a layers of storage using cloud storage to allow storage of the verified data
➔ Being able to extract information from pictures using machine learning to allow verification of
through images and images of text
➔ Use deep learning to figure out then the same subject (from image) is verified
Timeline
From the start
TODAY
Next week
Next week
User research &
requirements
gathering
Present
Review
Prototype
Next
Then
Review
Add ‘what's
next” feature