Pages:
Author

Topic: Method for decentralized crypto-exchange (Not Ripple!) (Read 1578 times)

legendary
Activity: 1834
Merit: 1019
This would definitely work! However, it cannot be used to exchange fiat through - only decentralized cryptocurrencies.

There is also the issue of figuring out double spends. For this to succeed, you'll need to build a light node that connects to multiple ports, support for multiple network magic numbers, etc. Cryptocurrencies would be associated with their magic numbers.

Agreed. I have no interest in fiat exchanging here. This is just a crypto-exchange network.

Maybe some entity/institution could release a fiat-backed, or gold-backed cryto currency, with an amount in circulation that is distributed by the entity equivilant to the amount they hold. They could then use this currency to exchange with other currencies which would allow the basecoin network to also price all these crypto currencies relative to physical currencies. ie. we would not longer need to rely on centralized exchanges in order to figure out the US dollar amount of bitcoin

Similar to ETFs for physical metals.

What is the regulation concerning creating a forex marketplace? How can we connect an exchange to the forex market, or if better, how can we work with a bank to join on to an FX market? Can Blueseed have some role in this? Silicon Valley Bank? I don't know enough yet to connect the dots

Quote from: wikipedia
The foreign exchange market (forex, FX, or currency market) is a form of exchange for the global decentralized trading of international currencies. Financial centers around the world function as anchors of trading between a wide range of different types of buyers and sellers around the clock, with the exception of weekends. EBS and Reuters' dealing 3000 are two main interbank FX trading platforms. The foreign exchange market determines the relative values of different currencies.

Surely there's a way to piggy back onto the existing infrastructure
legendary
Activity: 2618
Merit: 1007

Similar to ETFs for physical metals.

In fact, if some "trusted" entities were to introduce crypto currencies backed by physical metals and some commodities, in the same way ETFs work, those could be used by people in the basecoin network to establish prices of crypto coins relative to physical assets. Maybe even such entities could allow you to withdraw those physical assets....

Hey, lets say some business operates like a bank, allowing you to deposit US dollars for some special crypto coin they hold, that exists on a 1:1 relationship with the amount of dollars it holds... then people could totally use this crypto coin to do exchanges in the basecoin network. In order to redeem the dollars from this business that releases these US dollar-cryptos, you just just send them the cryptos back.
you just described a limited version of ripple by the way, just to point this out...

Anyways:
"Best" worst case currently in inter chain trading is that you can freeze someone's coins for some time. Still annoying but not too bad.
Someone suggested including branches of blocks as proof in the trading chain, still the easiest solution is with 3rd party trust or at least escrow.

As a starter for coming up with a solution, think what would have happened at the big 0.8.0 fork event that changed more than 6 blocks in the past in your scenarios. Also there are traders (who want to trade as fast as possible) and buyers (who just want to trade once or a few times to get what they want) who might have different needs and requirements.
vip
Activity: 1316
Merit: 1043
👻
This could be done with SPV (for coins that have a substantial amount of nodes/peers). It could cost a certain amount of base coins to add a new network magic number / port to listen to. If the TX fees are below a threshold for a threshold, then the port/coin is dropped and users will no longer listen to those ports / attempt SPV verification.

For example, a new coin has just came out that listens on port 9553, with [network magic numbers]. Supports of that coin pay 250 BSC to get it included in the decentralized trading chain, and users now listen to those ports. If over a retarget period there isn't 50 BSC of transaction fees for trade on those coins, then it is dropped and users don't need to listen to those ports anymore.

Users/miners of basecoin are not required to download the whole blockchain, although it would automatically look for existing blockchains to act as another node for SPV.
member
Activity: 84
Merit: 10

obviously, I've spent no time thinking about the technical details of this, only that it ought to be possible somehow to work a decentralized network that can verify that payments took place on other networks.

maybe I'll focus first on how a decentralized network could verify that certain payments took place on other networks and nodes could agree on that, and then go from there...
legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
obviously, I've spent no time thinking about the technical details of this, only that it ought to be possible somehow to work a decentralized network that can verify that payments took place on other networks.
I've spent much time head scratching about this problem for over a year now. It ties into all kinds of things that would be awesome to do with both Bitcoin and Ripple. It's not impossible to solve, it's just that there's no really good solution (at least as far as I know). They're full of compromises. That doesn't mean you can't make the idea work, it just won't work nearly as well as you might imagine.
member
Activity: 84
Merit: 10

obviously, I've spent no time thinking about the technical details of this, only that it ought to be possible somehow to work a decentralized network that can verify that payments took place on other networks.
legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
Miners can choose to not download a blockchain (and therefore not process trades for that pair), however they will be missing out on the transaction fees of those trades. Each trade pair data could be a different blockchain.
I don't see how that could work. In order for a miner to mine, they have to know what the longest valid chain is. How will they know which chain is valid if they can't validate all the transactions in it? This sounds like a recipe for forks galore.

