Currently the Safe Network allows changes to mutable data based on who is making the change (via the signature check) and how it is being changed (via the permissions layer such as read, append, delete operations).
Do you think we should consider extending these ‘change conditions’ to also allow smart contracts?
I am certainly no expert on this subject, but here’s the way I see it (would be keen to hear from others)
Pros of having smart contracts
- Allows for more flexible conditions for triggering changes, eg a change may be valid if
- some other event has already happened (such as the network growing to a certain size) or
- a non-signature-based authority is provided (such as the solution to a certain computation) or
- some other piece of data on the network has changed in a specific way
- Does not remove the existing simple signature/permissions option, just extends it
Cons
- Greater flexibility increases the chance for bugs in ownership, leading to possibly undesired changes to the data.
- Potential increases to the workload for verification. Signatures take a well known time to verify. Smart contracts may take a lot of time to verify.
- Overall complexity increases compared to a simple signature-only change verification system.
Secondly, on a related but more specific note, should we consider incorporating the Ethereum Virtual Machine (EVM) as the basis for smart contracts?
Pros of using EVM for smart contracts
- Well established low and high level languages (Solidity, LLL, Vyper)
- Broad audience with existing code, contracts, documentation and testing
Cons
- The EVM design may not suit the design of Safe Network (eg payment mechanisms, data types, inputs and outputs of contracts etc)
- Maybe no desire to associate this project with ethereum
- Possibly less control over smart contract design, or additional work to maintain an incompatible fork
- Yes
- No
- Undecided
0 voters
- Yes
- No
- Undecided
0 voters
What else should we consider when it comes to the possibility of Smart Contracts on Safe Network?