This is a repost from our main WINGS blog on medium to support the Steemit community.
Please see WINGS Specification Series #0: An Overview for background information on the series.
Welcome to the first post in our series where we discuss various aspects of the WINGS platform, and welcome community feedback as we make headway toward the launch of WINGS DAO. In this post, we discuss the topic of securing DAOs which are embodied by smart contracts running on various block-chains supporting the Ethereum Virtual Machine.
When decomposing the subject of secure DAOs, one has to take into account the following aspects:
- Formal assurance that smart contracts code will function as intended
- Migration to functional programming in order to reduce possible bugs
- Emergency protocols can be put in place should all else fail
- Social and legal consequences resulting from contracts security
Formal verification of Smart Contracts
Formal verification of smart contracts is a notational representation of a contract that provides assurance that it does indeed what it should. Formal verification tests code in general for all possible inputs, states and results, and uses automated provers to verify execution conditions and code branching.Writing code correctly is difficult and it is even harder to ensure that only the desirable outcomes are possible. There are efforts now adding verification to Solidity, and the WINGS team plans to utilize and support these efforts.
Smart Contract functional programming
Following the hack of TheDAO there have been calls for using functional programming of smart contracts instead of programming based on imperative languages such as Solidity and Serpent. Recent research has shown that extending a functional language compiler with an Ethereum Virtual Machine bytecode producer can help developers to avoid common errors.While at the moment WINGS needs to utilize the currently supported languages, the long-term plan is to fund and lead the development of functional language support for WINGS DAO smart contracts.
Federated funds control
Rootstock is a platform that brings the Ethereum Virtual Machine to Bitcoin via side-chain technology. It is built for commercial finance users with security being a platform cornerstone, and uses a novel hybrid consensus mechanism based on merge-mining and federation.The Rootstock side-chain is merge-mined with Bitcoin using Proof of Work. The federation is a list of known companies in the Bitcoin industry, that serve as gatekeepers of transactions. All the BTC deposited (pegged) to a Rootstock side-chain are contained under the multi-signature key of the federation. As a result, the withdraw of BTC is only possible when the majority of the federation members confirm the side-chain withdrawal transaction.WINGS is going to leverage this consensus technology in order to create a last resort recovery for funds that are kept in the Rootstock side-chain. In the case the side-chain is breached, and funds are being transacted to a non-authorized address, a request will be submitted to the federation to cancel the transaction and restore the funds back.
Protecting DAOs from social and legal consequences
While the formal verification, functional programming, and emergency last resort protocols are planned to become the future standards of smart contracts security, new social and legal concerns are arising from questions of a responsibility for the custody, upgrades, and possible forking, which transpose to the social and legal realms.As Peter Vessenes notes, particular legal concerns occur when custody of funds is not solely controlled by smart contracts but when smart contracts have owners, custodians or curators which are not the particular DAO the contract represents. These parties then become exposed to social and legal hacking to subvert the intentions of a DAO.In the most extreme cases as seen with the creation of ETC and ETH, when there is also a blockchain fork involved, social hacking could result in unintended consequences there were never imagined. Needless to say, the lessons appear to point in the direction of less control by any particular group over a network or DAO or both.WINGS intends to decision a system where the DAO contractor has zero control over funds custody as well as upgrades. Upgrades will be determined by the DAOs governance mechanism (to be discussed in a future post).
Advisory role opportunities
We are welcoming experts on the above subject to contact us for advisory roles. Contact us via our Telegram, Slack and email.
Bibliography
- Pettersson, J., and Edström, R. (2016) Safer smart contracts through type-driven development (Master’s thesis). Retrieved fromhttp://publications.lib.chalmers.se/records/fulltext/234939/234939.pdf
- Reitwiessner, Christian. “FORMAL VERIFICATION OF SMART CONTRACTS.” chriseth.github.io. NP. July 26, 2016. Web. August 3, 2016.
- Allison, Ian. “RSK Federation supported by Bitcoin industry for ‘belt and braces’ smart contracts security” ibtimes.co.uk. International Business Times. Web. August 2, 2016
- Vessenes, Peter. “Advice for DAO 2.0s.” Vessenes.com. Peter Vessenes. July 22, 2016. Web. August 2, 2016