Commit Graph

86 Commits

Author SHA1 Message Date
parazyd
d3fae80d5a chore: Update copyright year in license headers 2024-01-18 19:30:56 +01:00
aggstam
efe6f39041 darkfid2: use minerd to mine blocks, validator: cleaned up threads info as its not longer required 2024-01-18 19:30:31 +01:00
aggstam
cdaddfbfe2 event_graph: introduce layers to the DAG
Each event corresponds to a specific layer(height) in the dag, making identifying and preventing cycles way easier, as all parents must exist in previous layers. Additionally, propagation and sync gremlins have been eliminated, and proper validations added
2023-12-14 11:45:32 +01:00
aggstam
cb06356c46 validator/pow: introduced fixed difficulty for testing purposes 2023-11-21 14:41:56 +02:00
parazyd
235626b31d rpc: Allow params as JSON object 2023-11-01 19:48:47 +01:00
aggstam
44482105c8 darkfid2: enchanched args configuration 2023-10-26 21:21:18 +03:00
aggstam
893ea4a52f validator/pow: store block difficulty info in sled 2023-10-13 19:40:18 +03:00
aggstam
594946044e validator/pow: TODOs cleanup 2023-10-13 16:48:13 +03:00
aggstam
6ad2a19bac validator: validate blocks based on their version 2023-10-03 21:45:28 +03:00
aggstam
e5081d55ce blockchain/Block: refactored in preparation for mining integration 2023-09-19 00:11:20 +03:00
aggstam
eca2c7e175 blockchain/Block: moved producer tx at last position of blocks' txs vec 2023-09-15 00:51:37 +03:00
aggstam
dba13ebef6 blockchain/Block: removed producer structure 2023-09-15 00:51:37 +03:00
aggstam
b8e612138d validator/blockchain: consolidate all blockchain structures validation at src/validator/validation.rs 2023-09-14 14:39:20 +03:00
aggstam
8d7a2bde7c validator: preperation cleanup for PoW blocks integration 2023-09-13 19:22:56 +03:00
parazyd
fb1350daec rpc/server: Implement stop_connections() in RequestHandler. 2023-08-31 11:43:50 +02:00
parazyd
43e1c2f7a0 bin: Update RequestHandler users API 2023-08-31 11:08:18 +02:00
parazyd
14fc49a7d6 rpc/server: Implement connection tracking through a StoppableTaskPtr set. 2023-08-31 01:19:22 +02:00
parazyd
35462e00b2 blockchain: Trivial cleanup, add FIXME for certain functions/deps. 2023-08-29 13:08:35 +02:00
parazyd
481066de2f tests/network-transports: Add example of (de)serializing directly to streams. 2023-08-24 14:27:03 +02:00
parazyd
a02e3475f6 lib: Remove async-std dependency. 2023-08-22 19:55:37 +02:00
aggstam
6c08581c8e chore: ported tests to new rpc impl 2023-08-21 17:02:08 +03:00
parazyd
21dd80ae99 rpc: Replace serde_json with tinyjson. 2023-08-20 18:53:52 +02:00
parazyd
1237e5be24 tests: Implement JSON-RPC server/client test. 2023-08-18 11:40:09 +02:00
parazyd
b57d0c1c9b net: Implement Unix socket transport (both dialer and listener) 2023-08-18 08:56:54 +02:00
aggstam
490436b11e validator: check that eta is carried as slots progress 2023-08-03 19:11:18 +03:00
parazyd
0c7dbc4460 zk/vm: Implement first part of conditional chip selection.
Signed-off-by: parazyd <parazyd@dyne.org>
2023-07-22 16:22:26 +02:00
parazyd
c6140e6558 tests: Initial example of dynamic circuit configuration. 2023-07-22 13:16:16 +02:00
parazyd
8ac1d17077 Use k param from ZkBinary when building VerifyingKey and ProvingKey. 2023-07-22 12:04:41 +02:00
aggstam
9d8addf3a3 tests/blockchain: updated test 2023-07-21 15:05:37 +03:00
Dastan-glitch
ea10c80b3c tests: halo2_vk_ser missing argument while VerifyingKey 2023-07-20 16:19:36 +03:00
parazyd
29101c4e02 zk: Pass a ZkBinary reference to ZkCircuit::new instead of cloning. 2023-07-20 14:19:52 +02:00
parazyd
1b68e015fa tests: Add isolated test for consensus proposal proof. 2023-07-14 17:57:56 +02:00
parazyd
5d9a954235 tests: Extend zkvm tests for zero_cond opcode. 2023-07-08 11:12:57 +02:00
aggstam
17415a3d21 validator: use new pid 2023-07-07 21:05:46 +03:00
aggstam
9712efdfb1 validator/consensus/pid: sigmas caclulation foundation 2023-07-07 16:43:48 +03:00
parazyd
55ee919906 net: Perform full p2p code cleanup and improve certain pieces.
Notable changes:

