I may have misunderstood how accounts work but it is my understanding that if a program is marked as the owner of an account then that program can modify the data in the account.
By default, all new accounts are assigned the system program
as the owner. This means that the system program has the authority to write the data of the account and credit/debit lamports from that account.
But suppose that I assign the ownership of an account I have control of to be a different program from the system program
.
Does that not mean that the system program no longer has authority to credit/debit lamports from my account? Or is the system program a special case where it can write and change data of an account without being the assigned owner?