9 ms·
> ZHONG did not list any item or service for sale on Silk Road, nor did he buy any item or service on Silk Road > ZHONG funded the Fraud Accounts with an initi
by Scoundreller 4y ago
> ZHONG did not list any item or service for sale on Silk Road, nor did he buy any item or service on Silk Road
> ZHONG funded the Fraud Accounts with an initial deposit of between 200 and 2,000 Bitcoin. After the initial deposit, ZHONG then quickly executed a series of withdrawals. Through his scheme to defraud, ZHONG was able to withdraw many times more Bitcoin out of Silk Road than he had deposited in the first instance. As an example, on September 19, 2012, ZHONG deposited 500 Bitcoin into a Silk Road wallet. Less than five seconds after making the initial deposit, ZHONG executed five withdrawals of 500 Bitcoin in rapid succession — i.e., within the same second — resulting in a net gain of 2,000 Bitcoin. As another example, a different Fraud Account made a single deposit and over 50 Bitcoin withdrawals before the account ceased its activity.
So Silk Road wasn’t waiting for any transaction confirmations??? And didn’t append a nonce to each withdrawal to avoid duplicates?
Is this the guy that Ross wanted to kill?
- matthewaveryusa 4y agoI knew a guy about 10 years ago that upgraded his iphone through the apple website and AT&T website at the same time, received two phones, and never heard from either company about a double transaction. I love these kinds of hacks -- I guess it's one way to profit from hard-learned database lessons :)
- peteradio 4y agoReminds of my older brothers friend who in second grade got back in line to get his yearbook picture taken and showed up twice in the yearbook with slightly different pics.
- nerdawson 4y agoWhen I was a kid we had vending machines for drinks in school. One morning I put 20p in and it immediately came back out. It wasn’t accepting the coin so I tried two in quick succession. Both were spat back out… but the machine registered one of them. I of course would never exploit that repeatedly for a couple free drinks and some extra change too.
- hamburglar 4y agoThe soda machine in my dorm at college had separate mechanisms for “I released a soda” and “you actually got a soda” and if you knew this, you could trigger the “I released a soda” mechanism and delay the “you actually got a soda” event until after you got your money back. You just had to stick your arm up the machine and not let the released soda fall while you hit the cancel button. Then you got your money back and then a soda. Atomicity fail.
- wildzzz 4y agoThey were not around for very long but there was a soda machine that had a conveyor belt that drinks would drop down onto and then be pushed out of a flap door into the bucket. The machine could detect when a drink was actually vended but didn't seem to be able to detect when someone was holding the door shut. You'd pay for a drink and hold the door shut while the machine tried to push your drink out the door. Since the door wasn't opening, the machine would think that no drink ever dropped down onto the conveyor belt so it would mark that specific drink number as out of stock and return your money. Except your drink selection was still sitting on the belt. You'd pick a new drink and pay for it but this time not holding the door shut, two drinks would come out for the price of one. You could do this quite a few times over to either get a couple free drinks or just jam the machine. Out of all the vending machine "hacks" I learned about in middle school, this was the only thing that ever worked and only for a short time before they got quickly replaced. The new machines use either a basket to hold the drink instead of a conveyor belt or some sort of shield to prevent you from messing with the flap door until it knows a drink has been vended.
- woah 4y agoSeems like it was working as intended, that if there was some blockage in the machine that resulted in the soda getting released but then getting stuck, you'd want a refund.
- hamburglar 4y agoSomehow I doubt giving out unlimited free sodas is "as intended." This is why it's an atomicity fail, leading to an inconsistent transaction. It should never be blocked according to the payment mechanism and unblocked according to the delivery mechanism.
- Miserlou57 4y agoI didn't get into the UC of my choice. So I appealed. This was in 2006, and the appeal process was not through an online application. You had to mail in a packet with your appeal letter, transcripts, etc. I sent one in by the postmark deadline (Friday), but it wasn't very good. So, come Monday morning, I overnighted a much better one. After a week or whatever, I got a message notifying me that my application status had changed, but I did not get in. Then a day or two later, I got another one, to which I _did_ get in. Now, I don't know for sure, but I like to think two different reviewers got my packets in parallel and never knew it, and upon changing my status the second reviewer probably wouldn't have seen any evidence of the last status change having been from an appeal.
- busyant 4y ago> I got a message notifying me that my application status had changed, but I did not get in. Then a day or two later, I got another one, to which I _did_ get in. Back in the days before email was common, I applied for a postdoc position at <famous prof's lab @ MIT>. I mailed my letter to <famous prof>, expressing interest in working in his lab. A few days later, I asked 3 profs in my graduate program to write letters of recommendation on my behalf to be mailed to <famous prof>. After ~10 days, I received a response letter from <famous prof>, to the effect of: "Sorry, my lab is full. Won't have any openings for several years. etc. etc. Thanks, but no thanks." I figured "Oh well.... No big deal." But I was too lazy to inform the profs who were writing my recommendations to stop. About a week after my "rejection" letter, <famous prof> phones me and says, "I always send a standard rejection letter because I'm only interested in people who are _aggressive_. Thanks for sending your recommendation letters. I _definitely_ have openings in my lab." I didn't have the heart to tell him that he only got those letters because of my laziness.
- nonethewiser 4y agoCouldnt it be the case that one packet was reviewed and they updated your status, then they just chucked the duplicate?
- Miserlou57 4y agoYes I suppose. I just vaguely remember two different notifications about it
- busyant 4y agoI have to fess up, too. Back in the early 1990s, I withdrew $10 from an ATM. But the machine gave me two $10s (they were stuck to each other). I then went back for a second transaction (secretly hoping there were multiple "stuck $10s" waiting to be released). The machine only dispensed a single $10 the second time, so I stopped. Let it be known that I owe Chemical Bank (or whoever bought them) $10 + interest.
- onemoresoop 4y agoFirst time Im hearing of an ATM dispensing $10 bills. Granted, first time I started using ATMs was in the early 2000s...
- busyant 4y agoI think they even dispensed $5s at the time, but my memory is a bit hazy about that. At the time, my girlfriend (now wife) used to tell me I wasted so much $$ on ATM fees by only withdrawing $10 at a shot. I told her I was not good at budgeting my money and I had a tendency to spend whatever was in my pocket, irrespective of the amount. So, $10 was my way of putting brakes on my spending. Fees were just part of the cost of my budgeting method. She married me anyway.
- reaperducer 4y agoFirst time Im hearing of an ATM dispensing $10 bills. Back when ATMs were new, you could get any amount, including change. The ATMs at the Chase bank next door currently dispense any bills you want, but not change. After you tell it how much you want, it asks you how you would like it and you can tap different denominations. Last month I took out $17, just to see it work.
- reaperducer 4y agoBack before all of the banks were wired together, I had a friend with what we called a "bottomless ATM card." He could withdraw whatever amount he wanted from the ATMs at college, but since that region's ATM network wasn't hooked up to his home bank's ATM network, it took months for everything to reconcile. He could keep withdrawing, even if he had taken out far more cash than he had in his home bank account. On breaks, he would go back home and pick up enough hours at his part-time job to cover the difference (it wasn't unusual for people to be paid weekly or in cash back then), make a deposit, and everything was fine. He just had to keep one step ahead of the computer batch processes. Also, I think Chemical is Citibank now. I had a Chemical account, and a Dime account. I still think of Citi as "Chemical," though.
- asdfjhaweklfh 4y ago> Is this the guy that Ross wanted to kill? No. The guy he "wanted to kill" was a moderator who didn't even steal from him. A FBI agent (huray, my taxes) pretended to be a drug lord for over 2yrs convincing Ross he should kill some moderator with lies about he wanting to take over silkroad or something, and then staged a mock assassination. All that for no tangible investigative benefit other then strengthen their 2yr old bro-bond. That agent didn't even contribute to the actual arrest. Go read wired write up of the whole thing. It's better than most fiction books. Pure comedy. Also, the current silk road is a honeypot set up by the Feds. That's why 1) they screwed up on validating transactions (it's not their money) and 2) they want after the stolen funds.
- swarnie 4y agoHas the concept of "Entrapment" not made its way across the pond yet? This seem highly unethical on the part of the FBI.
- cragfar 4y agoFBI gets a wide berth from the courts. A couple of years ago, they seized some TOR child porn website, and then started making upgrades to it causing the userbase to increase by 30%. Then they tried to pin that user count on the person they arrested.
- 2devnull 4y agoFBI is federal, unlike the police, so they can do whatever, at least that’s how it’s playing out. The FBI is supposed to be effective, not ethical. It’s what’s “on the tin” and has always been. A good example is their treatment of MLK.
- matai_kolila 4y agoThe FBI is supposed to be ethical, that's what's on the USA tin containing the FBI tin. You can provide a billion examples of how the US hasn't lived up to that notion, but 'liberty and justice for all' is, "what's on the tin."
- LocalH 4y ago"the code is the contract" "oh wait we fucked something up? shit no, give me my money back"
- bagels 4y agoIsn't that the silly thing they say about etherium, not Bitcoin?
- deleted 4y ago[deleted]
- joyfylbanana 4y agoNo, the bug was in the withdrawal code. Concurrency bug, numerous simultaneous withdrawals have a high change of succeeding and you are able to withdraw more than your actual balance. Very common in amateur coded websites.
- Scoundreller 4y agoSure, but if silk road waited for X confirmations, it would have made it at least a bit more complex to pull off. (Maybe you could have just hammered it continuously, but hopefully would have to predict when the blocks would be confirmed. They’re not exactly every 10 minutes). It’s not exactly related to this hack, but poor blockchain practice on the part of silk road if it permitted withdraws this quick after deposits.
- ufo 4y agoFrom what they said it sounds like the issue was executing the same withdrawal request more than once, unrelated to the bitcoin confirmation window. The fraudulent withdrawals had to happen on the same second, not merely on the same hour.
- Scoundreller 4y agoThat’s correct. I read the indictment and the first one was done within 5 seconds of deposit, while the next successful one was after 24 minutes.
- theptip 4y agoIf the bug is a read-modify-write sequence without a transaction, then regardless of whether you wait for more confirmations, the withdrawal action will always be racy and vulnerable to this exploit. Not waiting for confirmations would leave you vulnerable to random chain forks and make 51% attacks cheaper.
- deleted 4y ago[deleted]
- 4y ago
- IncRnd 4y ago> As another example, a different Fraud Account made a single deposit and over 50 Bitcoin withdrawals before the account ceased its activity. > So Silk Road wasn’t waiting for any transaction confirmations??? And didn’t append a nonce to each withdrawal to avoid duplicates? See the ACID properties of databases. [1] These are often put to the wayside in order to have greater transaction speed. We can see the results. In computer science, ACID (atomicity, consistency, isolation, durability) is a set of properties of database transactions intended to guarantee data validity despite errors, power failures, and other mishaps.[1] In the context of databases, a sequence of database operations that satisfies the ACID properties (which can be perceived as a single logical operation on the data) is called a transaction. For example, a transfer of funds from one bank account to another, even involving multiple changes such as debiting one account and crediting another, is a single transaction. [1] https://en.wikipedia.org/wiki/ACID https://en.wikipedia.org/wiki/ACID
- MuffinFlavored 4y ago> See the ACID properties of databases. [1] But since this is "blockchain", is it more like... they weren't polling for the right confirmation/status/update from the blockchain network API thingie?
- IncRnd 4y ago> But since this is "blockchain", is it more like... they weren't polling for the right confirmation/status/update from the blockchain network API thingie? That's the exact same mistake I referenced. The consuming website should not be in charge of the atomicity of transactions. It doesn't matter whether the API was used incorrectly, blockchain was used, or finanglesperunk was the technology. The vagaries of the implementation don't matter. Sending money should be atomic with the request instead of whatever this was, otherwise the result might be $3.36 Billion in theft. PS Blockchain is a database. The developer can choose to enforce SALT instead of ACID, but something wasn't done right.
- wmf 4y agoNo, it's not blockchain. It's a SQL usage error.
- wombatpm 4y agoIn 2012 bitcoin was worth ~ $7.00. So 2,000 bitcoin is only $14,000 but the feds too $3 billion back. Does not seem fair.
- deleted 4y ago[deleted]