* Rewritten transport protocols into Dialer and Listener (Nym is TODO)

  This simplifies using the transports a lot, as can be seen for example
  in src/rpc, and generally around the p2p library. It also defines features
  for each transport (all of which are enabled by default). We drop the
  socks client for Tor and Nym and use first-class support with the Arti Tor
  library, and nym-sphinx/nym-websockets (to be used with nym-client).

* Outbound session healing

  The outbound session will now poll and try to fill all the requested
  slots more efficiently, and if needed, will activate peer discovery to
  find more peers if we can't connect to any known ones. Also if we're
  unable to connect to any, we shall drop them from our set.

  Additionally, transport mixing is enabled by default, so when we're
  allowing transport mixing, and we use Tor, we will also be able to connect
  to other transports that Tor can connect to (e.g. tcp://).

* Unix socket transport dropped

  We haven't been using this, and it seems we're not going down this path,
  so the code has been obsoleted and removed.

* TLS session verification

  We fully verify server and client TLS certificates upon connection so
  we're able to perform TLS1.3 with forward secrecy.

* lilith pruning

  lilith now periodically prunes known peers from its sets if it's unable
  to connect to them.
2023-06-29 13:13:15 +02:00
parazyd
cb4354e127 tests/network_transports: Avoid TLS EOF panic. 2023-06-29 13:06:54 +02:00
aggstam
feabf5a67a blockchain: rewrite completed
Attention: this commit breaks darkfid/faucetd network functionalities, so nodes can't sync or participate in the protocol. Wait for their rewrite(TM)
2023-06-28 14:42:14 +03:00
aggstam
f37e05e0ec validator/blockchain: added rest overlays needed for validations 2023-06-27 19:23:45 +03:00
aggstam
7a2f07502c WIP: validator: blockchain rewrite foundation added 2023-06-26 22:02:25 +03:00
parazyd
8257d7cdbe sdk: Replace incrementalmerkletree with bridgetree crate. 2023-06-12 14:31:19 +02:00
Dastan-glitch
6a93ce2437 tests/network_transports: fix clippy lints 2023-06-05 04:37:35 +03:00
parazyd
88e99b9f69 Actually fix the test 2023-05-29 09:44:33 +02:00
parazyd
770fc3213a tests: Fix halo2_vk_ser test. 2023-05-29 09:33:06 +02:00
parazyd
f4932072c6 zkvm: Implement cond_select opcode. 2023-05-27 15:35:48 +02:00
parazyd
39dd16e9a9 tests: Fix halo2_vk_ser test. 2023-05-11 10:04:14 +02:00
parazyd
411d25aa85 Use patched halo2_gadgets project-wide. 2023-05-10 16:17:29 +02:00
parazyd
bd6a6bfaf2 zkas: Rename "stack" to "heap".
"stack" is a misnomer, and the behavior of the zkVM is more heap-like
than stack-like when doing an analogy with general computing.
2023-05-10 14:35:51 +02:00
parazyd
fa260e822c Update halo2 dependency which employs https://github.com/zcash/halo2/pull/646 2023-05-10 14:10:04 +02:00
parazyd
8dfe2655f7 tests/vdf_eval: 1M+ steps 2023-05-09 12:42:59 +02:00