There is no good design for this. The only design that works is external regulation and laws wich is why we use that for real things that aren’t scams.
Nah the actual limitation is that providing people a way to transfer the token without paying a royalty is essential if you want to give people the option to freely transfer it between their wallets without selling it and paying a royalty. You could write a smart contract that does enforce this but then you would lose the ability to have that free transfer.
Why? It could be enforced in the same way that a BTC transaction is validated, just adding a rule that a wallet, specified as the author, should get a percentage of the trade.
You can easily end up with A gifting B a million and then B sending A the NFT for free, potentially with a trusted escrow service in between to make sure both of these actually happen. The NFT marketplaces are essentially already acting as escrow, so this isn’t weird.
Only thing you could probably enforce is that moving something from one key to another requires a fee to be paid to the original artist, but that’d also trigger if A wants to move their assets to a different key (eg in or out of some hardware wallet, online wallet or marketplace). And if A and B trust each other strongly they can simply share the key.
Because the second the rule becomes inconvenient there will be a fork or some kind of bullshit that removes the rule. This has already been done a couple of times when money got stolen from big investors. The thefts followed the rules set up on the blockchain and nothing in those transactions were different from a normal transaction but humans looked at them and said that they weren’t valid and did whatever technical bullshit they needed to do to reverse them.