Git Product home page Git Product logo

olavm's People

Contributors

chengyuejia avatar hongyuanyang-uu avatar jiangxb-son avatar peinlcy avatar softcloud88 avatar spartucus avatar web3moon avatar web3softcloud avatar yp945 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

olavm's Issues

memory permutation constraint

When we get memory trace from vm, we call this raw memory trace raw_mem_trace, we need sort it by address, clk, pc. We call sorted memory trace sorted_mem_trace,

address clk pc value rw
12 322 87 100 w
12 323 88 100 r
12 435 138 100 r

we then can do memory constraint:

  • First time operation of specified address should be write.
  • Address should be increased(since we sorted them).
  • When operation is read, the value must be same as last operation.
  • more...

Constraint sorted memory is not enough, we need permutation argument to make sure raw_mem_trace and sorted_mem_trace are permuted.

Refactor readme doc

For now, there are several broken color tags in readme, e.g the status (done, doing, to do). Fix these with emoji.

Use squash merging as the pr merge strategy.

What?

There are three pr merge strategies: (normal) merge, squash, rebase.
More info about them on https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/about-merge-methods-on-github .

Why?

  1. Clean git logs. As we all know, when someone new a pr, usually, there are more than one commit. Using this strategy can squash many into one.
  2. The commit msg will be Pr title + pr num. We can easy track the pr context of a commit.
  • A demo as below:

image

How?

  • Go to repo->settings->General
  • Confg the Pull Requests like below:

image

Is there a simple walkthrough on how to use olavm?

Hey guys,
I'm new at this field and I just read your documentation and I'm a little confused.
I don't know the step-by-step process for writing a guest program on the circuit and validating it.
I would appreciate it if you guys help me through this.
Thanks.

u64 vs GoldilocksField in vm

Should we use u64 as our main type for operands? In contrast, currently we use GoldilocksField, which is a 63 bit field(more precisely, P = 2^64 - 2^33 + 1). So the question is: what are the pros vs cons?

more utils gates

We need more utils gates, like range check, comparison. So we can use these gates whenever we need. And we can also use these gates internally in builtins.

For example, something like PSE's lt gadget.

How to ensure that the program and the proof are bound together

I found that the verification command only needs to input a proof file, so how to ensure that the proof received by the verifier is the proof of the given program. Some stark proofs I have learned will include the hash of the program in order to bind the program and the proof.

Constraint register read/write

At present, there is no constraint on the reading and writing of register, but after preprocessing, the data of register is taken out and constructed into AIR trace. We should consider make these constraints.

Refactor code

The execute function in executor::Process is way too large, consider refactor it to multiple smaller functions based on each instruction.

thread 'main' panicked at assembler/src/encode.rs:263:18: not match opcode:{

I followed the tutorial to run the asm file and wanted to generate a code file, but this step reported an error:

$ ola asm --input fib.asm --output fib.code
Input assemble file path: fib.asm
thread 'main' panicked at assembler/src/encode.rs:263:18:
not match opcode:{
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

Custom serializer for Stark proofs

Right now, we use serde to serialize StarkProof, which wastes quite a bit of space. We should make custom serializer, like plonky2 proof do. We better 'inherit' Buffer, add StarkOpeningSet read/write function.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.