RSSAmplifier

Blog

sasha.computer šŸ‘‹šŸ’»ļø

welcome to my homepage My ever-changing interests include: Technology Operating Systems (Linux/BSD). Learning Nix (btw) right now on NixOS (btw). I rec...

sasha.computer ↗RSS feed ↗10 posts

Latest posts

zkVM part III: from trace to polynomials

In part II , we covered the executor. The executor's main responsibility is to generate an execution trace of the program we want to prove. Before we can get to "proof of correct execution", we need a way to represent "correct execution"; the execution trace does just that. You can think of the execution trace as a spreadsheet where each row corresponds to one step of the execution. Each column…

RISC Zero's zkVM Casually Explained, Part 2: The Executor

The Executor In the first part of the series, we ended with a question in mind: "Starting with any arbitrary program X, how can I create a zero-knowledge proof of X's correct execution?" Before we can create a proof of correct execution, we must first know exactly what execution we are proving. The portion of R0VM responsible for creating a detailed audit (or log) of the program's execution is…

RISC Zero's zkVM Casually Explained, Part I: Why R0VM?

Part I## Why R0VM?RISC Zero's zkVM, known as R0VM , is really clever, like really really clever. To find out why, let's start with a question: "How do we prove a program ran correctly without having to run that whole program ourselves?" I had to set the scene with this question, otherwise I would've lost you. I'm going to assume you know why this question is useful to ask, and where it leads. This…

learning more by trying less

Today I realised something important about how I learn: I've attempted to learn a ton of stuff throughout my life, some more successfully than others. My default image of "real learning" has always been sitting at a desk, grinding through textbooks or notes. But thinking back honestly, the times I've learned the most weren't at a desk or in formal study sessions. Actually, clinging to that…

why why why do we not have good flashcard software?

I'm not the biggest flashcard maniac, but there have been times in my life where they have proven very useful; learning a new language, learning physics concepts and equations to help make more topics more "automatic" in my brain etc. Every time I consider picking the flashcard habit up again, I hit a wall just looking at Anki and its website. The design is like something a UK hospital would use…

a lesson learnt - running

Yesterday, I made the grand old mistake of catching up with an old friend; the heady combination of the first spring rays of much awaited UK sunshine and the joyous walks through Hyde park led me to consume more than one beer. I barely had more than one beer, but my body let me know I was 30 very well this morning - poor sleep, heart pounding clear in my chest. The only thing that fixed it was…

tackling complexity

In the process of figuring out what I wanted to write about today, I did my usual strategy of searching and asking chatGPT to riff on some ideas I’ve had over the past few days. I’ve had an idea to do a series something to the likes of ā€œHow the RISC Zero zkVM works from first principlesā€. This, on the surface, sounds like a fantastic idea; I get to post on X about it, teach myself (and hopefully…

what is an instruction? (for computers)

High-level programming languages allow you to store information as variables, define reusable functions, handle file operations, and perform tasks through loops and conditionals. These languages are designed to be understandable by humans, providing a helpful abstraction above what the computer directly understands: machine code. Machine code is the binary representation of a program, consisting…

ownership in rust super simple edition

Let's break down Rust's concept of ownership with a simple example: fn main () { let s1 = String :: from ( "Hello" ); // s1 owns "Hello" let s2 = s1 ; // Ownership moves from s1 to s2 // println!("{}, world!", s1); // Error: s1 no longer valid after ownership moved println! ( "{}, world!" , s2 ); // Valid, prints "Hello, world!" } Here's what's happening: s1 initially owns the memory containing…

blade runner (2049)

Genetic technology was the focus of both movies, and indeed they cover the moral, religious and greed aspects of creating genetic slaves in depth. What surprised me specifically was the lack of imagination into just how obtrusive non-genetic technology could become. It felt more like 1982 with genetic replicants, then a whole new world in 2019 or 2049 for that matter. In modern 2019, Deckard would…