Finance is messy because the world is messy
December 2, 2023 3:51 AM   Subscribe

But crypto kept growing until the control systems could not ignore them any longer. And the control systems cannot continue to avoid knowledge of the crimes. So, so many crimes. Many of them are what crypto advocates consider as utterly inconsequential, like serially lying on paperwork. And also Binance gleefully and knowingly banked terrorists and child pornographers. That’s not an allegation; that has been confessed to. There is no line a Bond villain will not cross. They will cross them performatively. from The Bond villain compliance strategy
posted by chavenet (26 comments total) 33 users marked this as a favorite
 
Dollarization is very intentionally wielded like a club to accomplish the U.S.’s goals.

I learned something, thanks chavenet.

(The Malta line was very enjoyable as well.)
posted by drowsy at 7:06 AM on December 2, 2023 [4 favorites]


TFA: And, to oversimplify half a century of jurisprudence, one loses one’s presumption of privacy if one brings a business into one’s private affairs.

I liked the article but this bit goes beyond oversimplification.
posted by snuffleupagus at 7:45 AM on December 2, 2023 [2 favorites]


Being a henchman is an odd job, so he decided to promote himself to full-fledged villain. Another good line!
posted by Ishbadiddle at 7:48 AM on December 2, 2023 [4 favorites]


This is the equivalent of Things I Won't Work With for the banking industry and I will now tear through its archived posts voraciously.
posted by delfin at 8:07 AM on December 2, 2023 [7 favorites]


Thanks for posting this—it was entertaining and informative.
posted by adamrice at 8:27 AM on December 2, 2023 [1 favorite]


I think the point that, if the big crypto wheels had kept operations smaller, they probably could have run the scam longer. But, of course, they couldn’t do that, because with the “growth at all costs” ethos, if one of them didn’t exploit a gap, someone else would. Eventually, they were going to take the wrong peoples’ money, make a bid to hook security to a central bank, violate some international agreement too egregiously/at the wrong time, or all of it. Then the regulators take out the Really Big Hammers and get to work. Say anything you want to your marks and enthusiasts; try to do so thing like become too big to be ungovernable, you’re going to get burned (unless you’re grandfathered into the system).
posted by GenjiandProust at 8:54 AM on December 2, 2023 [4 favorites]


This is tangential to the article, but if you're looking for more reasons to hate crypto, then please allow me to vent. I hate crypto. I'm a crypto hate maximalist. I hate crypto for all the reasons that everyone else hates crypto, but I also hate crypto because my work involves writing software that connects to crypto exchange APIs. And they suck. They suck to high heaven. They are a constant thorn in my side.

I'm not a trader, and I don't work for a company that trades. I have worked in algorithmic and high-frequency trading in the past, but the company I currently work for doesn't do trading. It's very close to trading in many respects, but it's not trading. The company provides financial services such as real-time trade surveillance, market risk analysis, and transaction monitoring for its clients. Support for compliance (legal compliance and internal compliance) is a big part of the value add the company provides to its clients.

Real-time financial data analysis is a central to the business. To get that real-time data, we are hooked up to dozens, if not hundreds, of real-time financial data providers across a large array of asset classes, including crypto. If you take the time to study the APIs associated with hooking up to and pulling data from the APIs, you'll see right away the dichotomy between the traditional financial world, and the always-amateur-hour that is the crypto world.

In the "real world" of trading, the APIs are specified to exquisite levels of detail, leaving no room for ambiguity. In particular, for my purposes, they were designed not only with trading in mind, but also monitoring and exfil. Being able to obtain a lossless record of activity is so important in this world, the APIs ubiquitously provide mechanisms for "gap detection" and "gap fill", meaning that there are elements of the data stream that allow you to easily detect whether you've somehow missed messages, and the API provides a mechanism to request resending of missed messages. In particular, the stodgy old FIX protocol, if implemented correctly, is nothing short of rock-solid in that regard. (FIX encoding is, well, stodgy, and a lot of institutions have moved on from it (eg. SBE), but most modern-day protocols have carried forward a lot of the semantics and mechanisms that make it very reliable, for example: ITCH/Glimpse, in which the encoding is fixed binary, but gap detection/gap fill is supported).

