Posts

Showing posts with the label Rust

Memory-Safe Until It Isn’t: The Rust Kernel Bug That Broke Linux

Image
The disclosure of CVE-2025-68260 , the first publicly assigned CVE affecting Rust code in the Linux kernel, triggered a disproportionate level of attention compared to its immediate technical impact.  Headlines framed it as a symbolic failure: “Rust breaks,” “memory safety promises collapse,” or “Linux’s Rust experiment backfires.” These interpretations obscure what actually happened and, more importantly, what the event teaches about systems programming, concurrency, and language guarantees. This article examines three tightly related topics: What CVE-2025-68260 actually was, technically The goals and constraints of the Rust-for-Linux initiative Why race conditions remain a hard problem even in Rust, especially in kernel code The goal is not to defend Rust, nor to criticize Linux developers, but to clarify where responsibility lies: in invariants, concurrency design, and the unavoidable complexity of kernel-level programming. Background: The Rust-for-Linux Initiative The Linux ker...

Building L1 Blockchains with EigenLayer AVS: A Guide for Substrate Developers

Image
In the ever-evolving blockchain ecosystem, scalability, validator incentives, and network security remain core challenges for Layer 1 (L1) blockchain developers. Substrate provides the perfect foundation for building customizable L1 blockchains, but integrating newer technologies like EigenLayer’s Autonomous Verifiable Service  (AVS) can help bring additional value to a project. This article will explain how Substrate developers can leverage EigenLayer's AVS for validator selection while keeping project tokens on Ethereum for liquidity. We will explore the major components of building a Substrate-based L1 blockchain with EigenLayer integration, focusing on how to choose validators, distribute rewards, and interact with Ethereum. This guide assumes you’re using Substrate Frame 2 and have a basic understanding of Substrate development. Introduction to EigenLayer AVS EigenLayer’s Active Validator Selection (AVS) system allows blockchain projects to leverage Ethereum validators thr...

Exploring SNARK Interoperability in Rust and Go

Image
SNARKs represent a groundbreaking cryptographic tool that enables the verification of computations without revealing the inputs or the intermediate steps. SNARK is deeply rooted in mathematical principles, leveraging concepts like hashes, and curve operations, which are language-agnostic. While many discussions around SNARK implementations often revolve around Rust due to its popularity in the cryptographic community, it's important to note that SNARKs can be implemented and utilized in various programming languages, including Go. In this article, we'll explore SNARK interoperability, demonstrating how proofs can be generated and validated in both Go and Rust. SNARK in Go: gnark One prominent library for implementing SNARKs in Go is gnark . Gnark is a powerful library designed specifically for Go that facilitates the creation and verification of zero-knowledge proofs using the zk-SNARK protocol. It supports various proving schemes, with Groth16 and Plonk being o...

Zero-Knowledge Proofs in Rust and Bellman

Image
In an era where data privacy is paramount, Zero-Knowledge Proofs (ZKPs) stand out as a beacon of hope. They are cryptographic protocols enabling one party to prove to another that a statement is true, without revealing any information apart from the fact that the statement is indeed true. One such application of ZKPs is through SNARKs , a variant offering efficiency and succinctness. The Role of Zero-Knowledge Proofs in Modern Cryptography Zero-Knowledge Proofs, particularly SNARKs, are revolutionizing the way we think about privacy and security in the digital age. They allow the verification of complex operations, like the validity of a transaction or the correctness of a computational task, without revealing any underlying data. This is particularly crucial in scenarios where sensitive information needs to be validated without exposing it – a situation common in blockchain technology, secure voting systems, and, as we'll explore, even in seemingly simp...

Rust Static Analysis and Blockchain Licensing

Image
What is static analysis? Static analysis is an analysis of software artifacts. For example requirements or code, carried out without execution of these software development artifacts. Static analysis is usually carried out using supporting tools. In other words, we can say that static analysis is an examination of requirements, design, and code that differ from more traditional dynamic testing in several important ways. The main goal behind this analysis is to find the bugs, whether or not they may cause failures. As with reviews, static analysis finds bugs rather than failures. The general name for static analysis is linting. lint, or a linter, is a tool that analyzes source code to flag programming errors, bugs, stylistic errors, and suspicious constructs. Simply put, a linter is a tool that programmatically scans your code with the goal of finding issues that can lead to bugs or inconsistencies with code health and style. Some can even help fix them for you! How to analyse ...

Upgrading smart-contracts on Solana

Image
Why is Solana so different from Ethereum? By far the biggest reason the development experience between Solana and Ethereum is so different is due to their account model designs. Before we dig into those, it’s helpful to understand why Solana’s account model was designed so differently from Ethereum. Unlike Ethereum, which is designed to run on consumer grade hardware, Solana was designed to optimize transaction throughput on high-end multi-core machines. The Solana team noticed a trend that the number of cores in computers is growing exponentially. In order to take advantage of all these cores and future-proof the protocol, the Solana team designed transactions to be easily parallelized with each other. Account model design So what is actually meant by the “account model” of a blockchain? Well, when an on-chain program is called on a blockchain like Solana or Ethereum, the smart contract needs a way to track certain state like token balances, who owns an NFT, or who the curre...