One of the critical issue developers have that is blocking them to launch is security of their smart contracts.
It spans from seeing many hacks across the industry, where millions are stolen every week. Smart contracts can be programming simple logic and be moving millions of dollars, and developers have less control than usual around the transition from dealing with $1k and with $1m when it’s out in the open on MainNet.
This discussion is to propose an idea of a “Container” that will really make it as secure as possible for smart contract.
The possible controls for the sandbox:
- Limit amount of money held in the contract
- Limit amount of money transferred in and out of the contract per day
- Pause functionality
- Upgrade functionality
- Limiting with whitelist of who can access the smart contract (with NEAR accounts it can be even *.blah.near for example). Can be doing invitations or backend server to authorize based on some other account like Google.
What are other limiting factors we should do? What are other ways we can make contracts more secure earlier and make developers feel safer to launch (and users of cause to be the first to test it) on MainNet?
(Not discussing yet implantation, but I see two options: WASM in WASM or customized SDK)