I read the following section in Solana docs, and am wondering if it is possible to limit read access as well? can we have access control over private state in an account? For instance, Solidity can have private variables in a contract
Ownership and Assignment to Programs#
A created account is initialized to be owned by a built-in program called the System program and is called a system account aptly. An account includes “owner” metadata. The owner is a program id. The runtime grants the program write access to the account if its id matches the owner. For the case of the System program, the runtime allows clients to transfer lamports and importantly assign account ownership, meaning changing owner to different program id. If an account is not owned by a program, the program is only permitted to read its data and credit the account.