OP_RETURN - Backup Scenarios for Counterparty

From the discussion on the other forum.

It appears that the BTC developers are not willing to:
a) Reinstate the 80 byte OP_RETURN
b) Some are even considering code change to remove/filter out Multisig.

Our options currently seem to be
a) Continue using Multisig
Even if we were to do this, it makes sense to develop contigency plan.

b) Develop some sort of workaround, that will pass through the filtering
While this is something the developers should consider. I don’t think this should be publicly argued or discussed on this forum as this is a sensitive topic.

c) Move to a different AltCoin block chain (with faster transaction times and enough hashing power). With the consent of the AltCoin devs ofcourse.

d) Just clone one of the existing coins to make our own blockchain. This seems to be the sensible option as it will give us full freedom. However, we might need to consider PoS coin instead of PoW.

Even if we plan to stay on the Bitcoin blockchain, we need to seriously consider options c) and d) and prepare a backup plan.

I’ve been thinking that the 10 minute blocktimes will seem really long when you could have like a 30s block time on something like FlorinCoin.  And Florincoin has 160 characters of arbitrary message data included with transactions.  They have an active developer who is looking for ways to differentiate, and I think would be super into talking about this.


If the Bitcoin devs don’t want us on their blockchain, we should go someplace where we can have parent-chain devs who are partners rather than our enemies as it seems might happen with the filtering cat and mouse arms race. 

Yes, agreed. 10 minutes transaction time is too long for trading on the distributed exchange. We need something with < 1 min transaction time.

First of all, truly GREAT JOB Counterparty devs and Peter Todd! You all are fighting the good fight right now. I personally could NOT keep my cool like the CPTY core devs have done here.

Not to fan flames, but Bitcoin hit $1200/coin when the Bitcoin ecosystem was comprised of reference-quality wallet software that looks like it was designed by programmers. Yet, people are clearly willing to dive into Bitcoin in droves, without understanding OR appreciating the quality of the software underlying their investment. To think that MSC or XCP could hamper widespread usage of Bitcoin is a ridiculous notion on the face of it.

People who use Bitcoin, you know, the ones that core devs “rode on the backs of”, on the way to becoming multi-millionaires, don’t give a fuck about ANY technical details whatsoever. People don’t CARE what it costs for you to run a Bitcoin server, just like they don’t care what it costs Twitter to run their infrastructure. We’re talking about a multi-billion dollar global financial system here, are we not? News flash: it will cost money to run this system. Frankly, if adding a decentralized stock market on top of Bitcoin costs you 10% extra per month in server costs, I can only offer you the world’s tiniest violin.

Furthermore, I’ve lost count of the number of times newbies ask why they can’t post “notes” along with their payments like they THINK they are already doing on blockchain.info. Users demand OP_RETURN, and for God’s sake! It can be at least 80 bytes! Users demand to have messaging capability built into Bitcoin. It’s an extremely useful addition to Bitcoin core, and it’s a voluntary system. Why in God’s name would you reduce it to 40 bytes when it’s purpose was to deal with these messaging capabilities everyone wants?

As to Adam’s point about altchains, the #1 advantage of being built on top of Bitcoin is that you are able to build a fully decentralized Bitcoin stock market, not a Litecoin stock market, not a Florincoin stock market, but a Bitcoin stock market. If a fucking Bitcoin stock market isn’t a reason for masses of consumers and traders to pour into Bitcoin, I don’t know what is. Bitcoin core devs need to take a reality check. CPTY devs and Peter Todd are killing it. Thank you from the bottom of my heart for all of your efforts. It would be a shame to see altchains take off in popularity just because some grumpy Bitcoin core developers think Bitcoin is somehow not anti-fragile enough to deal with OP_RETURN.

As for 10 minute wait times, I’d like to hear more about Bitcoin-based solutions. If you lose Bitcoin stock trading, you lose it all IMO.

What about moving to dogecoin blockchain (seriously)? They have a very fast confirmation time and I guess second largest user base, so doge stock trading should not be much worse than BTC stock trading.

[font=verdana]For those think 10 minutes is slow, or Bitcoin devs don’t like to modify OP_RETURN to 80 bytes.  I have an idea to solve all these problems.  That is to make XCP float on a lot of coins.  See details below:[/font]

Add an “operation/transaction type” into XCP protocol called “BURN_TO_REBORN”.


The “BURN_TO_REBORN” has a parameter named “targetRebornCoinName”.
this method’s code is like:
BURN_TO_REBORN(string targetRebornCoinName)


