Our ACL (Access Control List) contract is going to be inherited by a domain contract and will provide data access controls features.

Our assumption is that each user of a contract is an “address” type – address is a special type of variable in solidity that represents your wallet or account address.

We can also draw an assumption that the call from an address is authentic as it can only be made if the user has access to the private key of the account, which is the basic premise of authenticity on ethereum.

The fact is any data that is there in ethereum blockchain is public in nature, so its doesn’t make sense to create a read-only users, as anyone can see that data, but in case where the data access is encrypted in a way that allows it to be linked to…

If we can draw an assumption that with any of those proposals, or through a custom scheme we are able to encrypt our data and we are able to ensure that data access can only be done throughout contract code, then we will find it useful to create two lists…