From e09a1846ead9755537fea4b64f4d26ba7fca239b Mon Sep 17 00:00:00 2001 From: lunar-mining Date: Wed, 8 Jun 2022 14:56:50 -0500 Subject: [PATCH] book/ architecture: correct PoS description in overview and fix typo --- doc/src/architecture/blockchain.md | 5 ++-- doc/src/architecture/overview.md | 44 ++++++++++++++++++++++++------ 2 files changed, 39 insertions(+), 10 deletions(-) diff --git a/doc/src/architecture/blockchain.md b/doc/src/architecture/blockchain.md index 50f611ac5..87c56731a 100644 --- a/doc/src/architecture/blockchain.md +++ b/doc/src/architecture/blockchain.md @@ -7,10 +7,11 @@ system based on voting between the participating parties. The blockchain is currently in the devnet phase and has no concept of a consensus token. Darkfi is actively working to upgrade its consensus to Ouroboros -Crupsinous, a privacy focused proof-of-stake algorithm. To accomodate +Crypsinous, a privacy focused proof-of-stake algorithm. To accomodate this transition it has designed its data structures to be easy to upgrade. -Below is a specification of how DarkFi's blockchain achieves consensus. +Below is a specification of how DarkFi's current blockchain achieves +consensus. ## Blockchain diff --git a/doc/src/architecture/overview.md b/doc/src/architecture/overview.md index 9f5fef9f7..6f5743d7c 100644 --- a/doc/src/architecture/overview.md +++ b/doc/src/architecture/overview.md @@ -1,17 +1,45 @@ # Overview -DarkFi is a layer one proof-of-stake blockchain that supports anonymous applications. It is currently under development. This overview will outline a few key terms that help explain DarkFi. +DarkFi is a layer one proof-of-stake blockchain that supports anonymous +applications. It is currently under development. This overview will +outline a few key terms that help explain DarkFi. -**Cashier:** The Cashier is the entry-point to the DarkFi network. Its role is to exchange cryptocurrency assets for anonymous _darkened_ tokens that are pegged to the underlying currency. Currently, the role of the Cashier is trusted and centralized. As a next step, DarkFi plans to implement trust-minimized bridges and eventually fully trustless bridges. +**Cashier:** The Cashier is the entry-point to the DarkFi network. Its +role is to exchange cryptocurrency assets for anonymous _darkened_ tokens +that are pegged to the underlying currency. Currently, the role of the +Cashier is trusted and centralized. As a next step, DarkFi plans to +implement trust-minimized bridges and eventually fully trustless bridges. -**Blockchain:** Once new anonymous tokens (e.g. dETH) have been issued, the Cashier posts that data on the blockchain. This data is encrypted and the transaction link is broken. +**Blockchain:** Once new anonymous tokens (e.g. dETH) have been issued, +the Cashier posts that data on the blockchain. This data is encrypted +and the transaction link is broken. -The DarkFi blockchain uses a Proof-of-Stake consensus system. The blockchain is currently in devnet phase. This is a local testnet ran by the DarkFi community. Currently, the blockchain has no consensus token. In the future, staking will be rewarded with transaction fees. +The DarkFi blockchain is currently using a very simple consensus protocol +called Streamlet. The blockchain is currently in devnet phase. This is a +local testnet ran by the DarkFi community. Currently, the blockchain has +no consensus token. DarkFi is working to upgrade to a privacy-enhanced +proof-of-stake algorithm called OuroborusCrypsinous. -**Wallets:** A wallet is a portal to the DarkFi network. It provides the user with the ability to send and receive anonymous _darkened_ tokens. Each wallet is a full node and stores a copy of the blockchain. All contract execution is done locally on the DarkFi wallet. +**Wallets:** A wallet is a portal to the DarkFi network. It provides +the user with the ability to send and receive anonymous _darkened_ +tokens. Each wallet is a full node and stores a copy of the +blockchain. All contract execution is done locally on the DarkFi wallet. -**P2P Network:** The DarkFi ecosystem runs as a network of P2P nodes, where these nodes interact with each other over specific protocols (see [node overview](dna.md)). Nodes communicate on a peer-to-peer network, which is also home to tools such as our P2P [irc](../misc/ircd.md) and P2P task manager [tau](../misc/tau.md). +**P2P Network:** The DarkFi ecosystem runs as a network of P2P nodes, +where these nodes interact with each other over specific protocols (see +[node overview](dna.md)). Nodes communicate on a peer-to-peer network, +which is also home to tools such as our P2P [irc](../misc/ircd.md) +and P2P task manager [tau](../misc/tau.md). -**zkas:** zkas is the compiler used to compile zk smart contracts in its respective assembly-like language. The "assembly" part was chosen as it's the bare primitives needed for zk proofs, so later on the language can be expanded with higher-level syntax. Its underlying zero-knowledge proof system is Halo2. +**zkas:** zkas is the compiler used to compile zk smart contracts in +its respective assembly-like language. The "assembly" part was chosen as +it's the bare primitives needed for zk proofs, so later on the language +can be expanded with higher-level syntax. Its underlying zero-knowledge +proof system is Halo2. -**ZK contracts:** Anonymous applications on DarkFi run on proofs that enforce an order of operations. We call these zero-knowledge contracts. Anonymous transactions on DarkFi is possible due to the interplay of two contracts, mint and burn (see the [sapling payment scheme](../zkas/examples/sapling.md)). Using the same method, we can define advanced applications. +**ZK contracts:** Anonymous applications on DarkFi run on proofs +that enforce an order of operations. We call these zero-knowledge +contracts. Anonymous transactions on DarkFi is possible due to the +interplay of two contracts, mint and burn (see the [sapling payment +scheme](../zkas/examples/sapling.md)). Using the same method, we can +define advanced applications.