Can A smart contract ownership be shared.

  • If No!, is the restriction imposed at the EVM level
  • Otherwise how can shared ownership be achieved.
  • Please start by explaining what "smart contract ownership" means, because there is nothing in the Ethereum level which defines this term. Dec 26 '20 at 16:20
  • My Bad!, Wrong choice of title. But by "smart contract ownership", I was referring to the signer (address that the deployed it) of a smart contract, with the assumption that he owns the contract.
    – user65561
    Dec 26 '20 at 17:05
  • No, the deployer doesn't own anything. The person who implements the smart contract can add code that will allow certain functions to be called only by certain address or addresses. That's how ownership is generally implemented, but it has nothing to do with the address used for deploying that contract. Dec 26 '20 at 17:10
  • It just so happens that in many cases, the deployer address is saved upon deployment (e.g., storage variable address owner is set to msg.sender), and then used in order to restrict certain functions exclusively to that address. But it doesn't have to be the case. You can implement your contract to restrict certain functions to any other address or addresses. Dec 26 '20 at 17:13

There is no built-in concept of ownership. All such functionality depends on the code you implement. So by default contracts are owned by nobody and nobody has any special privileges over them.

So you can have shared ownership (shared access rights to the contract) if you add code in the contract which adds such functionality. But if the contract doesn't have code for ownership then it's simply not owned by anyone.

  • My question borders on the fact that using the onlyOwner modifier over certain functions, which can also be transfered has led me to assume that the signer that deploys any contract literally owns it.
    – user65561
    Dec 26 '20 at 17:01
  • If you use the OpenZeppelin's onlyOwner functionality then yes, the deployer is the owner. But that is all custom code which restricts certain functions to be available only for a certain address - it's not a functionality in the EVM Dec 26 '20 at 18:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy