I need a very simple functionality and trying to design the same using smart contract. Take an NFT and fractionalize it to issue fungible tokens. Let us say we issue 1 NFTA = 1000 nfta_fungible. But the user who owns now uses these nfta_fungible in marketplace to raise capital. But if we return 1000 nfta_fungible to the user, and he sells of all of them, he looses ownership. So we need to keep track of this.
In principle once we issue 500 nfta_fungible to the owner, he is a minority stakeholder of the initial 1NFTA.
One way to track this would be to put the initial 1NFTA into an escrow account (smart contract) and then keep a counter of how many nfta_fungible is being released to the owner. The rule is that if 750nfta_fungible has been released, the escrow should raise a red flag, that the owner has reached a threshold and hence extra actions needs to be taken.
Thus the escrow would behave like a state engine tracking different state of the initial 1NFT ownership.
ALGORAND has used this concept in https://github.com/algorandfoundation/grow-algorand/issues/40. I am wondering how to implement this within cardano.
Take me as a total novice as far as plutus is concerned.