Counterparty will introduce a series of safeguards into its Ethereum Virtual Machine (EVM) on the Bitcoin blockchain – including a ban on rollbacks, author responsibility for smart contracts and a deactivation switch controlled by community vote.
Since then, the Ethereum community has debated how to handle the situation, with a majority of miners now supporting a ‘soft fork’ to freeze that user’s funds. A hard-fork rollback of the entire Ethereum blockchain was also proposed, with many warning such a move would destroy confidence in the Ethereum platform.
Counterparty’s Proposed Safeguards
Counterparty says its system’s core asset-creation feature set is independent of any smart contract functionality – unlike Ethereum, where contracts in some form are integral to any action on the network other than sending ether.
The Counterparty Foundation Board has added a “no rollback” clause to its bylaws, after consulting with the development team. No developers will be allowed to publish code proposing a fork or rollback to counter a bug in any specific smart contract (this does not apply to any bugs found in the EVM code itself).
Authors will be fully responsible for any bugs in the contracts they write.
XCP-based stake voting is another safeguard feature – holders of a certain (yet-to-be-decided) percentage of XCP (Counterparty’s native currency unit) may vote to initiate a protocol-sourced rapid shutdown of the EVM subsystem, without affecting the routine workings of the Counterparty network itself.
A similar vote would be required to restart the EVM.
Better Smart Contract Design Needed Too
Counterparty stated that smart contract technology is powerful and risky, demanding “exceptional cautiousness” with failsafes to mitigate the impact of bugs or other issues.
The Counterparty Foundation’s announcement said:
This action reiterates how Counterparty has been run for over two and a half years, and is in the same spirit of Bitcoin itself: completely decentralized, community-driven, and non-profit.
Blame for the DAO losses, the statement added, was due to the poorly-designed “splitDAO” function, among other issues, and not a bug in the EVM itself.
The Solidity programming language, used by both Ethereum proper and Counterparty’s EVM, can and likely will be improved to make such smart contract coding mistakes less possible in the future.
The Counterparty Ethereum Virtual Machine
Counterparty’s port of the EVM was developed so Counterparty’s currency token XCP could be used as ‘gas’ to power smart contracts on the Bitcoin blockchain, rather than on Ethereum’s blockchain using its native token, ether. A development version has run on Counterparty’s testnet since 2014.
Lead developer Ruben De Vries said the current version has about 85% test coverage, and is the newest version of the EVM software successfully running on Ethereum itself.
The final release will have all EVM functionality, allow interaction with Counterparty assets, and be fully compatible with existing Ethereum smart contracts.
Counterparty believes it is mature enough to run on the Counterparty/Bitcoin mainnet, with “appropriate precautions.” It will include all the security measures mentioned above.
Do you still trust smart contracts? Are Counterparty’s security features enough to safeguard where large sums of money are involved?
Images courtesy of Wikimedia Commons