From 35f87826670558a4bfbd4864a685d5c6bcdaf7f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Thir=C3=A9?= Date: Mon, 26 Feb 2024 18:34:27 +0100 Subject: [PATCH 1/5] DAL: Set new parameters --- .../lib_parameters/default_parameters.ml | 17 ++++++-------- src/proto_alpha/lib_protocol/raw_context.ml | 14 ++++++------ tezt/tests/dal.ml | 22 +++++++++++++++---- ...t) RPC regression tests- misc_protocol.out | 4 ++-- ...t) RPC regression tests- misc_protocol.out | 4 ++-- ...y) RPC regression tests- misc_protocol.out | 4 ++-- ...r) RPC regression tests- misc_protocol.out | 4 ++-- ...c) RPC regression tests- misc_protocol.out | 4 ++-- ...ith L1 (rollup_node_applies_dal_pages).out | 4 ++-- ... with L1 (rollup_node_downloads_slots).out | 4 ++-- ...a refutation game are slashed-rewarded.out | 4 ++-- 11 files changed, 48 insertions(+), 37 deletions(-) diff --git a/src/proto_alpha/lib_parameters/default_parameters.ml b/src/proto_alpha/lib_parameters/default_parameters.ml index 6c10e7ec75c5..0c86fa36ac1d 100644 --- a/src/proto_alpha/lib_parameters/default_parameters.ml +++ b/src/proto_alpha/lib_parameters/default_parameters.ml @@ -127,15 +127,12 @@ let make_sc_rollup_parameter ~dal_activation_level riscv_pvm_enable = false; } -(* DAL/FIXME https://gitlab.com/tezos/tezos/-/issues/3177 - - Think harder about those values. *) let default_cryptobox_parameters = { - Dal.page_size = 4096; - slot_size = 1 lsl 20; - redundancy_factor = 16; - number_of_shards = 2048; + Dal.page_size = 3967; + slot_size = 126_944; + redundancy_factor = 8; + number_of_shards = 512; } let default_dal = @@ -143,9 +140,9 @@ let default_dal = { feature_enable = true; incentives_enable = false; - number_of_slots = 256; - attestation_lag = 4; - attestation_threshold = 50; + number_of_slots = 32; + attestation_lag = 8; + attestation_threshold = 66; cryptobox_parameters = default_cryptobox_parameters; } diff --git a/src/proto_alpha/lib_protocol/raw_context.ml b/src/proto_alpha/lib_protocol/raw_context.ml index 35f610c314b9..48a1358402c0 100644 --- a/src/proto_alpha/lib_protocol/raw_context.ml +++ b/src/proto_alpha/lib_protocol/raw_context.ml @@ -1030,10 +1030,10 @@ let prepare_first_block ~level ~timestamp _chain_id ctxt = change. *) let cryptobox_parameters = { - Dal.page_size = 4096; - slot_size = 1 lsl 20; - redundancy_factor = 16; - number_of_shards = 2048; + Dal.page_size = 3967; + slot_size = 126_944; + redundancy_factor = 8; + number_of_shards = 512; } in let dal = @@ -1041,9 +1041,9 @@ let prepare_first_block ~level ~timestamp _chain_id ctxt = { feature_enable = true; incentives_enable = false; - number_of_slots = 256; - attestation_lag = 4; - attestation_threshold = 50; + number_of_slots = 32; + attestation_lag = 8; + attestation_threshold = 66; cryptobox_parameters; } in diff --git a/tezt/tests/dal.ml b/tezt/tests/dal.ml index 953dbd9b9d1d..dd89750ab5f1 100644 --- a/tezt/tests/dal.ml +++ b/tezt/tests/dal.ml @@ -4325,6 +4325,12 @@ module Tx_kernel_e2e = struct "wasm_2_0_0") Constant.WASM.tx_kernel_dal in + (* The kernel is badly written and may ask pages in negative + levels. We ensure it is not possible by baking enough + blocks. *) + let* () = + bake_for ~count:parameters.Dal.Parameters.attestation_lag client + in let* sc_rollup_address = Client.Sc_rollup.originate ~burn_cap:Tez.(of_int 9999999) @@ -4505,6 +4511,12 @@ module Tx_kernel_e2e = struct (Filename.concat (Sc_rollup_node.data_dir sc_rollup_node) pvm_name) Constant.WASM.dal_echo_kernel in + (* The kernel is badly written and may ask pages in negative + levels. We ensure it is not possible by baking enough + blocks. *) + let* () = + bake_for ~count:parameters.Dal.Parameters.attestation_lag client + in let* sc_rollup_address = Client.Sc_rollup.originate ~burn_cap:Tez.(of_int 9999999) @@ -4938,9 +4950,10 @@ let register ~protocols = ~uses:(fun _protocol -> [Constant.smart_rollup_installer; Constant.WASM.dal_echo_kernel]) ~pvm_name:"wasm_2_0_0" - ~number_of_shards:2048 + ~number_of_shards:256 ~slot_size:(1 lsl 15) - ~redundancy_factor:32 + ~redundancy_factor:8 + ~attestation_lag:4 ~page_size:128 test_reveal_dal_page_in_fast_exec_wasm_pvm protocols ; @@ -4949,10 +4962,11 @@ let register ~protocols = ~uses:(fun _protocol -> [Constant.smart_rollup_installer; Constant.WASM.tx_kernel_dal]) ~pvm_name:"wasm_2_0_0" - ~number_of_shards:2048 + ~number_of_shards:256 ~slot_size:(1 lsl 15) - ~redundancy_factor:32 + ~redundancy_factor:8 ~page_size:128 + ~attestation_lag:4 Tx_kernel_e2e.test_tx_kernel_e2e protocols ; scenario_with_all_nodes diff --git a/tezt/tests/expected/RPC_test.ml/Alpha- (mode client) RPC regression tests- misc_protocol.out b/tezt/tests/expected/RPC_test.ml/Alpha- (mode client) RPC regression tests- misc_protocol.out index 1d9060d2c4c8..b1531bb1e30c 100644 --- a/tezt/tests/expected/RPC_test.ml/Alpha- (mode client) RPC regression tests- misc_protocol.out +++ b/tezt/tests/expected/RPC_test.ml/Alpha- (mode client) RPC regression tests- misc_protocol.out @@ -38,8 +38,8 @@ "cache_sampler_state_cycles": 8, "dal_parametric": { "feature_enable": true, "incentives_enable": false, - "number_of_slots": 16, "attestation_lag": 4, - "attestation_threshold": 50, "redundancy_factor": 16, + "number_of_slots": 16, "attestation_lag": 8, + "attestation_threshold": 66, "redundancy_factor": 16, "page_size": 4096, "slot_size": 65536, "number_of_shards": 2048 }, "smart_rollup_arith_pvm_enable": false, "smart_rollup_origination_size": 6314, diff --git a/tezt/tests/expected/RPC_test.ml/Alpha- (mode light) RPC regression tests- misc_protocol.out b/tezt/tests/expected/RPC_test.ml/Alpha- (mode light) RPC regression tests- misc_protocol.out index e0ab02cc8c52..fd631fadbdea 100644 --- a/tezt/tests/expected/RPC_test.ml/Alpha- (mode light) RPC regression tests- misc_protocol.out +++ b/tezt/tests/expected/RPC_test.ml/Alpha- (mode light) RPC regression tests- misc_protocol.out @@ -38,8 +38,8 @@ "cache_sampler_state_cycles": 8, "dal_parametric": { "feature_enable": true, "incentives_enable": false, - "number_of_slots": 16, "attestation_lag": 4, - "attestation_threshold": 50, "redundancy_factor": 16, + "number_of_slots": 16, "attestation_lag": 8, + "attestation_threshold": 66, "redundancy_factor": 16, "page_size": 4096, "slot_size": 65536, "number_of_shards": 2048 }, "smart_rollup_arith_pvm_enable": false, "smart_rollup_origination_size": 6314, diff --git a/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy) RPC regression tests- misc_protocol.out b/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy) RPC regression tests- misc_protocol.out index e0016303b2aa..55b3af2b38d9 100644 --- a/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy) RPC regression tests- misc_protocol.out +++ b/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy) RPC regression tests- misc_protocol.out @@ -38,8 +38,8 @@ "cache_sampler_state_cycles": 8, "dal_parametric": { "feature_enable": true, "incentives_enable": false, - "number_of_slots": 16, "attestation_lag": 4, - "attestation_threshold": 50, "redundancy_factor": 16, + "number_of_slots": 16, "attestation_lag": 8, + "attestation_threshold": 66, "redundancy_factor": 16, "page_size": 4096, "slot_size": 65536, "number_of_shards": 2048 }, "smart_rollup_arith_pvm_enable": false, "smart_rollup_origination_size": 6314, diff --git a/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy_server_data_dir) RPC regression tests- misc_protocol.out b/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy_server_data_dir) RPC regression tests- misc_protocol.out index 4b95bc68d5c4..2acfc59c2cbb 100644 --- a/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy_server_data_dir) RPC regression tests- misc_protocol.out +++ b/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy_server_data_dir) RPC regression tests- misc_protocol.out @@ -38,8 +38,8 @@ "cache_sampler_state_cycles": 8, "dal_parametric": { "feature_enable": true, "incentives_enable": false, - "number_of_slots": 16, "attestation_lag": 4, - "attestation_threshold": 50, "redundancy_factor": 16, + "number_of_slots": 16, "attestation_lag": 8, + "attestation_threshold": 66, "redundancy_factor": 16, "page_size": 4096, "slot_size": 65536, "number_of_shards": 2048 }, "smart_rollup_arith_pvm_enable": false, "smart_rollup_origination_size": 6314, diff --git a/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy_server_rpc) RPC regression tests- misc_protocol.out b/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy_server_rpc) RPC regression tests- misc_protocol.out index 4b95bc68d5c4..2acfc59c2cbb 100644 --- a/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy_server_rpc) RPC regression tests- misc_protocol.out +++ b/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy_server_rpc) RPC regression tests- misc_protocol.out @@ -38,8 +38,8 @@ "cache_sampler_state_cycles": 8, "dal_parametric": { "feature_enable": true, "incentives_enable": false, - "number_of_slots": 16, "attestation_lag": 4, - "attestation_threshold": 50, "redundancy_factor": 16, + "number_of_slots": 16, "attestation_lag": 8, + "attestation_threshold": 66, "redundancy_factor": 16, "page_size": 4096, "slot_size": 65536, "number_of_shards": 2048 }, "smart_rollup_arith_pvm_enable": false, "smart_rollup_origination_size": 6314, diff --git a/tezt/tests/expected/dal.ml/Alpha- Testing DAL rollup and node with L1 (rollup_node_applies_dal_pages).out b/tezt/tests/expected/dal.ml/Alpha- Testing DAL rollup and node with L1 (rollup_node_applies_dal_pages).out index e88e302e7b01..d64fd51a1bf9 100644 --- a/tezt/tests/expected/dal.ml/Alpha- Testing DAL rollup and node with L1 (rollup_node_applies_dal_pages).out +++ b/tezt/tests/expected/dal.ml/Alpha- Testing DAL rollup and node with L1 (rollup_node_applies_dal_pages).out @@ -38,7 +38,7 @@ Smart rollup [SMART_ROLLUP_HASH] memorized as "rollup" { "level": 2, "commitment_hash": "[SC_ROLLUP_COMMITMENT_HASH]" } -./octez-client --wait none send smart rollup message '["dal:16:4:16:0:2:4:6"]' from bootstrap2 +./octez-client --wait none send smart rollup message '["dal:16:8:16:0:2:4:6"]' from bootstrap2 Node is bootstrapped. Estimated gas: 170.903 units (will add 100 for safety) Estimated storage: no bytes added @@ -70,7 +70,7 @@ GET http://[HOST]:[PORT]/global/block/head/dal/processed_slots 200 OK [{"index":0,"status":"unconfirmed"},{"index":1,"status":"confirmed"},{"index":2,"status":"confirmed"},{"index":3,"status":"unconfirmed"},{"index":4,"status":"unconfirmed"},{"index":5,"status":"unconfirmed"},{"index":6,"status":"unconfirmed"},{"index":7,"status":"unconfirmed"},{"index":8,"status":"unconfirmed"},{"index":9,"status":"unconfirmed"},{"index":10,"status":"unconfirmed"},{"index":11,"status":"unconfirmed"},{"index":12,"status":"unconfirmed"},{"index":13,"status":"unconfirmed"},{"index":14,"status":"unconfirmed"},{"index":15,"status":"unconfirmed"}] -GET http://[HOST]:[PORT]/global/block/8/dal/processed_slots +GET http://[HOST]:[PORT]/global/block/12/dal/processed_slots 200 OK [{"index":0,"status":"unconfirmed"},{"index":1,"status":"confirmed"},{"index":2,"status":"confirmed"},{"index":3,"status":"unconfirmed"},{"index":4,"status":"unconfirmed"},{"index":5,"status":"unconfirmed"},{"index":6,"status":"unconfirmed"},{"index":7,"status":"unconfirmed"},{"index":8,"status":"unconfirmed"},{"index":9,"status":"unconfirmed"},{"index":10,"status":"unconfirmed"},{"index":11,"status":"unconfirmed"},{"index":12,"status":"unconfirmed"},{"index":13,"status":"unconfirmed"},{"index":14,"status":"unconfirmed"},{"index":15,"status":"unconfirmed"}] diff --git a/tezt/tests/expected/dal.ml/Alpha- Testing DAL rollup and node with L1 (rollup_node_downloads_slots).out b/tezt/tests/expected/dal.ml/Alpha- Testing DAL rollup and node with L1 (rollup_node_downloads_slots).out index ef9abcef82cd..740ae2854036 100644 --- a/tezt/tests/expected/dal.ml/Alpha- Testing DAL rollup and node with L1 (rollup_node_downloads_slots).out +++ b/tezt/tests/expected/dal.ml/Alpha- Testing DAL rollup and node with L1 (rollup_node_downloads_slots).out @@ -38,7 +38,7 @@ Smart rollup [SMART_ROLLUP_HASH] memorized as "rollup" { "level": 2, "commitment_hash": "[SC_ROLLUP_COMMITMENT_HASH]" } -./octez-client --wait none send smart rollup message '["dal:16:4:16:0:2:4:6"]' from bootstrap2 +./octez-client --wait none send smart rollup message '["dal:16:8:16:0:2:4:6"]' from bootstrap2 Node is bootstrapped. Estimated gas: 170.903 units (will add 100 for safety) Estimated storage: no bytes added @@ -70,7 +70,7 @@ GET http://[HOST]:[PORT]/global/block/head/dal/processed_slots 200 OK [{"index":0,"status":"unconfirmed"},{"index":1,"status":"confirmed"},{"index":2,"status":"confirmed"},{"index":3,"status":"unconfirmed"},{"index":4,"status":"unconfirmed"},{"index":5,"status":"unconfirmed"},{"index":6,"status":"unconfirmed"},{"index":7,"status":"unconfirmed"},{"index":8,"status":"unconfirmed"},{"index":9,"status":"unconfirmed"},{"index":10,"status":"unconfirmed"},{"index":11,"status":"unconfirmed"},{"index":12,"status":"unconfirmed"},{"index":13,"status":"unconfirmed"},{"index":14,"status":"unconfirmed"},{"index":15,"status":"unconfirmed"}] -GET http://[HOST]:[PORT]/global/block/8/dal/processed_slots +GET http://[HOST]:[PORT]/global/block/12/dal/processed_slots 200 OK [{"index":0,"status":"unconfirmed"},{"index":1,"status":"confirmed"},{"index":2,"status":"confirmed"},{"index":3,"status":"unconfirmed"},{"index":4,"status":"unconfirmed"},{"index":5,"status":"unconfirmed"},{"index":6,"status":"unconfirmed"},{"index":7,"status":"unconfirmed"},{"index":8,"status":"unconfirmed"},{"index":9,"status":"unconfirmed"},{"index":10,"status":"unconfirmed"},{"index":11,"status":"unconfirmed"},{"index":12,"status":"unconfirmed"},{"index":13,"status":"unconfirmed"},{"index":14,"status":"unconfirmed"},{"index":15,"status":"unconfirmed"}] diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - participant of a refutation game are slashed-rewarded.out b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - participant of a refutation game are slashed-rewarded.out index fee7b1b79ddf..dd1dc9010ea4 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - participant of a refutation game are slashed-rewarded.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - participant of a refutation game are slashed-rewarded.out @@ -108,7 +108,7 @@ This sequence of operations was run: ./octez-client --wait none timeout dispute on smart rollup '[SMART_ROLLUP_HASH]' with '[PUBLIC_KEY_HASH]' against '[PUBLIC_KEY_HASH]' from bootstrap1 Node is bootstrapped. -Estimated gas: 3715.625 units (will add 100 for safety) +Estimated gas: 3715.433 units (will add 100 for safety) Estimated storage: no bytes added Operation successfully injected in the node. Operation hash is '[OPERATION_HASH]' @@ -131,7 +131,7 @@ This sequence of operations was run: First staker (Alice): [PUBLIC_KEY_HASH] Second staker (Bob): [PUBLIC_KEY_HASH] This smart rollup refutation timeout was successfully applied - Consumed gas: 3715.559 + Consumed gas: 3715.367 Refutation game status: Game ended: [PUBLIC_KEY_HASH] lost because: timeout Balance updates: Frozen_bonds([PUBLIC_KEY_HASH],[SMART_ROLLUP_HASH]) ... -ꜩ10000 -- GitLab From 47b59800221e9a72d4401be37bb28da05f6f017d Mon Sep 17 00:00:00 2001 From: Anne-Laure Date: Wed, 21 Feb 2024 18:25:02 +0100 Subject: [PATCH 2/5] =?UTF-8?q?Crypto=5FDal/Srs:=20don=E2=80=99t=20use=20l?= =?UTF-8?q?og2=20in=20print=5Fverifier=5Fsrs=5Ffrom=5Ffile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib_crypto_dal/srs.ml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/lib_crypto_dal/srs.ml b/src/lib_crypto_dal/srs.ml index 46ea9838da5b..d0967afb32b0 100644 --- a/src/lib_crypto_dal/srs.ml +++ b/src/lib_crypto_dal/srs.ml @@ -100,7 +100,7 @@ module Internal_for_tests = struct let fake_srs2 = Lazy.from_fun (compute_fake_srs Srs_g2.generate_insecure) module Print = struct - (* Bounds (in log₂) + (* Bounds (following inequalities are given for log₂ for simplicity) 1 <= redundancy<= 4 7 <= page size + (redundancy + 1) <= slot size <= 20 5 <= page size <= slot size - (redundancy + 1) <= 18 - 5 = 13 @@ -117,10 +117,10 @@ module Internal_for_tests = struct (* Ensure validity before computing actual value *) let f ~slot ~redundancy ~page ~shards = Parameters_check.ensure_validity_without_srs - ~slot_size:(1 lsl slot) - ~page_size:(1 lsl page) - ~redundancy_factor:(1 lsl redundancy) - ~number_of_shards:(1 lsl shards) + ~slot_size:slot + ~page_size:page + ~redundancy_factor:redundancy + ~number_of_shards:shards |> function | Ok () -> func ~slot ~redundancy ~page ~shards | _ -> 0 @@ -142,7 +142,7 @@ module Internal_for_tests = struct let page_srs = let values = List.map - (fun page -> Parameters_check.domain_length ~size:(1 lsl page)) + (fun page -> Parameters_check.domain_length ~size:page) p.page in values @@ -151,20 +151,20 @@ module Internal_for_tests = struct concat_map4 p (fun ~slot ~redundancy:_ ~page ~shards:_ -> max_srs_size - Parameters_check.slot_as_polynomial_length - ~page_size:(1 lsl page) - ~slot_size:(1 lsl slot)) + ~page_size:page + ~slot_size:slot) in let shard_srs = concat_map4 p (fun ~slot ~redundancy ~page ~shards -> let max_polynomial_length = Parameters_check.slot_as_polynomial_length - ~page_size:(1 lsl page) - ~slot_size:(1 lsl slot) + ~page_size:page + ~slot_size:slot in let erasure_encoded_polynomial_length = - (1 lsl redundancy) * max_polynomial_length + redundancy * max_polynomial_length in - erasure_encoded_polynomial_length / (1 lsl shards)) + erasure_encoded_polynomial_length / shards) in let page_shards = List.sort_uniq (fun x y -> Int.compare y x) (page_srs @ shard_srs) @@ -186,10 +186,10 @@ module Internal_for_tests = struct let params = Print. { - redundancy = [1; 2; 3; 4]; - slot = [15; 16; 17; 18; 19; 20]; - page = [12]; - shards = [11; 12]; + redundancy = [1; 2; 3; 4] |> List.map (Int.shift_left 1); + slot = [15; 16; 17; 18; 19; 20] |> List.map (Int.shift_left 1); + page = [12] |> List.map (Int.shift_left 1); + shards = [11; 12] |> List.map (Int.shift_left 1); } in let open Lwt_result_syntax in -- GitLab From b4598bdf8a31dc5d2feac3b8ef7224ad469f74ce Mon Sep 17 00:00:00 2001 From: Anne-Laure Date: Thu, 22 Feb 2024 11:07:32 +0100 Subject: [PATCH 3/5] Crypto_Dal/Srs: fix print_verifier_srs_from_file --- src/lib_crypto_dal/srs.ml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/lib_crypto_dal/srs.ml b/src/lib_crypto_dal/srs.ml index d0967afb32b0..659aa217c704 100644 --- a/src/lib_crypto_dal/srs.ml +++ b/src/lib_crypto_dal/srs.ml @@ -171,7 +171,8 @@ module Internal_for_tests = struct in let max_srs1_needed = List.hd page_shards in ( max_srs1_needed, - List.sort_uniq Int.compare (page_shards @ commitment_srs) ) + List.sort_uniq Int.compare (page_shards @ commitment_srs) + |> List.filter (fun i -> i > 0) ) let _generate_all_poly_lengths ~max_srs_size = List.fold_left @@ -181,8 +182,8 @@ module Internal_for_tests = struct (0, []) end - let print_verifier_srs_from_file ?(max_srs_size = max_srs_size) ~srs_g1_path - ~srs_g2_path () = + let print_verifier_srs_from_file ?(max_srs_size = Zcash_srs.max_srs_g1_size) + ~srs_g1_path ~srs_g2_path () = let params = Print. { @@ -196,9 +197,7 @@ module Internal_for_tests = struct let srs_g1_size, lengths = Print.generate_poly_lengths ~max_srs_size params in - let* srs_g1, srs_g2 = - read_srs ~len:srs_g1_size ~srs_g1_path ~srs_g2_path () - in + let* srs_g1, srs_g2 = read_srs ~srs_g1_path ~srs_g2_path () in let srs2 = List.map (fun i -> -- GitLab From 207b6cefd4fc4bf9790077bc89b33999ef173d90 Mon Sep 17 00:00:00 2001 From: Anne-Laure Date: Thu, 22 Feb 2024 14:25:30 +0100 Subject: [PATCH 4/5] Crypto_Dal/Srs: generate new SRS points for new parameters --- src/lib_crypto_dal/zcash_srs.ml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/lib_crypto_dal/zcash_srs.ml b/src/lib_crypto_dal/zcash_srs.ml index 40350fa26e67..41a291f6515c 100644 --- a/src/lib_crypto_dal/zcash_srs.ml +++ b/src/lib_crypto_dal/zcash_srs.ml @@ -29,6 +29,11 @@ page_size = 2¹² redundancy_factor between 2¹ and 2⁴ nb_shards = 2⁶, 2¹¹ or 2¹² + It can also handle the following parameters configuration : + slot_size = 126 944 + page_size = 3 967 + redundancy_factor = 8 + nb_shards = 512 *) open Kzg.Bls @@ -368,9 +373,15 @@ let srs_g2 = ( 38, "8fc5806597fe04f5f4576d6c2160d0fb798417cb3eac99c0ed02204de743ec312dd01c7926188096413a823e53ebaae2035770f1ff20eb73a3501faae76a792c787f1ea2a3508ee4e563327833a1a614a1ddba069d14761d89ffcf697ac2aaa3" ); + ( 64, + "8d81ac0969b2ec521d1b0853e112e5ce4e2f94a4ca690b5833c208623bcb3c7f91fd6eadb947b73bec27e44212e2f53a03ec4ee0e92aec031387c07bedfa211355322f3b8c1eb09768ae3847e19adecd966ff168f319f03a7ec5f58d7422bd82" + ); ( 76, "8bac994404aabe461b8d11ad37b8bdfe835f97e592346a0d0fbc10d6d62d80828c031c81997afdc562b5b4d53d2e912900c4d6a8d39683a21f30fb033037e011aa7cab5191c0e03f3564bf5adf14d5013c9049114cff7da25e8cb99a59fc1b05" ); + ( 128, + "a60c143ce599717c0799c93c381b04c983357021adba7b4ab61682650ec5ebe6686d972ccab73db4120bd2f7d216915c19f874adc43cf8b38b699580c7a478c6b035ace34acbbcf463fb6abf88c9ce89285a2627c47e4b1f6ee4ffd2e0157e1f" + ); ( 152, "ae550078b1c2aee47f16851ae1acaf02e3f650dbacb838ec1f6c864e35464d4211ff582af38c7284a648fb6515095c34059fb874525de5744b143eaebd448588dfa15b3b35a6870d965865ff48766303c4d597c284a75b1543da4d0cc987c481" ); @@ -389,6 +400,9 @@ let srs_g2 = ( 2092288, "b731d654a8c9718877b4410a5d9a5c1216f450a9d6d1be168be74c15fa6d703bfaa92ad03b96ff09dce1d7e54672389104cac7618226a2abfaac180bd760f8389f836a4b43ea07b12001d772811a243742bcab5b8b8e847a61e1d479617067f1" ); + ( 2093056, + "97ad68d3fe5c09c468997086243473120fc6c9c8b937691d7e6fc4f05a41777c3d14cbeb1e0c8ddb430c879b874759c31334c6b4670222c2d6b1362c1eef631ece64722188d75948440f71f6c32dc91be751bfebcae53819ab3a2d4626309565" + ); ( 2094720, "b0701aeb96cb9b73306dd56b13b8c175df65f358f784700772e837d1ce26f241485e199327d04e8d7bac6fbe57569671148860dfe9dcd5542710ec95b8dad21b921ee664f55f1a936571a3b2a1d3ac733e322fed6ec25eb221978fe84cc73a7f" ); -- GitLab From 89307ad7091bf939b11bdd492cd797529acce979 Mon Sep 17 00:00:00 2001 From: Anne-Laure Date: Thu, 22 Feb 2024 14:27:22 +0100 Subject: [PATCH 5/5] Crypto_Dal/Parameters_check: slot_size & page_size being powers of 2 is no longer needed --- src/lib_crypto_dal/parameters_check.ml | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/src/lib_crypto_dal/parameters_check.ml b/src/lib_crypto_dal/parameters_check.ml index 3eb4ba56fdc9..b8bc1c944ac4 100644 --- a/src/lib_crypto_dal/parameters_check.ml +++ b/src/lib_crypto_dal/parameters_check.ml @@ -62,24 +62,6 @@ let ensure_validity_without_srs ~slot_size ~page_size ~redundancy_factor let max_polynomial_length, erasure_encoded_polynomial_length, shard_length = compute_lengths ~redundancy_factor ~slot_size ~page_size ~number_of_shards in - let* () = - assert_result - (Kzg.Utils.is_power_of_two slot_size) - (* According to the specification the length of a slot are in MiB *) - (fun () -> - Format.asprintf - "Slot size is expected to be a power of 2. Given: %d" - slot_size) - in - let* () = - assert_result - (Kzg.Utils.is_power_of_two page_size) - (* According to the specification the lengths of a page are in MiB *) - (fun () -> - Format.asprintf - "Page size is expected to be a power of 2. Given: %d" - page_size) - in let* () = assert_result (Kzg.Utils.is_power_of_two redundancy_factor && redundancy_factor >= 2) -- GitLab