elibensasson / libstark Goto Github PK
View Code? Open in Web Editor NEWA library for zero knowledge (ZK) scalable transparent argument of knowledge (STARK)
License: Other
A library for zero knowledge (ZK) scalable transparent argument of knowledge (STARK)
License: Other
tell we have to run:
sudo apt-get install libgtest-dev googletest --yes
Hello,
I have some questions about TinyRAM. Does TinyRAM support labels and comments as claimed in the documentation?
Also, how can I see the result of the ANSWER
instruction?
How I can give input? It seems that there are two tapes, for primary and auxiliary input respectively, and that there is a read
instruction that reads from the tapes, however, I could not find any example on how to use it.
Finally, UMOD
seems to be broken. I have filled some registers with values and when I call UMOD
I get ERROR: Fatal error encoutered. Run debug build for more information and stack trace.
Example usage:
MOV r0 r0 9
MOV r1 r0 4
UMOD r5 r0 r1
ANSWER r5 r5 r5
Thanks in advance,
Dimitris Mouris
It is used in ssh cpp file, yet I can find it nowhere on github or anywhere else. So Where can one find extra_gadgets.hpp?
The code in https://github.com/elibensasson/libSTARK/tree/master/tinyram/gadgetlib/gadgetlib folder seems to contain libsnark related code and tutorials. Is it required in any way for the stark code?
First of all, thank you for the amazing technology you are developing 👍
We are developing a PoS blockchain (based on Tendermint consensus) for due diligence and decentralized governance of investments. I believe that ZK-STARKS is the tech that could bring much value to decentralized governance. But the problem is that I cannot find a documentation on how to use/integrate your library with our blockchain.
Hi! Nice work and concept. However, as all interactive protocol could be transformed in a non-interactive one (using Fiat-Shamir), and as it is mentionned in the whitepaper that it is possible, I want to know:
What are the modifications we have to do on the current implementation to make it non-interactive? Or Will there be a future release implementing a non-interactive version?
Thank's in advance
I am reading the whitepaper and I am trying to understand why in this implementation the timesteps (-t
flag) should be declared as a power of 2.
In the paper, if I haven't missed anything, no such thing is mentioned.
"α is the result of executing C for T steps on (public) input x"
Thanks,
Dimitris Mouris
I'm currently trying out implementing fibonacci sequence example using libstark.
see here: https://github.com/LayerXcom/libSTARK/tree/macOS/simpleadd , referring to the stark-dpm example.
I am in trouble because I cannot get it working correctly.
Both libstark::BairWitnessChecker::verify(bair_instance, bair_witness)
and libstark::Protocols::executeProtocol
return false.
I have no idea how to fix it.
I guess there is something wrong with the constraints(Add_EvalPoly.cpp).
(I found libstark::BairWitnessChecker::verify(bair_instance, bair_witness)
returns true if this constraint is removed, but still executeProtocol
returns false.)
You can execute the program with ./simple-add t a
.
The first argument is t
representing the number of iterations the sequence with public input.
The second argument is a
representing the t
th number of the fibonacci sequence with private input.
So you can build make -j8
and then execute like ./simple-add 8 21
. (because the 8th fibonacci number is 21)
Can you tell me how to fix it?
Thanks.
Awesome to have initial code! This is what I get from running make -j8
on a Mac
Justins-MacBook-Pro:libSTARK justin$ make -j8
/Library/Developer/CommandLineTools/usr/bin/make -C /Users/justin/Desktop/repos/libSTARK/algebra/FFT BLDDIR=/Users/justin/Desktop/repos/libSTARK/bin/fft
/Library/Developer/CommandLineTools/usr/bin/make -C /Users/justin/Desktop/repos/libSTARK/algebra/algebralib \
BLDDIR=/Users/justin/Desktop/repos/libSTARK/bin/algebralib FFTINC=/Users/justin/Desktop/repos/libSTARK/algebra/FFT/src
/Library/Developer/CommandLineTools/usr/bin/make -C /Users/justin/Desktop/repos/libSTARK/libstark \
BLDDIR=/Users/justin/Desktop/repos/libSTARK/bin/libstark \
FFTINC=/Users/justin/Desktop/repos/libSTARK/algebra/FFT/src \
ALGEBRAINC=/Users/justin/Desktop/repos/libSTARK/algebra/algebralib/headers
/Library/Developer/CommandLineTools/usr/bin/make -C /Users/justin/Desktop/repos/libSTARK/tinyram/gadgetlib/gadgetlib \
GADGETINC=/Users/justin/Desktop/repos/libSTARK/tinyram/gadgetlib/gadgetlib/. \
ALGEBRAINC=/Users/justin/Desktop/repos/libSTARK/algebra/algebralib/headers \
ALGEBRALIBLINKDIR=/Users/justin/Desktop/repos/libSTARK/bin/algebralib \
FFTLIBLNKDIR=/Users/justin/Desktop/repos/libSTARK/bin/fft \
FFTINC=/Users/justin/Desktop/repos/libSTARK/algebra/FFT FFTLIBLNKDIR=/Users/justin/Desktop/repos/libSTARK/bin/fft \
BLDDIR=/Users/justin/Desktop/repos/libSTARK/bin/gadgetlib
g++ -O3 -g -Wall -fmessage-length=0 -fopenmp -mavx -maes -mtune=native -std=c++14 -I./.. -I/Users/justin/Desktop/repos/libSTARK/algebra/algebralib/headers -I/Users/justin/Desktop/repos/libSTARK/algebra/FFT -I/Users/justin/Desktop/repos/libSTARK/algebra/FFT/.. -I/Users/justin/Desktop/repos/libSTARK/algebra/FFT/src -c -o "/Users/justin/Desktop/repos/libSTARK/bin/gadgetlib/common_use.o" "common_use.cpp"
g++ -O3 -g -Wall -fmessage-length=0 -fopenmp -mavx -maes -mtune=native -std=c++14 -I./.. -I/Users/justin/Desktop/repos/libSTARK/algebra/algebralib/headers -I/Users/justin/Desktop/repos/libSTARK/algebra/FFT -I/Users/justin/Desktop/repos/libSTARK/algebra/FFT/.. -I/Users/justin/Desktop/repos/libSTARK/algebra/FFT/src -c -o "/Users/justin/Desktop/repos/libSTARK/bin/gadgetlib/constraint.o" "constraint.cpp"
g++ -O3 -g -Wall -fmessage-length=0 -fopenmp -mavx -maes -mtune=native -std=c++14 -I./.. -I/Users/justin/Desktop/repos/libSTARK/algebra/algebralib/headers -I/Users/justin/Desktop/repos/libSTARK/algebra/FFT -I/Users/justin/Desktop/repos/libSTARK/algebra/FFT/.. -I/Users/justin/Desktop/repos/libSTARK/algebra/FFT/src -c -o "/Users/justin/Desktop/repos/libSTARK/bin/gadgetlib/gadget.o" "gadget.cpp"
g++ -O3 -g -Wall -fmessage-length=0 -fopenmp -mavx -maes -mtune=native -mpclmul -std=c++14 -mpclmul -Isrc -c -o "/Users/justin/Desktop/repos/libSTARK/bin/fft/src/Basis.o" "src/Basis.cpp"
g++ -O3 -g -Wall -fmessage-length=0 -fopenmp -mavx -maes -mtune=native -std=c++14 -I./.. -I/Users/justin/Desktop/repos/libSTARK/algebra/algebralib/headers -I/Users/justin/Desktop/repos/libSTARK/algebra/FFT -I/Users/justin/Desktop/repos/libSTARK/algebra/FFT/.. -I/Users/justin/Desktop/repos/libSTARK/algebra/FFT/src -c -o "/Users/justin/Desktop/repos/libSTARK/bin/gadgetlib/infrastructure.o" "infrastructure.cpp"
g++ -O3 -g -Wall -fmessage-length=0 -fopenmp -mavx -maes -mtune=native -std=c++14 -I/Users/justin/Desktop/repos/libSTARK/algebra/FFT/src -Iheaders -c -o "/Users/justin/Desktop/repos/libSTARK/bin/algebralib/src/AffinePolynomial.o" "src/AffinePolynomial.cpp"
g++ -O3 -g -Wall -fmessage-length=0 -fopenmp -mavx -maes -mtune=native -mpclmul -std=c++14 -mpclmul -Isrc -c -o "/Users/justin/Desktop/repos/libSTARK/bin/fft/src/Definitions.o" "src/Definitions.cpp"
for dir in ./src/languages/Acsp ./src/languages/Bair ./src/common/Utils ./src/common/Infrastructure ./src/common/Algebra ./src/reductions/BairToAcsp/Details ./src/reductions/BairToAcsp/Routing ./src/reductions/BairToAcsp ./src/protocols/Fri/verifier_details ./src/protocols/Fri/common ./src/protocols/Fri ./src/protocols/common ./src/protocols/common/CryptoCommitment ./src/protocols ./src/protocols/Ali/common_details ./src/protocols/Ali/verifier_details ./src/protocols/Ali; do mkdir -p /Users/justin/Desktop/repos/libSTARK/bin/libstark/obj/$dir; done
clangclangclangclang: : : : clangclang: : clang: error: unsupported option '-fopenmp'error: unsupported option '-fopenmp'error: errorunsupported option '-fopenmp': unsupported option '-fopenmp'error: error: unsupported option '-fopenmp'
unsupported option '-fopenmp'
error: unsupported option '-fopenmp'
make[1]: *** [/Users/justin/Desktop/repos/libSTARK/bin/gadgetlib/infrastructure.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [/Users/justin/Desktop/repos/libSTARK/bin/gadgetlib/constraint.o] Error 1
make[1]: *** [/Users/justin/Desktop/repos/libSTARK/bin/algebralib/src/AffinePolynomial.o] Error 1
make[1]: *** Waiting for unfinished jobs....
g++ -O3 -g -Wall -fmessage-length=0 -fopenmp -mavx -maes -mtune=native -std=c++14 -Isrc -I/Users/justin/Desktop/repos/libSTARK/algebra/algebralib/headers -I/Users/justin/Desktop/repos/libSTARK/algebra/FFT/src -c -o "/Users/justin/Desktop/repos/libSTARK/bin/libstark/obj/src/languages/Acsp/AcspWitnessChecker.o" "src/languages/Acsp/AcspWitnessChecker.cpp"
make[1]: *** [/Users/justin/Desktop/repos/libSTARK/bin/gadgetlib/gadget.o] Error 1
make[1]: *** [/Users/justin/Desktop/repos/libSTARK/bin/gadgetlib/common_use.o] Error 1
g++ -O3 -g -Wall -fmessage-length=0 -fopenmp -mavx -maes -mtune=native -std=c++14 -I/Users/justin/Desktop/repos/libSTARK/algebra/FFT/src -Iheaders -c -o "/Users/justin/Desktop/repos/libSTARK/bin/algebralib/src/AffineSpace.o" "src/AffineSpace.cpp"
make: *** [gadgetlib] Error 2g++ -O3 -g -Wall -fmessage-length=0 -fopenmp -mavx -maes -mtune=native -std=c++14 -Isrc -I/Users/justin/Desktop/repos/libSTARK/algebra/algebralib/headers -I/Users/justin/Desktop/repos/libSTARK/algebra/FFT/src -c -o "/Users/justin/Desktop/repos/libSTARK/bin/libstark/obj/src/languages/Bair/ConstraintsSys.o" "src/languages/Bair/ConstraintsSys.cpp"
make: *** Waiting for unfinished jobs....
g++ -O3 -g -Wall -fmessage-length=0 -fopenmp -mavx -maes -mtune=native -mpclmul -std=c++14 -mpclmul -Isrc -c -o "/Users/justin/Desktop/repos/libSTARK/bin/fft/src/Element.o" "src/Element.cpp"
g++ -O3 -g -Wall -fmessage-length=0 -fopenmp -mavx -maes -mtune=native -std=c++14 -Isrc -I/Users/justin/Desktop/repos/libSTARK/algebra/algebralib/headers -I/Users/justin/Desktop/repos/libSTARK/algebra/FFT/src -c -o "/Users/justin/Desktop/repos/libSTARK/bin/libstark/obj/src/languages/Bair/BairWitnessChecker.o" "src/languages/Bair/BairWitnessChecker.cpp"
make[1]: *** [/Users/justin/Desktop/repos/libSTARK/bin/fft/src/Definitions.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [/Users/justin/Desktop/repos/libSTARK/bin/fft/src/Basis.o] Error 1
g++ -O3 -g -Wall -fmessage-length=0 -fopenmp -mavx -maes -mtune=native -std=c++14 -Isrc -I/Users/justin/Desktop/repos/libSTARK/algebra/algebralib/headers -I/Users/justin/Desktop/repos/libSTARK/algebra/FFT/src -c -o "/Users/justin/Desktop/repos/libSTARK/bin/libstark/obj/src/common/Utils/specsPrint.o" "src/common/Utils/specsPrint.cpp"
g++ -O3 -g -Wall -fmessage-length=0 -fopenmp -mavx -maes -mtune=native -std=c++14 -Isrc -I/Users/justin/Desktop/repos/libSTARK/algebra/algebralib/headers -I/Users/justin/Desktop/repos/libSTARK/algebra/FFT/src -c -o "/Users/justin/Desktop/repos/libSTARK/bin/libstark/obj/src/common/Utils/ErrorHandling.o" "src/common/Utils/ErrorHandling.cpp"
g++ -O3 -g -Wall -fmessage-length=0 -fopenmp -mavx -maes -mtune=native -std=c++14 -Isrc -I/Users/justin/Desktop/repos/libSTARK/algebra/algebralib/headers -I/Users/justin/Desktop/repos/libSTARK/algebra/FFT/src -c -o "/Users/justin/Desktop/repos/libSTARK/bin/libstark/obj/src/common/Utils/Timing.o" "src/common/Utils/Timing.cpp"
clang: error: unsupported option '-fopenmp'
clang: error: unsupported option '-fopenmp'
make[1]: *** [/Users/justin/Desktop/repos/libSTARK/bin/libstark/obj/src/common/Utils/ErrorHandling.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [/Users/justin/Desktop/repos/libSTARK/bin/libstark/obj/src/languages/Bair/BairWitnessChecker.o] Error 1
clang: error: unsupported option '-fopenmp'
make[1]: *** [/Users/justin/Desktop/repos/libSTARK/bin/libstark/obj/src/languages/Bair/ConstraintsSys.o] Error 1
clang: error: unsupported option '-fopenmp'
clang: error: unsupported option '-fopenmp'
make[1]: *** [/Users/justin/Desktop/repos/libSTARK/bin/libstark/obj/src/common/Utils/specsPrint.o] Error 1
make[1]: *** [/Users/justin/Desktop/repos/libSTARK/bin/libstark/obj/src/common/Utils/Timing.o] Error 1
clang: error: unsupported option '-fopenmp'
clang: error: unsupported option '-fopenmp'
make[1]: *** [/Users/justin/Desktop/repos/libSTARK/bin/libstark/obj/src/languages/Acsp/AcspWitnessChecker.o] Error 1
make[1]: *** [/Users/justin/Desktop/repos/libSTARK/bin/algebralib/src/AffineSpace.o] Error 1
make: *** [libstark] Error 2
make: *** [algebralib] Error 2
clang: error: unsupported option '-fopenmp'
make[1]: *** [/Users/justin/Desktop/repos/libSTARK/bin/fft/src/Element.o] Error 1
make: *** [fft] Error 2
Does this library implement non-interactive, zero-knowledge STARKs ?
From what I understand of the paper, it should be possible to produce such proofs,
but I am not sure if this codes implements it, and how to use it.
If I have a tinyRAM program example.asm
, with input x and auxiliary input w.
Can I produce a zero-knowledge, non-interactive proof for the statement :
examples.asm accepts on input x in T steps, for some w
using this library ?
So I tried to run on docker because I saw that macOS compilation is not yet supported.
I used the default ubuntu image, and installed git/make/g++/libomp-dev/googletest
Compilation for the main program worked fine, but the test compilation failed with:
root@bfff62d9f495:/home/libSTARK# make -j8 tests
make -C /home/libSTARK/algebra/FFT BLDDIR=/home/libSTARK/bin/fft
make -C /home/libSTARK/algebra/algebralib \
BLDDIR=/home/libSTARK/bin/algebralib FFTINC=/home/libSTARK/algebra/FFT/src
make -C /home/libSTARK/libstark \
BLDDIR=/home/libSTARK/bin/libstark \
FFTINC=/home/libSTARK/algebra/FFT/src \
ALGEBRAINC=/home/libSTARK/algebra/algebralib/headers
make -C /home/libSTARK/tinyram/gadgetlib/gadgetlib \
GADGETINC=/home/libSTARK/tinyram/gadgetlib/gadgetlib/. \
ALGEBRAINC=/home/libSTARK/algebra/algebralib/headers \
ALGEBRALIBLINKDIR=/home/libSTARK/bin/algebralib \
FFTLIBLNKDIR=/home/libSTARK/bin/fft \
FFTINC=/home/libSTARK/algebra/FFT FFTLIBLNKDIR=/home/libSTARK/bin/fft \
BLDDIR=/home/libSTARK/bin/gadgetlib
make[1]: Entering directory '/home/libSTARK/algebra/FFT'
make[1]: Entering directory '/home/libSTARK/algebra/algebralib'
make[1]: Entering directory '/home/libSTARK/libstark'
make[1]: Entering directory '/home/libSTARK/tinyram/gadgetlib/gadgetlib'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/libSTARK/tinyram/gadgetlib/gadgetlib'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/libSTARK/algebra/FFT'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/libSTARK/algebra/algebralib'
make -C /home/libSTARK/algebra/algebralib-tests \
ALGEBRAINC=/home/libSTARK/algebra/algebralib/headers\
FFTINC=/home/libSTARK/algebra/FFT/src \
ALGEBRALNKDIR=/home/libSTARK/bin/algebralib \
FFTLIBLNKDIR=/home/libSTARK/bin/fft \
BLDDIR=/home/libSTARK/bin/algebralib-tests
make[1]: Entering directory '/home/libSTARK/algebra/algebralib-tests'
Building target: /home/libSTARK/bin/algebralib-tests/algebralib_tests
Invoking: GCC Linker
g++ -o "/home/libSTARK/bin/algebralib-tests/algebralib_tests" /home/libSTARK/bin/algebralib-tests/CircuitPolynomial_UTEST.o /home/libSTARK/bin/algebralib-tests/FFT_UTEST.o /home/libSTARK/bin/algebralib-tests/FieldElement_UTEST.o /home/libSTARK/bin/algebralib-tests/LinearPolynomial_UTEST.o /home/libSTARK/bin/algebralib-tests/LinearizedPolynomials_UTEST.o /home/libSTARK/bin/algebralib-tests/SelectorSum_UTEST.o /home/libSTARK/bin/algebralib-tests/UnivariatePolynomialGeneral_UTEST.o /home/libSTARK/bin/algebralib-tests/main.o /home/libSTARK/bin/algebralib-tests/variable_UTEST.o -fopenmp -L"/home/libSTARK/bin/algebralib" -L"/home/libSTARK/bin/fft" -lgomp -lalgebralib -lgtest -lFFT
for dir in ./src/languages/Acsp ./src/languages/Bair ./src/protocols/Fri/verifier_details ./src/protocols/Fri ./src/protocols/Fri/common ./src/protocols ./src/protocols/common/CryptoCommitment ./src/protocols/common ./src/protocols/Ali/verifier_details ./src/protocols/Ali/common_details ./src/protocols/Ali ./src/common/Algebra ./src/common/Infrastructure ./src/common/Utils ./src/reductions/BairToAcsp/Details ./src/reductions/BairToAcsp/Routing ./src/reductions/BairToAcsp; do mkdir -p /home/libSTARK/bin/libstark/obj/$dir; done
ar -r "/home/libSTARK/bin/libstark/libstark.a" /home/libSTARK/bin/libstark/obj/src/languages/Acsp/AcspWitnessChecker.o /home/libSTARK/bin/libstark/obj/src/languages/Bair/ConstraintsSys.o /home/libSTARK/bin/libstark/obj/src/languages/Bair/BairWitnessChecker.o /home/libSTARK/bin/libstark/obj/src/protocols/Fri/verifier_details/queryGenerator.o /home/libSTARK/bin/libstark/obj/src/protocols/Fri/verifier.o /home/libSTARK/bin/libstark/obj/src/protocols/Fri/prover.o /home/libSTARK/bin/libstark/obj/src/protocols/Fri/common/common.o /home/libSTARK/bin/libstark/obj/src/protocols/protocol.o /home/libSTARK/bin/libstark/obj/src/protocols/common/CryptoCommitment/MerkleCommitment.o /home/libSTARK/bin/libstark/obj/src/protocols/common/proofs.o /home/libSTARK/bin/libstark/obj/src/protocols/common/verifier.o /home/libSTARK/bin/libstark/obj/src/protocols/Ali/verifier_details/queriesGen.o /home/libSTARK/bin/libstark/obj/src/protocols/Ali/common_details/common.o /home/libSTARK/bin/libstark/obj/src/protocols/Ali/verifier.o /home/libSTARK/bin/libstark/obj/src/protocols/Ali/prover.o /home/libSTARK/bin/libstark/obj/src/common/Algebra/ShiftedSubspacePolynomial.o /home/libSTARK/bin/libstark/obj/src/common/Algebra/MultiVarPoly.o /home/libSTARK/bin/libstark/obj/src/common/Algebra/LinearSpace.o /home/libSTARK/bin/libstark/obj/src/common/Infrastructure/Infrastructure.o /home/libSTARK/bin/libstark/obj/src/common/Utils/specsPrint.o /home/libSTARK/bin/libstark/obj/src/common/Utils/ErrorHandling.o /home/libSTARK/bin/libstark/obj/src/common/Utils/Timing.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Details/neighborsConstructor.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Details/spaces.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Details/AcspSummandsPolynomial.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Details/constraints.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Details/witnessMappings.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Details/witnessReduction.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Details/commonMappings.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Details/constraintSystemsTestLocations.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Details/commonDeffinitions.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Details/instanceMappings.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Routing/TandemNetwork.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Routing/LongDeBruijnPermutationNet.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Routing/BenesNetwork.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Routing/BtrflyBasedPermutation.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Routing/DeBruijnPermutationNet.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Routing/FoldNetwork.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Routing/PermutationRoutingNet.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Routing/LongSymmetricDeBruijnNetwork.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Routing/SymmetricDeBruijnNetwork.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/Routing/BitReverseButterfliesNetwork.o /home/libSTARK/bin/libstark/obj/src/reductions/BairToAcsp/BairToAcsp.o
/usr/bin/ld: cannot find -lgtest
collect2: error: ld returned 1 exit status
Makefile:36: recipe for target '/home/libSTARK/bin/algebralib-tests/algebralib_tests' failed
make[1]: *** [/home/libSTARK/bin/algebralib-tests/algebralib_tests] Error 1
make[1]: Leaving directory '/home/libSTARK/algebra/algebralib-tests'
Makefile:108: recipe for target 'algebralib-tests' failed
make: *** [algebralib-tests] Error 2
make: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/home/libSTARK/libstark'
So, I cannot run the tests, even on linux.
Also, is there any documentation on how to use this library?
The test files are huge and without any documentation it's really hard to try and use lobsterk for any PoC.
I was hoping to build an protocol using stark as basis for the CI proofs
Hi,
I am trying to change the register length from 16 to 32 (#define REGISTER_LENGTH 16
, in TinyRAMDefinitions.hpp) but it does not seem to work. What other dependencies the register length has?
Thank you very much in advance,
Dimitris Mouris
I get the following error when running make -j8 on Windows 8. It's particularly weird since it has multiple "No such file or directory" errors on directories that definitely exist.
process_begin: CreateProcess(NULL, which which, ...) failed.
process_begin: CreateProcess(NULL, ...\libSTARK, ...) fai
led.
make -C /algebra/FFT BLDDIR=/bin/fft
make -C /algebra/algebralib
BLDDIR=/bin/algebralib FFTINC=/algebra/FFT/src
make -C /libstark
BLDDIR=/bin/libstark
FFTINC=/algebra/FFT/src
ALGEBRAINC=/algebrma/aalgekbraelib/:hea ders
** /algebra/FFT: No such file or directory. Stop.
make -C /tinyram/gadgetlib/gadgetlib
GADGETINC=/tinmyrama/gakdgetelib:/ga dgetlib*/. *
A LGE/BRAaINC=l/alggebrea/ablgebrarliba/he/adears l
g
eALGbEBRrALIaBLIlNKDiIRb=/b:in/a lgeNbrao libs \u
FcFTLhIBL NKDIfR=/ibinl/ffet
FoFTIrNC= /algdebria/FrFTe FFTLcIBLtNKDoIR=r/biyn/ff.t
SBLtDoDpI.R
n/gadgetlib
make: *** [fft] Emrarkoer: 2*
ma k/el:i bst*a rWaki:t iNnog sfuocrh ufniflien iosrh eddi rjeocbtso..r.y.
.
Stop.
make: *** [libstark] Error 2
make: *** [algebralib] Error 2
make: *** /tinyram/gadgetlib/gadgetlib: No such file or directory. Stop.
make: *** [gadgetlib] Error 2
When trying to compile in Ubuntu 21.04 I get the following error with regards to cstring. If I add #include to MerkleCommitment.hpp then the library compiles.
In file included from src/protocols/Ali/common_details/common.hpp:4,
from src/protocols/Ali/common_details/common.cpp:1:
src/protocols/common/CryptoCommitment/MerkleCommitment.hpp:17:10: error: ‘string’ in namespace ‘std’ does not name a type
17 | std::string toString()const;
| ^~~~~~
src/protocols/common/CryptoCommitment/MerkleCommitment.hpp:9:1: note: ‘std::string’ is defined in header ‘<string>’; did you forget to ‘#include <string>’?
8 | #include <set>
+++ |+#include <string>
9 |
Missing files when compiling on Linux.
Hi,
I am trying to separate the prover and the verifier to different files and also write the proof to a .proof file. To my understanding, the proof is the class bairWitness
, right? So what has to be done is to serialize this class to the prover-side and de-serialize it to the verifier-side.
Thanks in advance,
Dimitris
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.