Top 10 Q&A From Counterparty’s Reddit AMA

November 24, 2014

We had a great time on Monday, the AMA was packed with quality questions and interesting discussions. We would like to thank everyone who participated and showed interest in our Project.

The full list of questions and answers can be found on r/Bitcoin. In this post we’re bringing you our favorite 10 questions from the AMA and our answers.

#1 Sidechains

Is there a way to keep Counterparty, but get rid of the altcoin? If Blockstream (sidechains) delivers, would you consider moving to a sidechain to have features like faster block times, 100% btc currency, etc.?

XCP isn’t really an altcoin, as it’s not an alternative to BTC and BTC can be used directly within the Counterparty protocol for many things. However, much of Counterparty’s advanced functionality simply requires the existence of a new currency that is “aware” of the new features. This includes the new smart contract functionality, where XCP is used to fuel the execution of these contracts.

Sidechains are highly theoretical and still have major security concerns. However, if these problems can somehow be overcome, we’d certainly consider moving to a sidechain.

Sidechains still seem to be a long way off. Once we see the tech start to materialize, we’ll be in a better position to see the exact level of involvement Counterparty should have with the technology. As it is, there are several big security concerns we have with sidechains (merged mining, etc) that will need to be clarified/resolved. Counterparty can run on a sidechain, but there is a major security advantage to running on mainnet, especially for the lower-frequency, higher value type financial transactions that are our target.

#2 Bit Licence

Great work. Keep it up.
How do you feel about the bit licence, and regulators in general? Have you been served papers?

We have not received any letters or notice from the SEC, the NY DFS, or any other regulatory agency. The Bitlicense (given the most recent clarifications) relates primarily to transmission and storage of digital currencies. Our views on the Bitlicense are similar to those articulated by Jeremy Allaire of Circle in his blog post in August. In short, we feel that some amount of regulation is a given, but regulators must understand that Blockchain technology is both young, inherently different than traditional financial tools, and something that can be extremely beneficial to society. Their regulatory approach should be balanced, nuanced, and take these factors into account.

#3 Executing CFDs on Counterparty

It is theoretically possible to build CFDs and emulate the BitShare’s BitAsset mechanism on Counterparty?

Yes, it’s definitely possible. With a Turing Complete smart contracts system, we can do anything that any cryptocurrency can!

#4 Handling Large Number of Contracts

If smart contracts on Counterparty become popular, do you foresee a problem with all nodes having to run and verify all smart contracts? If so, do you have any plans to scale the smart contracts system in the future to handle a large number of contracts?

No, there shouldn’t be any problem. With any smart contracts system, all nodes need to run all contracts, and Counterparty is designed to be able to run a very large number.

#5 What is the Role of XCP?

With the addition of smart contracts, what is the role of XCP in the system? How is it different to other user created assets? What will build the demand for it?

XCP is used to provide functionality where it isn’t technically possible to use BTC, for instance in paying for the execution of all smart contract code (as Ether is used in Ethereum). Beyond that, it is used for the binary options functionality and when reserving some asset names. More generally, it represents stake in the protocol, and will be used for voting on protocol changes and judging community sentiment.

#6 Asset Issuance and Bartering Algorithm

It could be possible to create a “metal” asset, in scarce quantity (locked) and then split the asset in several coins? What is your targeted cost (in dollars) for creating assets? Do you see feasible applying a bartering algorithm to the decentralized exchange, arranging trading loops? BTW I’m a big fan of your project, thank you.

Yes, it’s possible. You can do a lot with the current token system, but if that’s not enough for you, write up a smart contract that does whatever you like. See also

We recently added the ability (live in a couple of weeks) to create Counterparty assets for only a minimal BTC transaction fee.

A bartering algorithm would definitely be possible using the scripting system, and would be very cool!
And thanks for your support :).

#7 Zero Confirmation E-Commerce Transactions

Is it currently possible to do zero confirmation “e-commerce” or pos type transactions with counterparty assets?

Yes. Counterpartyd includes support for parsing zero-confirmation transactions (from the Bitcoin Core mempool). This would allow an e-commerce application the ability to determine when a user has appeared to send their payment, pending confirmation.

#8 Rewriting Bitcoin Software to Provide the Same Functionality

If Counterparty is successful, couldn’t Bitcoin software be rewritten to provide the same functionality with BTC directly, thereby obviating the need for XCP?

Bitcoin has a 5+ billion market cap now. Working on the bitcoin code is, to (ab)use an analogy I’ve made earlier, like changing a tire on a 10 ton dump truck going down the road at 50mph. One does not just slap Counterparty into bitcoind and call it a day. With (relatively) mature blockchains like Bitcoin, this functionality is best left to an additional layer on top of the core blockchain technology. This is exactly what Counterparty is.

#9 What Kind of Assets Would You Like to See Created in Counterparty?

What kind of assets would you like to see being created in Counterparty?

Our opinion doesn’t count as much as others here. Our job is to create the technology, in a manner that is open to others using it in a variety of ways. That’s the power of an open source platform and a collaborative movement like Counterparty.

#10 Executing Counterparty Contracts

Is my understanding correct that Bitcoin scripts are executed by the miner who mine the block, while Counterparty instructions are only recorded on the blockchain, but executed by Counterparty nodes? Otherwise how is the Turing-completeness possible? Thanks.

Bitcoin scripts are executed by all Bitcoin full nodes. Counterparty contract code is stored in the Bitcoin blockchain and executed by all Counterparty nodes (that is, computers running counterpartyd).