<p>Storing large data chunks (like video) on chain is always a bad idea. You should store in on something like <a href="https://en.wikipedia.org/wiki/InterPlanetary_File_System" rel="nofollow noreferrer">IPFS</a> and store the IPFS URL on chain.</p>

CC BY-SA 4.0
2022-11-06T05:38:14.163Z
2022-11-06T05:38:14.163Z
Erik de Castro Lopo
<p>The problem is that the NFT, while belonging to a wallet, is publicly visible to anyone on the internet. Therefore I think you need at least some small centralized server that stores your encryption keys.</p>
<p>A possible solution could look like this:</p>
<ul>
<li>You create an NFT with an IPFS link to an encrypted video</li>
<li>The owner of the NFT connects a wallet to your website</li>
<li>The website makes a call to your (centralized) private server and asks for the key to decrypt the video stored on IPFS</li>
<li>Your server checks if the connected wallet has your NFT and sends the decryption key as a response</li>
<li>Now the video from IPFS can be decrypted by the user and viewed</li>
</ul>

CC BY-SA 4.0
2022-12-06T07:23:05.877Z
2022-12-06T07:23:05.877Z
eddex
<p>What would be the best way to store Private Video on chain, completely and only NFT holders should be able to access it
Like the video can be encrypted and stored on IPFS or STORG. Only the NFT holder should be able to decrypt and stream the video
How can we give access of decryption key to the NFT holder?
Here the problem is private encrypted content storage on decentralized infrastructure
And decryption key access to the NFT holder</p>

<smart-contract><nft><oracles>
Decentralized Private Content Storage and Accessing
# Decentralized Private Content Storage and Accessing

(Asked by: username_0 on 2022-11-06)

What would be the best way to store Private Video on chain, completely and only NFT holders should be able to access it
Like the video can be encrypted and stored on IPFS or STORG. Only the NFT holder should be able to decrypt and stream the video
How can we give access of decryption key to the NFT holder?
Here the problem is private encrypted content storage on decentralized infrastructure
And decryption key access to the NFT holder

**Tags:** smart-contract, nft, oracles

---

## 2 answers

### Answer by username_1 on 2022-11-06. Score: 1

Storing large data chunks (like video) on chain is always a bad idea. You should store in on something like [IPFS](https://en.wikipedia.org/wiki/InterPlanetary_File_System) and store the IPFS URL on chain.


---

### Answer by username_2 on 2022-12-06. Score: 0

The problem is that the NFT, while belonging to a wallet, is publicly visible to anyone on the internet. Therefore I think you need at least some small centralized server that stores your encryption keys.

A possible solution could look like this:

* You create an NFT with an IPFS link to an encrypted video
* The owner of the NFT connects a wallet to your website
* The website makes a call to your (centralized) private server and asks for the key to decrypt the video stored on IPFS
* Your server checks if the connected wallet has your NFT and sends the decryption key as a response
* Now the video from IPFS can be decrypted by the user and viewed


---

