Announcement XBTC <--> XCP gateway service


[size=5][color=#ff0000]This thread has been superseded by the public release of XBTC. Please go to this thread:[/color][/size]
[size=5][color=#ff0000]https://forums.counterparty.co/index.php?topic=404[/color][/size]

There were some ideas in the bitcointalk thread on how to reduce friction when trading against BTC on the DEX.

I’m pleased to announce together with maxmint, the option that I am offering is XBTC. In summary maxmint will be the vendor providing this service until the service is fully automated. Details can be found below.

tldr; Buy XBTC and trade on the Counterparty DEX like it’s the future! The fee to get XBTC from maxmint is 1%. The fee when the automated service is launched will be 0.1% + TX fee. To obtain 1 XBTC, send maxmint 1.01010101 BTC and he will send back 1 XBTC. To get back 1 BTC send 1.01010101 XBTC and he will send back 1 BTC.

Thank you to: cityglut for the discussions regarding the relevance of this service to the Counterparty ecosystem, mtbitcoin for adding a XBTC/XCP market to www.blockscan.com (check Order Book and change the filter to XBTC/XCP and JahPowerBit who will highlight XBTC to the Counterparty Wallet GUI.

Why XBTC

XBTC’s purpose is to maintain parity with BTC and give you a way to trade on the DEX using an asset which is equivalent to BTC.

Once you have obtained XBTC, you can trade on the DEX against any Counterparty native asset without considering:
a) Fees
b) Troll orders
c) The wait for the other side of the trade to btcpay, nor will you need to be standing by to perform a btcpay.

XBTC is a native Counterparty asset and can be held in full escrow by Counterparty.

How Do I Get XBTC
1) Use counterpartyd to send Bitcoins from a single unique address to the service address (see below).
2) The service will automatically send back XBTC (minus fees) to the address you sent Bitcoins from. If there is more than one unique input address to the transaction, the service will send XBTC to the first input address.

You MUST use counterpartyd to send BTC unless you have a wallet in which you can control your input address. Use this command:

counterpartyd send --source SOURCEADDRESS --destination DESTINATIONADDRESS --quantity QUANTITY --asset BTC

** If you do not use counterpartyd and the transaction has more than one unique input address, maxmint will use a different way to determine which address to send your XBTC to. maxmint will use the input to the transaction which is the largest. Where this does not result in a unique address, maxint will pick a random input.


How Do I Get Back my BTC
You may decide to leave your assets in the DEX as XBTC. When you feel like it, cash it out to ‘real’ Bitcoins. To cash out to Bitcoins:
1) Send XBTC to service address (see below).
2) The service will automatically send back BTC (minus fees) to the address you sent XBTC from.


Technical Details
Definition of the XBTC asset
1) Non callable
2) Fixed to 21M units
3) Divisible
4) Locked such that no inflation could occur
5) XBTC price pegged to BTC
6) Fee will be 0.1% + TX fees
7) Transparent and auditable
8 ) All BTC will be held in 100% reserve

Note that 0.1% is the fee that the automated service will charge. The fee whilst the service is being run manually by maxint will be 1%. Further details below

Explaining each point respectively:
1) Self explanatory
2) Although fixed to 21M units, as the issuer I would artificially restrict supply. The total supply should never exceed actual BTC in circulation but in practice may be much less. eg 10000.
3) Divisible in the same way as BTC
4) Self explanatory
5) The issuer of the asset and operators of the service will ‘underwrite’ the value of 1 XBTC = 1 BTC. Artificial restrictions would involve:
  a) I would only ever ‘send’ for free XBTC to an operator of the ‘gateway’ service.
  b) All operators of the service will agree on a pegged price. The price will be 1 BTC = 1 BTC minus a fee of (0.1% + TX costs) to inventivize the operators of the service to continue running.
6) Note that the TX fees will reduce when OP_RETURN is available
7) All addresses used internally and how they are used by the service will be made public for audit. I would ask members of the community to create a third party application to audit these addresses and alert the community the moment there is a problem.
8 ) All BTC that was ever exchanged for XBTC will be held in reserve.

When operational, the gateway service will initially be run by myself. Should the volumes of XBTC be high enough, I will engage other operators to run the same service to spread the risk across operators.


