I wrote a fungible digital asset protocol called Open Publish that uses the Bitcoin protocol. You can see that here:

https://github.com/williamcotton/openpublish

So let's imagine that instead it is a non-fungible token. The only difference between a fungible asset and a non-fungible asset is that a fungible asset can be split up into parts and owned by multiple parties. A non-fungible digital asset has only one owner at a time.

> They store them in their private classic centralised DB (not related to blockchain in any way, because private blockchain is idiotic idea). They are not stored in the public blockchain because that is technically impossible both in current and future chains, due to constraints decided collectively (you can't have even barely working blockchain pretending to be decentralised and also be able to store megabytes of data on chain).

You don't need to store anything in the blockchain other than the cryptographic hash of the digital item in question. In fact, you can take the cryptographic hash of many different digital messages and then take the cryptographic hash of those combination of cryptographic hashes and store that data in the blockchain, along with data related to ownership.

> Then company A creates NFTs for these cards. Again, the digital cards are not in any way related or linked or paired with the NFTs. The system storing and managing cards doesn't know about NFTs. NFTs are weakly linked to somewhere on the web, supposedly to the cards, but there is really no requirement for that and what more amazing - no verification to where they are linking.

This is incorrect. Let's say I'm Shueisha. I create a physical device that I install in game stores that comes pre-installed with valid public keys for digital cards issued by Shueisha. Then I issue a number of non-fungible digital assets that are signed with one of the private keys paired with the public keys stored on the physical device in the game stores. This physical device will only work with digital assets that were originally issued by Shueisha, say a virtual pack of 15 virtual cards. These virtual cards are non-fungible tokens on a decentralized blockchain similar to Open Publish.

When someone purchases a pack of digital cards they provide their own public key and Shueisha publishes their own signed transaction that transfers ownership to this person. The physical device in the game store is connected to the internet and can see the valid and confirmed transactions. The physical device in the game store ignores all assets that did not originate from Shueisha but will honor ownership of all future transactions of digital cards that did originate from Shueisha. The physical device in the game store also connects to a database run by Shueisha that when given the cryptographic hash (or the hash-of-hash and the hash) of a digital card will return the details about the card... link to the URL for the digital art, the flavor text, card rules, etc.

> Now what happens when someone is selling or reselling cards. I will split this into MUST and OPTIONAL sections.

All that needs to be written to the blockchain is the cryptographic hash and the recipient signed by the original owner. So when you buy a pack of digital cards from Shueisha they write a transaction to the blockchain signed by one of their private keys that says they are transferring ownership to your public key. The public key pairs for Shueisha, again, are stored in the physical device in the game store. If you bring a device with your private key to the game store then the physical device will let you use any cards that are shown to be owned by your matching public key.

> User MUST create an account on the completely proprietary and centralised server of company A, because system storing and managing cards MUST update who owns what in its centralised DB. And technically that's all, nothing else is needed.

The only need for a centralized database is for all of the meta information about the card... the art, the name, game details, etc. The only need for a decentralized database is in determining the cards owned by the gamer as proven by their private key on some device they bring to the game store.

The physical device at the game store then makes sure that the players own the virtual cards that they say make up their deck by checking the decentralized data stored on the blockchain. The physical device then gets all of the meta data about those cards from the centralized server.

> What it OPTIONAL is that user can also buy NFT which was initially generated by company A, and which stores an URL pointing to the card hosted on the private company A server. But until company A does the MUST step above, NFTs sale is pointless. Centralised DB does not in any way interact with blockchain with NFTs, and it technically can't.

This is incorrect. In the system I am describing the decentralized data stored on the blockchain is only the cryptographic hash of the digital asset. The meta data is stored on a centralized DB owned and operated by Shueisha. This is just like how I can't scribble on a Yu-Gi-Oh card to make it say whatever I want (at least for tournament play) but I can indeed buy and sell and trade Yu-Gi-Oh cards without the involvement of anyone else.