Coding skills keywords

This post collects the concepts people mentioned for different programming languages, so I can understand what they are talking about.

Rust:

ownership,

lifetimes,

memory safety

Tokio

async await,

event driven Rust systems

asynchronous programming and concurrency patterns

C++:

 template meta-programming, SFINAE, RAII, constexpr, 

 multithreading, web protocol (e.g. websocket, RESTful)

event-driven …

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, …

Logup-GKR batching concept

IOP: prove evaluation of a multi-linear extension polynomial

a cyclic group in base Field \( \mathbb{H} \) (STARK trace domain)

base Field \(\mathcal{F}\)

4th degree extension of base Field, Secure Field \(\mathcal{SF}\)

\(a(w)\) is a univariate polynomial of degree \(2^d\) (STARK trace), \(w\in \mathbb{H}\)

\(f(b_0,b_1,…,b_d)\) is a multi-variate function (STARK …

Logup GKR

following this post

Witness encoding:

trace columns are interpreted as functions, the inputs of the function are bits, enough number of bits that can present \(n\) number of witness in this column.

for trace \(i\), with \(n\) number of rows (trace degree, trace length)

\(f_i(b_0,b_1,b_2,…,b_n)=a_{b_n,…,b_2,b_1,b_0} \)

the multi-linear polynomial for …

The bus_id in Bus

I am using a simplified circuit for case demonstration purpose:

The bus statement to be proved is:

\([x_0,x_1]\) in [0] with \(bus_{id}\)=a,

this case has only one valid witness [0,0], with multiplicity to be 2

Original protocol:

The above statement essentially proves:

\(\frac{1}{\alpha -x_0}+\frac{1}{\alpha -x_1}=\frac{2}{\alpha}\)

where \(\alpha\) is a random …