--- title: 2024-01-22 Codex Weekly tags: - codex-updates date: 2024-01-22 lastmod: 2024-01-22 draft: false description: Weekly update of Codex --- # Codex Update Dec 15th - Jan 22th > The Codex team is currently wrapping up the demo for the Q1/Q2 public testnet release. An internal testnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. > Ongoing and new lines of research and development will soon begin in preparation for the next version of Codex that will be used for the mainnet release. Development is currently broken into three distinct teams: 1. Client, Testing, and Infrastructure 2. Marketplace 3. Research The different teams have actively moving on various fronts. The following are their team updates to various ongoing Epics. ## Client ### Epic: Wiring the Proving System - Completed: - [Wire Sampler to SlotBuilder](https://github.com/codex-storage/nim-codex/pull/676) - [Exports fromBytes from the library](https://github.com/codex-storage/nim-poseidon2/pull/19) - [Convert from 32 bytes](https://github.com/codex-storage/nim-poseidon2/pull/18) - Ongoing: - [Dataset expiry](https://github.com/codex-storage/nim-codex/pull/678) - Update DataSampler to match updated SlotBuilder - Investigate: way to run codex tests through valgrind or similar tool - Integrate DataSampler in Marketplace callbacks ### Epic: Improve Client Stability - Completed: - [Update to Chronos V4](https://github.com/codex-storage/nim-codex/pull/673) - [Add exception handling for Chronos V4](https://github.com/codex-storage/asynctest/pull/13) - [Compiler PR to Chronos V4 bugs](https://github.com/nim-lang/Nim/pull/23215) - Ongoing: - [Codex CI improvements](https://github.com/codex-storage/nim-codex/pull/680) - Track down segfault issue after rebase of Chronos V4 PR ## Marketplace ### Epic: End-to-end Testing - Completed: - [Add working testnet starter](https://github.com/codex-storage/codex-testnet-starter) - Updates to [Codex frontend](https://github.com/codex-storage/codex-frontend) include: - Add node storage information - Upload page updates periodically - Change error messages to appear below input area instead of an alert - [Finish the Github Workflow to compile, build and setup the circuit with included generated proof for testing](https://github.com/codex-storage/codex-storage-proofs-circuits/actions/workflows/generate.yml) - Initial work on integration of the verifier into smart-contract suite, with passing storage proof tests - Rebase [nim-ethers to the latest version, 0.7.1](https://github.com/codex-storage/nim-codex/pull/664) - Rebase [create logging proxy](https://github.com/codex-storage/nim-codex/pull/663) had symbol resolution errors, created [PR for nim-poseidon2](https://github.com/codex-storage/nim-poseidon2/pull/19) to resolve and complete rebase - Rebase [multinode integration test refactor](https://github.com/codex-storage/nim-codex/pull/662), had to remove upraises annotations from some callbacks in the tests - Refactor [add MarketError](https://github.com/codex-storage/nim-codex/pull/670), refactoring ethers error handling, reviewing verifier integration in [codex-contracts-eth](https://github.com/codex-storage/codex-contracts-eth/pull/79) - Complete [Github Workflow](https://github.com/codex-storage/codex-storage-proofs-circuits/actions/workflows/generate.yml) for testing, worked on integration of verifier into smart-contract suit. - Released [0.10.13](https://github.com/codex-storage/codex-contracts-eth/releases/tag/v0.10.13) with improvements, released [asynctest 0.5.0](https://github.com/codex-storage/asynctest/releases/tag/0.5.0), - Ongoing: - Continue work on Solidity verifier ## Infra - Completed: - [Resolve issues on docs.codex.storage](https://github.com/codex-storage/infra-codex/issues/118) - [Add documentation about DNS names and convention](https://github.com/codex-storage/infra-docs/issues/16) - [Check download speed for codex-storage-proofs-circuits](https://github.com/codex-storage/infra-codex/issues/121) - [Switch from AWS Windows instance to Hetzner](https://github.com/codex-storage/infra-codex/issues/120) - Ongoing: - [Deploy a site to store circuit ceremony files](https://github.com/codex-storage/infra-codex/issues/122) - [Deploy Codex Storage nodes in Testnet cluster](https://github.com/codex-storage/infra-codex/issues/115) ## Research ``` 2024 R&D Goals 1. Proving system and aggregation improvements (folding or lookups) 2. Aggregator/validator design 3. DHT improvements 4. Tokenomics and incentive design 5. Bandwidth incentives 6. Dynamic data (appendable data) ``` - Completed: - Debug Groth16 implementation, discovered local bug in [constantine], made a CLI interface (+other improvements) for the Groth16 prover - Research and solve puzzles for ZK hack IV kickoff - Play with binary field used in the new Binius proof system - Catchup with recent research (https://zkmesh.substack.com/p/zkmesh-dec-2023-recap) - Explore Nova-Scotia, discussed [hash padding](https://github.com/codex-storage/nim-poseidon2/pull/17) - Update [Merkle tree proposal document](https://github.com/codex-storage/codex-research/blob/796b4937c8e12c639016222a78dbcba641d26cc9/design/Merkle.md) - Explore [Ascon hash](https://ascon.iaik.tugraz.at/index.html) as a possible replacement for SHA256 - Ongoing: - PoC Ascon hash implementation in circom (not competitive with other hashes, at least not in circom) - Think about how to implement SHA256 proofs - More learning about lookups and folding - Start working out the details of an idea about how to do efficient proofs of computations on bits (eg. range checks, classical hash functions)