Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Private Mode for the escrow. #44

Open
clesaege opened this issue May 24, 2019 · 1 comment
Open

Private Mode for the escrow. #44

clesaege opened this issue May 24, 2019 · 1 comment
Labels
enhancement New feature or request Priority: Low

Comments

@clesaege
Copy link
Member

In order to improve the privacy of contracts, we need not to put upload everything in clear on IPFS. We only need them to be uploaded once a dispute is raised.

To do so:y
When creating the transaction, the document is uploaded encrypted with the public key of the sender and receiver.
To save on storage, an encryption key is created, used to encrypt the contract. The newly created private key is encrypted with the key of the sender and of the receiver.
The uploaded file contains:
-Encrypted contract.
-Decryption key encrypted with sender Public key. Since the sender create the transaction getting its public key is easy.
-Decryption key encrypted with receiver public key. To do so, we must look at a transaction done by this address (remember that addresses are hash of the public key and this key is revealed when a transaction is signed). If the receiver hasn't made a transaction yet, the private mode is unavailable.

The evidence contains the would be IPFS address (we can compute it from the hash of the document), but the document is not sent in clear now.

When a dispute arise, both sender and receiver have a private key allowing to decrypt the encryption key. When creating a dispute, they decrypt the document and upload it to IPFS. The evidence already points to this file, so for jurors nothing changes.

@clesaege clesaege added the enhancement New feature or request label May 24, 2019
@marsrobertson
Copy link

It reminds me of #28

Currently, all the documents are public on IPFS and accessible via Etherscan.

I think that education of the users is a low hanging fruit.

Technical solution - in due time...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Priority: Low
Projects
None yet
Development

No branches or pull requests

3 participants