Homepage

Crypto Log

Categories
  • zkVM
  • Compiler

 

Recent Blogs

  • Powdr Autopre-compile

    From lib.rs, there is test, checking prove simple: check what this prove simple means there are some prove and compile, prove recursion basic function in this file. Compile: In the compile function, there are two functions til now I think it is important: instruction_to_airs and customize Instructions_to_airs: in this instruction to air, it does: get…


  • About Keccak

    Performance metrics When people talking about the performance of the hash functions in SHA-3 family, what are the key performance metrics they are using? 1. Throughput: 2. Area (in Gate Equivalents or Area Efficiency): Energy Consumption: 7. Benchmarking Terms: 8. ASIC Implementation Performance: Resources for Keccak: Keccak circuit introduction in this blog by huwenqing OpenVM…


  • Compiler Concept

    Transpiler: A transpiler (short for source-to-source compiler) is a tool that transforms code from one representation to another, typically at the same or similar level of abstraction. In general: Understanding AUIPC in RISC-V AUIPC stands for Add Upper Immediate to Program Counter. It’s a RISC-V instruction used to compute PC-relative addresses, often to support position-independent…


  • 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 trace), \(\{0,1\}^d \rightarrow\mathcal{F} \) where…


  • Logup GKR in an example

    traces: \(a: [a_0,a_1,a_2,a_3,a_4,a_5,a_6,a_7]\) \(b: [b_0,b_1,b_2,b_3,b_4,b_5,b_6,b_7]\) goal: prove logup relation: \(\sum\limits_{i=0}^{i=7}\frac{1}{a_i+\alpha}=\sum\limits_{i=0}^{i=7}\frac{1}{b_i+\alpha}\) what are available: \(\text{commit}[a(x)]\) \(\text{commit}[b(x)]\) note: \(a(x),b(x)\) denote the polynomials’ evaluation in trace domain, \(x\) comes from cyclic group. STARK Prover:inputs: a MLE: its evaluation on hypercube is committed evaluation points claim_evaluation Protocol description: GKR circuit: Offloading logup accumulation to GKR has these component:


  • logup GKR stwo implementation steps

    Include challenge in input MLE question 1: the challenge in logup denominators are really necessary to be in MLE? yes, this challenge is irrelevant to the GKR protocol (don’t mess it with the challenges in sum-check and challenges for later random linear combination of MLE evaluations), \(\frac{1}{\alpha +x}\) \(\alpha\) guarantees the prover can not manipulate…