diff --git a/content/vac/nes/index.md b/content/vac/nes/index.md index 3744204c2..450b56e61 100644 --- a/content/vac/nes/index.md +++ b/content/vac/nes/index.md @@ -5,17 +5,24 @@ tags: - zkvm - vac date: 2023-08-25 -lastmod: 2023-10-07 +lastmod: 2024-05-22 --- ### `vac:nes:state-separation` -* [[vac/nes/state-separation/vac/state-separation-doc | state-separation-doc ]] +* [[vac/nes/state-separation/vac/state-separation-doc-01 | state-separation-doc-01 ]] +* [[vac/nes/state-separation/vac/state-separation-doc-02 | state-separation-doc-02 ]] +* [[vac/nes/state-separation/vac/state-separation-architecture-01 | state-separation-architecture-01 ]] +* [[vac/nes/state-separation/vac/state-separation-architecture-02 | state-separation-architecture-02 ]] ### `vac:nes:proofsystems` * [[vac/nes/proofsystems/vac/research-existing-proofsystems|research-existing-proofsystems ]] * [[vac/nes/proofsystems/vac/benchmarks|benchmarks]] +### `vac:nes:virtual-machine-creation` +* [[vac/nes/virtual-machine-creation/vac/vm-foundations|vm-foundations ]] + + diff --git a/content/vac/nes/proofsystems/vac/benchmarks.md b/content/vac/nes/proofsystems/vac/benchmarks.md index b721333ff..31089dd01 100644 --- a/content/vac/nes/proofsystems/vac/benchmarks.md +++ b/content/vac/nes/proofsystems/vac/benchmarks.md @@ -1,7 +1,7 @@ --- title: "Benchmarks" --- -## `vac:zkvm:proofsystems:vac:benchmarks` +## `vac:nes:proofsystems:vac:benchmarks` --- ```mermaid @@ -22,7 +22,7 @@ gantt tickInterval 1month dateFormat YYYY-MM-DD section Status - Benchmarks: 2023-03-01, 2023-11-30 + Benchmarks: 2023-03-01, 2024-05-31 ``` - status: 70% @@ -30,6 +30,13 @@ gantt ### Description +Since Nescience's main goal is to be innovative in privacy technology (by building a virtual machine that prioritizes privacy, +utilizing mainstream and specialized instruction sets optimized for Zero-Knowledge (ZK) applications), +a key focus is the evaluation of different proof systems especially new ones like the Nova-based proof system against alternatives to identify the best fit for our needs. +This milestone is important for advancing privacy-preserving technologies, setting a benchmark for the fair and effective comparison of ZKP systems. +It's important for both our project's infrastructure and the broader field. The diversity of ZKP system designs necessitates a standardized benchmarking approach to ensure fair comparison, +respecting each system's unique features (which we are aiming to achieve and accomplish) + Comprises: * research log post @@ -37,5 +44,23 @@ Comprises: * benchmarks (recursive) for all current proof-systems (unless there is a good reason not to include one) * scientific paper +### Work Breakdown + +* By conducting deep investigation of ZKP systems, we aim to demystify the complexities of cryptographic benchmarking and highlight our findings' relevance to privacy technology advancement. + +* By rewriting circuits and using same techniques as recursive approach and Poseidon hash functions, we ensure that the comparison focuses on inherent system properties rather than external variables. +This approach will help normalize one of the key variables across systems, allowing for a more direct and fair comparison of their efficiency, scalability, and other critical metrics. + + ### Deliverables +* Research blog post +* Public benchmark repo on Github (it includes and overall explanation, full circuits implementation and explanation, instructions to execute benchmarks, and testing results on diffferent machines) +* Implementation of recursive circuitsfor all current proof-systems (unless there is a good reason not to include one) +* scientific paper + +**Impact:** By selecting the most effective proof system, such as potentially Nova-based ones, based on superior performance, +we aim to strengthen our project's foundation and contribute valuable insights to the privacy field and the scientific community. +This milestone can be useful to any team within the organization to help choose the correct proof system based on their needs +and in general it help the scientific community to get useful insights to progress on different projects within the blockchain field. + diff --git a/content/vac/nes/proofsystems/vac/research-existing-proofsystems.md b/content/vac/nes/proofsystems/vac/research-existing-proofsystems.md index 78e8d2001..aff6ea89a 100644 --- a/content/vac/nes/proofsystems/vac/research-existing-proofsystems.md +++ b/content/vac/nes/proofsystems/vac/research-existing-proofsystems.md @@ -1,7 +1,7 @@ --- title: "Research Existing Proofsystems" --- -## `vac:zkvm:proofsystems:vac:research-existing-proofsystems` +## `vac:nes:proofsystems:vac:research-existing-proofsystems` --- ```mermaid @@ -22,14 +22,33 @@ gantt tickInterval 1month dateFormat YYYY-MM-DD section Status - Research Existing Proofsystems: 2023-01-01, 2023-11-30 + Research Existing Proofsystems: 2023-01-01, 2024-12-31 ``` -- status: 70% +- status: ongoing - CC: team ### Description +This milestone demonstrates our commitment to a continuous and long-term effort aimed at the comprehensive analysis and study of various proof systems, both established and emerging. +The primary objective is to maintain cutting-edge relevance by staying alongside of the latest developments in proof systems, ensuring our projects are at the forefront of privacy technology. +This is important for sustaining our competitive edge and fostering innovation within our projects. +This milestone is foundational to our strategy, enabling us to swiftly adapt to new technologies and incorporate groundbreaking methods that enhance our privacy objectives. + +### Work Breakdown + +Our approach involves a systematic review of current and nascent proof systems, identifying those with the potential to advance our research and project goals. +This includes evaluating their applicability, efficiency, and the privacy enhancements they offer. +By doing so, we aim to uncover novel insights and techniques that can be integrated into our work, furthering our mission to deliver robust privacy solutions. ### Deliverables +* Blog posts +* Potential benchmarks + +**Impact:** The ongoing research and analysis conducted under this milestone are expected to yield multiple benefits: +identification of promising proof systems that could revolutionize our approach to privacy, generation of innovative ideas for future development, +and ensuring our projects remain relevant and impactful in the rapidly advancing field of blockchain and privacy technologies. +This milestone is valuable both internally and externally. Within our organization, it caters to the diverse needs of various teams that utilize proof systems for distinct purposes. +Similarly, it offers the scientific community access to essential insights across different systems without the need to delve into each one individually. + diff --git a/content/vac/nes/state-separation/vac/state-separation-architecture-01.md b/content/vac/nes/state-separation/vac/state-separation-architecture-01.md new file mode 100644 index 000000000..415574e29 --- /dev/null +++ b/content/vac/nes/state-separation/vac/state-separation-architecture-01.md @@ -0,0 +1,138 @@ +--- +title: "State Separation Architecture 01" +description: "Designing and refining a sophisticated model of state separation within the Nescience project" +--- +## `vac:nes:state-separation:vac:state-separation-architecture-01` +--- + +```mermaid +%%{ + init: { + 'theme': 'base', + 'themeVariables': { + 'primaryColor': '#BB2528', + 'primaryTextColor': '#fff', + 'primaryBorderColor': '#7C0000', + 'lineColor': '#F8B229', + 'secondaryColor': '#006100', + 'tertiaryColor': '#fff' + } + } +}%% +gantt + tickInterval 1month + dateFormat YYYY-MM-DD + section Status + State Separation Architecture 01: 2024-01-02, 2024-12-31 +``` + +- status: 20% +- CC: Team + +### Description + +The main goal is to design and refine a sophisticated model of state separation within the Nescience project, +which is aimed at distinctly segregating and managing public and private computational processes, including specialized operations such as shielded and deshielded activities. +This model is focused on improving privacy through the use of Zero-Knowledge Proofs (ZKPs) and overcoming obstacles related to the traceability +and linkability of transactions by employing cutting-edge cryptographic methods and frameworks. +The goal is to create a nuanced architecture that adeptly balances public and private computational needs. +It will utilize an account-based system for public interactions and a UTXO (Unspent Transaction Output)-based method for private transactions, +effectively combining the benefits of public state efficiency and transparency with the strong privacy safeguards of private states. +This effort aims to tackle critical issues in enhancing privacy, engaging deeply with a zero-knowledge virtual machine (zkVM), and achieving significant advances in privacy assurance. + +The Nescience project elevates the concept of state separation to a new level, striking an unparalleled balance between privacy and scalability by enabling simultaneous public and private computations. +Unlike existing initiatives, our model not only integrates these two states but also innovates within the private state to support trusted computing, +achieving scalability without sacrificing privacy. We aim to redefine privacy-oriented technologies, +which are often criticized for their sluggish performance, by introducing a fast, intuitive, and developer-friendly approach to state separation. +Furthermore, we envision the public state serving as a vigilant monitoring layer, safeguarding privacy against any potential ZKP vulnerabilities or attacks, +thereby assuring users of their data security. +Our project distinguishes itself by offering a well-defined theoretical representation of state separation, +complete with graphical analyses for a clearer comparison with other privacy-preserving solutions, thus addressing the lack of specificity and clarity in existing models. + +Interactions with the virtual machine (VM) are pivotal, involving two critical junctures. +Initially, on the user (client) side, transactions that may contain multiple executions, including private, shielded, or deshielded types, are generated as ZK proofs. +These proofs, representing each execution, are then amalgamated into a single ZK proof for submission to the sequencer (VM). +The sequencer's role is to aggregate transactions from users, verify the proofs, validate nullifiers for conflict detection, +and then compile all verified proofs within an epoch to formulate a block. +This process also entails adjustments to the public state in response to the varied executions (public modifications, shielded, and deshielded executions). + +The design criteria for the zkVM include the necessity for high recursion capabilities and sufficient efficiency to ensure usability in terms of memory and computational time on the user side. +This requirement is critical for compatibility with complex tasks like concealing certain information within zkVM operations, +accommodating a significant volume of public and private inputs. The efficiency of verification, even in systems like Groth16 that offer theoretically constant-size verification times, +can be affected as the quantity of inputs grows, underscoring the need for a VM architecture that remains practical and responsive under varying loads. +This nuanced understanding underscores the project's comprehensive approach to leveraging state separation for enhanced privacy and scalability, +all while ensuring compatibility with an advanced zkVM framework. + +The most significant impact of our state separation approach in the Nescience project lies in its innovative privacy features, +which employ an account-based model for the public state and a UTXO-based model for the private state, allowing for individual or group-specific private states. +This method stands out by offering four distinct types of executions: public, private, shielded, and deshielded, each with unique characteristics to maintain privacy and scalability. +Public executions are transparent and swift, modifying accounts without the need for Zero-Knowledge Proofs (ZKPs). +In contrast, private, shielded, and deshielded executions, which involve transferring between public and private states or within private states, + utilize ZKPs to protect sensitive information like addresses, transaction amounts, and smart contract invocations through kernel circuits. + +These executions are further enriched by allowing transactions to comprise various execution types, +ensuring that sensitive data is processed on the user side with ZKPs to prevent exposure in the public state. +For example, transactions involving private tokens or smart contract interactions remain confidential, with minimal information reflected publicly. +This architecture addresses potential risks like linkability and double-spending through the innovative use of nullifiers and accumulators, enhancing privacy without sacrificing security. + +Our approach also introduces Private Directed Acyclic Graphs (PDAGs) as a tool for analyzing and enhancing privacy. +As an extension of Transaction Directed Acyclic Graphs (TDAGs), PDAGs are specifically designed to address and measure two critical aspects of privacy: +unlinkability and untraceability. Unlinkability refers to the property that ensures individual transactions cannot be linked to each other, +making it impossible to trace the flow of assets between transactions from an external observer's perspective. +This feature is crucial for protecting user identities and preventing the exposure of transaction histories. +Untraceability, on the other hand, ensures that it is infeasible to trace transactions back to their source or destination, +providing a further layer of privacy by obscuring the relationship between senders and receivers. +This means that, even if an entity were to observe the network, they would not be able to determine the parties involved in any given transaction. +PDAGs incorporate these principles by structuring transaction records in a way that leverages the benefits of directed acyclic graphs (DAGs), +a type of data structure that allows for efficient data management and retrieval without the limitations of linear or hierarchical arrangements. +In the context of blockchain, DAGs enable faster transactions and greater scalability, while PDAGs extend these benefits with a focus on privacy. +By calculating unlinkability and untraceability metrics within a PDAG framework, it becomes possible to quantitatively assess the privacy level of a blockchain network. +This analytical approach allows for comparisons with other privacy-centric solutions, such as CoinJoin, Tornado Cash, and privacy-focused blockchains like Monero and Zcash. +Through PDAGs, developers can identify potential weaknesses in privacy measures and enhance the network's resistance to analysis and tracking, ensuring a secure and private environment for users. +By incorporating decoy inputs in shielded and deshielded transactions, we further obscure the link between public and private states, significantly reducing the risk of privacy breaches. + +In essence, the Nescience project's state separation method not only advances privacy and scalability in blockchain technology +but also sets new standards in protecting user data through a sophisticated blend of theoretical models and practical implementations. +This approach not only addresses current privacy concerns but also lays the groundwork for future investigations into efficient and secure private state exchanges. + +To provide a structured approach to the development of the advanced State Separation Architecture for the Nescience project, +focusing on privacy enhancement, we can break down the milestone into distinct sub-milestones, each with its own specific work breakdown and deliverables. + +### Justification + +### Work Breakdown and Deliverables + +* Sub Milestone 1 (Q2 2024): Execution Types and Privacy Mechanism Design + + **Work Breakdown:** Define and design the distinct execution types (public, private, shielded, and deshielded) and their respective privacy mechanisms, integrating Zero-Knowledge Proofs (ZKPs) for enhanced privacy. + + **Deliverables:** Set of comprehensive deliverables, including an Execution Type Design Document that offers a detailed examination of the specifications and workflows associated with public, private, shielded, and deshielded executions. Additionally, a Privacy Integration Blueprint will be developed to outline the method by which Zero-Knowledge Proofs (ZKPs) are seamlessly integrated into the Nescience architecture. + +* Sub Milestone 2 (Q2 2024): Cryptographic Infrastructure and Nullification Strategy + + **Work Breakdown:** Develop the cryptographic infrastructure necessary for the state separation architecture, including nullifiers and accumulators, to prevent double-spending and ensure unlinkability of notes. First step would be identifying and selecting suitable cryptographic primitives for nullifiers and accumulators, then implementing the selected primitives in the architecture. + + **Deliverables:** A detailed guide on the implementation and integration of nullifiers and accumulators within the state separation model, including their roles in the architecture. + +* Sub Milestone 3 (Q3 2024): Enhancing Transaction Privacy with Decoy Inputs + + **Work Breakdown:** Incorporate empty notes as decoy inputs for shielded and deshielded executions to enhance the untraceability and unlinkability of transactions. First we aim to design the mechanism for integrating decoy inputs into transactions to act as noise; then we develop a prototype that demonstrates the effectiveness of decoy inputs in enhancing transaction privacy. + + **Deliverables:** A prototype showcasing the implementation of decoy inputs, accompanied by evaluation results highlighting their impact on privacy enhancement. + +* Sub Milestone 4 (Q4 2024): TDAG & PDAG Integration for Privacy Enhancement + + **Work Breakdown:** Use Transaction Directed Acyclic Graphs (TDAGS) and Private Directed Acyclic Graphs (PDAGs) for a comparative analysis of the Nescience architecture's privacy features. The main idea is to implement PDAGs to improve unlinkability and untraceability within the project, enhancing privacy features. This can be done by developing and integrating PDAG structure, oncluding data structures, algorithms and the integration mechanism with the existing system; by conducting thorough testing of the PDAG implementation to identify issues or areas of improvements; and by monitoring its performance and impact on privacy enhancement. + + **Deliverables:** + * Report on PDAG reearch and analysis. + * PDAG integration technical specifications and design documents. + * A functioning PDAG implementation with testing reports. + * Documentation on PDAG privacy improvements and security analysis. + +### Risks + +We currently have 2 open positions for hiring a 1) Zero Knowledge Research Engineer and a 2) Zero Knowledge Researcher. +Currently we are finding some difficulties in finding the best candidates for these positions and therefore we need to consume Vac resources (namely Ugur and Marvin) for a longer time to focus on Nescience projects. + + diff --git a/content/vac/nes/state-separation/vac/state-separation-architecture-02.md b/content/vac/nes/state-separation/vac/state-separation-architecture-02.md new file mode 100644 index 000000000..c26ccfdb5 --- /dev/null +++ b/content/vac/nes/state-separation/vac/state-separation-architecture-02.md @@ -0,0 +1,71 @@ +--- +title: "State Separation Architecture 02" +description: "Designing and refining a sophisticated model of state separation within the Nescience project" +--- +## `vac:nes:state-separation:vac:state-separation-architecture-02` +--- + +```mermaid +%%{ + init: { + 'theme': 'base', + 'themeVariables': { + 'primaryColor': '#BB2528', + 'primaryTextColor': '#fff', + 'primaryBorderColor': '#7C0000', + 'lineColor': '#F8B229', + 'secondaryColor': '#006100', + 'tertiaryColor': '#fff' + } + } +}%% +gantt + tickInterval 1month + dateFormat YYYY-MM-DD + section Status + State Separation Architecture 02: 2025-01-02, 2025-12-31 +``` + +- status: 0% +- CC: Team + +### Description + +contiunation of `vac:nes:state-separation:vac:state-separation-architecture-02` + +### Justification + +### Work Breakdown and Deliverables + +* Sub Milestone 1 (Q2 2025): Kernel-based Architecture Implementation + + **Work Breakdown:** Develop a kernel-based framework for verifying private function executions accurately, using a recursive SNARKs approach to build and validate a call stack. This is to ensure robust proof of execution sacrificing computational resources (raising gas fees due to the intensive nature of generating SNARK proofs and handling recursive computations). We will focus on balancing the precision of recursive verification with its computational costs, aiming for a system that guarantees the integrity of private functions while managing resource use efficiently. + + **Deliverables:** + * A data structure to manage recursive function calls, ensuring efficiency and security. + * A system to securely accumulate and manage proof data for recursive calls, facilitating tamper-resistant proof handling. + * Generation of intermediary SNARK proofs for each recursive call, with aggregation capabilities for comprehensive stack validation. + * Establishment of a maximum recursion depth with enforcement mechanisms to prevent computational overflow. + * A fully integrated recursive verification system with extensive testing to ensure functionality, security, and performance under varied conditions. + +* Sub Milestone 2 (Q3 2025): Seamless Interaction Design + + **Work Breakdown:** Address the challenge of potential information leakage between private and public transactions by ensuring composability between contracts and secure integration of functions. Moreover, we would like to be able to create secure channels for contract composability and interaction layers that prevent private data exposure by implementing strategic safeguards against information leakage. + + **Deliverables:** + * Intermediary smart contracts for secure public-private interactions. + * Confidential sidechains and cross-chain protocols employement. + * Fragmentation of data across shards for private interaction. + + +* Sub Milestone 3 (Q4 2025): Virtual Machine Creation + + **Work Breakdown:** Our aim is to deploy our work in progress state separation architecture within a privacy-first zero knowledge virtual machine since it places an emphasis on privacy enhancements (which we need for our privacy-first zkVM). + + **Deliverables:** A functioning privacy-first zkVM that ensures that while private state data remains undisclosed, public state transitions can still be carried out and subsequently verified by third parties. + + +### Risks + + + diff --git a/content/vac/nes/state-separation/vac/state-separation-doc-01.md b/content/vac/nes/state-separation/vac/state-separation-doc-01.md new file mode 100644 index 000000000..2afc71909 --- /dev/null +++ b/content/vac/nes/state-separation/vac/state-separation-doc-01.md @@ -0,0 +1,64 @@ +--- +title: "State Separation Doc" +description: "Document explaining and providing reason for Nescience state separation." +--- +## `vac:nes:state-separation:vac:state-separation-doc-01` +--- + +```mermaid +%%{ + init: { + 'theme': 'base', + 'themeVariables': { + 'primaryColor': '#BB2528', + 'primaryTextColor': '#fff', + 'primaryBorderColor': '#7C0000', + 'lineColor': '#F8B229', + 'secondaryColor': '#006100', + 'tertiaryColor': '#fff' + } + } +}%% +gantt + tickInterval 1month + dateFormat YYYY-MM-DD + section Status + State Separation 01: 2023-09-20, 2024-12-31 +``` + +- status: 50% +- CC: Moudy + +### Description + +Document explaining and providing reason for Nescience state separation. + +In this milestone, the first part (https://vac.dev/rlog/Nescience-A-zkVM-leveraging-hiding-properties) focuses on conducting detailed exploration of the multifaceted challenges, +potential solutions, and alternatives that lay ahead building Nescience, a privacy-first blockchain project aiming to enable private transactions and provide a general-purpose execution environment for classical applications. +The second part aims to delve deeper into the selected strategic paths for developing a privacy-first blockchain, +detailing the methodologies for addressing the identified challenges, the decisions made to enhance privacy, and the expected outcomes. + +### Justification + +### Work Breakdown + +* Document all the research findings, the development steps and the methodologies. +* Explain the utility and adoption process of each solution to reinforce privacy within the project +* Explain the shift in focus towards detailing the chosen paths for the project development, including the rationale behind these decisions and their alignment with privacy enhancements. +* Review future directions, potential areas of research, and ongoing development efforts to continue advancing privacy within the Nescience project + +### Risks + +We currently have 2 open positions for hiring a 1) Zero Knowledge Research Engineer and a 2) Zero Knowledge Researcher. +Currently we are fiding some difficulties in finding the best candidates for these positions and therefore we need to consume Vac resources (namely Ugur and Marvin) for a longer time to focus on Nescience projects. + + +### Deliverables + +* Blog posts. +* Scientific papers. + +**Impact:** By clearly articulating the exploration from identifying challenges to implementing solutions, +Part Two of the State Separation Document aims to serve as a comprehensive guide and reference for enhancing privacy in blockchain technologies, +marking a significant milestone in the Nescience project's development. + diff --git a/content/vac/nes/state-separation/vac/state-separation-doc-02.md b/content/vac/nes/state-separation/vac/state-separation-doc-02.md new file mode 100644 index 000000000..53bdd9791 --- /dev/null +++ b/content/vac/nes/state-separation/vac/state-separation-doc-02.md @@ -0,0 +1,56 @@ +--- +title: "State Separation Doc 02" +description: "Continued work on Documents explaining and providing reason for Nescience state separation." +--- +## `vac:nes:state-separation:vac:state-separation-doc-02` +--- + +```mermaid +%%{ + init: { + 'theme': 'base', + 'themeVariables': { + 'primaryColor': '#BB2528', + 'primaryTextColor': '#fff', + 'primaryBorderColor': '#7C0000', + 'lineColor': '#F8B229', + 'secondaryColor': '#006100', + 'tertiaryColor': '#fff' + } + } +}%% +gantt + tickInterval 1month + dateFormat YYYY-MM-DD + section Status + State Separation: 2025-01-02, 2025-12-31 +``` + +- status: 0% +- CC: Moudy + +### Description + +This open milestone is crucial for ensuring that our development aligns with the evolving needs and expectations of users and organization. +We aim not only to address the immediate challenges of developing a privacy-first blockchain but also to lay the groundwork for future innovations in blockchain privacy and security. + +Note: This is an ongoing and long term milestone with possible deliveries within the year 2024. +The timing and nature of these deliveries are contingent upon our continuous findings and their subsequent impact on privacy for both the organization and the community. + + +### Justification + + +### Work Breakdown + +* Document all the research findings, the development steps and the methodologies. +* Explain the utility and adoption process of each solution to reinforce privacy within the project +* Explain the shift in focus towards detailing the chosen paths for the project development, including the rationale behind these decisions and their alignment with privacy enhancements. +* Review future directions, potential areas of research, and ongoing development efforts to continue advancing privacy within the Nescience project + +### Deliverables + +* Blog posts. +* Scientific papers. + + diff --git a/content/vac/nes/state-separation/vac/state-separation-doc.md b/content/vac/nes/state-separation/vac/state-separation-doc.md deleted file mode 100644 index 758d36205..000000000 --- a/content/vac/nes/state-separation/vac/state-separation-doc.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: "State Separation Doc" -description: "Document explaining and providing reason for Nescience state separation." ---- -## `vac:zkvm:state-separation:vac:state-separation-doc` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - State Separation: 2023-09-20, 2023-10-31 -``` - -- status: 100% -- CC: Moudy - -### Description - -Document explaining and providing reason for Nescience state separation. - - -### Justification - - -### Deliverables - - - diff --git a/content/vac/nes/virtual-machine-creation/vm-foundations.md b/content/vac/nes/virtual-machine-creation/vm-foundations.md new file mode 100644 index 000000000..169bd2770 --- /dev/null +++ b/content/vac/nes/virtual-machine-creation/vm-foundations.md @@ -0,0 +1,78 @@ +--- +title: "VM Foundations" +--- +## `vac:nes:virtual-machine-creation:vac:vm-foundations` +--- + +```mermaid +%%{ + init: { + 'theme': 'base', + 'themeVariables': { + 'primaryColor': '#BB2528', + 'primaryTextColor': '#fff', + 'primaryBorderColor': '#7C0000', + 'lineColor': '#F8B229', + 'secondaryColor': '#006100', + 'tertiaryColor': '#fff' + } + } +}%% +gantt + tickInterval 1month + dateFormat YYYY-MM-DD + section Status + VM Foundations: 2024-03-01, 2024-12-31 +``` + +- status: 70% +- CC: team + +### Description + +The focus of this milestone is on the significant adaptation of a Zero-Knowledge Virtual Machine (zkVM) that places an emphasis on privacy enhancements. By modifying existing zkVM frameworks, the goal is to integrate advanced cryptographic primitives to create a highly secure, privacy-preserving computational environment. This includes exploring and implementing cutting-edge research in cryptographic techniques and ensuring these can be efficiently executed within our zkVM framework, with an example pathway through Nexus VM for specific Rust-based cryptographic implementations. The analysis includes RISC Zero, GKR-based VMs, and Layer 2 zkVMs, with a focus on their instruction set architectures, privacy capabilities, proof complexities, and specific innovations or limitations. This milestone will be divided in several sub-milestones in order to understand which paths to take and which path would better fit in order to get tangible output (see Work Breakdown and Deliverables) + + +### Work Breakdown & Deliverables +* Sub Milestone 1: Privacy Cryptography Research and Selection + + **Work Breakdown:** Conduct exhaustive research into cryptographic primitives that enhance privacy, determining which are most applicable and promising for integration into a zkVM. + + **Deliverables:** + * A comprehensive review of current cryptographic techniques that enhance privacy, including signature schemes and MPC schemes, focusing on those with potential for zkVM integration. + * Analysis of selected cryptographic primitives for implementation in Rust, considering their compatibility with the zkVM environment, specifically within frameworks like Nexus VM. + +* Sub Milestone 2: Cryptographic Implementation and Testing (Related to Sub Milestone 1) + + **Work Breakdown:** Implement the selected cryptographic primitives in Rust (From Sub Milestone 1), ensuring they are optimized for privacy enhancement within the zkVM framework. + + **Deliverables:** Repo documenting the testing processes, performance evaluations, and optimizations applied to the cryptographic implementations to ensure privacy efficiency and scalability within the zkVM. + + +* Sub Milestone 3: zkVM Adaptation for Privacy + + **Work Breakdown:** Adapt an existing zkVM to integrate the implemented cryptographic primitives, prioritizing privacy preservation. For instance we can think about replacing Merkle trees with Verkle trees within existing VMs, or adding proof compression layer to replace logarithmic proof sizes with constant sized proofs. The possible prototype could potentially incorporate selected features and optimizations from the previous phases. This involves implementing privacy-preserving properties, selecting appropriate instruction sets, and integrating advancements such as Nova-based proof systems. + + **Deliverables:** + * Potential Privacy-Centric zkVM Prototype: A zkVM that integrates the Rust-based cryptographic libraries, showcasing enhanced privacy capabilities. + * Detailed documentation on performance metrics and comparative analysis with existing systems. + + +* Sub Milestone 4: Deployment and Real-World Application Testing + + **Work Breakdown:** Deploy the privacy-centric zkVM in a controlled environment and test its real-world applicability and performance, focusing on privacy-preserving computations. + + **Deliverables:** An outline for deploying the zkVM in a test env, including infrastructure and security considerations, along with results of testings focusing on ptivacy preservation. + + +* Sub Milestone 5: Community Engagement and Open-Source Contributions + + **Work Breakdown:** Engage with the cryptographic and privacy communities and teams within the organization to gather feedback, share insights, and contribute to the open-source ecosystem, fostering wider adoption and collaboration. + + **Deliverables:** Release of the developed cryptographic libraries and zkVM source code to the open-source community, accompanied by comprehensive documentation and guides for implementation and use. + + +**Impact:** This plan underscores the goal for delivering a zkVM with strong focus on privacy enhancements. By identifying and integrating advanced cryptographic primitives, and considering the deployement within environments like Nexus VM or similar VMs, this milestone aims to make significant contributions to the field of privacy-preserving computation. Sub milestones may slightly change and some of them might be accomplished faster than others especially that during the previous period, we have focused on existing zkVMs and extensively studied the integration of cryptographic primitives to enhance pivacy. + + +