Commit Graph

54 Commits

Author SHA1 Message Date
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
parazyd
7f5ff1de49 tests: Add VDF time evaluation test. 2023-05-09 12:30:52 +02:00
Dastan-glitch
8558aa3e44 tests: ignore nym transport tests 2023-03-16 04:09:03 +03:00
Dastan-glitch
a27680e4d9 tests: add tests for nym and nym+tls 2023-03-16 03:53:38 +03:00
parazyd
db48d24580 zk/proof: Implement VerifyingKey serialization. 2023-03-06 18:33:52 +01:00
parazyd
71cd3064d6 Update license year. 2022-12-28 13:06:00 +01:00
parazyd
3cedf88cdc contract/dao: Initial integration tests setup. 2022-12-16 15:38:08 +01:00
parazyd
1c8feadcb6 zkas: Implement EcNiPoint type and EcMulVarBase opcode. 2022-12-16 14:11:59 +01:00
parazyd
88caee7f42 Update and clean up dependencies. 2022-12-13 15:19:09 +01:00
parazyd
9222f9abde Clean up obsolete tests 2022-12-12 18:43:09 +01:00
parazyd
6b563e63aa net: Have Unix sockets work in the same way as the Tcp transport. 2022-12-12 17:15:26 +01:00
parazyd
ff57e059d5 tests: Add short test for BridgeTree checkpoints. 2022-12-10 13:45:44 +01:00
parazyd
1d7866f688 Update crate dependencies. 2022-11-29 13:54:05 +01:00
parazyd
e6455facb7 Migrate more crypto API to sdk 2022-11-07 22:27:24 +01:00
parazyd
d7ee8f3e0c Update calls throughout repository for latest darkfi-sdk changes. 2022-11-07 01:42:39 +01:00
parazyd
8ae84ad7f9 Add license header to source files. 2022-10-31 18:16:13 +01:00
Luther Blissett
62d1f06c1f Update imports for type migrations. 2022-10-17 00:34:34 +02:00
Luther Blissett
e5c1e962ad tests/burn_proof: Fix public inputs vector. 2022-10-14 02:30:21 +02:00
Luther Blissett
9865b21a28 crypto: Stricter API for nullifier and secretkey. 2022-10-14 02:29:51 +02:00
Luther Blissett
a24d9db8e9 tests: Add test units to test all zkvm opcodes.
TODO: Test failures.
2022-08-29 22:41:23 +02:00
parazyd
8ef05a186b crypto: Rework pedersen commitments to allow also full-width base inside zk. 2022-08-08 15:01:11 +02:00
parazyd
6215fc7bd6 zk: Port code to latest Halo2 API.
greater_than and crypsinous lead proof are temporarily disabled.
2022-06-18 16:08:52 +02:00
parazyd
587f0b4b93 make fix and minor manual cleanups. 2022-05-22 12:29:23 +02:00
aggstam
af07641e08 tests/network_transports.rs: added timeout at tor dials 2022-05-20 16:00:01 +03:00
parazyd
f8c2ee5617 Port codebase to latest halo2 API. 2022-05-16 17:30:46 +02:00
aggstam
3b3a408d27 example/net.rs + tests/network_transports.rs dependencies minor fixes 2022-05-11 19:09:39 +03:00
parazyd
be3f87cfea net: Rework transports for protocol upgrades. 2022-05-03 00:18:53 +02:00
parazyd
f4bab15776 Update dependencies and CI. 2022-04-23 21:21:19 +02:00
narodnik
ae6d27001c Merge branch 'pil' 2022-04-10 05:27:41 +02:00
piltom
4dbd513418 net/transport add tor transport 2022-04-09 20:16:23 +02:00
lunar-mining
ba355bc95c test/arithmetic_proof: add simplelog and set to Debug 2022-04-08 16:16:58 -05:00
parazyd
4d8557155c transport/tls: Clean up and rotate certificates every instantiation. 2022-03-28 19:59:41 +02:00
parazyd
fb2d3a1033 net/transport: Implement listeners for TCP and TLS + integration tests. 2022-03-28 19:59:41 +02:00