116 Commits

Author SHA1 Message Date
Youngjoon Lee
1f3430aa4b
scatter plot for node states 2024-07-08 19:15:57 +09:00
Youngjoon Lee
070b8fdf6d
reorganize configs 2024-07-08 18:34:05 +09:00
Youngjoon Lee
f3eb148f47
comments for yaml 2024-07-08 17:41:31 +09:00
Youngjoon Lee
59be969fbc
fix noise size 2024-07-08 17:14:51 +09:00
Youngjoon Lee
a01a090a10
stat msg sizes 2024-07-08 16:46:17 +09:00
Youngjoon Lee
95a8030106
change proability in yaml 2024-07-08 16:23:24 +09:00
Youngjoon Lee
fa407f2494
allow sender_lottery.probability=0 2024-07-08 16:22:17 +09:00
Youngjoon Lee
dc1d3934d3
fix ylabel 2024-07-08 16:16:34 +09:00
Youngjoon Lee
86e9b91084
refactor plot to show only uidirectional bandwidth if it is per conn 2024-07-08 16:15:42 +09:00
Youngjoon Lee
27ad7f2b77
plots for bandwidths per conn 2024-07-08 16:02:42 +09:00
Youngjoon Lee
a95b61c451
plots for bandwidths per node 2024-07-08 15:43:22 +09:00
Youngjoon Lee
0cae56c9b4
convert node state enum to integer in the DataFrame to minimize the size of CSV file 2024-07-05 23:56:48 +09:00
Youngjoon Lee
961c1e7581
add calculating hamming distance between two DataFrames 2024-07-05 23:39:46 +09:00
Youngjoon Lee
1a0c47cfbf
add node state collection 2024-07-05 23:22:36 +09:00
Youngjoon Lee
2e58207cf0
randomize network latency 2024-07-05 17:29:20 +09:00
Youngjoon Lee
e6db41fbfd
remove seed for peering for now 2024-07-05 17:20:15 +09:00
Youngjoon Lee
2065060cf3
handle PeeringDegreeReached properly 2024-07-05 17:19:02 +09:00
Youngjoon Lee
3067a5d6b4
add seeds 2024-07-05 17:01:11 +09:00
Youngjoon Lee
a260047cef
Use usim for simulation for reliable performance 2024-07-04 16:32:45 +09:00
Youngjoon Lee
a0da12a93a
fix conn stats registering and remove meter_interval 2024-07-04 12:01:51 +09:00
Youngjoon Lee
515bc2c50a
add simulation 2024-07-03 23:29:26 +09:00
Youngjoon Lee
d3e8b0223e
update comment 2024-07-03 11:41:29 +09:00
Youngjoon Lee
4aa1ee06fb
sphinx serde 2024-06-28 18:06:55 +09:00
Youngjoon Lee
3a703434da
fix 2024-06-28 17:37:02 +09:00
Youngjoon Lee
235c7031c9
fix 2024-06-28 17:34:13 +09:00
Youngjoon Lee
d3476d3ebb
add msg cache to not handle the same msg twice in gossipsub 2024-06-28 17:02:09 +09:00
Youngjoon Lee
ed9b0abd43
add peering_degree 2024-06-28 12:26:44 +09:00
Youngjoon Lee
9cd601c7ba
use public key for NodeInfo instead of private key 2024-06-27 18:04:51 +09:00
Youngjoon Lee
3585d3cf86
separate global config 2024-06-27 17:32:22 +09:00
Youngjoon Lee
28b5055278
add comment 2024-06-26 17:12:50 +09:00
Youngjoon Lee
9f58a72d4d
mixnet v2 2024-06-26 16:48:39 +09:00
Daniel Sanchez
422359acd7
Da: fk20 proof generation (#95)
* Kickstart fk20

* Implement i/fft from ethspecs

* Expand test to different sizes

* Implement toeplizt

* Finish implementing fk20

* Fix roots of unity generation

* Implement fft for g1 values

* Fix fk20 and tests

* Add len assertion in test

* Fix roots computations

* Fix test

* Fix imports

* Fmt

* Docs and format
2024-06-17 09:20:11 +02:00
gusto
c9b2c7c5c5
DA domain specific tag in bls (#94) 2024-05-27 12:38:18 +03:00
Daniel Sanchez
9390d481ba
Use blake2b for 31 bytes digests (#91) 2024-04-15 12:12:50 +02:00
Daniel Sanchez
8bb5160ff2
Fix rs encoding to fit with missing points (#90) 2024-04-09 07:55:17 +02:00
Daniel Sanchez
f29869c029
Remove indexing from dablob (#89)
Verifier resolves by syncing with state public keys
2024-03-25 11:30:44 +01:00
davidrusu
d2f6ad579a
Stake Relativization Specification + Fixes (#86)
* cryptarchia/relative-stake: failing test showing lack of inference

* implement stake-relativization spec

* test total stake inference in empty epoch

* move TestNode to test_common

* fix bug in Follower re-org logic

* improve orphan proof test coverage

* force orphans to already have been in one of the existing branches

* rename initial_inferred_total_stake ==> initial_total_stake

* add simple orphan import test

* Follower.unimported_orphans: ensure no orphans from same branch

* remove unnecessary LedgerState.slot

* cryptarchia: doc fixes

* factor out total stake inference

* docs for total stake inference

* rename total_stake to total_active_stake

* replace prints in cryptarchia with logging.logger
2024-03-23 05:50:00 +04:00
gusto
53b8be7a05
DA Api Tests (#83)
* Tests for da api full flow

* Fix test issues

* Da api ext tests (#85)

* Index store links blob to cert_id

* Tests for multiple indexes pointing to the same blob

* Test multiple indexes to the same blob in the full flow

* Update bytes_per_chunk to 31 bytes

---------

Co-authored-by: Daniel Sanchez Quiros <sanchez.quiros.daniel@gmail.com>
2024-03-22 13:01:13 +02:00
Daniel Sanchez
8dd2dabb7d
DA: Verifier skip duplicated blobs intents (#88)
* Make verifier skip duplicated blobs intents

* Add case in where verifier data is the same but column is different
2024-03-22 10:36:00 +01:00
Youngjoon Lee
601598f814
cryptarchia: fix try_create_fork to find parent block (#84) 2024-03-21 09:55:38 +09:00
Daniel Sanchez
a0175e16f3
Chunkify up to 31byte elements (#87) 2024-03-20 11:03:39 +01:00
gusto
b1e13f79c5
Initial DA API Spec structure (#72)
* Initial da_api spec structure

* Node definition for testing different actors in da api

* Connect zone, producer and da nodes in tests

* Remove da mock module

* Add da api module with flow tests

* Comments for read and write methods in BlobStore

* Fix nitpicks (formatting and typing)

---------

Co-authored-by: Daniel Sanchez Quiros <sanchez.quiros.daniel@gmail.com>
2024-03-15 12:37:56 +02:00
Daniel Sanchez
0e142c0888
Added verification to certificate (#82)
* Added verification method to certificate

* Update da/common.py

typo short -> sort

Co-authored-by: gusto <bacv@users.noreply.github.com>

* Fix test imports

* Added verification comment

---------

Co-authored-by: gusto <bacv@users.noreply.github.com>
2024-03-15 11:34:43 +01:00
Daniel Sanchez
bd964e7b27
Threshold bitfield on certificate (#81)
* Added threshold bitfield to certificate

* Short nodes_ids and public_keys
2024-03-14 12:20:46 +01:00
Daniel Sanchez
8c34f8a39e
Da Dispersal (#80)
* Added common bls types

* Added verifier attestation build

* Implement verification and aggregation in dispersal

* Added certificate building tests

* Added dispersal test
2024-03-13 14:59:27 +01:00
Daniel Sanchez
7ffb7cc7ed
Da verifier protocol (#78)
* Implement generator polynomial and rs encoding

* Implement encode/decode+test using fft. Non-working

* Use lagrange for interpolation

* Remove fft, use evaluations instead

* Move and rename kzg and rs test modules

* Update docs

* Added columns property to chunks matrix
Added test for columns

* Added chunkify and test

* Added compute row commitments
Added row commitments size test

* Fix poly from evaluations method

* Implement encode rows and test

* Update encode row test

* Implement compute row proofs (not working on extended data)

* Use same polynomials for commitment and proof creation after extend

* Fix polynomial from/to evaluations

* Use chunks for verification

* Refactor interpolate

* Implement chunks matrix transposed method

* Added compute column kzg commitments

* Use square size data for encoder tests

* Add column type to columns method

* Added compute columns aggregated commitment
Added aggregated commitment test
Fixed and expanded encode test

* Use sha3 for hashing

* Make encoder hashing method public

* Fill up verifier implementation

* Added verify column test

* Implement verier verify test
Fixed small issues

* Implement verier verify test
Extend verify test for all columns
2024-03-11 10:01:34 +01:00
davidrusu
2d3f463bb7
cryptarchia: Update epoch stabilization schedule to 334 (from 433) (#79)
* feat(cryptarchia/epoch-schedule): switch to 334 schedule (from 433)

* factor out common test config building code

* feat(cryptarchia): test_leader uses common test config object

* cryptarchia: update test_ledger_state_is_properly_updated_on_reorg

* cryptarchia: update test_epoch_transition test

* move to .tip() in tests instead of tip_id()

* cryptarchia: wrap long comments

* cryptarchia: move mk_block to test_common

* cryptarchia: move mk_genesis_state to test_common

* cryptarchia: refactor fork test to use mk_chain

* cryptarchia: fork choice rules tests use mk_chain helper

* cryptarchia: rename fork choice test suite to TestForkChoice

* cryptarchia: config.s is always 3k/f or 3*base_period_length

* cryptarchia: hardcode epoch schedule in specification

* un-hard code epoch sched. params + provide a v0.0.1 spec for params
2024-03-09 17:34:08 +04:00
Daniel Sanchez
cf899d2384
Da encoding protocol (#76)
* Implement generator polynomial and rs encoding

* Implement encode/decode+test using fft. Non-working

* Use lagrange for interpolation

* Remove fft, use evaluations instead

* Move and rename kzg and rs test modules

* Update docs

* Added columns property to chunks matrix
Added test for columns

* Added chunkify and test

* Added compute row commitments
Added row commitments size test

* Fix poly from evaluations method

* Implement encode rows and test

* Update encode row test

* Implement compute row proofs (not working on extended data)

* Use same polynomials for commitment and proof creation after extend

* Fix polynomial from/to evaluations

* Use chunks for verification

* Refactor interpolate

* Implement chunks matrix transposed method

* Added compute column kzg commitments

* Use square size data for encoder tests

* Add column type to columns method

* Added compute columns aggregated commitment
Added aggregated commitment test
Fixed and expanded encode test

* Use sha3 for hashing
2024-03-08 14:16:14 +01:00
Daniel Sanchez
09c9b7e4ec
Da rs core (#75)
* Implement generator polynomial and rs encoding

* Implement encode/decode+test using fft. Non-working

* Use lagrange for interpolation

* Remove fft, use evaluations instead

* Move and rename kzg and rs test modules

* Update docs
2024-03-05 16:53:14 +01:00
Daniel Sanchez
d15eaa2d98
KZG core functionality (#73)
* Added polynomial class

* Added common types and constants

* Implement commitment and proof generation

* Added basic tests

* Use custom polynomial

* use evaluation form for building polynomial

* Use fast division on polynomials

* Fix poly operations

* Add non working verification

* Make verification work

* Expand verify test

* Cleanup imports

* Update deps

* Update common.py

added verify setup mechanism

* Added trusted setup, updated common to use gp generator and added setup verification test

* Added comments

---------

Co-authored-by: megonen <146561843+megonen@users.noreply.github.com>
2024-02-27 17:49:27 +01:00