Incentive to execute a contract


#1

First post here, I just can’t seem to be able to find a proper answer to my question so I will ask directly: what is the incentive for a Counterparty node to execute a contract?

This has been discussed in many threads among which:

What I understand is that XCP is burn as incentive, thus rewarding all XCP holders by deflation. So as an XCP holder who does not run a node I am rewarded for someone’s else hard work. Meaning there is zero incentive and leaving me to wonder why would anyone ever execute my contract???

It could be that I am actually interested by the execution of this specific contract and I will rush to execute it but then the all point of a Ethereum-like " World Computer" is lost.

Where am I wrong?


#2

There’s no incentives necessary to run a CP node because there’s absolutely 0 value in the node count for CP.

The only reason we care about node count in Bitcoin is because we relay transactions across the network and if there’s only a small number of nodes left it would become easier to get control of those and use the control of those nodes to censor transactions or sybil attack someone.

However there’s no interaction between CP nodes, they only interact with the blockchain (through their local bitcoind).

CP could function perfectly for your needs when the the only remaining nodes being run is your own node and the person you are transacting with, because the decentralized properties it needs are achieved by the embed-consensus into the bitcoin blockchain.

Imagine CP becoming absolete because another protocol takes over which somehow does a the job better or something.
Now for example Spell of Genesis probably wouldn’t want to just move to a new protocol with all their assets, they’d have a hell of a time moving all the tokens and changing all their code and it defeats the purpose of using a decentralized protocol for your tokens.
However even if EVERYONE except SoG moves to the new protocol, they (and their users) could continue to use CP for their tokens without any loss of the decentralized properties.
As long as the wallet that their users runs the same version of CP that the SoG servers run they will have the same consensus about which transactions are valid and which are not.
And as long as bitcoin remains censorship and double-spend resistant all CP transactions will also continue to remain so.

Now ofcourse one of the other reasons companies like SoG chose CP for their tokens is the fact that people trade SoG tokens for XCP or for other tokens (PEPECACHE, BTC) and if the whole CP eco-system would be gone there wouldn’t be much to trade for anymore.
But that has absolutely nothing to do with nodes :wink:

The burning of XCP for asset creation (and possibly contract execution or other purposes) has initially been a pure anti-spam measure and it’s a small incentive to reward early adopters.

Now as to why you HAVE TO execute all transactions (and contracts when the EVM would be released) is because it’s very import (just like with bitcoin) that you have the exact same consensus of who owns what token as all other nodes.
If you would choose not the execute a transaction or contract that moves all my XCP to another address then I could then sent that XCP to you and you would consider that a valid transaction, eventhough the rest of the CP nodes will know it’s not a valid transaction because the XCP was already moved.
And as a result you wouldn’t be able to take the XCP I send you and exchange it for something else (for example for BTC on an exchange) because they wouldn’t considering my send transaction to you valid.

The incentive to run a CP node and process every transaction that the protocol dictates is valid is the desire to see and execute transactions.

There is however very little incentive to upgrade your node from non-EVM version to EVM version if you have no interest in any EVM support, you could stay on the old version and essentially fork CP at that point.
However if the whole eco-system is upgrading (and most importantly the exchanges and companies you transact with) then not upgrading would leave you vulnerable.

A soft-fork in Bitcoin is basicly just miners adding (very complex) censorship to the blocks they mine and the blocks they build upon.
Since CP doesn’t have minors to force any rules upon us there’s only hard forks.