Then you can BURN your XCP by using this “BURN_TO_REBORN” on the Bitcoin blockchain.


Save the transaction ID of which the “BURN_TO_REBORN” Bitcoin transaction is in, it will be used later.


After 6 confirms, then you can claim/request to REBORN (with the Bitcoin transaction ID of “BURN_TO_REBORN” as a parameter) your XCP on Dogecoin or LiteCoin or other Altcoin blockchain.


The XCP daemon/program/heavy-client on Dogecoin or other Altcoin, will check if this REBORN request is valid( has a correct BURN_TO_REBORN in the Bitcoin blockchain ) and have a correct  parameter.


If the REBORN(parameter) is correct and valid.  Then your XCP is REBORN in Dogecoin. (or other altcoin you like)


You only can reborn your XCP on one Altcoin blockchain, which is specified in the parameter targetRebornCoinName of the BURN_TO_REBORN method.


Through this way, XCP can move / float on all coins.
The value of 1 XCP in all bitcoin and altcoins blockchains has the same value . Because they can move between altcoins freely.


There will be 2 kinds XCP users:
  1. light-client user, just like the current XCP user.
  2. heavy-client user, those will do the verify work to check all the BURN_TO_REBORN and REBORN messages between all the selected Altcoins’ blockchains.  Heavy-client users can earn/mine the XCP fees in all the BURN_TO_REBORN and REBORN messages.




Result:
1. This way, we can make XCP a super coin – float on all coins.
2. And XCP will become the “media/middle-coin” to convert coins between all kinds of altcoins.
3. Solve the 10 minutes slow confirm problem.  Because those like to make fast transactions can move their XCP coins into a fast blockchains/altcoins.
4. Solve the 80 bytes problem and other Bitcoin devs’ noncooperation problem. If Bitcoin devs want to filter XCP, we can just move to other coins easily.

How hard/drawbacks would it be to do it the way btc core dev want to see it done ? – put hash on opreturn , and come up with a way to sync real counterparty transactions outside btc chain.


A benefit is if counterparty team make a really good one, other projects can reuse it,

[font=Verdana]A bold suggestion:[/font]


Fork the Bitcoin Core client and call it Counterparty Core. Obviously implement a nice OP_Return limit of >80 bytes and any other features that the wider community demand. And integrate the Counterparty Protocol nicely with this.


Maybe reward Bitcoin miners who process these transactions with a Counterparty Protocol user-defined asset called CoreDevCoin or something and maybe use that as a Network Token like LTBcoin is going to be used (i.e. a way to stimulate and incentivise a Bitcoin and Counterparty development ecosystem).


The Counterparty Project can then be seen as a decentralised group that isn’t afraid to tackle the difficult/sensitive and long-term issues that face both the Bitcoin network and the Counterparty network.


CoreDevCoin could be a means to invest directly in Bitcoin/Counterparty development and attract more developers to the projects. 3rd Parties could then invest in and interact with this pool of developers for assistance in interfacing with these networks.

I think Peter Todd’s explanation of why moving off Bitcoin blockchain is a bad idea for Counterparty closes that side of the discussion:

Edit: To be clear, all this discussion about moving things like Counterparty to different independently or merge-mined blockchains as a “solution” to the “problem” of adding data to the blockchain is either mistaken or downright deceptive. Fact is these systems all get much better security by being embedded rather than independent. Decentralized consensus system security is a game of strength in numbers, and you want to be making use of the largest system you can afford. Merge-mining looks like a nice way to achieve that, but in reality just leaves you vulnerable to zero-marginal-cost attacks until you get the support of a large % of the total hashing power. A real world example of this is how Luke-Jr used Eligius to attack the merge-mined alt Coiledcoin. That leaves us with embedded consensus systems, and fortunately with Bitcoin only explicit blacklists have any hope of censoring their transactions rather than just making them a bit more expensive. (perhaps the even stronger requirement for explicit whitelists if my timelock crypto scheme can be made practical)

https://bitcointalk.org/index.php?topic=395761.msg5824434#msg5824434

I’d like to echo Appixie’s thanks.

How is Mastercoin dealing with this issue?

