As we explained in the Creating a darkblock section, there are a few methods to create darkblocks. One of them is an NFT upgrade, when a single, pre-existing NFT gets encrypted content attached to it. When upgrading an NFT, the NFT must obviously be created first and the nft_id is then embedded in the metadata of the darkblock. Darkblocks are encrypted and stored on Arweave. An NFT can be upgraded multiple times.
Read more about NFT upgrades and how you can enable them in you own app in the Creating a darkblock section. You can also enable NFT upgrades in your app by easily installing the Upgrader and try it out in the Darkblock web app.