Contract's admin keys/ownership relations

I have debated with myself about smart contract’s admin keys and ownership and how this can occur in different ways. I will try to point some of the findings that I have found:

Considering this context, I have the following questions that we could discuss here:

  1. It seems like we have orthogonal concepts here: contract ownerships and proxy contracts containing their owners. As a sanity checking, is it necessarily a proxy owner to be the same as the implementation contract’s owner? (Assuming, e.g., the implementation contract inherited some of the mentioned interfaces from OpenZeppelin such as Ownable, etc.)

  2. Have you seen any other interfaces other than OpenZepellin’s that are also utilized by developers that need to deal with ownership relations?

  3. If we wanted to track all ownership relations on the Ethereum blockchain, would there be more than enough parse calls of OpenZepellin contracts such as Ownable, etc., that tell about ownership assignment/revocation/transfer?

  4. Is there any estimate on how broad in Ethereum history OpenZepellin’s adoption versus something else on this aspect?

  1. Actually, there are some patterns of the upgradable contract, I assume you are saying the TransparentUpgradeableProxy In this pattern, there are two owners, one is the owner of the implementation, and the other one is the owner of the proxy, in order to avoid proxy selector clashing, so these two owner accounts should be different, that is the proxy admin can only be used for admin actions like upgrade proxy. I think for more details about proxy, you can have a look at this documentation:

  2. Emmm, I ever seen some contracts used ds-guard of the dapphub to set permission, but it seems like they have not updated code for a long time, and I think you can also use Access Control to make permissions, for more details, you can have a look at this documentation:

3, 4 Not sure.