The Solana architecture will still be thriving 10 years from now. Library optimizations, compiler optimizations, and hardware optimizations will collectively outpace any need for sharding for the foreseeable future. There’s more tailwind than just Moore’s Law
Firedancer makes Solana more scalable. Did its optimizations change the security model or will it centralize the validators? No. It’s just more efficient. Please revisit your belief in the scalability trilemma. It’s something that was said, not necessarily something that is.
@0xMert_
It’s a damn shame so many people feel the scalability trilemma is as real as CAP theorem and not just some shit Vitalik wrote on the Eth wiki to explain why sharding comes with trade-offs. Fight the fight. Much appreciated!
Seeing web3 apps written in Rust would be a dream come true. One language for apps, contracts and blockchain - devs freely floating across boundaries - that’d be a beautiful thing.
The 2nd edition of our book, Programming Rust, is out! New chapter on async programming, with an emphasis on how it really works. Updated through Rust 1.50. Check it out!
Fun to ask non-crypto friends to install Phantom and let me send them a couple USDC. Compared to Venmo, odd things: what is this seed phrase and what do I do with it? what’s the difference between USDC and $? how do I move these dollars to my bank account?
Introducing Firedancer’s latest technical milestone: fd_quic 🔥💃
A high-performance implementation of the QUIC and Solana transaction ingest network protocols.
1/15
A blockchain requires a clever combination of cryptography, distributed systems, operating systems and programming languages. Solana’s superpower was the the willingness to run away screaming from the most interesting problems in each discipline
Probably goes like this: if you have an ETH contract and need something cheaper, try Neon. Need cheaper? parallelize for Neon. Need cheaper? compile with Solang. Need cheaper? port to Rust. Need cheaper? Consider C. Need cheaper? Hardcoded BPF bruh
@yashhsm
@solana
@solanalabs
Neon is eth L1 compatible, so code should be deployable as is, and metamask will work. It basically appears like another ETH L1.
solang will compile as a native solana program and will take some changes, you should probably have your auditor check delta. But the vast
In 2019, most L1s had RFC processes. I felt standards bodies were unnecessarily slow and centralized. I created the SPL, a program library maintained by Solana Labs, in an attempt to set a precedent. Want a standard? Then popularize a library. No centralized standards body needed
Solana-based projects should start thinking about testing their smart contracts against just SVM, not a full validator. The tests run waaay faster and would verify portability across any L1 or L2 that incorporates the same SVM version
I love how members of the
@solana
community started calling themselves S◎Lmates. It was no one's job to come up with that. It inspires me to build beautiful things, if for nothing else, than to see the world react with positivity.
If one wanted to contribute financially to Rust ecosystem development, where should they donate? Rust Foundation? DevX Initiative? Something else? Asking for a friend…
@dominic_w
@IOHK_Charles
fwiw,
@aeyakovenko
and I were experienced Haskell and C developers before starting
@solana
. We felt both were inappropriate for a high-performance blockchain - so much so that we learned Rust to build our prototype, a huge scheduling risk. never looked back
#MozillaLifeboat
, thank you for your years of service creating the open internet. At
@solana
, we stood on your shoulders to create a fast, borderless currency that's been open source since day one. Help us bring it to the world, like you did Firefox.
Local fee markets is a feature I’d expect most blockchains will race to add. It’s critical in maintaining app isolation and means the end user can expect the next transaction fee to be about the same as it has been. The popularity of other apps won’t cause the fee to spike.
New programming languages only reach escape velocity if they allow startups to do something that is otherwise prohibitively expensive. Rust isn’t succeeding because it’s just a better C++. Safety without sacrificing performance is just *that* important.
A platform team needs to be continuously unblocking its devs. That can mean begrudgingly enshrining syscalls for the most needed APIs while also working on a feature that would allow devs do it themselves. When it ships, deprecate the APIs in an effort to return to minimalism
A door closes, a window opens.
@rustlang
, Wasm, and front-end devs, please consider
@solana
. DeFi is taking off, we need you! Message me if interested!
#MozillaLifeboat
Securing recovery phrases is such a chore. What you’re doing by hand is probably dumber than what
@Ledger
implemented. Storing in plain text? Full copies for redundancy? Tisk tisk. Good solutions exist but are cumbersome to use. Put down your pitchforks and ask them how it works.
SOLANA FEES, PART 1
In this series, we explore Solana's fee mechanism, a formalism for analyzing fee mechanisms under Solana's constraints, and some proposals for the system.
This first part by
@0xShitTrader
describes Solana's current fee mechanism and some of its effects.
@0xMert_
The thing about Aptos that I can’t shake is that Move is a young language and so will need a lot of love for many years. I believe all its original architects are on the Sui side. So I’d expect the pace of innovation to be faster in Sui. BlockSTM is nice though…
It was a huge month for blockchain Rust! It seems like we’ve all been productive sitting at home hacking. We’ve seen so many interesting developments
#rust
#blockchain
#hacking
Inspired by a not-quite-right tweet, someone should prototype this: compiling down only as far as LLVM IR on-chain instead of BPF. This is how LTO works and could light up more compiler optimizations. MLIR would be interesting too!
One of the incredible things about Solana is it doesn't "run in Rust" like many people think. It compiles down to LLVM – meaning it's possible to build a front-end that lets developers program in any language 🤯
Today:
💚 Rust
💚 C
💚 Python
💚 Zig
💚 Solidity
DeFi is hard. Too simple and it gets hacked. Too complex and nobody trusts it. In TradFi, you threaten attackers with life in prison, but the threat is limited to its jurisdiction. The sweet spots in DeFi are harder to find, but their value extends beyond geopolitical boundaries.
General purpose languages like Rust are expressive enough to support EDSLs like Anchor. No need to go learning DSLs, which are typically rough around the edges, don’t benefit from a broader developer community, and won’t be useful to you outside the one domain
When constraining execution to a safe bytecode, then C is a good choice to generate it. Otherwise a memory safe language compiled down to machine code will outperform it, lead to more open source, and be easier to audit. More on-chain compilation. This is the way
A company that formally verifies cryptographic protocols should propose embedding its favorite proof assistant into Solana’s runtime, such that any third party can submit a new protocol and charge a fee per use. Coq, Lean, Cryptol, maybe?
TPS Bursts over 100k
Sultans v0.21.0 released today with improvements including stability fixes to Tower consensus exposed in the most recent Tour de SOL dry run
Congratulations to the team at
@ChorusOne
, who successfully executed the largest attack in Tour de SOL yet!
This week they managed to identify an attack vector allowing them to steal 500 million SOL tokens from the Tour de SOL test network.
@P3b7_
@BanklessHQ
I’ve watched it. It assumes the blockchain trilemma is a real thing and not just something that Vitalik posted to the Ethereum wiki trying to articulate why sharding wasn’t a silver bullet. Anyway, is there a better decentralization metric than censorship resistance?
Perfection everywhere would be super, but for as long as a PoS blockchain has one client implementation in the supermajority, perfection in the VM is more important than perfection in consensus. consistency > availability. Priority
#1
: don’t lose the money.
The crowd has spoken! The term SVM has more meaning to the community as a high-performance smart contract platform than it does a single-threaded program interpreter. Let’s run with it!
Smart contract compilers should move into validators. It’ll be a ton of work to make secure, but the result will be improved runtime efficiency, fewer enshrined libraries, and more open source contracts
Hey
#MozillaLifeboat
, your tweets make it clear that
@mozilla
was a special place to work and the layoffs look especially painful. What made that gig so special? The mission? The people? Inclusivity? Innovation? Anything the rest of us can adopt?
Been dabbling in Agda, Idris, Coq and Lean lately. All amazing but the winner for me: Agda via agda-mode in VSCode. I’ve been working through the online book PLFA by
@PhilipWadler
. What a joy. Highly recommend.
Thoroughly enjoyed this. Touches on iterator design, async design, why it’s a good fit in Rust, and how it’d be different if Rust went a different way. What a gem!
What many sw managers don’t realize:
If your engineers’ shit software can only serve a few hundred people before it collapses under the weight of its own complexity, it’s probably not that valuable. If it adds a fraction of a cent of value to millions of people, clarity matters.
What many sw engineers don't realize:
The majority of jobs do not hire you to write the highest quality code or produce the cleanest architecture.
They hire you to solve their business problems very efficiently. Sometimes this means high-quality code. Sometimes not at all.
What to call the CLI tool that lets devs ensure their program is portable across SVM chains? Like a REPL that executes transaction instructions. No bad ideas here. Let ‘er rip
@0xMert_
Regarding STM, I’m a longtime fan (you’ll find my name in the acknowledgments of this 2007 paper ). It’s not a zero cost abstraction, so a bit of a gamble, which is why I didn’t use it in SVM. But if good enough, it’s a nice win for smart contract devs
@alessandrod
@read_rust
Very cool! You might also be interested in
@solana
's modifications to LLVM's BPF backend. It allows you to compile arbitrary Rust to BPF, not just the small subset that's safe for execution within the Linux kernel:
@JustinBarlow
Back then we felt that if an 800-pound gorilla was going to put its weight behind an industry standard that could showcase parallel execution, we’d be happy to demonstrate what that meant to a parallel runtime like Solana’s. We pulled it out when the gorilla backed into the mist.
If you use Haskell, you are indebted to SASL (), KRC (), and Miranda ().
Sadly, their creator, David Turner has left us this week.
Thanks David, you had a huge side-effect on my life.
In 2017,
@aeyakovenko
published a technique for managing shards with a trustless clock. I said we won't need that, but I'll take your clock. Today,
@solana
is live and flyin'.
@gakonst
Hope someone does it! I’ll guess JIT’ed BPF wins in, then JIT’ed WASM, then interpreted BPF, then interpreted WASM, and finally in a distant last place, a mix between EVM and MoveVM benchmarks, depending on when EVM unnecessarily uses 256-bit operations.