By comparison, nearly all of the APIs in the crypto world are slapped together using REST, websockets, and JSON -- a complete shitshow. The crytpo world has latched on to websockets for providing real-time "push" data. The big problem here is that websockets weren't designed to be a lossless channel. They were designed with "lossy" streaming in mind. If a few packets of an audio/video stream are dropped, nobody would notice or care, but if you need to capture all the data being streamed, then dropped messages become a real problem. And, as you could guess, very few of the crypto APIs provide mechanisms for gap detection & gap filling.

The problem is compounded by the fact that many crytpo exchanges naively take their implementations and just throw it behind a CDN like Cloudflare, which makes for a truly fragile solution. Again, it works fine for lossy streaming, but it's a nightmare if you need a lossless channel. CDNs unceremoniously drop connections if it decides it needs to auto-update its routing tables. CDNs also unceremoniously drop connections if you do anything "wrong", like existing or breathing. When lossiness is tolerable, this is absolutely not an issue. Meanwhile, my software may have missed dozens or hundreds of messages during the 175 milliseconds it takes to reconnect to the stream, but there is no way to detect how many messages it may have missed, and certainly no way to ask the provider to resend the messages. It's complete bullshit. The whole thing is targeted at "leet traders" writing^H^H^H^H^H^H^H copy-and-pasting python scripts in their bedrooms, handling volumes on the order of dozens (dozens!) of messages per day. By comparison, we have software that pulls huge volumes of data (dozens of billions of messages per day) from traditional exchanges, and we know for a fact that we have reliable lossless drop-copies.

I still can't believe that anyone takes crypto seriously at all. I hope to <diety> that nobody is actually trying to do automated algorithmic trading with crypto. They, and their robots, just can't trust the data they get from the exchanges. But of course, some prop traders out there will think it's a good idea, and it's only a matter of time before it blows up in their faces, and the repercussions are felt in the real world. Did I mention that I hate this?

