Why are so many Rust jobs crypto currency related?

Inspired to TWiR quote of the week - #1193 by Michael-F-Bryan

Out of curiosity, why is this the case?

  1. Why do a high % of Rust jobs tend to be crypto currency based ?
  2. Why do a high % of crypto currency jobs want Rust ?
1 Like

Rust is renowned for its type checking and unique in its memory misuse checking with the "borrow checker". This is seen as a great help toward writing secure software, eliminating whole classes of sources of security vulnerabilities. For example see this article by MS https://msrc-blog.microsoft.com/2019/07/22/why-rust-for-safe-systems-programming/ There are others.

It makes sense then that anyone requiring to build robust, secure, software would seriously consider Rust.

I presume therefore that the guys creating new crypto currency software are attracted to Rust for those reasons. It at least helps project the image that what they are are creating secure software.

Crypto is a new industry growing (if "industry is the correct word for these get rich quick schemes) so it has the possibility to start from scratch with a new language.

Meanwhile other industries have been going on for many years and have a lot invested in whatever languages they are using. It is a lot harder for them to adopt a better language, even of they bother to have a look around for such things.

Personally I would not go anywhere near any of these crypto startups. There are so much more useful things to be doing with ones life.

18 Likes

I think people creating those projects are generally young and, and as you said, have before them a greenfield project where they can choose a language, it's almost no surprise they would pick a "modern" language. It also allows them to attract other more gullible young programmers who don't want to work with older languages.

Same.

4 Likes

I think it's a combination of:

  • Rust is a good tool for reliable software and cryptography. Cryptocurrency projects are automatically their own bug bounties, so they need to write bug-free software more than anyone.

  • "Crypto" projects need to build hype around them, because a digital "coin" is worth nothing without people willing to pay real money for it on a belief it's "going to the moon". Rust currently is a fashionable language with a good reputation, so startups use it to get some halo effect to make their implementation seem new and cool.

  • It's a field full of get-rich-quick schemes and a race to capture and centralize a brand new field (moat building), so there's a ton of VC money sloshing around to fund startups, and therefore fund new Rust jobs to hire for.

27 Likes

I think @kornel nails the 3 main reasons.

To expand: I work in cryptofin, but not (primarily) in Rust, and not directly on any specific cryptoasset.

Most cryptocurrencies are a p2p (meaning: directly exposed to public, potentially malicious traffic) software with high performance and reliability requirements. That software is usually called "a node" (of a p2p network). Whole cryptocurrency network is just a lot of such nodes, all running the same software, exchanging messages. A lot of crypto(-graphy) is involved, and things are tight both on CPU and IO front.

Rust is perfect for writing nodes. There's pretty much no comparable alternative. If you use something like C or C++ then you can get good perf (at least in theory) but it takes mountains of effort to avoid catastrophic bugs that could take down the whole network (each node is kind of the same). If you take something like Java (or anything else "high level"), then you leave performance on the table (and the security and reliability story isn't all that great either).

Rust is also great for writing any other cryptofin-related stuff. It's just a great language all around for many reasons.

The industry is pretty much being built from scratch, with new projects showing up every week. So it's not held back by legacy code and culture. Most SWEs getting into cryptofin have to learn so many things from scratch, that a new language is the least of their problems.

Despite using Rust making tons of technical sense, I think Halo effect in the space is very real. Lots of projects in the space (not unlike normal businesses) compete for publicity and popularity and live or die by it. There's a lot of superficial posturing, and having your implementation in the most hyped, "most secure", "super fast" language is a good point to have on your landing page and promotional materials.

Finally - there's just tons of money in the space (primarily because it is fundamentally about money/finance), everyone are trying to come up with new ideas, expand and grab market share, and hiring is even more difficult than usual because a lot of potential candidates dismiss the space altogether (as you see over and over, even in this very thread :D). Using a cool and desired PL is a good perk to attract candidates. So is paying them well.

As for attitudes towards crypto: The whole industry is very much in a dotcom bubble phase. People that usually criticize it so vocally and unconditionally make the same mistake that people laughing at the Internet in the 90s did. Just because large portion of projects in the space place somewhere between "doesn't make any sense (yet?)" to "outright fraud" doesn't cancel the small portion of projects that do make sense - some of which will evolve, succeed and change the world. But which 1% (or even .1%) only the future will tell, and people have only their own opinions on the matter (I do to, very strongly held indeed). In the hindsight we know that Google, Amazon, Netflix, Paypal etc. were the companies that made it through the dotcom bust and flourished afterwards, and my favorite pets.com did not. :cry:

5 Likes

I'm not sure if getting into the merits of blockchain-based schemes generally is too off-topic for this forum, but after watching the cryptocurrency space for years and studying economics to try to make a fair evaluation, I basically think Line Goes Up has it right and that these structures are fundamentally incompatible with things l think are too important to give up, and it's far more than just the energy costs.

Also note that this isn't just my, or Dan Olsen's, opinion about the wide-ranging potential harms. From the Executive Order on Ensuring Responsible Development of Digital Assets | The White House issued a few days ago (emphasis mine):

Advances in digital and distributed ledger technology for financial services have led to dramatic growth in markets for digital assets, with profound implications for the protection of consumers, investors, and businesses, including data privacy and security; financial stability and systemic risk; crime; national security; the ability to exercise human rights; financial inclusion and equity; and energy demand and climate change

That said, if you've watched Line Goes Up and think there are flaws in Olsen's arguments, I'm always trying to keep an open mind and learn more.

6 Likes

On the other hand...

If you were a regular Russian citizen who now find their income and savings have been decimated by recent events. Or if you were a Canadian citizen who now finds their bank personal and business bank accounts frozen. Or even just a supporter of a good cause that finds their donations blocked. Or if you were a resident of a country where transfers out of the country to support ones family are subject to 30% fees. Etc. You might start to dream of a system of money that is free from those who claim to want to "protect" you and claim such digital currency has " profound implications for the protection of consumers, investors, and businesses, including data privacy and security; financial stability and systemic risk; crime; national security; the ability to exercise human rights; financial inclusion and equity;" You might, I think justifiably, start to suspect the money systems we have are not doing that already and that it is time for something more reliable that offers less chance for the powers that be to control you.

I'm on the fence about this. So far.

I suspect that whatever monetary system one has the rich will be become inordinately rich and end up controlling things. A natural consequence of trade, on which we all depend.

3 Likes

I hope these discussions be allowed. Cryptocurrencies, after all, have a non-trivial impact on Rust. In particular, I was playing with wasm the other day, and it was amazed how much of the "single pass" (goal: optimize for compile time + runtime of a wasm module instead of just runtime) was funded by crypto currencies -- because in their situation, they want to avoid 'JIT bombs', where the compile time of the wasm module blows up.

Oh, absolutely. There are huge problems in all these areas with the existing financial systems. Despite arguments to the contrary, blockchain-based solutions solve none of them and make many of them worse. But don't take my word for it, Olsen explores these arguments quite thoroughly in Line Goes Up.

5 Likes

And that is why I was careful not to say "blockchain" or "bitcoin", rather but "a system of currency".

I did say "digital currency" though. It's hard to imagine the currency of ones dreams would be otherwise.

I suspect there are many being sold on bitcoin and the like for reasons of privacy protection, security, human rights, even if the thing does not work so well.

More than two hours? Oh dear.

I've jumped through couple of random places, and there's a lot of fluff (from my PoV), and it seems (at least from the places I've seen, that the author is not really all that well informed. E.g. when talking about Bitcoin's transaction volume it ignores Lightning Network, sidechains, statechains, RBG, etc., so I'll pass.

Judging by the title "The Problem With NFTs" I might not even disagree with whatever is said later. I am very skeptical about NFTs myself, though I can admit some applications where they might make sense. The idea of a digital token that might change ownership - like any other tech, might be useful sometimes. The exact current applications, their technical details, projects, platforms, valuations are a different story altogether.

It's easy to be dismissive, because as I said - tons of stuff in "crypto" doesn't make sense, and will disappear sooner than later. But again - most is not all. And that space is so vast, so dynamic that I personally find it hard to even have a strong opinion on every project, detail and aspect of it. (Not that hard though, I have a lot of (often somewhat ignorant,l ike most people. :D) strong opinions.

Since I'm in this thread already: To me, the whole crypto-hate shows how arrogant people are by nature (especially in our trade, it seems to me). So many people think that they personally know so, so much better than all of these "crazy crypto people", that they have to go out of their way to make sure everybody knows that they know better, and it's all bad, and should be banned, destroyed, and earth salted afterwards. Seriously?

There's plenty of stuff that I personally find pointless. Like watching other people perform sport on TV. Really, what's the point? Wasting own time, getting excited about someone-else's performance. Go do some sports yourself, instead. Billions if not trillion of dollars are spent every year on it, tons and tons of CO2 to build stadiums, drive people to them. But do I hate it? No. Even though oftentimes public sport competitions are sponsored from public taxes, so in a way (negligible, I think, but still), I have to pay for it too. Soap operas, super-hero movies, theme parks, tourism - life in developed countries is filled with stuff that objectively speaking is unnecessary and almost entirely "a waste". But it doesn't bother me at all. I am happy that other people spend their time and money (and thus resources) how they see fit, and I don't think my own personal opinion means much.

One would think that more than 13 years of Bitcoin flourishing, increasing in adoption and value, with countries adopting it as legal tender, with events like war in Ukraine, Canadian truckers protests, etc. even the hardest haters would scratch their head and admit, that there might be something useful here. But clearly nothing is ever going to be enough. :person_shrugging:

It's regrettable that PoW mining wastes electricity, but it so far the only sure technical approach to achieve what Bitcoin wants to achieve. (I'm not going to get into PoS here - it exists, is different, has different properties). And I'm glad that a lot is going on to make that waste have less environment impact, and there are good arguments for PoW mining being able to offset some of the waste with some benefits like subsidizing infra. development, stabilizing grids, and so on.

The whole looking down at crypto companies/projects by (parts) of Rust community is really silly. "Oh, these are the bad, bad companies that we don't want. We want the good companies instead. Like the ones that sometimes use child labor to build our favorite devices; take advantage of the working class employees (if they even classified as employees); use human addiction for profit; exercise undemocratic political power by using arbitrary censorship; keep pushing dystopian authoritarian future by stripping population out of any privacy, provide governments with lethal equipment, etc. Yeah, these good, reputable companies are what Rust needs to attract. Don't you dare take a job in the bad crypto project. Go optimize adi... I mean... engagement somewhere instead. Make something of yourself. " :roll_eyes:

AFAIR, that's the first time I'm writing "in defense of crypto", and for a good reason - it's a waste of time. "Haters gonna hate", everyone is free to have their own opinion and people generally don't change their minds anyway. It's better to spend time making borrow checker happy.

7 Likes

Moderator note: If we're going to have a civil discussion about this, it's going to require finding common ground. Calling other people arrogant haters isn't a good way to do that.

3 Likes

More than two hours? Oh dear.

FWIW, Line Goes Up is more of a podcast with images than a movie, per se. And it's broken up into chapters, so you can try watching a bit and then coming back.

Solana, which is a prevalent layer one crypto blockchain is written in Rust. Anyone building on that platform will need Rust.