Bitcoin Minimalism: Counterparty to Talk with Bitcoin in Ethereish
June 8, Ruben De Vries, one of developers of decentralized finance tools platform Counterparty has announced that testing the company’s new protocol for smart contracts, EVMParty, has successfully kicked off.
In case the testing finishes as successfully as it kicks off, blockchain developers will be able to create smart contracts within Counterparty. Those smart contracts will be Ethereum-like but pegged to bitcoin’s blockchain.
“For a while now all the unittests for the contracts (taken from the ethereum codebase) are all passing, what remains is test coverage for the deeper level underlying code to make sure some underlying piece of code doesn’t contain a bug (or we won’t introduce bugs into it in the future). There’s a fair chance bugs in that code could still keep the contracts functioning for 99.999% but have some edge case where a bug might pop up,” De Vries noted.
As you have probably noticed by now, Counterparty’s project employs a good share of Ethereum code, and is in fact a ported version of Ethereum Virtual Machine, which is a part of the original platform’s protocol responsible for inner states of smart contracts and respective calculations required for their execution.
“From a practical standpoint, the EVM can be thought of as a large decentralized computer containing millions of objects, called “accounts”, which have the ability to maintain an internal database, execute code and talk to each other,” Ethereum’s developement tutorial on GitHb reads.
Notably, EVMParty does not limit itself with just Ethereum programming language. It also borrows the Turing-complete language of Solidity developed exclusively for Ethereum.
CONTRADICTION NO. 1: COUNTERPARTY VS ETHEREUM
The very fact that Counterparty uses Ethereum’s code and approach towards smart contracts is definitely ironic in the light of the recent scandal and discussion related statements by Counterparty founder Chris DeRose. March 28, 2016, he tweeted:
The advantage of Ethereum’s approach and performance over the one’s of Counterparty has been addressed by Vitalik Buterin himself in his comments on Reddit. In particular, he listed relatively small block generation time (under 15 seconds), support of lightweight clients, an absence of artificially lowered blocksize, implemented DELEGATECALL, and availability of a long-term roadmap for the project. He also noted that Ethereum is independent from trials of Bitcoin’s internal policy, especially when it comes to scalability issues.
“Personally, I think this point alone is enough to outweigh whatever 8x difference in dollars wasted per hour on PoW the maximalists like to wave around, and was the original reason for not making ethereum itself a bitcoin-based metacoin,” Buterin stated.
He also said that ETH tokens liquidity, which is higher compared to those of Counterparty, combined with more active community and more progressive development infrastructure also prove that lack of pegging to bitcoin was a right solution. Counterparty’s XCP is pegged 1:1 to bitcoin, as opposed to ETH whose price does not directly depend on the world’s first cryptocurrency.
“That said, counterparty is more closely linked to the bitcoin blockchain, so it’s easier to make crowdsales that accept bitcoin directly; that’s the primary point in favor of a bitcoin blockchain-based metacoin. Though now btcrelay makes up for quite a bit of that difference,” Buterin added.
CONTRADICTION NO.2: SOLIDITY AND TURING-COMPLETENESS
The very approach of Ethereum towards smart contracts and Solidity’s so-called Turing-completeness to be used by EVMParty have also been subject to criticism from bitcoin maximalists. In particular, Gregory Maxwell of Bitcoin Core said that the platform’s imperfection consists in including unnecessary calculations in the blockchain, which may apply significant load on the network. Eventually, such approach may slow down the blockchain. Finally, calculating on a blockchain is expensive. Maxwell believes that bitcoin developers’ approach towards smart contracts is way more flexible as it records only confirmations of calculations.
“People looking for “turing complete” smart contracts inside a public cryptocurrency network are deeply and fundamentally confused about what task is actually being performed by these systems,” Maxwell said back then.
Buterin, in his turn, discarded this criticism. He states that simple and complex calculations shall be considered separately. The former are used in elementary smart contracts, require no serious power, and thus do not threaten anything. However, Buterin agrees that running complex calculations on a blockchain is silly and meaningless. For that purpose, he notes, there are services like Ethereum Computation Market which run such calculations off-chain.
Buterin also expressed his disagreement as to criticism addressed to the Turing-completeness principle used in Solidity. He explained why such feature is required for higher compatibility and simplicity of use.
“The analogy I use here is blood types. If you are a person giving blood, you want to have type O blood so that anyone can accept your blood. If you are a person receiving blood, you want to have type AB blood so that you can accept anyone’s blood. Similarly, with programming languages, Turing-completeness is type AB: no matter what other paradigm you have, you can compile it to Turing-complete,” Buterin elaborated.
According to the project’s leader, Ethereum may give developers maximum freedom of choice, and enables them to use any functionality they can only come up with. However, this freedom may result in high risks of under-optimization of code, which in turn may result in additional expenses involved in its execution.
Commenting on this technological quarrel and confusion within the community it has caused, Trevor Altpeter, director of the Counterparty Foundation, told Bitcoin.com:
“Counterparty is more interested in working with Ethereum than causing hostility. We use the exact same language for our smart contracts, known as Solidity, so developers who are able to make use of Ethereum will also be able to make use of Counterparty’s EVM.”
According to the Counterparty’s spokesperson, the startup’s team expects the usage rate of smart contracts to increase in the next few years and believes that the market is big enough for everyone.
Bitcoin.com reported that porting EVM to Counterparty’s subsystem launched as early as in late 2014, while the protocol will be completely launched after a month-long discussion within the project’s community.