Content

blog, portfolio, and links

What is Counterparty?

Monday 6 October 2014 - Filed under Decentralization

Counterparty is a protocol for the creation and use of decentralized financial instruments using Bitcoin as a transport layer. The protocol currently supports
and implements the creation of assets, issuance of tokens of those assets, payment of dividends, protocol-escrowed trading, binary bets, and contracts-for-difference. The protocol has been operating since January 2014.

To enable the protocol to escrow value for decentralized trading and financial contracts such as binary bets and contracts-for-difference (CFD), there was a need for a common token of value in the Counterparty system. Similarly to how resources are spent to mine bitcoin, bitcoin was “burned” or irretreivably spent to create units of Counterparty’s native currency (XCP). During the 30-day proof-of-burn period in January 2014, 2.6 million XCP were created.

History

The earliest commits to Github of the Counterparty project were in December 2013. The project was announced with a release of the software on Bitcointalk.org on January 2nd, 2014. Since the software was released as free software, the proof-of-burn was started almost immediately opening on January 4th, 2014 and lasting until the 2nd of February. During this period, 2130 bitcoins (worth about $1.9 million at the time) were burned to create the XCP supply. To encourage investment in this system, each bitcoin was rewarded with from 1500 XCP to 1000 XCP at a rate which decreased linearly with each block found on the Bitcoin network during the burn period.

Since that time Counterparty has been responsible for over 77,000 transactions on the Bitcoin network. About 4,300 assets have been created and more than 7,000
informational broadcasts have been published, generally recording the outcomes of sporting events and currency exchange rates. Anyone can make these broadcasts thereby allowing Counterparty users enter into bets, binary bets and contracts for difference using them.

According to Blockscan.com, some of the most active assets include LTBCOIN, XCP, XBTC, EARLY, COMICCOIN, SJCX, and FLDC with numbers of transactions ranging from over 3300 for LTBCOIN to 800 for FLDC. In addition to the DEX, XCP trades on the Bter exchange and SJCX trades on Poloniex.

Distributed Exchange

The Counterparty protocol supports decentralized, trustless trading of native tokens in two steps using a facility called Distributed Exchange (DEX). Since the protocol parses transactions recorded on Bitcoin’s block chain, corresponding buy and sell transactions of one token for another are automatically matched and can be considered executed when each have been recorded in a block. Bitcoin can also be traded using DEX by adding an additional step called the BTCpay transaction where by the protocol holds the Counterparty token in escrow for 20 blocks. If a BTCpay transaction is confirmed during that period, Counterparty considers the trade complete and considers the tokens to be then owned by the buyer.

Consensus

Counterparty transactions are Bitcoin transactions. Depending on their form they may encode additional data in an OP_RETURN output or as additional addresses in a multisignature outut. Consensus is then achieved by interpreting the extra data in the Bitcoin block chain consistently. The Counterparty software does a check at Github for the latest minimum version required but other possibilities are being considered for ensuring that different services are interpreting the protocol and block chain consistently.

Development

Counterparty is developed as a free open source software project under the MIT license. Several projects are hosted at Github under the link https://github.com/CounterpartyXCP which include counterpartyd, the core software; counterparty_build, the automated build system; and counterblockd, a json rpc service that provides information for counterwallet, the web wallet.

The core software has seen improvements or less since the beginning of the git history in December 2013. It uses a number of python libraries and specifies version numbers of those libraries during environment setup to ensure uniformity across installations.

Service Availability

Counterparty use largely revolves around Counterwallet, the free software web- based wallet hosted by the development team. The core team also manages a wiki and forum. Blockscan.com is a block explorer for Counterparty providing charts and information on transactions, assets, orders, bets and broadcasts. The counterpartyd code provides a JSON RPC interface but also uses an SQLite database to store its information which facilitates access to the information managed by the protocol.

Outside the core and informational services, a few projects are developing tools around the assets including for crowdfunding (Vennd.io, Koinify, Swarm) and
rewards programs (LTBcoin.com).

Forks

There are two forks for the Counterparty code. The first, called Clearinghouse runs on the separate block chain provided by Viacoin. The second is Dogeparty which was implemented by Humint.is on the Dogecoin block chain. Dogeparty initialized the balances of their own central token-of-value using the same proof of burn process used by Counterparty with some tweaks. Clearinghouse developers instead sold XCH by rewarding funds sent in Viacoin to an exodus address with the new currency. It should be noted that while each of these systems launched on their prospective block chains, there is nothing in the Counterparty code base that permanently ties an instance of the system to a particular block chain. Therefore should there be issues with the security of the network either system uses, the respective communities could opt to switch to another block chain.

Conclusion

Counterparty is a decentralized system for extended financial transactions that has seen steady development and adoption since its launch. The project and its network are young and many are working on competing systems that could pose significant risk to those who would get involved with the project or invest in its fledgling economy. Further study is advised before making decisions on investment of time or capital.

Update: Oct 23, 2014 Clearinghouse seems to have confusingly labeled their XCH initialization process as burning and a “Fire Sale” when in fact developers kept the funds instead of having them sent to an unspendable address.

Update: Nov 14, 2014 Counterparty announced two days ago that they have integrated Ethereum’s EVM contracts on testnet. This means that any smart contracts written for Ethereum will run on Counterparty on the Bitcoin block chain. Only two days later Ethereum, countered by implementing Counterparty’s smart contracts in Serpent, one of the languages for writing Ethereum EVM contracts. Innovation is alive and well in the Bitcoin 2.0 space!

Tagged: » »

2014-10-06  »  David Sterry

Talkback x 2

  1. Alias
    10 October 2014 @ 6:51 am

    Have you thought about starting a Counterparty Wiki? You are good at collating and presenting information.

  2. David Sterry
    10 October 2014 @ 2:18 pm

    @Alias, Thanks. You can find a pretty informative wiki at https://wiki.counterparty.io. The support site at http://support.counterparty.io is also an in-depth resource. Finally, and since this is still a pretty-early stage project, the github repo linked above is where you’ll find the most technical and up-to-date information.