0

Objective:

user A wants to keep some data safe (encrypted) in contract; user B can access A's data only if A does not prevent access

Idea:

user B can claim access by entering a key previously given by A on the contact platform. The contract asks A if the information can be release to B each time B claims access. A has a certain period (i.e. N days) to stop information release. Failing to stop the release or denying access after the given period, data are opened (decrypted) and accessible to B.

Question :

Does such contract or service already exists in blockchain ?

1

Objective:

user A wants to keep some data safe (encrypted) in contract; user B can access A's data only if A does not prevent access

Actually you don't need blockchain for that purpose.

Idea:

user B can claim access by entering a key previously given by A on the contact platform. The contract asks A if the information can be release to B each time B claims access. A has a certain period (i.e. N days) to stop information release. Failing to stop the release or denying access after the given period, data are opened (decrypted) and accessible to B.

You can do it by keeping in a contract encrypted data. But when you once give the key to somebody, that data will be available forever - so, when you wish to restrict access, you need to change this data to the again encrypted data (with a new key). So it is technically possible, but slightly pointless to use contract for that.

Question :

Does such contract or service already exists in blockchain ?

Unlikely

  • Thank you "Actually you don't need blockchain": yes, but a smart contract may guarantee the execution of the transfer to selected parties "But when you once give the key...": in this scenarii, the key is given only once; the only time A agrees. Once agreed B is the only owner. 1 way deal. "Unlikely": too bad – arnaudom Feb 17 '18 at 0:37
  • @arnaudom "But a smart contract may guarantee the execution of the transfer to selected parties" --- You will understand the point, when you create the concrete design based on your idea. Yes, contract is guarantee that it can do some action when some conditions appear. But, 1 - you can not store or transfer the decryption key through the contract without extra encryption. and 2 - don't forget that business deal and real money (or real assets) are transferred outside the blockchain. You should take it into account. 3 - However, you can use a contract just as a ligitimate ledger. – Nick Kernel Feb 18 '18 at 15:50
0

Everything on the blockchain is public and everyone with a copy of the blockchain has a copy of it. Once A gives B the decryption key, then B has immediate access and can decrypt it.

You can keep your resources off-chain in Swarm or IPFS, but again if you give B the decryption key and if he can make a copy then it will have access forever to it.

  • thanks. I am not thinking of blockchain itself, but a contract on blockchain that manage this process. Something like an escrow contract where money is release after certain condition are met. Here not money but data and action to be met is that A does not deny access. meaning, access is automatically release after certain period. – arnaudom Nov 21 '17 at 2:23
  • @arnaudom In the Ethereum blockchain everything is public. An Ethereum's smart contract can only restrict changes to their storage in the blockchain, but cannot restrict reads. Once you sent information to a smart contract then everyone can read from it. – Ismael Nov 21 '17 at 2:36
  • So I guess only blockchain + oracle can perform such process, right? – arnaudom Nov 21 '17 at 4:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.