Maybe you can help me to understand the following:
There are methodologies which could be adopted to reduce the risk of relying on a single issuer however.
Take the model of a BTC (or any bitcoin based coin for that matter)-> Counterparty token vending machine. User sends 1 BTC to the vending address & they receive back 1 VIRTUALBTC, which enables them to trade more smoothly on the DEX. A week later they could send that VIRTUALBTC back to swap for BTC.
That's great because we know the process is automated and that the code to convert is open-source. All transaction flow is auditable on the blockchain, reserves are fully visible. The operator is likely to act in good faith since they can take a small cut of each trade. But even given that you don't 100% know what's happening behind the scenes on the server at any given time when you send BTC to that address.
You could instead run the vending machine on Codius. You can prove to the user that the code running on the codius host is the same code published for the world to see. You can adopt secure-multiparty computing ideas with the use of multi-sig or threshold sigs across multiple hosts. The private key would not have to be stored on a single server to reduce the risk of compromise. You could also choose to plug into 'enterprise digital oracles" which are companies basically offering signing-as-a-service model and even factor independent third-party arbiters into the mix that step in upon a breach of the contract. The goal is proving validity - ensuring the code is faithfully executed as written. increasing trust distribution - reducing the risk of a single point of failure.
Then there's a whole lot of more esoteric stuff which would specifically help secure a host that the contract runs on, or the contract itself regardless of whether it's running on untrusted locations. Although many of these are not yet production viable, progress is being made and it's likely at some point in the future they will be.
Trusted computing & secure enclaves
https://www.nccgroup.com/en/blog/2015/01/intel-software-guard-extensions-sgx-a-researchers-primer/http://research.microsoft.com/apps/pubs/default.aspx?id=223450Homomorphic computing
http://tommd.github.io/Zero knowledge proofs
http://blog.cryptographyengineering.com/2014/11/zero-knowledge-proofs-illustrated-primer.htmlThat works fine for digital assets like BTC/LTC/DOGE etc that are problematic to handle with the counterparty protocol. When we start introducing digital representations of real world things onto the network (like gold for instance) you're always going to be exposed to some level of risk. Bitassets never promises that 1 BItUSD is backed by a physical dollar insitu, nor that bitgold is backed by physical gold, the expectation for counterparty assets usually would be.
Imagine a user has a few hundred dollars in BTC. They have a feeling BTC is on it's way down for a bit and gold is on it's way up. They don't own any precious metals but also like the idea of owning some. They don't yet want to commit to physically storing it just yet. They also want the ability to move easily from btc to precious metals on the blockchain.
So they go ahead and buy 1/10 oz. Gold American Eagle from digitaltangibletrust. Current price is 0.5131 BTC. They send those 0.5131 BTC to DTT's wallet who immediately purchases the equivalent from their dealer. They then send it off to the vaults, issue publicly an Inventory Report showing that your Gold eagle is safely stored in the depository and issue you a token. Which is essentially a cryptographic representation of a bailment receipt on the blockchain. The most obvious weakness here is that DTT would forge the inventory report but that's solved simply by independent confirmation with the depository. They themselves have auditors and intensive security measures so although we still have a human element which is always a weak link purchasers can have a high level of assurance that each token is really backed by physical holdings that they can take delivery of when the please-- that's perhaps more than they'd get from ETF's.
The vending machine & semi-trusted issuer approach makes a lot of sense for counterparty. For fiat we now have things like
https://tlsnotary.org/ &
https://bitsquare.io/ for cryptographically proving funds are sent., banking API's like finxera, plaid.io, Currencycloud, COREFX, fidorOS, Standard Treasury etc. aloThat side of fintech is on fire right now. There's got to be at least a dozen internet-only banking startups who have goals to open up their API completely. Either someone builds an app along with a vending machine that would allow a user to send fiat straight from a bank to counterparty and vice versa or leverage an existing service which have already started tapping into those.
With that approach you end up with a programmable plug and play model for onramps and offramps and a lot more liquidity on the DEX (ergo the XCP token). .
I can't imagine it stagnating away at current levels forever when it's clear there's developments on the horizon and when it has an actual role beyond attempting to act as a currency. As the saying goes liquidity begets liquidity - from that we can get a more accurate price discovery and I think that's one of the main reasons CounterParty has been down in the dumps despite having strong promise.
it offers an order-matching/settlement engine that allows users to trade without exposing their privkeys to a third party
Here I guess you mean: Trading gateway IOUs, XCP or BTC without revealing the private keys of these assets?
yes.
p2p betting
Would this work by having an oracle that is provided by a user (the bet issuer for example) that decides the bet?
Yes, usually There is rock-paper-scissor built right into counterwallet, and two examples here for sportsbetting:
https://bitcointalksearch.org/topic/annxbetio-the-worlds-first-distributed-betting-application-escrowed-645313 https://bitcointalksearch.org/topic/betxcp-decentralized-sports-betting-vig-free-767510Here is an example however where a user can become their own oracle to make a bet on anything
User bets The bet issuer decides the outcome. Whilst it is possible for a bet owner to (mis)intentionally list an outcome incorrectly. The bet outcome is published via a counterparty broadcast feed, for the world to see. example here:
http://blockscan.com/feedinfo?q=2344910 . They would quickly lose business by doing that. It's in their best interest to remain fair and impartial
There are two services below which collect could be used to spread the risk across multiple oracles or enable a secondary arbitration level. I think it may be possible to do it via multisig alone right now and no other service
https://www.realitykeys.com/http://orisi.vanillaforums.com/discussion/4/mturk-and-distributed-oracles-two-tiered-arbitrationToken controlled drm is a potent idea I haven't considered!
cool
usually as soon as you say DRM people get turned off but there are interesting applications. you could register rights in a p2p setting with Counterparty. and IPFS -
http://ipfs.io/ could solve the asset distribution and storage problem.
altcoins with supplies denominated in counterparty assets
Do you mean here a user issued asset that represents stake in a future consensus system? If not, could you expand?
Yeah. Instead of having them as reservations for a future stake you might even do away with a seperate chain and consensus system entirely. Instead issue counterparty tokens and come up with your own distribution mechanism. You might give them away on social media like stellar, or in the form of an Asset Based Puzzle- touched upon here in the appendix (
https://letstalkbitcoin.com/blog/post/tcv)