[quote author=Counterparts link=topic=195.msg1532#msg1532 date=1395557449]
How is Mastercoin dealing with this issue?
[/quote]
I’m interested to hear that as well.

The Florincoin dev team is committed to aiding any open-source software dev team that wishes to use a blockchain as a store-of-data for their external application or protocol.


We hereby invite the community to give their opinion on the idea of using Florincoin 528-character transactions, in any capacity, to help build the Counterparty software.


To clarify: I am wondering what the community thinks about exploring Counterparty integration in established alt-chains, specifically Florincoin, and I’d like to begin the discussion by pointing out we have had success using the Florin blockchain for decentralized applications in the past.


Our colorcoin project: http://colorcoin.org
Store an eternal love message on the blockchain: http://aterna.org/love

Luke-Jr’s attitude does highlight how XCP and others are rather hostage to Bitcoin devs.
Perhaps casting BTC as ‘just’ another asset, is preferable?

[quote author=BitcoinTangibleTrust link=topic=195.msg1530#msg1530 date=1395528885]
I think Peter Todd’s explanation of why moving off Bitcoin blockchain is a bad idea for Counterparty closes that side of the discussion:

Edit: To be clear,
…Merge-mining looks like a nice way to achieve that, but in reality just leaves you vulnerable to zero-marginal-cost attacks until you get the support of a large % of the total hashing power.

[/quote]

I don’t fully understand what a 'zero-marginal-cost attack’ is beyond an obvious miner’s control of PoW but wonder would a PoS option not neutralise that?.. I expect it’s naive but I wonder if it’s not possible to have a coin like DVC, that uses the same addresses as BTC - and yet is PoS instead of PoW.

Coindesk: Developers Battle Over Bitcoin Block Chain

http://www.reddit.com/r/Bitcoin/comments/21b4pm/developers_battle_over_bitcoin_block_chain/

My comments so far on this thread:

[quote]It should be obvious from the last few months of MtGox/Vircurex/etc. hijinks that centralized exchanges are the present-time Achilles’ Heel of Bitcoin. I’m very unhappy that the bitcoin devs are actively trying to sink Counterparty since (in my opinion) it’s the only fair, well-planned, and well-executed distributed exchange implementation to date.
The “bloat” risked by the originally-planned for 80 bytes of OP_RETURN pales in comparison to the bloat caused by gambling, which presumably has much less value to the Bitcoin ecosystem than a fair and effective distributed exchange.[/quote]

[quote]Q: "Why should people running a node to support bitcoin have to act as free cloud storage for something else just getting a free ride"

A: MtGox got “free cloud storage” for their millions of private transactions. Satoshi Dice consumed upwards of 25% of the ENTIRE blockchain, and they never paid people running nodes for their service either. Meanwhile, Counterparty adds something valuable to the Bitcoin ecosystem: a distributed exchange, the ability to pay derivatives (in BTC no less), the ability to create asset classes, etc.

The blockchain gives all sorts of businesses and entities “free rides”. The question today is whether or not it’s appropriate for the bitcoin devs to alter the protocol because they don’t like a particular service. Myself, I think Counterparty adds something of value without adding significant bloat, so why actively stifle it?
[/quote]

This is blowing up on reddit. The controversy is just what Counterparty needed to get noticed.

Can a core dev or someone knowledgeable please respond to Mike Hearn?

http://www.reddit.com/r/Bitcoin/comments/21b4pm/developers_battle_over_bitcoin_block_chain/

[quote]I think this is the key aspect that’s confusing to me. You’re talking about fiat exchanges when you talk about vicurex etc, right? So for that just trading database entries is insufficient. You need integration with the banking system.

I’m all for things like bets and decentralised debt markets but I’m not sure why you need to create a new embedded currency to do that. The designs I’ve seen don’t do that.[/quote]

http://www.reddit.com/user/mike_hearn

Most of the harshest criticism I feel stems from people not understanding that you don’t need to buy XCP because you can trade stocks with Bitcoin directly. But then, what is the point of XCP? It would be really really helpful to clarify this.

[quote author=Appixie link=topic=195.msg1595#msg1595 date=1395774980]
Can a core dev or someone knowledgeable please respond to Mike Hearn?

http://www.reddit.com/r/Bitcoin/comments/21b4pm/developers_battle_over_bitcoin_block_chain/

[quote]I think this is the key aspect that’s confusing to me. You’re talking about fiat exchanges when you talk about vicurex etc, right? So for that just trading database entries is insufficient. You need integration with the banking system.

I’m all for things like bets and decentralised debt markets but I’m not sure why you need to create a new embedded currency to do that. The designs I’ve seen don’t do that.[/quote]

http://www.reddit.com/user/mike_hearn

Most of the harshest criticism I feel stems from people not understanding that you don’t need to buy XCP because you can trade stocks with Bitcoin directly. But then, what is the point of XCP? It would be really really helpful to clarify this.
[/quote]

PhantomPhreak has PMed Mike Hearn.

Is it an option to use ethereums platform?