Bitcoin News

Bitstamp's streaming API, and exploitation possibilities it might reveal

TL;DR: Bitstamp's undocumented streaming API seems to reveal out-of-order trade execution that can be exploited to steal margins from large buys/sells.
Bitstamp has an undocumented streaming API. You should know what it seems to reveal about Bitstamp's order matching.
It's not surprising that I see trades on the stream about 10s before I see them on BitcoinWisdom etc. (I haven't compared that to the latency of direct API polling; my lag to BW and processing lag at BW's end might be included there.) That's already not fair. Bitstamp should document the stream, or delay it.
Before I tell you what is surprising, a quick detour: Bitstamp only provides limit orders. "Instant" (aka Market) orders are simulated by placing a limit order with the limit set to whatever was the top of the opposite side of the book at the time, and as anyone who has tried to trade at Bitstamp during a rally/drop will know, the top often moves before your "instant" order hits the books and therefore doesn't execute. People work around this by manually or automatically placing limit orders with limits that go beyond the top of the opposite side of the book, ensuring that they'll match something.
Suppose someone places such a limit order. Rather than lock the book until the order is matched and produces a trade, the order is placed on the book and the book is allowed to cross. People have reported here on Reddit seeing this before. That's kind of surprising, but perhaps you're thinking they ensure things still execute in order. Well, the stream I'm watching includes both order and trade events, and I typically see orders on the stream anywhere between ~2.5s and ~8s ("the window") before they match and produce a trade; if you're only trading by watching BitcoinWisdom and others, I see things happen as much as 18s ahead of you.
What properly surprises me is that within the window, if another limit order gets placed with a limit even higher than the first before the first has matched, that second order can execute before the first. An example from real stream data follows. The best ask (order_type=1) is 202.10, set by the first order creation I've included. received is added by me on receipt; the rest comes from the live stream. Some non-participating orders away from the book top have been removed for clarity.
{"received": "1383077092.151", "type": "order_created", "price": "202.10", "amount": "3.00700000", "datetime": "1383077091", "id": 8595046, "order_type": 1} {"received": "1383077095.876", "type": "order_created", "price": "221.13", "amount": "0.19825903", "datetime": "1383077095", "id": 8595048, "order_type": 0} {"received": "1383077098.420", "type": "order_created", "price": "222.65", "amount": "0.63000000", "datetime": "1383077098", "id": 8595051, "order_type": 0} {"received": "1383077100.908", "type": "order_deleted", "price": "222.65", "amount": "0.00000000", "datetime": "1383077099", "id": 8595051, "order_type": 0} {"received": "1383077100.918", "type": "order_changed", "price": "202.10", "amount": "2.37700000", "datetime": "1383077096", "id": 8595046, "order_type": 1} {"received": "1383077100.964", "type": "trade", "price": 202.09999999999999, "amount": 0.63, "id": 1698465} {"received": "1383077101.016", "type": "order_deleted", "price": "221.13", "amount": "0.00000000", "datetime": "1383077099", "id": 8595048, "order_type": 0} {"received": "1383077101.051", "type": "order_changed", "price": "202.10", "amount": "2.17874097", "datetime": "1383077096", "id": 8595046, "order_type": 1} {"received": "1383077101.063", "type": "trade", "price": 202.09999999999999, "amount": 0.19825903, "id": 1698466} 
Bid 8595048 for 0.19825903 @ 221.13 would cross the book, and should match immediately, but orders continue to be accepted and no trade appears.
Bid 8595051 for 0.63 @ 222.65 would also cross the book, but since it arrived ~2.544 seconds later — and assuming FIFO matching — it shouldn't execute until after 8595048. But it executes first. In this case, fortunately there's enough depth to the ask that both fill at the price they should, but this out-of-order execution occurs even when there isn't enough depth; I can give real examples from the stream but they make less clear examples because they tend to involve multiple fills.
Imagine that you're watching this stream and you see the FBI dump the SR coins, and that the window is wide enough for you to react. You could place a limit order that beats theirs, being sure to sell your coins before theirs crash the exchange rate.
Alternatively you could always maintain a buy order in the book, far enough away that you can maintain a constant distance from the best bid but close enough that a whale might fill it. When you see a whale's sell, you snipe a high sell by beating their limit. The whale's order then goes through and fills some other bids, and your low buy. You effectively just made a high sale and made a low buy with no risk at all. You could do this on both sides of the book at once.
Why document this instead of just taking advantage of it? I hate the idea that some traders are playing with loaded dice. If the engine has to behave in this funky way, it should be documented; ideally it should simply behave as everyone expects it to anyway. Why post under a throwaway? While I've made no attempt to exploit this, I wouldn't put it past Bitstamp to confiscate my balances and close my account; that's simpler for them than checking whether I did exploit it. (In case I choose to link this to my real account later or you need me to prove I'm me, I can provide a pre-image for e591ed9a365ad73d29dc22f10b170fff and d4bd7f9db698c81ba31ce544d2025834.) Why not report it to Bitstamp first? Bitstamp has a poor track record for addressing bugs reported in their engine, probably needs to be embarrassed into doing something, and they can easily just disable the stream. I've left stream access details undocumented, for now. EDIT: described on bitcointalk (via Pusher) as well as below (direct WebSocket access).
I'd ask Bitstamp to confirm whether they believe this is a problem, say what they plan to do about it (if anything) and I invite them to PM me here in the unlikely event that they need more info.
I'd also really like them to make their stream useable, along with a single orderbook snapshot, to maintain an accurate of the orderbook without having to make unreliable inferences — i.e. include prev_amount (or amount_delta) in order_deleted and order_changed, and also include in each trade event the order IDs that matched. Having these things would bring it towards or beyond MtGox's stream, which provides at least the remaining volume at the affected pricepoint. It'd also be lovely if the ungrouped orderbook snapshot included order IDs and could be explicitly pinned between two stream order_foo events for easier syncing (the timestamp doesn't seem to accurately match the stream's datetimes, and requires guesswork). And a pony and a winnebago and the moon on a stick.
submitted by serves-two to Bitcoin [link] [comments]