Quote
If you only care about trading BTC <-> LTC, you need the basecoin blockchain, bitcoin blockchain, and litecoin blockchain, which you most likely already have on your computer already Wink
Are you suggesting there be a separate hash chain for each currency pair? Because if not, you can't trade at all unless you can tell what the longest valid hash chain is. And you can't do that unless you can determine if a block is valid or not. And you can't do that if you can't validate every type of transaction the network supports.

It's true you could defer this to some other server. But if you're going to have only one block chain for the exchange system (which I think you want, otherwise you're mining all different coins with different rates) then every miner and non-light client will need to validate transaction on every other block chain the system supports conversions with. That means either synchronizing to that block chain as well or having another server they can trust to get information about that other block chain.

It also means that if any other system is broken, this one will be broken too. For example, if Bitcoin has another fork, then basecoin nodes will disagree over which bitcoin transactions are valid and thus disagree over which is the longest valid chain. So it will only be as strong as the weakest coin it supports.
member
Activity: 84
Merit: 10
Why? Why can't the basecoin network verify that bitcoins were received at an address the same way anyone does by taking a look at the blockchain?
It can, but then what does it do? It's not like the network as a whole can sign a transaction. Bitcoin-like payment systems rely on self-contained, objective rules for determining if a transaction is valid or not. The longest chain consisting only of valid transactions is what wins. You can't really expect every node to have the full history of every other crypto-currency in order to know that the payments were made in some other blockchain.

I'm sure there is a way to work this that miners can take care of... "offer transaction" is signed with bitcoin address and is not written to transaction history until correct amount is sent from that bitcoin address to required bitcoin addresses.

Yes, miners need all blockchains being transacted in order to do the verification of other miners blocks... hmmm, there has to be a way
member
Activity: 84
Merit: 10
Why? Why can't the basecoin network verify that bitcoins were received at an address the same way anyone does by taking a look at the blockchain?
It can, but then what does it do? It's not like the network as a whole can sign a transaction. Bitcoin-like payment systems rely on self-contained, objective rules for determining if a transaction is valid or not. The longest chain consisting only of valid transactions is what wins. You can't really expect every node to have the full history of every other crypto-currency in order to know that the payments were made in some other blockchain.

I'm sure there is a way to work this that miners can take care of... "offer transaction" is signed with bitcoin address and is not written to transaction history until correct amount is sent from that bitcoin address to required bitcoin addresses.
vip
Activity: 1316
Merit: 1043
👻
Why? Why can't the basecoin network verify that bitcoins were received at an address the same way anyone does by taking a look at the blockchain?
It can, but then what does it do? It's not like the network as a whole can sign a transaction. Bitcoin-like payment systems rely on self-contained, objective rules for determining if a transaction is valid or not. The longest chain consisting only of valid transactions is what wins. You can't really expect every node to have the full history of every other crypto-currency in order to know that the payments were made in some other blockchain.

I've been working for some time on finding really good solutions to this problem. Still no luck. It's not impossible, it's just that every solution has painful compromises.

It's basically equivalent to being able to take Bitcoins off the block chain, trade them on another block chain, and then release them to their new owner on the original block chain. If we could do that, we could have high-speed side chains that we throw away every year.

There's SPV / light nodes, and there is actually requiring people to download the whole blockchain of cryptocurrencies they want to trade with. Miners can choose to not download a blockchain (and therefore not process trades for that pair), however they will be missing out on the transaction fees of those trades. Each block does NOT have to be, "I verify all transactions in the previous block", it can be just "I verify all BTC, LTC, NMC, FTC transactions in the previous block" with other trades staying 0/unconfirmed.

If you only care about trading BTC <-> LTC, you need the basecoin blockchain, bitcoin blockchain, and litecoin blockchain, which you most likely already have on your computer already Wink
legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
Why? Why can't the basecoin network verify that bitcoins were received at an address the same way anyone does by taking a look at the blockchain?
It can, but then what does it do? It's not like the network as a whole can sign a transaction. Bitcoin-like payment systems rely on self-contained, objective rules for determining if a transaction is valid or not. The longest chain consisting only of valid transactions is what wins. You can't really expect every node to have the full history of every other crypto-currency in order to know that the payments were made in some other blockchain.

I've been working for some time on finding really good solutions to this problem. Still no luck. It's not impossible, it's just that every solution has painful compromises.

It's basically equivalent to being able to take Bitcoins off the block chain, trade them on another block chain, and then release them to their new owner on the original block chain. If we could do that, we could have high-speed side chains that we throw away every year.
vip
Activity: 1316
Merit: 1043
👻
4. network determines what crypto-address you send the crypto coins to and in what amounts. When network determines your crypto is received by those recipient addresses, network automatically deducts the basecoin in appropriate amounts from those addresses and associates it with your basecoin address.
This is the tricky part. This is not impossible, but there is no very good way to do it that I know of and all the ways have weird quirks and downsides.


This doesn't make any sense to me. If what you say were true, then it would be impossible to ever know that I truly received the bitcoins I think I have... ? no?
It's possible.

You push out a transaction that says you will pay 400 Basecoins for 100 BTC to 1GLados. You pay a 0.5 basecoin fee to prevent spam. When 100 BTC is sent to 1GLados, the same key that was used to sign the transaction on the bitcoin network signs a 400 basecoin claim.
member
Activity: 84
Merit: 10
4. network determines what crypto-address you send the crypto coins to and in what amounts. When network determines your crypto is received by those recipient addresses, network automatically deducts the basecoin in appropriate amounts from those addresses and associates it with your basecoin address.
This is the tricky part. This is not impossible, but there is no very good way to do it that I know of and all the ways have weird quirks and downsides.


This doesn't make any sense to me. If what you say were true, then it would be impossible to ever know that I truly received the bitcoins I think I have... ? no?
member
Activity: 84
Merit: 10
4. network determines what crypto-address you send the crypto coins to and in what amounts. When network determines your crypto is received by those recipient addresses, network automatically deducts the basecoin in appropriate amounts from those addresses and associates it with your basecoin address.
This is the tricky part. This is not impossible, but there is no very good way to do it that I know of and all the ways have weird quirks and downsides.


Why? Why can't the basecoin network verify that bitcoins were received at an address the same way anyone does by taking a look at the blockchain?
member
Activity: 84
Merit: 10

Similar to ETFs for physical metals.

In fact, if some "trusted" entities were to introduce crypto currencies backed by physical metals and some commodities, in the same way ETFs work, those could be used by people in the basecoin network to establish prices of crypto coins relative to physical assets. Maybe even such entities could allow you to withdraw those physical assets....

Hey, lets say some business operates like a bank, allowing you to deposit US dollars for some special crypto coin they hold, that exists on a 1:1 relationship with the amount of dollars it holds... then people could totally use this crypto coin to do exchanges in the basecoin network. In order to redeem the dollars from this business that releases these US dollar-cryptos, you just just send them the cryptos back.
legendary
Activity: 2618
Merit: 1007
Step 4 is exploitable. This is the same issue as with inter chain transactions laid out in the wiki, only less elegant with yet another currency.
legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
4. network determines what crypto-address you send the crypto coins to and in what amounts. When network determines your crypto is received by those recipient addresses, network automatically deducts the basecoin in appropriate amounts from those addresses and associates it with your basecoin address.
This is the tricky part. This is not impossible, but there is no very good way to do it that I know of and all the ways have weird quirks and downsides.
member
Activity: 84
Merit: 10
This would definitely work! However, it cannot be used to exchange fiat through - only decentralized cryptocurrencies.

There is also the issue of figuring out double spends. For this to succeed, you'll need to build a light node that connects to multiple ports, support for multiple network magic numbers, etc. Cryptocurrencies would be associated with their magic numbers.

Agreed. I have no interest in fiat exchanging here. This is just a crypto-exchange network.

Maybe some entity/institution could release a fiat-backed, or gold-backed cryto currency, with an amount in circulation that is distributed by the entity equivilant to the amount they hold. They could then use this currency to exchange with other currencies which would allow the basecoin network to also price all these crypto currencies relative to physical currencies. ie. we would not longer need to rely on centralized exchanges in order to figure out the US dollar amount of bitcoin

Similar to ETFs for physical metals.
member
Activity: 84
Merit: 10
It would certainly be nice to be able to figure out the US dollar price of bitcoin without having to rely on centralized exchanges...
member
Activity: 84
Merit: 10
This would definitely work! However, it cannot be used to exchange fiat through - only decentralized cryptocurrencies.

There is also the issue of figuring out double spends. For this to succeed, you'll need to build a light node that connects to multiple ports, support for multiple network magic numbers, etc. Cryptocurrencies would be associated with their magic numbers.

Agreed. I have no interest in fiat exchanging here. This is just a crypto-exchange network.

Maybe some entity/institution could release a fiat-backed, or gold-backed cryto currency, with an amount in circulation that is distributed by the entity equivilant to the amount they hold. They could then use this currency to exchange with other currencies which would allow the basecoin network to also price all these crypto currencies relative to physical currencies. ie. we would not longer need to rely on centralized exchanges in order to figure out the US dollar amount of bitcoin
Pages:
Jump to: