Blockchain data storage My learning on blockchain is mainly theory based. I have always been under the impression that blockchain is about data processing and data storage which I think this is where I am confused.

I have always pictured blockchain as a P2P decentralised data storage system where anyone can transfer/upload/store anything on the blockchain network. Data can be anything of a value. Any upload and transfer of data is encrypted. Data is stored encrypted. There is some magical formula that turns whatever size data into digest. Anyone who retrieve the digest will be able to turn it back to the original content with the key. 

The more I delve into it, the more it seems I have been understanding it all wrong. 

Data Storage

I understand Bitcoin is not meant for data storage. It can be but not meant for. I read about IPFS. 

Now, the data storage part whenever it is mentioned with blockchain technology(not restricted to bitcoin), without reference to IPFS or equivalent, does the data generally mean hashes of digital signatures? We store the digital signatures of the data. We don't 'upload and save' the content like what we do with cloud storage? (Let's assume cost of storage is not an issue.)

The recipient is not able to 'convert' the digest to the original content since the original content is not 'transfer'/'store' on the blockchain at all. 

If we want to encrypt the data, we will do it 'on our own' using an external service off the chain. We sign the encrypted data with private key. The recipient will use our public key to verify the digital signature and what they received is the encrypted data. The decryption part is to be communicated off the chain. 

Have I understood the above correctly now? 

======= 

My question is not restricted to Bitcoin but blockchain in general.
How does IPFS use Blockchain
https://ipfs.io/#how says

Blockchains
IPFS and the Blockchain are a perfect match! You can address large amounts of data with IPFS, and place the immutable, permanent IPFS links into a blockchain transaction. This timestamps and secures your content, without having to put the data on the chain itself.

So yes, IPFS is separate from the Bitcoin blockchain but it seems you have the option of embedding a hash in a Bitcoin transaction (for which the usual fees are needed) as proof that the hashed data existed at a point in time.
The Bitcoin blockchain is a journal of Bitcoin currency transactions. Small items like hashes can be included in the transaction details that are recorded but you pay a fee per byte and you need to have a funded wallet.

Related Questions

What methods are currently used to embed additional data into the Bitcoin blockchain?