Sign in with Starknet technical proposal

To summarize, the way I see it, the more restrictions we put at the protocol level, the further we get from Account Abstraction, and the closer we get to a specific Account implementation, killing the potential for different future ways of addressing things (potentially better).

Account Abstraction gives us the freedom to play with accounts the same way we play with smart contracts, with the potential of multiple different standards to come, some of them replacing previous ones, or some just completely different addressing different things. These standards are better placed IMO at the application level than at the protocol level (as we’ve seen in Ethereum). Moving things at the protocol level is kind of “setting things in stone”, making them more difficult to change (even for improvements), and enforcing them on all the contracts, even when sometimes you may not want it.

With this said, there is a line of course, we want some things enforced at the protocol level (execute and validate entry points are good examples), but the less the better, and for me is_valid_signature is above the line, and shouldn’t be “set in stone” for all the accounts.