Author Topic: Business Proposal with HUGE potential - automated BTC->bitBTC bridge  (Read 6474 times)

0 Members and 1 Guest are viewing this topic.

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
I am almost certain that the technical part is pretty easy to realize .. the legal part .. oh boy

Offline jsidhu

  • Hero Member
  • *****
  • Posts: 1335
    • View Profile
Where does the Bitcoin address come from?
Can you explain that? Or are you saying somehow a Bitcoin wallet is built into Bitshares X?
No there is no bitcoin wallet integrated .. not exactly .. you cannot interact with the btc blockchain from within the btsx wallet.
However .. as both use the same elliptic curve crypto the private keys that generate you btsx account public key can also be used to derive a bitcion public key and from thus the bitcoin address ...

imagine: every 256 bit sequence can be interpreted as private key .. from there you can go to btsx .. or to btc .. or to both ..
if you were to send btc to the address in the btsx wallte you would need to export the corresponding private key .. import it into electrum or what every and can go on from there ... no magic .. just 256 arbitrary bits :)

Quote
I know some of us imported Bitcoin addresses but not everyone.
you can go the otherway too and import your btsx keys into bitcoin :)

Most people would already have BTC addresses set up externally so this feature is really only useful when validating that the output is sent to a valid btc address and the time when users just create a btc address to send to and then import their priv key into the btc wallet to retrieve the coins.. pretty useless IMO.

I wonder if we integrate into vennd api what it involves.. would it be useful to do such a thing? Are people using it? If it has volume then maybe its a good idea.. or we can brand it as another btsx product and do it from scratch if its not too hard.

This can be done in a trustless way, I will show an example using the web wallet:

1) Set up bitcore(http://bitcore.io)
2) When sending BTC, you send to your btsx address.
3) Import bitBTC into btsx web wallet via an import command which monitors the bitcore wallet balance for change, and updates bitBTC balance accordingly.
4) Sending bitBTC back to a BTC address would invoke bitcore to send the coins to another address, and re-update bitBTC balance based on the transaction in bitcore.

Because each node in btsx would have ability to connect to their own bit core wallet it is decentralized and trustless. You would keep your private key private and have ability to send BTC right to your btsx address and back to your BTC address seamlessly. Bitcore is able to get balance information of arbritrary bitcoin addresses without doing any private key imports, which is something the RPC can't do.

I think counterparty and thus vend might be already using this mechanism but in a central manor? They host bit core for you? I see that bitcore is used in counterparty but not sure if vennd is using it for the vending machine. http://bitcore.io/blog/ has a blog about counterparty using bit core.

Since its code compatible with the btsx web wallet you can do something like:

var bitcore = require('bitcore');
var Address = bitcore.Address;

var addr = new Address("1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa");

console.log(addr.isValid());

right in btsx and interact with bitcoin. Doing a TX is done in the same way with a bit more code. It needs to run against a trusted node, so that can be a local node or external (not sure if you can simply point to some DNS seed like the normal nodes do)
« Last Edit: September 11, 2014, 04:10:06 pm by jsidhu »
Hired by blockchain | Developer
delegate: dev.sidhujag

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
is the step through counterparty required to kill the need for trust? I am not firm with counterparty.. do the have contracts yet?

Offline luckybit

  • Hero Member
  • *****
  • Posts: 2921
    • View Profile
  • BitShares: Luckybit
Where does the Bitcoin address come from?
Can you explain that? Or are you saying somehow a Bitcoin wallet is built into Bitshares X?
No there is no bitcoin wallet integrated .. not exactly .. you cannot interact with the btc blockchain from within the btsx wallet.
However .. as both use the same elliptic curve crypto the private keys that generate you btsx account public key can also be used to derive a bitcion public key and from thus the bitcoin address ...

imagine: every 256 bit sequence can be interpreted as private key .. from there you can go to btsx .. or to btc .. or to both ..
if you were to send btc to the address in the btsx wallte you would need to export the corresponding private key .. import it into electrum or what every and can go on from there ... no magic .. just 256 arbitrary bits :)

Quote
I know some of us imported Bitcoin addresses but not everyone.
you can go the otherway too and import your btsx keys into bitcoin :)

Okay but this still doesn't solve the problem. The problem is how to transfer value from point A to point B?

So if we want to transfer value from BitBTC onto Counterparty and then Vennd to BTC to a Bitcoin address is it possible? If it is possible wouldn't it also be possible to turn BitBTC into XBTC into BTC?

So we should start with a Counterparty Gateway to turn BitBTC into XBTC.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
Where does the Bitcoin address come from?
Can you explain that? Or are you saying somehow a Bitcoin wallet is built into Bitshares X?
No there is no bitcoin wallet integrated .. not exactly .. you cannot interact with the btc blockchain from within the btsx wallet.
However .. as both use the same elliptic curve crypto the private keys that generate you btsx account public key can also be used to derive a bitcion public key and from thus the bitcoin address ...

imagine: every 256 bit sequence can be interpreted as private key .. from there you can go to btsx .. or to btc .. or to both ..
if you were to send btc to the address in the btsx wallte you would need to export the corresponding private key .. import it into electrum or what every and can go on from there ... no magic .. just 256 arbitrary bits :)

Quote
I know some of us imported Bitcoin addresses but not everyone.
you can go the otherway too and import your btsx keys into bitcoin :)

Offline luckybit

  • Hero Member
  • *****
  • Posts: 2921
    • View Profile
  • BitShares: Luckybit
you can already use btsx to get a bitcoin address to which you have access using the btsx priate key:
wallet_account_list_public_keys accountName

Where does the Bitcoin address come from?
Can you explain that? Or are you saying somehow a Bitcoin wallet is built into Bitshares X?