Why you should mine with replace-by-fee, a decentralized Bitundo

tl;dr: If you mine solo, run a pool, or mine on p2pool, you should get my replace-by-fee code from and install it. As for why, read on:
Out of the the rather heated discussion about the Bitundo service one comment really stuck out for me:
I think there's an interesting legal liability question here - if someone buys a product and then uses your service to Finney attack the merchant, are you part of a conspiracy to defraud the seller?
-Mike Hearn
What Mike is saying is that even though the Bitcoin protocol allows miners total freedom to put any valid transaction they want to in their blocks, the legal system may be used to try to restrict that freedom and punish miners to don't the de facto practice of only mining the first valid transactions broadcast to the network. It's easy to see the legal case playing out: suppose insecure hacks like Mycelium's transaction radar catch on. We'll have a lot of people doing transactions that depend on miners all following the same mining rules, and eventually someone is going to get hurt. They're going to want to find someone to sue, and what better than the mining pool who mined the double-spend transaction?
What's wrong with that? Of course, first and foremost by encouraging people to use Bitcoin insecurely we invite heavy handed regulation when things go wrong. We're already seeing regulators cite the hundreds of millions of dollars lost by MtGox as evidence of the need for legal regulation, rather than technological measures like multisig. Why make the exact same mistake all over again with unconfirmed transactions?
There's a deeper reason too: relying on unconfirmed transactions is only possible by making Bitcoin more centralized at the mining level, at the network level, and at the development team level. Every Bitcoin release accepts a slightly different set of transactions as valid - do you want to be worried about legal liability if your mining operation allows an attacker to rip off someone because you upgraded sooner or later than the rest of the network? Or just were using a different client all together? Like it or not, if one miner accepts a different set of transaction types than another, that's an opportunity to double-spend.
At the network level transactions simply do not and never will propagate through the network instantly. At the same time until a transaction is confirmed there isn't any proof that the transaction propagated to any hashing power at all - the proof that a transaction was succesfully published is in the form of PoW only. Again, the only way to make unconfirmed transactions even close to safe is to make the network of miners smaller - do you want to be exposed to legal liability just because your small mining pool had a worse network connection than the biggest pool? You could even be in a situation where you've been sybil attacked, preventing you from seeing some transactions at all. You won't have any proof of that fact - instead it'll look like you participated in an attempt to rip someone off.
Finally it's been proposed multiple times that merchants pay for security directly with insurance contracts with major minering pools. The miners agree not to double-spend, and the merchants pay extra for that. Of course, if you're a small miner you're not going to get these contracts - you're much too small to bother talking to. The major mining pools wind up earning more BTC/hash than you, and on top of that, if you ever do end up including a double-spend in one of your blocks it's quite likely those contracts will have those pools just kill off your blocks in a re-organization.
The fact is Bitcoin by itself just isn't suited to instant confirmations: if you want decentralization, you have to give everyone time to come to consensus securely. Fortunately we have lots of technologies that can be used in conjunction with Bitcoin for the times when 10 minutes isn't good enough, but if we don't use them we'll end up with a less secure and less decentralized Bitcoin.
What you should do if you're a pool operator, solo miner, or mine on p2pool
Replace-by-fee simply means that rather than only accepting the first transaction you see to your mempool, you accept whatever one pays the most fees. It's a simple rule that results in the most profit per block, lets users re-issue transactions with higher fees if needed, and most importantly, makes it clear to everyone that relying on unconfirmed transactions by themselves is insecure.
I've written a simple replace-by-fee patch based directly on the v0.9.1 codebase. Installation is just a matter of getting my replace-by-fee-v0.9.1 branch from and compiling it; you run the code just like you would normally.
Unlike BitUndo it's an entirely decentralized system where the 100% of the profits for replacing one unconfirmed transaction with another goes directly to miners. The patch implements preferential peering, which means it seeks out other nodes supporting replace-by-fee to ensure you'll always be connected to like-minded peers; you don't need to -addnode a central server.
While I wouldn't recommend a pool like to install it right off the bat, if you're a miner on, say, p2pool, installing the patch carries no risk to you, and will help keep Bitcoin decentralized in the future.
submitted by petertodd to Bitcoin [link] [comments]

