Author

Topic: Inter-coin-exchange api and/or protocol/functionality proposal (Read 278 times)

full member
Activity: 385
Merit: 110
Hello,

I chatted with somebody and he believes some community needs to be able to buy alt-coin with btc. The problem is the alt-coin might not be registered on an exchange.

In principle exchanging "coin type A" for "coin type B" shouldn't have to be so hard if for example coin systems would support it.

One possibility would be for "coin-systems" to be able to "integrate" with other coin systems by for example api and/or protocol.

Coin-systems then start to behave as "plug-ins" to "exchange software".

Bitcoin client for example could be forked to start functioning more as "exchange software".

The idea is that this "exchange software" via plugin system and api/protocols is able to "scan" multiple blockchains.

By perhaps extending blockchain technology, exchanging type A for type B might be made more easy.

All kinds of approaches could be taken.

1. Non intrusive approaches... where the tech stays as much the same as it is right now... just like exchanges do, this may have some drawbacks though.

2. Intrusive approaches where the underlieing tech is changed/extended/advanced.

3. Perhaps bitcoin and/or other coins already have facilities to implement this idea more easily... perhaps by use of scripts ?

Variations can be made depending on which approach is chosen.

For example, in case of the non-intrusive approach:

1. When converting from type A to type B the type A coin is "burned", the type B coin is created by scanning blockchain of type A for this burned coin. One possible approach to creating type B would be to simply allow it based on this scan. This would create dependencies on this scan process... though if consensus is reached by multiple clients of type B that this scan is valid... then I see little objection to this.

The burning is done by sending type A to an invalid public key which has a high unlikely hood of having a private key... for example a bitcoin address: BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB

This idea could be further developed into "burn-coin", which could be seen as an "attack" on existing coins. Users of existing coin systems would end up "depleting the coin" supply by burning.

Therefore this "non-intrusive" approach is not ideal. Burning the coin supply like this might on the long run starve the system of available coins... unlikely as long as it can go fractional. But the point has been made... this approach is not ideal.

A more ideal approach would be if "burned coins" would be recoverable... "burning of coins" could be though of as a way for coins to "exit the coin system".

Can there also be an "entry-system" something besides mining ?

Perhaps the system could "re-use" coins sent to the burn address as an "entry point" for coins from other systems.

This is kind of a cool idea... this burn address could be considered special.

This special bitcoin address could then function as a "pool" of coins ready to re-enter the system but only from scans of "external coin systems".

For this to work, the BBBBBBB address functions as a buffer zone/transient zone... independent of other coin types/systems, the transactions would have to be "commented/tags" with additional information relating to the other coin systems to perform an "inter-coin-transaction" (to meet in the middle).

For example the transactions would look something as follows:

User A wants to exchange 1 btc with User B for 100 ltc so that after exchange User A has 100 ltc and user B has 1 btc.

Mission objectives:

User A must "upload" 1 btc to BBBBBB on bitcoin blockchain.
User B must "upload" 100 ltc to BBBBBB on litecoin blockchain.

User A must "download" 100 ltc from BBBBBB on litecoin blockchain.
User B must "download" 1 btc from BBBBBB on bitcoin blockchain.

These "parts" must be "tied" together to avoid others from "stealing from BBBBBB".

This requires additional information to the transactions performed to/from BBBBBB.

This could look something like this:

"upload part to BBB BBB"
User A bitcoin address sends 1 BTC to bitcoin-BBBBBB with message "User B litecoin address, 100"
User B lite coin address send 100 LTC to litecoin-BBBBBB with message "User A bitcoin address, 1"

"download part from BBB BBB"

Now all systems are informed how these coins/values where uploaded to BBB BBB by these "messages tags".

Based on these message tags both users are now allowed to download from BBBBBB from respective coin systems.

User A lite coin address receives 100 LTC from litecoin-BBBBBB "verified by message above"
User B bit coin address receives 1 BTC from bitcoin-BBBBBB "verified by message above"

For this transaction to go through, both upload parts need to arrive within a reasonable time. If one of the two uploads does not happen within reasonable time, the transactions could be rolled back, or allowed to be downloaded by the uploader.

I think this is an idea worthy of consideration.

I would like to hear bitcoin and altcoin developers thoughts on this proposal to jointly invent/design/standardize/implement such "inter-coin-exchange" functionality.

Bye,
  Skybuck.
Jump to: