Bitcoin Forum
November 01, 2024, 07:43:58 PM *
News: Bitcoin Pumpkin Carving Contest
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Extending the Alert messages in the protocol  (Read 1114 times)
martin (OP)
Full Member
***
Offline Offline

Activity: 150
Merit: 100



View Profile WWW
July 25, 2011, 12:03:29 AM
 #1

I've recently been in another discussion which led to talking about broadcasting exchange rates through the network (which reduces the load on exchanges).

I know bitcoin has some kind of alert built in but what are the restrictions on it? Specifically, what would need to be changed to allow addressed to broadcast exchange rates and then clients to pick this data up and display it in client? What would be the scalability implications of this?

The biggest problem I can see is that if anyone is allowed to broadcast then people can flood the network. I think this is easily solvable by having nodes only retransmit messages from sources they recognise, and then allowing users to add a set of public keys to verify sources. This way the network as a whole decides which messages are valid to retransmit, simply by if enough peers add the public key as a valid broadcast source.
Gavin Andresen
Legendary
*
qt
Offline Offline

Activity: 1652
Merit: 2301


Chief Scientist


View Profile WWW
July 25, 2011, 12:41:25 AM
 #2

Here's a scheme that would work:

1. Exchange creates a special bitcoin keypair for each exchange rate it wants to publish.
  E.g. maybe there is a   1mtgxbtcusd9873919fp876...   address for mtgox btc/usd

2. Exchange funds that address with a bunch of bitcoins.

3. Every 10 minutes the exchange performs a send-to-self transaction FROM that address TO that address with the number of bitcoins that correspond to the current exchange rate.

Voila, exchange rate is broadcast to anybody who cares to listen. You know it is the exchange, because the exchange is the only entity that can spend bitcoins from the special exchange address.

You have to trust the exchange not to broadcast a bogus price...

How often do you get the chance to work on a potentially world-changing project?
martin (OP)
Full Member
***
Offline Offline

Activity: 150
Merit: 100



View Profile WWW
July 25, 2011, 12:52:27 AM
 #3

That's a good idea, which doesn't require any changes to the protocol, which is always a good thing Cheesy

Of course you do have to trust the exchange, but such is the nature of a centralised exchange Wink
martin (OP)
Full Member
***
Offline Offline

Activity: 150
Merit: 100



View Profile WWW
July 25, 2011, 11:45:47 AM
 #4

Apologies for the double post.

It occurred to me this morning, would there be transaction fees for these transactions to self? In which case broadcasting the exchange rate could become rather costly!
jackjack
Legendary
*
Offline Offline

Activity: 1176
Merit: 1280


May Bitcoin be touched by his Noodly Appendage


View Profile
July 25, 2011, 11:58:14 AM
 #5

It depends on the amount
No problem for MtGox $/BTC, but for bitparking BTC/NMC it can be costly indeed

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
martin (OP)
Full Member
***
Offline Offline

Activity: 150
Merit: 100



View Profile WWW
July 25, 2011, 12:26:13 PM
 #6

One way to overcome that problem would be for miners to accept these transactions into blocks for free, simply because they're providing a useful service. However, then smaller exchanges will probably get very "patchy" updates sent out for pricing since only a few pools would be accepting their transactions for free, which kinda sucks Sad
Pieter Wuille
Legendary
*
qt
Offline Offline

Activity: 1072
Merit: 1181


View Profile WWW
July 25, 2011, 01:57:31 PM
 #7

There is no need to put these in the block chain.

As the exchange is inherently centralized, you lose nothing by publishing the exchange rate data through http or whatever out-of-p2p protocol, possibly mirrored by those who find it interesting enough, if you care about availability.

The data itself can still be signed by a private key held by MtGox, whose address is publically known.

I do Bitcoin stuff.
Mike Hearn
Legendary
*
expert
Offline Offline

Activity: 1526
Merit: 1134


View Profile
July 25, 2011, 04:13:58 PM
 #8

The Bitcoin protocol already has a meet-in-the-middle broadcast channel system.  AFAIK it was never used and I have no idea if it works, but it seemed complete enough when I looked over it.

That said, the network is already pretty busy. I'm not sure blasting exchange rates over it, even with a pubsub system, is the right way to go. There's no real advantage.

If you want to build a distributed exchange, having a separate chain that contains USDcoins or EURcoins is one way to do it. The chain would do merged mining with the Bitcoin chain, but coins would be created by transactions signed by pre-agreed keys owned by members of a consortium. They would issue USDcoins and keep the dollars backing them in full reserve. You can then trade Bitcoin for USDcoin cryptographically across chains using some of the contracts/cross-chain protocols described on the wiki.

Wanted trades can be broadcast on the alternative network using flood fill. Software could potentially auto-complete trades according to pre-set policies. When you want to cash out, a consortium member destroys the coins and wires you the dollars.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!