(I've noticed that some crypto exchanges have started providing FIX feeds, but the documentation that I've read indicates that they don't support replay (gap filling). That makes them just as bad as the websockets.)
posted by smcdow at 9:43 AM on December 2, 2023 [101 favorites]


Welcome, smcdow! I too am a finance tech professional who hates crypto with an intensity bordering on mania. Sounds like we work on some of the same stuff for a living.

Something I often say regarding crypto: “I have worked professionally in cryptography. I have worked professionally in currency trading. It is therefore my professional opinion that cryptocurrency trading needs to die in a fire.”

Today I am devouring the blog linked in this post, with great satisfaction and personal amusement.
posted by notoriety public at 10:05 AM on December 2, 2023 [16 favorites]


I've noticed that some crypto exchanges have started providing FIX feeds, but the documentation that I've read indicates that they don't support replay (gap filling). That makes them just as bad as the websockets.

Is it because they built the FIX feed on top of the underlying websockets API?

(asking because that would be really funny)
posted by ryanrs at 10:08 AM on December 2, 2023 [2 favorites]


> Is it because they built the FIX feed on top of the underlying websockets API?

It appears to be, yes.
posted by smcdow at 10:17 AM on December 2, 2023 [3 favorites]


Fascinating, smcdow.

I thought I had some vague recollection from who knows what anymore that WebSockets were always TCP and WebRTC is UDP. But maybe this is loss at some other layer.

actually trying to do automated algorithmic trading with crypto

People definitely were but they may have all cratered by now.
posted by snuffleupagus at 1:44 PM on December 2, 2023 [1 favorite]


FIX without replay? They have ledger tech but don't record a day's ticks on a replayable ledger?!? Ofc not.
posted by k3ninho at 1:44 PM on December 2, 2023 [2 favorites]


After the fourth or fifth "Someone performed a stunt and took full control and ran off with all of the other investors' investments in WhateverCoin, but it turns out they manipulated a loophole in the currency's rules and therefore broke no laws" incident, I began to lose what remaining faith I had in digital tulips.
posted by delfin at 2:01 PM on December 2, 2023 [10 favorites]


I'm sure I'm a bit late to this discussion, but the phrase, 'crystallized math,' seems, oh, so good.
posted by garisimo at 6:40 PM on December 2, 2023 [4 favorites]


Okay, I got to "China has grown into an economic superpower via capitalism while also at times officially having private property ownership be illegal. That circle cannot be squared. We, the global we, want Chinese people to not live in grinding poverty. That requires economic growth. Economic growth required making things the world wanted. Selling those things required integration into the global economic order. That required a willingness to ignore things the Communist dictatorship said were crimes, while simultaneously saying “Oh, bankers definitely, definitely shouldn’t facilitate billionaires committing crimes.” and had to pause and drink for a bit.

I'm not Professor X and have no psychic powers but I'm pretty sure that rounding errors of zero people who had policy making power thought this. This was a way to make people who could be paid pennies do things that people in other countries wanted a living wage for and to pocket the difference. Like a fucking Bond villain would. The people making goods in China are still fucking suffering from grinding fucking fuckery and that's when they're not the basically enslaved populace undergoing an active genocide that it's economically awkward to oppose directly.

Again, offshoring manufacturing to abusable people invisible to your consumers and pocketing the difference in pay is Bond Villain Shit. Much like what is being discussed in the article for crypto.
posted by Slackermagee at 7:12 PM on December 2, 2023 [4 favorites]


After the fourth or fifth "Someone performed a stunt and took full control and ran off with all of the other investors' investments in WhateverCoin, but it turns out they manipulated a loophole in the currency's rules and therefore broke no laws" incident, I began to lose what remaining faith I had in digital tulips.

It really is remarkable, even in the varied and colorful history of scams, that so much is lost, so often, in something called a "rug pull" where they really do just clear out the cash register and leave.
posted by Halloween Jack at 7:17 PM on December 2, 2023 [2 favorites]


I'm not Professor X and have no psychic powers but I'm pretty sure that rounding errors of zero people who had policy making power thought this.

I can think of two pivotal moments in US-China trade relations. First was Nixon going to China. This predates me by a decade so I won't think too hard about it, but AFAICT, the purpose of normalizing relations was to de-escalate various military conflicts in the region China, and Vietnam specifically.

The other was China joining the WTO after the USA granted permanent MFN status. Clinton pitched it as opening China up to US products, and to US investment. But also that this would prepare the nation for democracy:
The more China liberalizes its economy, the more fully it will liberate the potential of its people — their initiative, their imagination, their remarkable spirit of enterprise. And when individuals have the power, not just to dream but to realize their dreams, they will demand a greater say.

posted by pwnguin at 11:55 PM on December 2, 2023 [4 favorites]


Nixon going to China was to take advantage of the Sino-Soviet split and open up a new front against a common adversary. Whatever public salesmanship was done, the argument that carried the day within the Clinton administration for China's accession to the WTO was that it would benefit the American economy. A lot of the recent narrative circulated by China hawks is that engagement "failed" because they haven't become liberal democracy, but that's just motivated reasoning - by and large, they're happy to be working within multinational institutions and making deals, instead of being North Korea x50.

It's worth noting that the boom in manufacturing has been hugely beneficial to China. We can say the workers ought to be paid more, but tons of people left their rural, low paying agricultural jobs for factory jobs that were a step up. If you exclude China and Vietnam, global poverty levels have basically been flat for the last 30 years. I consider that an indictment of the school of thought that says if you just step back and let the market do it's thing, people will become prosperous.
posted by ndr at 1:31 PM on December 3, 2023 [2 favorites]


If you exclude China and Vietnam, global poverty levels have basically been flat for the last 30 years.

How does that square with say India? Wasn't it Hans Rosling's whole spiel that global extreme poverty has been going down?
posted by pwnguin at 5:09 PM on December 3, 2023 [1 favorite]




[btw, this post and smcdow's comment have been added to the sidebar and Best Of blog]
posted by taz at 2:23 AM on December 4, 2023 [1 favorite]


And, as you could guess, very few of the crypto APIs provide mechanisms for gap detection & gap filling.

IMO this is a bit overstated - I mean gap detection and resending missed traffic is a design function of a lot of systems and is pretty basic stuff - but it's definitely available in other protocols and FIXP (per wikipedia - FIX Performance Session Layer (FIXP)) offers mulitple forms of delivery, including unsequenced:


Recoverable: exactly-once message delivery. If gaps are detected, then missed messages may be recovered by retransmission.
Idempotent: at-most-once delivery. If gaps are detected, the sender is notified, but recovery is under the control of the application, if it is done at all.
Unsequenced: makes no delivery guarantees. This choice is appropriate if guarantees are unnecessary or if recovery is provided at the application layer or through a different communication channel.
Note: No application messages should be sent in one direction of a session.

However, if crypto guys focused on unsequenced or couldn't imagine that verified sessions are required or often necessary, I agree it's because they were lazy and unconcerned about real accounting concerns.
posted by The_Vegetables at 3:53 PM on December 4, 2023 [1 favorite]


How does that square with say India? Wasn't it Hans Rosling's whole spiel that global extreme poverty has been going down ?
I think it depends on your definition of poverty. My views are informed by this post. I can't claim to be especially knowledgeable about how India is doing, but I do know that the province with the highest HDI is Kerala, which has been ruled for the most part by Marxists.
posted by ndr at 4:52 PM on December 4, 2023 [1 favorite]


> IMO this is a bit overstated - I mean gap detection and resending missed traffic is a design function of a lot of systems and is pretty basic stuff

Virtually all of the crypto feeds are a nothing more than simple streams of JSON (JSONL) messages over websockets. Typically, the only supported flow control requests (via REST) are, essentially, "subscribe" and "unsubscribe". Almost ubiquitously, the individual JSONL "push" messages have no field that could be interpreted as a sequence number, so gap detection is impossible. There are a very small number of feeds that are exceptions to this rule, but in any case exactly none of the crytpo APIs provide any mechanism to to make a request to replay messages. None.

Moving on to the very small number of exchanges that claim to support FIX: The documentation states flatly that they will not honor honor 35=2 requests. Replay is not supported.

Crytpo feeds are all very etherial in that regard. Have I mentioned that I hate this?

And don't get me started about timestamps. I'm beating my head against a wall right now trying to explain to a crypto exchange why it's important that their marketdata messages be accurately timetagged. Market data is at its core a time-series database, and it's unbelievable to me that this needs explaining to people who are supposed to be financial professionals. It's always amateur hour in the crypto world.
posted by smcdow at 7:46 PM on December 4, 2023 [4 favorites]


My views are informed by this post.

So, that is a rebuttal to a rebuttal, and not one I find very persuasive. Fully tearing it down would be an undertaking, and fortunately would also be a derail from a thread on crypto villains. Suffice it to say, it takes some effort to look at the absolute number of people over this time range and neglect to mention the global population doubled over the time range.

Tying this all back to crypto, fraud and China: there is a lot of money there that wants out. China, like all developing nations, moved up its economy up the "value chain" to do better by its population. And over the past 30y that is exactly what happened; there's less small scale farming, more industrialization, and more knowledge work. As a result, Chinese citizens have a massive collective savings but the investment opportunities are slim: real estate is in a bubble, local equity is constantly at risk of knee capping, and diversifying savings in yuan to foreign assets is heavily discouraged. Crypto, and Binance in particular, works around these restrictions and is definitely illegal in China. And the West looks the other way because, well, enforcing China's laws is China's problem. Right up, until McKenzie points out, they can't pretend anymore.

Presumably FTX was the "can't pretend to not know anymore" moment, which is especially ironic given CZ was the prime mover who kicked the foundational block supporting that pyramid scheme out and toppled it. And hey maybe tricking bad guys across the world to globally replicate the entire ledger of every transaction they've ever done will bear some fruit?
posted by pwnguin at 9:06 PM on December 4, 2023 [1 favorite]


We really need to treat crypto like child pornography. Make simple ownership a felony, make transmitting, creating, or acting as an exchange an even bigger felony.
posted by sotonohito at 12:33 PM on December 5, 2023 [2 favorites]


« Older These penguin parents sleep for four seconds 10...   |   "Ghosts haunt cities, seeking revenge for the... Newer »


This thread has been archived and is closed to new comments