I know some of us imported Bitcoin addresses but not everyone.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
you can already use btsx to get a bitcoin address to which you have access using the btsx priate key:
wallet_account_list_public_keys accountName

Offline luckybit

  • Hero Member
  • *****
  • Posts: 2921
    • View Profile
  • BitShares: Luckybit
Maybe one day the client will support plug-ins and this sort of thing can be added/removed ad hoc. Though since the entire GUI uses RPC calls to talk to a standard CLI client there's no reason we won't start seeing many third part wallets. Wouldn't surprise me if Electrum got on board.

I think this functionality should be in the standard wallet. It's too critical and I don't think it should wait.

First they have to get interest working on BitAssets but the next thing to do should be to integrate Vennd.io. It doesn't require any plugins but you would need to use Counterparty to set up a vending machine. You would need to have a deposit address to that vending machine and a withdraw address to the users private key.

So why not do it the exact same way XBTC works? It already works in Counterparty and in Mastercoin. I know because I'm one of the original testers of both.

http://www.blockscan.com/order_book.aspx?f=2
« Last Edit: September 11, 2014, 01:02:48 pm by luckybit »
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline Riverhead

Maybe one day the client will support plug-ins and this sort of thing can be added/removed ad hoc. Though since the entire GUI uses RPC calls to talk to a standard CLI client there's no reason we won't start seeing many third part wallets. Wouldn't surprise me if Electrum got on board.

Offline luckybit

  • Hero Member
  • *****
  • Posts: 2921
    • View Profile
  • BitShares: Luckybit
k can it be built into the Bitshares X GUI?  Maybe let the user configure their bridges but include default bridges?

I think this is possible with Counterparty to a certain extent.

That was my thought - it would be a part of the gui like we import keys now you could send the client BTC, PTS, etc. When you wanted to cash out you put your external public address in the client and it sends it via an asset server.

I think the easy way to go about it would be to work with Vennd. They have the exact technology necessary to create a cryptocurrency vending machine service. Input BTC -> Vennd --> Output BitBTC.

Bitshares X will require Vennd integration for this to work.

https://forums.counterparty.co/index.php?topic=404.0
« Last Edit: September 11, 2014, 12:58:01 pm by luckybit »
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline Riverhead

k can it be built into the Bitshares X GUI?  Maybe let the user configure their bridges but include default bridges?

I think this is possible with Counterparty to a certain extent.

That was my thought - it would be a part of the gui like we import keys now you could send the client BTC, PTS, etc. When you wanted to cash out you put your external public address in the client and it sends it via an asset server.

Offline luckybit

  • Hero Member
  • *****
  • Posts: 2921
    • View Profile
  • BitShares: Luckybit
Hey friends,

It came to me while lieing in bed yesterday and thought there might be someone
feeling up to the challenge. So:
 - I will not implement this
 - someone else (with good reputation in crypto) can make ALOT of money

The idea was to set a automated BTC to bitBTC bridge that makes it easy for the
bitcoin community to get hands on bitBTC. All what follows should work aswell
for the ANY other altcoin that uses EC crypto from the satoshi client.

About the automation:
Assume I'd like to exchange 100 BTC from the bitcoin blockchain to 100 bitBTC
on the bitshares blockchain.  A provider can publish a (single) BTC address to
collect bitcoin in exchange for bitBTC.  Every single deposit into that address
comes with a bitcoin transaction containing at least one public key
corresponding to a sending address:

My address -> tx with 100 btc and pubkey to my address -> BTC address for exchange

Now that public key can be converted into a public key on the BitShares
network.  Thus, the BTC can be used to buy up bitBTC from the market (external
or internal) and the resulting bitBTC can be sent to an address
that corresponds (via TITAN) to the public key from the bitcoin network above.
Hence, I can redeem my bitBTC using the private key of my sender address.

If volume picks up, people might want to move into bitBTC (or bitPTS, bitPPC,
...) quickly. This options enables them to do so by paying a fee of say 3% to
the service provider.

The drawbacks:
 - a (trusted) entity needs to run this
 - that entity needs to be liquid on BTC and bitBTC (exchange able)
 - a service (server) needs to be coded and audited by the public to run this
   service.
 - the btc pubkey needs to be converted to btsx pubkey (code exists, needs testing)

So, if you think you can do it profitable, give it a shot. If I had any BTC I'd
be your first costumer :)

Thoughts?

If this could work can it be built into the Bitshares X GUI?  Maybe let the user configure their bridges but include default bridges?

I think this is possible with Counterparty and trustless to a certain extent.  Check out Vennd http://www.vennd.io/ .

Quote
vennd.io Services

Configured-to-order vending machines and gateways based upon your business requirements
Hosted vending machines based upon industry best practices
Counterparty and cryptocurrency consulting

How about you contact them?
« Last Edit: September 11, 2014, 12:54:16 pm by luckybit »
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline pc

  • Hero Member
  • *****
  • Posts: 1530
    • View Profile
    • Bitcoin - Perspektive oder Risiko?
  • BitShares: cyrano
I had the same idea a couple of weeks ago, then realized that I'd get into serious trouble for running such a service - at least here in Germany. Probably in any country with a regulated financial system.

From a purely technical perspective it's a really cool idea, though.
Bitcoin - Perspektive oder Risiko? ISBN 978-3-8442-6568-2 http://bitcoin.quisquis.de


Offline Riverhead

I agree something like this will be a gold mine for someone. Maybe when BTSX gets to a point I can quit my "real" job I can tackle a project like this (i.e. recruit talented people and project manage haha).

My idea was Asset Servers like Chain/Node servers, but they serve the same purpose. If we've thought of this I'm sure others are as well. :D

https://bitsharestalk.org/index.php?topic=8626.msg111960#msg111960