Status of the Gateway
This service is currently in development and I am hoping for it to be operational in a limited form in approximately 3-4 weeks. I hope this will be around the time that the Counterparty deterministic web wallet will be live on main-net. Security and stability will be of the highest priority. I anticipate that there will be a parallel run period where the service runs but manual payments being performed.

Security will be of the highest priority. I don’t believe in security through obscurity and technical details on how the service will be implemented and secured will be published. Note that this service will run completely ‘headless’. There will be no user accessible interface to the service except via the blockchain. The attack vectors on this service will be limited to vunerabilities to Counterparty and Bitcoin. In addition, I will be creating multiple ‘circuit breakers’ to detect unusual activity. I would appreciate feedback from the community regarding ideas for this.


maxmint will be your service
Until the time that the service is fully operational on main-net, I have discussed with and I am pleased to have maxmint to take over the operations of this service. He is a well known and respected name in the Bitcoin community and you can use his service in confidence. He will be performing the same role as the automated service but manually.

I have asked maxint to post a reply to this thread with a signed message indicating he is in control of the below mentioned address.

Send your BTC or XBTC to:

[size=15pt]13sGFVPgcrj9mMRokyXztdAJtg6kReofdV[/size]

[color=red]* USE THE COUNTERPARTYD SEND COMMAND AND YOU WILL BE CERTAIN WHICH ADDRESS YOU WILL RECEIVE YOUR XBTC/BTC [/color]

maxmint will run an official installation of Counterparty and always keep it up to date. This will be the point of reference for balances.
* Please allow up to 24 hours of processing time. The processing time will normally be much faster.
* maxmint will not be responsible for any loss of funds arising out of unexpected bugs in the Counterparty protocol.
* There is a minimum amount of [color=red]0.1[/color] BTC or [color=red]0.1[/color] XBTC to exchange.
* The fee for the service is [color=red]1%[/color]. Of the 1% fee, 0.1% will be paid to myself and the remaining 0.9% kept by maxmint for his service.
* If you are going to send a large amount of XBTC or BTC or you wish to have your order processed quickly, please contact maxmint prior to making any transfers.


Why should you trust me?
* I’m an investor in Counterparty and believe in the way the project is being run
* I want to bring liquidity and utility to Counterparty which will increase the value of Counterparty
* I have discussed this service with the cityglut and have agreement from the team that this service is useful to the community

Reserved for future announcements

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

March 5, 2014: maxmint responding to Global_trade_repo
I confirm that I agreed to provide a vending/exchange service for BTC <> XBTC and that this service address is under my control: 13sGFVPgcrj9mMRokyXztdAJtg6kReofdV

1394032551
-----BEGIN PGP SIGNATURE-----

iQIcBAEBCgAGBQJTFz+3AAoJED3eQc1GLQLYeRkP/3k0E5zsujGxGrhrQPyAtrVE
7okaRgFuftMlTDJIKUAbuKAdTlDdnjm67ybcxdEwRrhMkKrlXbshGS9ujJIEKHQV
Om2Lm/s1auiaIsFWAXgVdmGsDVlEfqVaD5q9KO8ogA2f+8+w8M8Y4IC0N0tQld3x
5ot8k1AL1OqqAoceJ/x+VYwZpwSwIORXVhToV91IGMMNh6fS2SlLF+wfOb/0EUje
hIfnSQadar2L6zapSHrIZ2cwyN7oc9m5x5Gigg4c8lXgU17VgHOnS0chH3pha4NB
57/3UPB/bpnxeVBgz0v+OAtCRk9hWOAVd8CiIL+Mz8KSnstSZkZWh9RBkjeWx/Nx
rIm1rbf+HbfmCHffJHy/wCB12Tqt+lpPsBURJ7by8WKm64RS1ReYJcq29RAdCqzZ
xV8usyQH1MAHatMfOtr0cu4GOHCobciTqvS2QXHUMtyqtaaLTgKwg0OP8YEnAKth
Aji7Fppt+eeve+YWhpjn6IgrqrYy20qUwDq4U9yZ0Z3Qb03gjd5cby17KbGZeYxE
layqU8aHeDvxmPYoyEY0MkYHY/P4rvqAa8WQoPeH/yHf/Ze7ZXIURf8RuA775jxO
3TMZM2jAsIsNygLoprkhNRJPW//ZVustkpCSu6OrbYzPJr+6mLgSfin9HdNd3y83
ZLNx+KriCsruAqYFXxk+
=XlZo
-----END PGP SIGNATURE-----

