Skip to content
This repository was archived by the owner on Feb 17, 2025. It is now read-only.

Commit 8c2e316

Browse files
committed
Fixing usage of constructor of fri_params.
1 parent 4cb22cc commit 8c2e316

File tree

6 files changed

+94
-126
lines changed

6 files changed

+94
-126
lines changed

libs/marshalling/zk/test/fri_commitment.cpp

Lines changed: 20 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -380,8 +380,11 @@ BOOST_FIXTURE_TEST_SUITE(marshalling_fri_proof_elements, zk::test_tools::random_
380380
batch_info[3] = 6;
381381
batch_info[4] = 3;
382382

383-
typename FRI::params_type fri_params (
384-
1, 11, lambda, 4
383+
typename FRI::params_type fri_params(
384+
1, // max_step
385+
11, // degree_log
386+
lambda,
387+
4 // expand_factor
385388
);
386389

387390
auto proof = generate_random_fri_proof<FRI>(
@@ -444,42 +447,33 @@ BOOST_AUTO_TEST_CASE(marshalling_fri_basic_test) {
444447
typedef typename fri_type::proof_type proof_type;
445448
typedef typename fri_type::params_type params_type;
446449

447-
std::size_t extended_log = boost::static_log2<d>::value;
448-
std::vector<std::shared_ptr<math::evaluation_domain<field_type>>> D =
449-
math::calculate_domain_set<field_type>(extended_log, r);
450-
451-
params_type params(
452-
d - 1, // max_degree
453-
D,
454-
generate_random_step_list(r, 3, generic_random_engine),
455-
2, //expand_factor
456-
lambda
457-
);
458-
459-
BOOST_CHECK(D[1]->m == D[0]->m / 2);
460-
BOOST_CHECK(D[1]->get_domain_element(1) == D[0]->get_domain_element(1).squared());
450+
// Setup params
451+
std::size_t degree_log = std::ceil(std::log2(d - 1));
452+
typename fri_type::params_type fri_params(
453+
3, /*max_step*/
454+
degree_log,
455+
lambda,
456+
2 //expand_factor
457+
);
461458

462459
// commit
463-
math::polynomial<typename field_type::value_type> f = {{1u, 3u, 4u, 1u, 5u, 6u, 7u, 2u, 8u, 7u, 5u, 6u, 1u, 2u, 1u, 1u}};
460+
math::polynomial<typename field_type::value_type> f = {{
461+
1u, 3u, 4u, 1u, 5u, 6u, 7u, 2u, 8u, 7u, 5u, 6u, 1u, 2u, 1u, 1u}};
464462
std::array<std::vector<math::polynomial<typename field_type::value_type>>, 1> fs;
465463
fs[0].resize(1);
466464
fs[0][0] = f;
467-
typename fri_type::merkle_tree_type tree = zk::algorithms::precommit<fri_type>(fs[0], params.D[0],
468-
params.step_list[0]);
465+
typename fri_type::merkle_tree_type tree = zk::algorithms::precommit<fri_type>(
466+
fs[0], fri_params.D[0], fri_params.step_list[0]);
469467
auto root = zk::algorithms::commit<fri_type>(tree);
470468

471469
// eval
472470
std::vector<std::uint8_t> init_blob{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
473471
zk::transcript::fiat_shamir_heuristic_sequential<transcript_hash_type> transcript(init_blob);
474472

475-
proof_type proof = zk::algorithms::proof_eval<fri_type>(f, tree, params, transcript);
473+
proof_type proof = zk::algorithms::proof_eval<fri_type>(f, tree, fri_params, transcript);
476474
nil::crypto3::marshalling::types::batch_info_type batch_info;
477475
batch_info[0] = 1;
478-
test_fri_proof<Endianness, fri_type>(proof, batch_info, params);
479-
480-
// verify
481-
//zk::transcript::fiat_shamir_heuristic_sequential<transcript_hash_type> transcript_verifier(init_blob);
482-
483-
//BOOST_CHECK(zk::algorithms::verify_eval<fri_type>(proof, root, params, transcript_verifier));
476+
test_fri_proof<Endianness, fri_type>(proof, batch_info, fri_params);
484477
}
478+
485479
BOOST_AUTO_TEST_SUITE_END()

libs/marshalling/zk/test/placeholder_proof.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,12 @@ BOOST_FIXTURE_TEST_CASE(proof_marshalling_test, test_tools::random_test_initiali
323323
typename policy_type::variable_assignment_type assignments = circuit.table;
324324

325325
typename lpc_type::fri_type::params_type fri_params(
326-
1, table_rows_log, placeholder_test_params::lambda, 4, true, 0xFFFF8000
326+
1, /*max_step*/,
327+
table_rows_log,
328+
placeholder_test_params::lambda,
329+
4, // expand_factor
330+
true, // use_grinding
331+
19 // grinding_parameter
327332
);
328333
lpc_scheme_type lpc_scheme(fri_params);
329334

libs/zk/include/nil/crypto3/zk/commitments/detail/polynomial/basic_fri.hpp

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,6 @@ namespace nil {
144144
return step_list;
145145
}
146146

147-
//params_type(const params_type &other){}
148-
// TODO when marshalling will be fine
149147
params_type(
150148
std::size_t max_step,
151149
std::size_t degree_log,
@@ -184,37 +182,24 @@ namespace nil {
184182

185183
bool operator==(const params_type &rhs) const {
186184
if (D.size() != rhs.D.size()) {
187-
std::cout << "D.size() != rhs.D.size()" << std::endl;
188185
return false;
189186
}
190187
for (std::size_t i = 0; i < D.size(); i++) {
191188
if (D[i]->get_domain_element(1) != rhs.D[i]->get_domain_element(1)) {
192-
std::cout << "(D[i]->get_domain_element(1) != rhs.D[i]->get_domain_element(1))" << " for " << i << std::endl;
193-
std::cout << D[i]->get_domain_element(1) << " VS " << rhs.D[i]->get_domain_element(1) << std::endl;
194189
return false;
195190
}
196191
}
197192
if (use_grinding != rhs.use_grinding) {
198-
std::cout << "use_grinding != rhs.use_grinding" << std::endl;
199193
return false;
200194
}
201195
if (use_grinding && grinding_parameter != rhs.grinding_parameter) {
202-
std::cout << "use_grinding && grinding_parameter != rhs.grinding_parameter" << std::endl;
203196
return false;
204197
}
205-
if (r != rhs.r) {
206-
std::cout << "r != rhs.r" << std::endl;
207-
}
208-
209-
if (max_degree != rhs.max_degree) {
210-
std::cout << "max_degree != rhs.max_degree" << std::endl;
211-
}
212198
return r == rhs.r
213199
&& max_degree == rhs.max_degree
214200
&& step_list == rhs.step_list
215201
&& expand_factor == rhs.expand_factor
216-
&& lambda == rhs.lambda
217-
&& use_grinding == rhs.use_grinding;
202+
&& lambda == rhs.lambda;
218203
}
219204

220205
bool operator!=(const params_type &rhs) const {
@@ -248,8 +233,12 @@ std::cout << "max_degree != rhs.max_degree" << std::endl;
248233
}
249234

250235
// For the last round it's final_polynomial's values
251-
polynomial_values_type y; // Values for the next round.
252-
merkle_proof_type p; // Merkle proof(values[i-1], T_i)
236+
237+
// Values for the next round.
238+
polynomial_values_type y;
239+
240+
// Merkle proof(values[i-1], T_i).
241+
merkle_proof_type p;
253242
};
254243

255244
struct initial_proof_type {
@@ -279,6 +268,7 @@ std::cout << "max_degree != rhs.max_degree" << std::endl;
279268

280269
struct proof_type {
281270
bool operator==(const proof_type &rhs) const {
271+
// TODO(martun): check if the following comment can be deleted.
282272
// if( FRI::use_grinding && proof_of_work != rhs.proof_of_work ){
283273
// return false;
284274
// }

libs/zk/test/commitment/fri.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -108,14 +108,14 @@ void fri_basic_test()
108108
std::vector<std::shared_ptr<math::evaluation_domain<FieldType>>> D =
109109
math::calculate_domain_set<FieldType>(extended_log, r);
110110

111+
std::size_t degree_log = std::ceil(std::log2(d - 1));
111112
params_type params(
112-
d - 1, // max_degree
113-
D,
114-
generate_random_step_list(r, 1),
115-
2, //expand_factor
113+
1, /*max_step*/
114+
degree_log,
116115
lambda,
117-
true,
118-
16
116+
2, //expand_factor
117+
true, // use_grinding
118+
16 // grinding_parameter
119119
);
120120

121121
BOOST_CHECK(D[1]->m == D[0]->m / 2);

libs/zk/test/commitment/lpc.cpp

Lines changed: 33 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -203,15 +203,15 @@ BOOST_AUTO_TEST_SUITE(lpc_math_polynomial_suite);
203203

204204

205205
// Setup params
206+
std::size_t degree_log = std::ceil(std::log2(d - 1));
206207
typename fri_type::params_type fri_params(
207-
d - 1, // max_degree
208-
D,
209-
generate_random_step_list(r, 1, test_global_rnd_engine),
210-
2, //expand_factor
208+
1, /*max_step*/
209+
degree_log,
211210
lambda,
212-
true,
213-
12
214-
);
211+
2, //expand_factor
212+
true, // use_grinding
213+
12 // grinding_parameter
214+
);
215215

216216
using lpc_scheme_type = nil::crypto3::zk::commitments::lpc_commitment_scheme<lpc_type, math::polynomial<typename FieldType::value_type>>;
217217
lpc_scheme_type lpc_scheme_prover(fri_params);
@@ -304,13 +304,13 @@ BOOST_AUTO_TEST_SUITE(lpc_math_polynomial_suite);
304304
typedef zk::commitments::fri<FieldType, merkle_hash_type, transcript_hash_type, m> fri_type;
305305

306306
// Setup params
307+
std::size_t degree_log = std::ceil(std::log2(d - 1));
307308
typename fri_type::params_type fri_params(
308-
d - 1, // max_degree
309-
D,
310-
generate_random_step_list(r, 5, test_global_rnd_engine),
311-
2, //expand_factor
312-
lambda
313-
);
309+
5, /*max_step*/
310+
degree_log,
311+
lambda,
312+
2 //expand_factor
313+
);
314314

315315
using lpc_scheme_type = nil::crypto3::zk::commitments::lpc_commitment_scheme<lpc_type, math::polynomial<typename FieldType::value_type>>;
316316
lpc_scheme_type lpc_scheme_prover(fri_params);
@@ -396,20 +396,14 @@ BOOST_AUTO_TEST_SUITE(lpc_math_polynomial_suite);
396396
static_assert(!zk::is_commitment<std::size_t>::value);
397397

398398
// Setup params
399-
constexpr static const std::size_t d_extended = d;
400-
std::size_t extended_log = boost::static_log2<d_extended>::value;
401-
std::vector<std::shared_ptr<math::evaluation_domain<FieldType>>> D =
402-
math::calculate_domain_set<FieldType>(extended_log, r + 1);
403-
404-
// Setup params
399+
std::size_t degree_log = std::ceil(std::log2(d - 1));
405400
typename fri_type::params_type fri_params(
406-
d - 1, // max_degree
407-
D,
408-
generate_random_step_list(r, 1, test_global_rnd_engine),
409-
2, //expand_factor
401+
1, /*max_step*/
402+
degree_log,
410403
lambda,
411-
true
412-
);
404+
2, //expand_factor
405+
true // use_grinding
406+
);
413407

414408
using lpc_scheme_type = nil::crypto3::zk::commitments::lpc_commitment_scheme<lpc_type>;
415409
lpc_scheme_type lpc_scheme_prover(fri_params);
@@ -498,20 +492,16 @@ BOOST_AUTO_TEST_SUITE(lpc_params_test_suite)
498492
static_assert(!zk::is_commitment<merkle_tree_type>::value);
499493
static_assert(!zk::is_commitment<std::size_t>::value);
500494

501-
constexpr static const std::size_t d_extended = d;
502-
std::size_t extended_log = boost::static_log2<d_extended>::value;
503-
std::vector<std::shared_ptr<math::evaluation_domain<FieldType>>> D =
504-
math::calculate_domain_set<FieldType>(extended_log, r);
505-
495+
// Setup params
496+
std::size_t degree_log = std::ceil(std::log2(d - 1));
506497
typename fri_type::params_type fri_params(
507-
d - 1, // max_degree
508-
D,
509-
generate_random_step_list(r, 1, test_global_rnd_engine),
510-
2, //expand_factor
498+
1, /*max_step*/
499+
degree_log,
511500
lambda,
512-
true,
501+
2, // expand_factor
502+
true, // use_grinding
513503
8
514-
);
504+
);
515505

516506
using lpc_scheme_type = nil::crypto3::zk::commitments::lpc_commitment_scheme<lpc_type, math::polynomial<typename FieldType::value_type>>;
517507
lpc_scheme_type lpc_scheme_prover(fri_params);
@@ -595,13 +585,14 @@ BOOST_AUTO_TEST_SUITE(lpc_params_test_suite)
595585
std::vector<std::shared_ptr<math::evaluation_domain<FieldType>>> D =
596586
math::calculate_domain_set<FieldType>(extended_log, r);
597587

588+
// Setup params
589+
std::size_t degree_log = std::ceil(std::log2(d - 1));
598590
typename fri_type::params_type fri_params(
599-
d - 1, // max_degree
600-
D,
601-
generate_random_step_list(r, 1, test_global_rnd_engine),
602-
2, //expand_factor
603-
lambda
604-
);
591+
1, /*max_step*/
592+
degree_log,
593+
lambda,
594+
2 //expand_factor
595+
);
605596

606597
using lpc_scheme_type = nil::crypto3::zk::commitments::lpc_commitment_scheme<lpc_type, math::polynomial<typename FieldType::value_type>>;
607598
lpc_scheme_type lpc_scheme_prover(fri_params);

libs/zk/test/commitment/lpc_performance.cpp

Lines changed: 21 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -148,18 +148,14 @@ BOOST_AUTO_TEST_CASE(step_list_1, *boost::unit_test::disabled()) {
148148
typedef zk::commitments::list_polynomial_commitment_params<merkle_hash_type, transcript_hash_type, m> lpc_params_type;
149149
typedef zk::commitments::list_polynomial_commitment<FieldType, lpc_params_type> lpc_type;
150150

151-
constexpr static const std::size_t d_extended = d;
152-
std::size_t extended_log = boost::static_log2<d_extended>::value;
153-
std::vector<std::shared_ptr<math::evaluation_domain<FieldType>>> D =
154-
math::calculate_domain_set<FieldType>(extended_log, r);
155-
151+
// Setup params
152+
std::size_t degree_log = std::ceil(std::log2(d - 1));
156153
typename fri_type::params_type fri_params(
157-
d - 1,
158-
D,
159-
generate_random_step_list(r, 1),
160-
r,
161-
lambda
162-
);
154+
1, /*max_step*/
155+
degree_log,
156+
lambda,
157+
4, //expand_factor
158+
);
163159

164160
using lpc_scheme_type = nil::crypto3::zk::commitments::lpc_commitment_scheme<lpc_type, math::polynomial<typename FieldType::value_type>>;
165161
lpc_scheme_type lpc_scheme_prover(fri_params);
@@ -239,18 +235,14 @@ BOOST_AUTO_TEST_CASE(step_list_3, *boost::unit_test::disabled()) {
239235
typedef zk::commitments::list_polynomial_commitment_params<merkle_hash_type, transcript_hash_type, m> lpc_params_type;
240236
typedef zk::commitments::list_polynomial_commitment<FieldType, lpc_params_type> lpc_type;
241237

242-
constexpr static const std::size_t d_extended = d;
243-
std::size_t extended_log = boost::static_log2<d_extended>::value;
244-
std::vector<std::shared_ptr<math::evaluation_domain<FieldType>>> D =
245-
math::calculate_domain_set<FieldType>(extended_log, r);
246-
238+
// Setup params
239+
std::size_t degree_log = std::ceil(std::log2(d - 1));
247240
typename fri_type::params_type fri_params(
248-
d - 1,
249-
D,
250-
generate_random_step_list(r, 3),
251-
r,
252-
lambda
253-
);
241+
3, /*max_step*/
242+
degree_log,
243+
lambda,
244+
4, //expand_factor
245+
);
254246

255247
using lpc_scheme_type = nil::crypto3::zk::commitments::lpc_commitment_scheme<lpc_type, math::polynomial<typename FieldType::value_type>>;
256248
lpc_scheme_type lpc_scheme_prover(fri_params);
@@ -329,18 +321,14 @@ BOOST_AUTO_TEST_CASE(step_list_5, *boost::unit_test::disabled()) {
329321
typedef zk::commitments::list_polynomial_commitment_params<merkle_hash_type, transcript_hash_type, m> lpc_params_type;
330322
typedef zk::commitments::list_polynomial_commitment<FieldType, lpc_params_type> lpc_type;
331323

332-
constexpr static const std::size_t d_extended = d;
333-
std::size_t extended_log = boost::static_log2<d_extended>::value;
334-
std::vector<std::shared_ptr<math::evaluation_domain<FieldType>>> D =
335-
math::calculate_domain_set<FieldType>(extended_log, r);
336-
324+
// Setup params
325+
std::size_t degree_log = std::ceil(std::log2(d - 1));
337326
typename fri_type::params_type fri_params(
338-
d - 1,
339-
D,
340-
generate_random_step_list(r, 5),
341-
r,
342-
lambda
343-
);
327+
5, /*max_step*/
328+
degree_log,
329+
lambda,
330+
4, //expand_factor
331+
);
344332

345333
using lpc_scheme_type = nil::crypto3::zk::commitments::lpc_commitment_scheme<lpc_type, math::polynomial<typename FieldType::value_type>>;
346334
lpc_scheme_type lpc_scheme_prover(fri_params);

0 commit comments

Comments
 (0)