Buying BTC with AUD - Current Summary for Aussies

So it seems that a pretty common question is "How do I buy Bitcoins with X". This is a list of the ways I am aware of and my experiences with each (where applicable) for buying BTC with AUD.
I'll split the below into two Parts. Services I've used, and services I haven't. Please let me know if I've left anyone out
I've used:
I've not used (but will test soon):
Name Current (AUD/BTC) Fee Speed Method Notes
MTGox USD (in AUD) 12.08 - - - MTGox USD rate converted to AUD using Google; 0.9557 AUD per USD
MTGox AUD 12.19 0.91% + 3.95% (~4.9%) One business day [YMMV] (transferred at 04:00 Thursday, processed 13:30 Friday. Once cash deposit via AusPost comes out this will be VERY competitive (3% fee) Domestic Bank Transfer 3.95% is the deposit fee.
Bitpiggy 13.13 8.69% 7-12 hours w/ NAB (Transferred 04:00 Thursday, had coins by 11:30 Thursday); One business day w/ other banks Domestic Bank Transfer The first time I used Bitpiggy after it came back up I was called by NAB to confirm the transaction was legit.
MrBitcoins 13.16 8.94% That evening Cash Deposit Affiliated with CryptoXChange
SpendBitcoins 13.57 12.37% That evening Cash Deposit Used many times before Bitpiggy was back up. Fee includes 10% fee and Current price is an amalgamation.
- - - - - -
CryptoXChange 12.28 1.66% + $5+0.6% - Cash Deposit The $5+0.6% is the processing fee for a cash deposit. For amounts over $1000 this fee is 0 (temporarily)
BitInnovate 13.43 11.17% - Cash Deposit Fee includes 9.9% fee, current price is an amalgamation
Omnicoins 13.15 8.86% - Cash Deposit -
Local (All) Varies Var. - Cash - In Person Range of exchange rates. Mostly rather reasonable. Possibly some abandoned listings (either very high price or very low)
Local (Sydney) 12.76 5.63% - Cash - In Person Basically the same price as MTGox, I will be trying this method soon; there's a seller on George St, Sydney; very excited
- - - - - -
WeExchange unknown unknown - Bank Transfer Site appears to be in beta. I was unable to register. Possibly requires invitation code.
If anyone has any more info or comments I'll add them to the above.
The "Fee" above is taken to mean "how much more expensive is it to buy BTC with AUD than an optimum conversion". The Current AUD/BTC ratio was taken at about 3pm Sydney time, 21/09/2012. CXC: 5pm.
Also, where I talk about "Thursday" above, I'm talking about yesterday. I've been buying BTC with AUD for more than a year, most of that time was with SpendBitcoins. To be clear, I've never had an issue with any of these services before, I usually decide which to use based on the current rate.
Disclaimer: I am in no way affiliated with any of the above services.
submitted by XertroV to Bitcoin [link] [comments]

The power of 10 dollars.

Current Bitcoin's market cap is something from 4 to 10 billion USD. I love Bitcoin, and I know that on this subreddit there is a lots of other people, for whom Bitcoin is everything.
Some of you can remember the movie "Pay forward", where idea was - doing something good for 3 people, in exchange for receiving help from stranger.
I believe in simple ideas. And my idea is about creating a PHP-based web-service with beautiful interface, with following goal: - Global goal of this simple web-service will be a promoting Bitcoin. But how? -- By setting to its participants very simple goal - inviting 3 people to save in Bitcoin - How much 1 invited person should invest/save into Bitcoin? -- Just $10 (or maybe more, but not less)
How this will work? 1) You sign up on a service, and get your own public page where main content will be a 3 pictures with your friends, whom you're invited or not to save $10. 2) If you haven't persuaded 3 person to save at least $10 in Bitcoin, then you're not yet a full member of the service, and your status will be "Mission Unaccomplished" 3) If you found 1 person, who is ready to invest $10, you give him a link with a beautiful explanation with what Bitcoin is (On the same page there will be a promise for what Bitcoin is gonna achieve in a next 5 to 10 years), and with easy steps displayed to help accomplishing this public investment. 4) If a person invests $10, then your indication of mission accomplishment will be upgraded to "1 person invited, 2 more needed". 5) Our web-service will monitor the wallet where person must hold at least $10, if quantity of Bitcoins is getting spent or anyhow reduced bellow $10, then person gets status in service "wallet is empty". For every member it will mean notification which recommends returning funds back, for inviter it will mean losing another invited person temporarily (There wont be a limit on how much you can invite people - the more - the better, but if you have only 3 friends with $10 - it's very likely that at least one of them will spend their Bitcoins, and for your profile it will mean temporarily losing "Mission accomplished" status)
Maybe description for such web-service given by me was too long, but at least I tried to explain basic concepts which I wanted to see in such service.
Now here's some additional points about the idea: 1) This kind of web-service shouldn't have internal wallets, where service participant's money will be held (to avoid repeating mtgox scenario) 2) This service will use public address information to check if there funds necessary to confirm membership. To confirm ownership of the wallet, it will be required to send any amount of Bitcoin to our web-service (e.g. 0,000001 BTC). 3) All captions on the web-site probably won't be like "mission accomplished" or anyhow I have specified it here - you're free to write your own text since I speak English as a second language.
Global goal of the web-service which will be described on the top page of the service is reaching 5 billion people who have saved $10 in Bitcoin. I expect this service to be a social experiment and also very hope that 5 billion goal will be accomplished (on the main page of the service there must be a graph which shows how much members has invested their $10 and how much percent of goal is accomplished)
If web-service will accomplish given goal, then that will mean a lot as for bitcoin, as for web-site users. $10 invested by 5 billion will mean 50 billions in savings. And 50 billion in savings will mean that bitcoin market cap will be increased on such amount. The market cap of around $60 billion dollars will give bitcoin community better price for 1BTC (approx.estimated: $7,500 in case if Bitcoin market cap will reach 60 billion dollars, due to web-service popularity)
Social goal of the web-service will be creating a page with a proof that you are helping Bitcoin economy 1) by investing into your bitcoin wallet a $10; 2) by encouraging 3 other people to invest their $10 who is also must invite their 3 people.
My additional wishes. - I want this service to be translated into every single language - I want this service to have 0 necessity for asset trust from users (users of the service only need to deposit on their own bitcoin wallets, and with their permission, we are getting and publishing info about their wallets) - I want this service to be maximum user-friendly, maximum simple, maximum attractive for new users. - Main goal is providing free service with minimum ads. But it doesn't mean that the web-design and internal functionality of the web-service must be poor and cheap (instead I want to invest as much money as possible to make the web-site of the service look very expensive and well made). If you are talented web-programmer / project manager and if you're starting a fundraiser to create such a service - then I will be first who will contribute significant amount for getting started. Also if you will create such service I will be active member of such service, and will accomplish my profile mission ;)
What you think about the idea? I tried to find such a service on the web, but couldn't find that's why I'm sharing, because I want to find something at least similar. Feel free to use this idea for everything: fundraising, web development, etc if you also want to see such service.
Comment if you would donate your hard earned money for a fundraiser for whoever will start it. How much you would donate? What benefits should get those people who donated for a fundraiser for creating such a service.
Do you think the whole idea will gather enough attention to meet global goal? I'm myself a web-developer, but not quite sure that I'm competent enough to start something like this, thats why it would be way easier for me if someone would do it ;)
submitted by efxco to Bitcoin [link] [comments]