That is really (really) exciting.

Some questions:

- If I sell XCP for XBTC. How do I “redeem” the BTC automatically ? [font=verdana]Does it have to be via maxmint everytime or will there be some automation of the process ? [/font]anwser is given by OP in the first post

- Is it possible to buy XBTC via order command then btcpay normally ? (like you would buy any asset)

- Point 7 means that for every XBTC in circulation, there will be a BTC stored somewhere ( here, correct ? 13sGFVPgcrj9mMRokyXztdAJtg6kReofdV) ok taht was explained in point 8 :slight_smile:

- Is that correct to say that as long as XBTC are in circulation we have to trust maxmint or you ? Isn’t it a single point of failure ? What if you run with the stash ?

[quote author=NotSure link=topic=160.msg1107#msg1107 date=1394040178]
That is really (really) exciting.

Some questions:

- If I sell XCP for XBTC. How do I “redeem” the BTC automatically ? [font=verdana]Does it have to be via maxmint everytime or will there be some automation of the process ? [/font]anwser is given by OP in the first post

- Is it possible to buy XBTC via order command then btcpay normally ? (like you would buy any asset)

- Point 7 means that for every XBTC in circulation, there will be a BTC stored somewhere ( here, correct ? 13sGFVPgcrj9mMRokyXztdAJtg6kReofdV) ok taht was explained in point 8 :slight_smile:

- Is that correct to say that as long as XBTC are in circulation we have to trust maxmint or you ? Isn’t it a single point of failure ? What if you run with the stash ?
[/quote]

Yes XBTC can be purchased and sold on the DEX directly against BTC like any other asset.
Correct on your last point. When you use XBTC you gain reduced friction when trading on the DEX. The trade off in using XBTC is that it introduces trust of the issuer and the operator of the service.
As the service develops and as volumes increase the service can be distributed to other operators to reduce risk. Indeed it is possible to run with the reserves of BTC. To this point, I can only say that the service will be completely transparent and auditable on the block chain. Full details on input addresses, internal addresses (such as cold storage) will be published.

Naturally, this service is just another option for users in how they wish to use the DEX. If users are uncomfortable with the risk of using XBTC, then they should trade against BTC.

  • Cross posted from bitcointalk thread *

    I would also like to point out for those who are currently holding XCP and wish to sell, you do not need to buy any XBTC to sell your XCP on the DEX.

    If you are happy to receive payment in XBTC you can already start pushing your preferred price to the DEX. Here is an example to sell 10 XCP at a price of 0.01 XBTC:

    counterpartyd order --source SOURCEADDRESS --get-quantity 0.1 --get-asset XBTC --give-quantity 10 --give-asset XCP --expiry 1000

    To ‘redeem’ your XBTC for BTC:

    counterpartyd send --source SOURCEADDRESS --destination 13sGFVPgcrj9mMRokyXztdAJtg6kReofdV --quantity 0.1 --asset XBTC

    You can sell your XCP and receive BTC without waiting for the other buyer to perform a btcpay. You can complete your transactions completely using the counterpartyd application.

    edit: sorry I don’t know why the code blocks look so big. I’ve removed them.

took me some time to figure out why it is needed and how it works: great service, this will probably be used most in the beginning.


Anyway it is at least partially reliable on trust and centralization. Are there ways to reduce the dependence on trust and centralization? I’m a non tech-savvy person and am wondering how to design it in the most transparent and automated way. The question does not aim on discrediting you it is rather the whole idea of what we are starting here: trustless distributed financial markets




General speaking the amount of xbtc and btc should always be 1 to 1 after all fees payd?

[quote author=Global_trade_repo link=topic=160.msg1115#msg1115 date=1394067715]
* Cross posted from bitcointalk thread *

I would also like to point out for those who are currently holding XCP and wish to sell, you do not need to buy any XBTC to sell your XCP on the DEX.

If you are happy to receive payment in XBTC you can already start pushing your preferred price to the DEX. Here is an example to sell 10 XCP at a price of 0.01 XBTC:

counterpartyd order --source SOURCEADDRESS --get-quantity 0.1 --get-asset XBTC --give-quantity 10 --give-asset XCP --expiry 1000

To ‘redeem’ your XBTC for BTC:

counterpartyd send --source SOURCEADDRESS --destination 13sGFVPgcrj9mMRokyXztdAJtg6kReofdV --quantity 0.1 --asset XBTC

You can sell your XCP and receive BTC without waiting for the other buyer to perform a btcpay. You can complete your transactions completely using the counterpartyd application.

edit: sorry I don’t know why the code blocks look so big. I’ve removed them.
[/quote]

I’m excited to give this a spin! Nice work Global_trade_repo.

[quote author=hodl link=topic=160.msg1126#msg1126 date=1394222140]
took me some time to figure out why it is needed and how it works: great service, this will probably be used most in the beginning.

Anyway it is at least partially reliable on trust and centralization. Are there ways to reduce the dependence on trust and centralization? I’m a non tech-savvy person and am wondering how to design it in the most transparent and automated way. The question does not aim on discrediting you it is rather the whole idea of what we are starting here: trustless distributed financial markets

General speaking the amount of xbtc and btc should always be 1 to 1 after all fees payd?
[/quote]

Yes you do have a good point that this service does require trust and centralization. I don’t see this service as a contradiction to Counterparty but a complementary option for users to experience the DEX and to simplify trading on the DEX.

The transparency I mentioned comes about because all of the inputs to the service and all the outputs to the service will be publically viewable on the blockchain. I will publish all the addresses that are used by the service and sign a message to show that I have control of those addresses. Further, I will publish in a diagram how those addresses are used by the service. There won’t be any guessing how the XBTC or BTC are being stored.

It basically means that at any point in time, an external party will be able to check blockscan.com and blockchain.info and see that nothing surreptitious is being done.

Yes. excluding the fees the value of 1 XBTC = 1 BTC.


I approved, this is way better than centralized exchange trust-wised,

[quote author=Global_trade_repo link=topic=160.msg1176#msg1176 date=1394455113]
[quote author=hodl link=topic=160.msg1126#msg1126 date=1394222140]
took me some time to figure out why it is needed and how it works: great service, this will probably be used most in the beginning.

Anyway it is at least partially reliable on trust and centralization. Are there ways to reduce the dependence on trust and centralization? I’m a non tech-savvy person and am wondering how to design it in the most transparent and automated way. The question does not aim on discrediting you it is rather the whole idea of what we are starting here: trustless distributed financial markets

General speaking the amount of xbtc and btc should always be 1 to 1 after all fees payd?
[/quote]

Yes you do have a good point that this service does require trust and centralization. I don’t see this service as a contradiction to Counterparty but a complementary option for users to experience the DEX and to simplify trading on the DEX.

The transparency I mentioned comes about because all of the inputs to the service and all the outputs to the service will be publically viewable on the blockchain. I will publish all the addresses that are used by the service and sign a message to show that I have control of those addresses. Further, I will publish in a diagram how those addresses are used by the service. There won’t be any guessing how the XBTC or BTC are being stored.

It basically means that at any point in time, an external party will be able to check blockscan.com and blockchain.info and see that nothing surreptitious is being done.

Yes. excluding the fees the value of 1 XBTC = 1 BTC.
[/quote]

Quick status update on how the development is going.

I have just ordered the server hardware which will be used to run the XBTC service.

Development of the software is going slowly but well. This is due to time constraints on my behalf.

I am hoping to have an alpha version of the service running in the next 1 to 2 weeks. If you are interested in participating in the alpha, please PM me or preferably send a message to my Bitmessage address:

BM-NB4LmSRXuE7PC329ErXawSXKyxEBU3Y5

For those who have used the service so far from Maxmint or have traded with XBTC on the DEX, feel free to post your experiences here!


I tried the service and it was perfect.


Both buy and sell were frictionless as advertise, and the conversion from BTC to XBTB was really fast (4/5blocks ?) Is it automatic ?


I haven’t tried cashing out the XBTC to BTC but I guess it’ll go without without problem.
[font=Verdana][/font]
[font=Verdana][/size][size=2]If there were a bit of volume, it would be my #1 way to treade XCP.[/size][size=78%][/font]


Once the web wallet will be online, you should advertise your service in a nice way (tutorial, etc.) and I have no doubt it will be a sucess. Any plan adding other coins if succesful ?

I just want to say, you really solved a problem with the obvious solution.  I always got sick of alt-coins and their “features” when I knew someone could simply do what you’ve done here.

Kudos

Another update is due.

Development has been progressing well. I am still waiting for the hardware to arrive which I hope will be late next week or early the week after.

Pending no other issues, I will be launching limited closed trial (on main-net) after installation and configuration of the server hardware.

* Fees will drop to 0.1% + TX costs!
* Limit of 1 BTC or 1 XBTC per transfer, minimum TBD but probably quite low
* All transfers will still be manually released - ie it will require my approval
* Will be restricted to members whom are well known. The reason for this is if there are any unforeseen problems I will work with you directly to correct them.

After the start of the closed trial, I estimate a period of 2-3 weeks before transitioning to a fully automated process. During the 2-3 weeks, I will gradually reduce restrictions before making the service open to the public.

Full disclosures as promised in my first post will be made available prior to a full launch.

* Please send me a PM if you are interested in participating in the closed trial.

The closed trial of XBTC has commenced. Please send a PM if you wish to test it out!

One thing im kind of confused about…


I understand this concept for other things (like an alt coin… or gold or something), but what is the point of using XBTC asset for trade on the exchange versus just using bitcoin normally? Cant you already buy/sell/use bitcoin on the decentralized asset exchange?

[quote author=cryptonaut link=topic=160.msg2081#msg2081 date=1398471587]
One thing im kind of confused about…


I understand this concept for other things (like an alt coin… or gold or something), but what is the point of using XBTC asset for trade on the exchange versus just using bitcoin normally? Cant you already buy/sell/use bitcoin on the decentralized asset exchange?
[/quote]


There are extra steps if you use Bitcoin while if you use XCP or User Created Asset the counterparty protocol can escrow and automatically trade those, but it cannot do that with Bitcoin because they are "below" the counterparty protocol.

[quote author=AdamBLevine link=topic=160.msg2082#msg2082 date=1398473495]
[quote author=cryptonaut link=topic=160.msg2081#msg2081 date=1398471587]
One thing im kind of confused about…


I understand this concept for other things (like an alt coin… or gold or something), but what is the point of using XBTC asset for trade on the exchange versus just using bitcoin normally? Cant you already buy/sell/use bitcoin on the decentralized asset exchange?
[/quote]


There are extra steps if you use Bitcoin while if you use XCP or User Created Asset the counterparty protocol can escrow and automatically trade those, but it cannot do that with Bitcoin because they are "below" the counterparty protocol.
[/quote]


You might want to check this post. PP explains that when selling BTC, the seller must remain logged in until the transaction is complete.
https://bitcointalk.org/index.php?topic=395761.msg6383715;topicseen#msg6383715

[quote author=AdamBLevine link=topic=160.msg2082#msg2082 date=1398473495]
[quote author=cryptonaut link=topic=160.msg2081#msg2081 date=1398471587]
One thing im kind of confused about…


I understand this concept for other things (like an alt coin… or gold or something), but what is the point of using XBTC asset for trade on the exchange versus just using bitcoin normally? Cant you already buy/sell/use bitcoin on the decentralized asset exchange?
[/quote]


There are extra steps if you use Bitcoin while if you use XCP or User Created Asset the counterparty protocol can escrow and automatically trade those, but it cannot do that with Bitcoin because they are “below” the counterparty protocol.
[/quote]

The Counterparty team should look to integrate Adam’s answers into the FAQs:

https://www.counterparty.co/resources/faqs/why-must-dividends-bets-and-betting-fees-be-paid-in-xcp/

https://www.counterparty.co/resources/faqs/aside-from-speculative-investment-why-will-there-be-demand-for-xcp/

I think it needs to get a bit more technical than they are “below” the counterparty protocol, but that should be relatively easy to explain. Maybe it’s possible to explain the role of XBTC there.