Hacker News new | ask | show | jobs
by hakanito 1719 days ago
This is not a mistake, it’s a pretty common method for money laundering
8 comments

I'm curious how this works. As I understand it, Bitfinex would have do this by not broadcasting the transaction to the network and instead keeps it on a single miner and it gets included when the miner snags a block but how does that help launder money?

Is it some sort of deniability thing to say your hilariously unreasonable miner tip was mined by a random miner who may or may not be you? Surely regulators/prosecutors aren't this gullible.

Regulation/prosecution is lagging way behind in this space. Even in traditional finance, Ponzi schemes and money laundering go on for years.

It's also important to consider the psychology of things like Ponzi schemes. A bright 12 year old can understand why a Ponzi scheme falls apart in the long run. But for most of the people running them, they aren't thinking about the long run. They're responding to short-term incentives. An investor wants money back? Well there's money, so let's give some to them. Low on money? Go out and sell more people on putting money in. People have concerns? Reassure them that everything's fine, better than fine, amazing in fact.

So the question of "do they think they can get away with it in the long run" is not really the right one to ask. 100% of their attention is on the short term. They carefully avoid thinking about the long run at all, because it's way too uncomfortable. As long as the problems are deniable enough in the short term, they're just going to keep going.

The cool part is all of these transactions are public and can be archived by regulators for long term forensics and enforcement activities while still within the statute of limitations. Might take years, but government can take its time investigating and prosecuting. Regulation can lag because there is no rush; the evidence is preserved by the very nature of the technology.

https://news.ycombinator.com/item?id=28673552 (HN: Tracking stolen crypto is a booming business) | https://archive.is/s1WvQ

That's a positive for sure, but regulatory latency enables more scamming. That added burden to limited regulatory capacity mean the increased scamming makes it likelier that the small fry will get away.
While I don't doubt it's a method used for money laundering, this particular instance probably isn't it. For one, if you're money laundering, you don't want the transaction to show up on the front page of HN.
Yeah why not do this over time with smaller fees. With the ridiculous gas these days you might be able to sneak quite a few tx in under the guise of “nft bots” but not 7500 eth in one tx
What's another explanation for this huge fee? Your reasoning makes sense, but that still leaves me extremely curious.
The base gas fee for the block is:

Base Fee Per Gas: 0.000000058907049227 Ether (58.907049227 Gwei)

The paid gas fee for the transaction is: 0.053243669870735422 Ether (53,243,669.870735422 Gwei)

Perhaps they wanted to post the transaction for 53 Gwei but fatfingered it? Or entered Pwei instead.

Edit: This block was apparently mined by poolin pool: https://minerstat.com/coin/POOLIN-ETH

Their rewards almost doubled

Using a client which has two boxes, one for fee and one for value transferred.

("Fat finger" errors like this are not unheard of in the read financial system, but that usually allows reversal)

That still means they intended to pay $100K in transaction fees, is that a normal sum?
Various claims on reddit using phrases like "set the gwei limit the same as the gas limit" and "new EIP 1559 transaction", which I can barely make sense of, but it sounds like they may have been in entirely different units?

Anyway, be your own bank, I'm sure you can figure this out. /s

It's a huge number but amounts to 0.4% (0.004). I have no idea how that compares to regular 24M international wire transfers, though.
Its not money laundering, lol. a) Bitfinex is an exchange, they don't need to launder. They are the laundry! b) You usually want to get the money back when your launder. This is handing 20 million dollars to a random on the street who takes your transactions.
I get that point, but I was asking for what is then the real reason. The only two I've seen proposed are money laundering (perhaps by collusion with the miner) or mistake (accidentally confusing the transaction amount with the tip - still meaning the intention was to pay $100k in transaction fees).
If i was to bet, my money is on a catastrophic fuck up. Its probably 'other peoples money' too. Some VC maybe lost a big bag of ether.
> This is handing 20 million dollars to a random on the street who takes your transactions.

Yes I'm sure it's purely coincidence that the "random on the street" who mined this block is a major Bitfinex shareholder.

