Skip to content

Commit

Permalink
Dokumentation Part 1
Browse files Browse the repository at this point in the history
  • Loading branch information
omid committed Apr 22, 2021
1 parent 8aed20f commit f5641f9
Showing 1 changed file with 13 additions and 17 deletions.
30 changes: 13 additions & 17 deletions ui/app/pages/Docs.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -47,56 +47,52 @@ const Docs = (({
</p>
<h3 id='Common uses'style={{marginTop: '30px', textAlign: 'left' }}>Common uses</h3>
<p style={{ marginTop: '30px', textAlign: 'left' }}>
<strong> Demonstrating data ownership without revealing actual data.</strong>
<strong>Demonstrating data ownership without revealing actual data.</strong>
</p>
<p style={{ marginTop: '30px', textAlign: 'left' }}>
You can publicly reveal the digest and if conflict arises you can prove you had the data that generates the digest. Useful for copyrighted material, patents, etc.
</p>
<p style={{ marginTop: '30px', textAlign: 'left' }}>
Document timestamping.
<strong>Document timestamping.</strong>
</p>
<p style={{ marginTop: '30px', textAlign: 'left' }}>
You can prove certain data exists at a certain moment of time. As we use the bitcoin blockchain to store the document proof, you can certify the existence of your document without the need of a central authority. Use the computing power of the whole bitcoin network to certify your data.
You can prove certain data exists at a certain moment of time. As we use the <a href='https://www.blockchain.com/explorer'>bitcoin blockchain</a> to store the document proof, you can certify the existence of your document without the need of a central authority. Use the computing power of the whole bitcoin network to certify your data.
</p>
<p style={{ marginTop: '30px', textAlign: 'left' }}>
Checking for document integrity.
<strong>Checking for document integrity.</strong>
</p>
<p style={{ marginTop: '30px', textAlign: 'left' }}>
If you store a proof for your document and later re-upload it, the system will only recognize it if it is completely and fully the same document. The slightest change, and we'll recognize it is different, giving you the security that certified data can't be changed.
</p>
<h3 id='Technical foundations'style={{marginTop: '30px', textAlign: 'left' }}>Technical foundations</h3>
<p style={{ marginTop: '30px', textAlign: 'left' }}>
The document is certified via embedding its SHA256 digest in the bitcoin blockchain. This is done by generating a special bitcoin transaction that encodes/contains the hash via an OP_RETURN script. This is a bitcoin scripting opcode that marks the transaction output as provably unspendable and allows a small amount of data to be inserted, which in our case is the document's hash, plus a marker to identify all of our transactions.
The document is certified via embedding its <a href='https://en.wikipedia.org/wiki/SHA-2'>SHA256</a> digest in the bitcoin blockchain. This is done by generating a special bitcoin transaction that encodes/contains the hash via an <a href='https://en.bitcoin.it/wiki/OP_RETURN'>OP_RETURN script</a>. This is a <a href='https://en.bitcoin.it/wiki/Script'>bitcoin scripting opcode</a> that marks the transaction output as <a href='https://en.bitcoin.it/wiki/Script#Provably_Unspendable.2FPrunable_Outputs'>provably unspendable</a> and allows a small amount of data to be inserted, which in our case is the document's hash, plus a marker to identify all of our transactions.
</p>
<p style={{ marginTop: '30px', textAlign: 'left' }}>
Once the transaction is confirmed, the document is permanently certified and proven to exist at least as early as the time the transaction was confirmed. If the document hadn't existed at the time the transaction entered the blockchain, it would have been impossible to embed its digest in the transaction (This is because of the hash function's property of being second pre-image resistant). Embedding some hash and then adapting a future document to match the hash is also impossible (due to the pre-image resistance of hash functions). This is why once the bitcoin blockchain confirms the transaction generated for the document, its existence is proven, permanently, with no trust required.
Once the transaction is confirmed, the document is permanently certified and proven to exist at least as early as the time the transaction was confirmed. If the document hadn't existed at the time the transaction entered the blockchain, it would have been impossible to embed its digest in the transaction (This is because of the hash function's property of being <a href='https://en.wikipedia.org/wiki/Cryptographic_hash_function#Properties'>second pre-image resistant</a>). Embedding some hash and then adapting a future document to match the hash is also impossible (due to the <a href='https://en.wikipedia.org/wiki/Cryptographic_hash_function#Properties'>pre-image resistance of hash functions</a>). This is why <strong> once the bitcoin blockchain confirms the transaction generated for the document, its existence is proven, permanently, with no trust required</strong>.
</p>
<p style={{ marginTop: '30px', textAlign: 'left' }}>
If anyone wants to manually confirm the document's existence at the timestamped time, they should just follow these steps:
</p>
<ul class="a"> <p style={{ textAlign: 'left' }}></p>
<ul class="a" style={{ textAlign: 'left' }}>
<li>Calculate the document's SHA256 digest.</li>
<li>Find a transaction in the bitcoin blockchain containing an OP_RETURN output with the document's hash prepended by our marker bytes, which are 0x444f4350524f4f46 (or 'DOCPROOF' in ascii).</li>
<li>Some online services like Coin Secrets or blockchain.info's list can help you locate OP_RETURN transactions more easily.</li>
<li>Some online services like <a href='https://www.multichain.com/'>Coin Secrets</a> or <a href='https://www.blockchain.com/error'>blockchain.info's</a> list can help you locate OP_RETURN transactions more easily.</li>
<li>The existence of that transaction in the blockchain proves that the document existed at the time the transaction got included into a block.</li>
</ul>
<h3 id='Try it now'style={{marginTop: '30px', textAlign: 'left' }}>Try it now</h3>
<p style={{ marginTop: '30px', textAlign: 'left' }}>
Read the <a href='http://docs.proofofexistence.com/#/get-started'>Get Started</a>section to run your own instance or try it <a href=''>online</a> first.
Read the <a href='http://docs.proofofexistence.com/#/get-started'>Get Started </a>section to run your own instance or try it <a href=''>online</a> first. <br/>
You can reach for us on <a href='https://t.me/doichain'>Twitter </a>or <a href='https://github.com/stallingerl/Verifile'>Github</a>.
</p>
<p style={{ marginTop: '30px', textAlign: 'left' }}>
You can reach for us on <a href='https://t.me/doichain'>Twitter</a>or <a href='https://github.com/stallingerl/Verifile'>Github</a>.
</p>
<p style={{ marginTop: '30px', textAlign: 'left' }}>
Proofofexistence.com is website dedicated to host and support the community of users ot the PoE protocol.
</p>
<p style={{ marginTop: '30px', textAlign: 'left' }}>
It is powered by Poex.
Proofofexistence.com is website dedicated to host and support the community of users ot the PoE protocol. <br/>
It is powered by <a href='/'>Verifile.it</a>
</p>
</div>
</div>
</div>
</div>
</div>
</div>
)
export default Docs

0 comments on commit f5641f9

Please sign in to comment.