On a platform like OpenSea, a user can select to include unlockable content for their NFT, granting whoever owns the NFT access to extra content. Is something like that possible on Cardano?
For example, lets say I have a book, and the book is an NFT, and people can look at the book NFT, but only the owner can read it. Is something like this possible with CNFTs or would it require a smart contract in order to implement it?
All unlockable content from OpenSea is hosted off chain. None of those things are on blockchain. They basically use an NFT (or action of purchasing an NFT) as a key to unlock access to content on their server (or some other server). This can be done on Cardano or with any blockchain that has publicly available NFTs and wallets.
All you do is create off chain server where you have unlockable content (text of a book for example). When NFT gets sold it sends additional link/instruction/password to the buyer so only buyer can view/open/download. It’s same on OpenSea or Raribles.
You can use smart contracts on Cardano to sign the access to unlockable content if you want (as an extra security feature), but it is not necessary. Once the content is unlocked the owner can share it in many ways.
However, remember, only NFT is on-chain and unlockable content is not on the blockchain, so if you stop paying for the servers where unlockable content s stored or servers shut down for any reason that content will not be accessible any more…