It's also potentially risky. What if a big mining pool, upon noticing the huge fee mined by another miner/pool, decides not to mine on top of that block, but in competition with that block in hope of snagging the fee for itself?
There's been a lot of talk about reorg due to MEV (which this could be considered MEV), but to the best of my knowledge it hasn't happened yet. This seems like a big opportunity because this is ~3000x bigger than the standard block reward
We need Ethereum to always prevent this. Or the big mining pool will just do this for every block and allow ONLY THEIR blocks to be processed. Then they get 100% of mining of the ETH mining fees.

This reinforces by most miners being willing to join, to get a share in monopoly rents over miners-never-earning. The big mining pool(s) could let in enough to stay big enough. But not too many to spread the monopolistic gains by too broad a base.

The mining pool would have to have >50% of the hashrate to pull that off indefinitely.
Its a great way for miners to launder money. Bitfinex pays the fee and it turns up on the miners balance sheet, where does bitfinex gain?
The recipient in this case absolutely appears to be "associated" with Bitfinex, who don't understand the concept of "arms length", so entirely 'nepotistic' transactions like this would be par for the course (remember the loan between Bitfinex and Tether, who were at the time being stated as independent and unrelated, yet somehow the same two people signed and countersigned the loan for both sides?).
I read your whole comment expecting you to get to the evidence where bitfinex and the miner are associated...
> DeversiFi — a non-custodial exchange that spun out of Bitfinex in 2019

From the article.

And as said, given previous dishonesty from Bitfinex about all sorts of unrelated parties (they claimed to be independent of Tether, until that was proven a lie, and they are heavily intertwined with their bank, Deltec, who says that they have "insight into every transaction and Tether"), I'm going to consider Occam's Razor, here.

they refunded the fee to bitfinex
ELI5, please?

Who does the fee go to? I would have thought the miner. But if so, how can you predict (or control) which miner will get your block?

The transaction is sent directly to the miner without going through mempool, or the miner itself makes the transaction.
I'd submit an answer involving jargon like "mempool" doesn't qualify for "ELI5". ELI4?
Mempool or "memory pool". It contains pending transactions that have been publicly broadcasted and are waiting to be mined into the blockchain.
Etherscan indicates that the transaction was in the mempool [0]. My understanding is that this wouldn't show up if it was mined without releasing the transaction to the mempool.

[0] https://etherscan.io/tx/0x2c9931793876db33b1a9aad123ad4921df...

Is this even still possible? Since EIP-1559 miners like ethermine stopped including their own tx for 'free' presumably because you cant pick and choose anymore.
You can still pick and choose, EIP-1559 forces miners to burn part of the fee, which means it's no longer "free" to the miner to include these transactions. In the case of this transaction, Bitfinex also included a very large tip that went to the miner.
It certainly is. Here's a list of them: https://etherscan.io/txs/label/private-transaction
Is the mempool logged? Is it possible to tell if it was a mistake or if they skipped the mempool?
Every node operator can log their node's mempool, but the protocol does not ensure that mempools are consistent across nodes.

That said, logging this might violate GDPR :)

Are they the one who's going to choose the miner?
I thought all transaction fees are burned after EIP-1559 was implemented?
No, there are 2 parts to the fee. The base and the tip. The base is burned and the tip goes to the miner. This transaction burned 0.008493159450499633 eth (~$25) and paid the miner the rest.
How would this work? The fees go to the miners or are burned, so how do the laundered funds make their way back?
Perhaps instead of sending your transaction publicly in the Mempool, you give it to your miner friend to include in their next block.
Is the mempool logged? Is it possible to tell if it was a mistake or if they skipped the mempool?
>Is the mempool logged?

Yes. For instance on etherscan there's a "Confirmed within x secs" indicator, which is "Estimated duration between time First Seen and included in block".

Even if it is logged, there are ways this behaviour could be masked.

Say a colluding miner mines blocks including this unbroadcast transaction until they finally hit the block target with this transaction included.

Bitfinex then broadcasts the transaction to mempool. After some plausible delay (but a short enough one that no one else gets a chance to mine it), the colluding miner publishes a valid block including the transaction. No one can confirm that the miner didn't receive the transaction from mempool like everyone else, and then 'get lucky' shortly after.

I'm not saying this is what happened, I think user error is more likely. But it can neither be ruled out nor easily proven.

There would be suspicion that the block doesn't have any recent transactions in it though.
The basefee is burned, the priority fee is given to the miner.
Is it possible they are just incompetent?