ECDSA

What is ECDSA?

ECDSA is a cryptographic algorithm used for digital signatures based on elliptic curve cryptography (ECC). It’s widely used in secure systems like:

  • Bitcoin and Ethereum
  • TLS (HTTPS)
  • JWTs
  • Secure messaging (e.g. Signal)

It’s a more efficient version of DSA (Digital Signature Algorithm) using elliptic curves β€” …

Register, RAM, SSD, STACK, HEAP

1. Register

  • 🧬 What it is: The smallest and fastest memory inside a CPU.
  • πŸ“ Size: Typically 32, 64, or 128 bits.
  • ⚑ Speed: Blazing fast (nanoseconds).
  • πŸ” Use: Stores data the CPU is immediately operating on (e.g., numbers during calculations).

2. RAM (Random Access Memory)

  • 🧠 Also

Precompile, chip, air, pc_lookup

Chip initialized the AIR:

It is initialized in VmExtension for PowdrExtension, in vm.rs file

Remember PowdrExtension has these, if I add config, then the bus_map can pass through

generate_air_proof_input is a function of PlonkChip!

PC_lookup fix

run this command

 cargo test -r --package powdr-openvm --lib -- tests::guest_prove_simple  --exact --show-output

in …

Plonkchip add bus in eval

PowdrAir Eval

PowdrAir eval is in the chip.rs

following the implementation of powdrChip powdrAir, the eval function add constraint and bus interactions, powdrAir stores the symbolic_machine

let’s see where the powdrAir is initiated

it’s new function take machine as an input:

check where thies new function is called.

in powdrChip, …

PowdrChip and PlonkChip

Note taken for PR review

PowdrChip and its traits

Defined in powdr_extension, probably follow the format of adding extension to openvm

as it follows the format of adding extension to openvm, which means it needs to implement some common traits, these are:

instruction_executor:

ChipUsageGetter

Chip

Analysing each trait

Instruction_executor:

The …