[WTS] Team Fortress 2 (TF2) Refined Metal

BTC prices are rising, so I'm reducing prices for this trade!
Click to view my reputation thread. This is a record of my successful trades with both PayPal and Bitcoin.
If I were a scammer of any kind, I would have been reported on SteamRep. Click to view my clean marks on SteamRep.
Price per refined: $0.30/refined, calculated with MtGox average at time of trade (approx B⃦0.0028)
Metal in stock: 20 refined (I restock regularly!)
How the trade will work:
  1. You either PM me or post your steam community profile link and order.
  2. I will add you and invite you to trade so I can show you I have the correct amount of refined.
  3. I will not send the order until you send the payment. The instant I see the transaction in my wallet, I'll send your metal. No waiting for confirms.
submitted by Nacklefoodle to BitMarket [link] [comments]

Coca Cola Bitcoins Double Spending Testing - YouTube (10 a.m. CST live stream 2/5/2019) Bitcoin at resistance ... MtGox Bitcoins to BTC e Bitcoins in 50 seconds Roger Ver on MTGOX Bitcoin exchange - YouTube SkoolBeep - Invitation & Confirmation Reports

Mtgox bitcoin confirmations invitations Calcolatrice mining bitcoin difficoltГ aumentano Best exchange ukash to bitcoins Modo piГ№ sicuro per guadagnare interesse Perseus mining ghana location Crypto exchange order types A melhor maneira para comprar bitcoin na rГєssia Quimiotaxis concepto de democracia Blockchain bitcoin wallet apk games аё„аёЈаё№аёЈаёІаёўа ... Citing people familiar with the matter, the meetings are part of eBay quietly looking to integrate Bitcoin payments into its Braintree payments subsidiary, part of its PayPal unit. PayPal has yet to reach any agreements. Braintree was acquired by PayPal for $800 million in September 2013. The company helps online businesses process credit cards by providing merchants accounts, payment gateways ... Schacheröffnungen Übersicht Schacheröffnungen ♚ Name Anfangszüge (häufige Fortsetzung) ECO-Schlüssel Italienisch 1. e2–e4 e7–e5 2. Sg1–f3 Sb8–c6 3. Lf1–c4 (3. … Lf8–c5) C50–C54 Spanisch 1. e2–e4 e7–e5 Bitcoin Challenges, Meetups and Services, Exchange, Giveaways, Tipping, Ethereum, Counterparty, Dogeparty, ChangeTip, Tokens, Skype Groups, Lists, Projects ... Bitcoin is still the most embedded application of blockchain technology, but there are many others. In 2016 the UK Department of Work and Pensions tested the use of blockchain-based systems to distribute welfare payments. Also in 2016, the Financial Conduct Authority (FCA) permitted a blockchain start-up called Tramonex to issue its digital currency to UK citizens. The most popular ...

[index] [12427] [28895] [7801] [50904] [25455] [3214] [14583] [33288] [8015] [36736]

Coca Cola Bitcoins Double Spending Testing - YouTube

-----2015 Update----- This video was made 7 months before the collapse of MTGOX. At that time, MTGOX was experi... Over the years I've learned the best indicators to use on Tradingview based on my style of trading for Bitcoin. I like to use multiple indicators for confirmation trades and determine how much ... This video is unavailable. Watch Queue Queue. Watch Queue Queue Twitter Founder Jack Dorsey interview: Bitcoin BTC Event & Twitter updates [April 30, 2020] Twitter 2,704 watching Live now The Family: Hospital Visit from The Carol Burnett Show (full sketch ... bitcoin 0 confirmations bitcoin 0 active connections bitcoin 0 shares accepted bitcoin 0 connections bitcoin 0 of 6 confirmations bitcoin 0/unconfirmed MtGox Bitcoins to BTC e Bitcoins in 50 ...