Skip to content

Commit f5fbada

Browse files
authored
Merge pull request #43 from Convex-Dev/develop
Various WIP doc updates
2 parents f1fce70 + 8b29590 commit f5fbada

File tree

8 files changed

+111
-22
lines changed

8 files changed

+111
-22
lines changed

docs/overview/concepts.md

Lines changed: 46 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,54 @@ authors: [convex]
44
tags: [convex]
55
---
66

7-
## Overview
7+
# Overview
88

9-
Convex is a decentralised platform for the Internet of Value, offering flexibility and scalability far beyond the capabilities of traditional blockchains. In particular, it is designed to support high volume, interactive applications used directly by end users such as for mobile apps, payments and gaming.
9+
Convex is an open platform for building decentralised applications that require a high performance, trusted global state without needing to depend on centralised services.
10+
11+
It delivers the promise of the Internet of Value, offering flexibility and scalability far beyond the capabilities of traditional blockchains. In particular, it is supports high volume, interactive applications used directly by end users such as for mobile apps, payments and gaming.
12+
13+
## Lattice Technology
14+
15+
Convex is based on **lattice technology**. A lattice is a concept from mathematics: a set where every element can be merged with any other element with a "merge" function that is commutative, idempotent and associative.
16+
17+
A consequence of this is that distributed systems can share their lattice values and the lattice is guaranteed to converge to a single consensus value - this is the key idea behind a CRDT (conflict-free replicated data type). CRDTs are well known as a powerful way to build scalable, fault-tolerant distributed systems (e.g Redis).
18+
19+
Lattice technology builds on the idea of CRDTs in several key ways:
20+
- Adding cryptographic security to enable secure decentralised operation (digital signatures and cryptographic hashes)
21+
- Ability to create consensus over an ordering of transactions (essential for transaction security, e.g. the double-spend problem)
22+
- Use of powerful immutable persistent data structures as the lattice values. These can be of arbitrary size and contain arbitrary data, but only the differences need to be transmitted and processed - similar to the "git" version control system.
23+
- Lattice data structures are also Merkle trees, proving strong integrity guarantees and fast identity checking.
24+
25+
By combining the principles of CRDTs with cryptographic security, transactional ordering and immutable data structures, Convex offers a unique solution for building decentralised systems that can reliably converge to consensus, even in the face of network failures or malicious attacks.
26+
27+
## Convergent Proof of Stake (CPoS)
28+
29+
The consensus algorithm used by Convex to secure on-chain transactions is **Convergent Proof of Stake**, which is described in more detail in the [Convex White Paper](convex-whitepaper.md)
30+
31+
The main properties of CPoS are:
32+
- Byzantine Fault Tolerance (similar to PBFT)
33+
- Stake weighted voting by peers (67% required to ensure stable consensus)
34+
- Leaderless design - peers can submit transaction in parallel
35+
- Resistance to front-running
36+
37+
In general, users and developers don't need to care about CPoS happening: it is handled by peers participating in the consensus lattice. They just get to enjoy lightning fast, secure transactions.
38+
39+
40+
## Comparison with Blockchains
41+
42+
Convex is not a blockchain: Its unique lattice technology maintains consensus via a CRDT, rather tying a block to the previous block. This allows significantly better realtime performance as it is a leaderless system with zero block delay.
43+
44+
However, comparisons are inevitable so it is worth noting that Convex can still do everything possible on a blockchain and more:
45+
- Create and execute smart contracts (via the CVM)
46+
- Enforce cryptographic security for digital assets and on-chain data
47+
- Provide decentralised services such as identity, trust and immutable provenance
48+
49+
Architecturally, Convex is exceptionally simple and developer-friendly:
50+
- A single global consensus state avoids the problems and risks of cross-chain / cross-shard transactions - you get the benefits of high scalability without architectural complexity and operational risks
51+
- An on-chain compiler makes it simple to submit and execute sophisticated transactions without external tools
52+
- Transactions are atomic and Turing complete, so you can implement arbitrary logic with the safety of complete automatic rollbacks if anything fails
53+
- Clients need only a standard Ed25519 key pair to transact (via the REST API or the binary protocol)
1054

1155

12-
## Governance
1356

14-
Convex is governed by the non-profit Convex Foundation. The Foundation performs the following activities:
1557

16-
- Ensures good governance of the Convex Network
17-
- Operates key resources on behalf of the community, including the https://convex.world website and developer resources such as GitHub repositories
18-
- Acts as this initial issuer of Convex Coins to individuals and organisations, including management of the release curve
19-
- Provides awards for contributors to Convex (e.g. open source developers)
20-
- Supports the development of the Convex ecosystem via partnerships, marketing, education and other initiatives

docs/overview/governance.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
2+
# Governance
3+
4+
Convex is governed by the non-profit Convex Foundation. The Foundation performs the following activities:
5+
6+
- Ensures good governance of the Convex Network
7+
- Operates key resources on behalf of the community, including the https://convex.world website and developer resources such as GitHub repositories
8+
- Acts as this initial issuer of Convex Coins to individuals and organisations, including management of the release curve
9+
- Provides awards for contributors to Convex (e.g. open source developers)
10+
- Supports the development of the Convex ecosystem via partnerships, marketing, education and other initiatives
Loading

docs/products/convex-desktop/index.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
# Convex Desktop
22

3-
The Convex CLI (Command Line Interface) is a powerful tool for interacting with Convex from the command line on Windows, Linux and MacOS. It's a handy tool for system administrators and peer operators who need to script interactions with the Convex Network.
3+
Convex Desktop is a GUI tool for interacting with Convex. Designed for developers and power users, it puts all the capabilities of Convex at your fingertips.
44

5-
```
65
![Convex Desktop Screenshot](convex-desktop.png)
7-
```
6+
87
## Installation
98

10-
The Convex Desktop requires:
9+
Convex Desktop requires:
1110
- A recent version of Java (21+, Java 22 recommended)
1211
- A GUI based operating system (e.g. Windows, Linux or MacOS)
1312
- A copy of the `convex.jar` executable jar file

docs/products/convex-peer/index.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Peer Container
2+
3+
Convex is packaged in the Peer Container for easy deployment via Docker-based systems
4+
5+
![Docker Peer Container](peer-container.png)
6+
7+
## Installation
8+
9+
To run the peer container locally, you will need to install [Docker](https://www.docker.com/). You can use either the Docker CLI or Docker Desktop.
10+
11+
The Peer Container is packaged as a docker container available on DockerHub
12+
13+
- [Peer Container on DockerHub](https://hub.docker.com/repository/docker/convexlive/convex)
14+
15+
The latest version is general available in docker as `convexlive/convex:latest`
16+
17+
## Running a Peer Container
18+
19+
Running the Peer Container is a one-liner:
20+
21+
```bash
22+
docker run --name my-peer -d convexlive/convex:latest -p 8080:8080 -p 18888:18888
23+
```
24+
25+
This will run a default test peer, with ports mapped as follows:
26+
- `8080` mapped for REST API access
27+
- `18888` for the Convex peer protocol (other peers and binary clients)
28+
29+
However, to operate a peer effectively some configuration is usually required.
30+
31+
### SSL Certificates
32+
33+
If you want your peer to use HTTPS (highly recommended) you probably want to provide SSL certificates.
34+
35+
### Peer Keys
36+
37+
Each peer require a "peer key", which is an Ed25119 key pair. The public key is used to identify the peer on the network, and the private key is used by the peer to sign its interactions with the lattice / CPoS consensus.
38+
39+
### Controller keys
40+
41+
We recommend that you DO NOT add peer controller keys to a Convex peer container. Reasons for this:
42+
- Peer controller keys have control over significant economic assets, in particular the peer's stake on the Convex Network
43+
- If the system running the docker container is compromised, the controller key may be stolen
44+
45+
Instead, is is best to operate the Peer Container with a peer key alone, and use a separate mechanism (e.g. a hardware wallet or air-gapped laptop) for signing transactions that require the controller key.
184 KB
Loading

docs/tutorial/glossary.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ Technically, Convex is not a blockchain because Blocks are not required to conta
7070

7171
## Consensus Algorithm
7272

73-
The Convex Consensus Algorithm is obtains consensus through the use of a convergent Belief Merge Function. This algorithm is called Convergent Proof of Stake (CPoS), and is described in more detail in the [White Paper](convex-whitepaper.md).
73+
The Convex Consensus Algorithm is obtains consensus through the use of a convergent Belief Merge Function. This algorithm is called Convergent Proof of Stake (CPoS), and is described in more detail in the [White Paper](../overview/convex-whitepaper.md).
7474

7575
## Consensus Point
7676

src/components/HomepageFeatures/index.tsx

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,31 +10,29 @@ type FeatureItem = {
1010

1111
const FeatureList: FeatureItem[] = [
1212
{
13-
title: 'Easy to Use',
13+
title: 'Lattice Technology',
1414
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default,
1515
description: (
1616
<>
17-
Convex is the easiest way to create decentralised applications.
17+
The Lattice is the innovation at the heart of Convex - decentralised, infinitely scalable, cryptographically secure.
1818
</>
1919
),
2020
},
2121
{
22-
title: 'Focus on What Matters',
22+
title: 'Developer Power',
2323
Svg: require('@site/static/img/undraw_docusaurus_tree.svg').default,
2424
description: (
2525
<>
26-
Docusaurus lets you focus on your docs, and we&apos;ll do the chores. Go
27-
ahead and move your docs into the <code>docs</code> directory.
26+
Convex gives developers superpowers: fully interactive REPL development and the power of "One Line DeFi"
2827
</>
2928
),
3029
},
3130
{
32-
title: 'Powered by React',
31+
title: 'Blazing Performance',
3332
Svg: require('@site/static/img/undraw_docusaurus_react.svg').default,
3433
description: (
3534
<>
36-
Extend or customize your website layout by reusing React. Docusaurus can
37-
be extended while reusing the same header and footer.
35+
With zero block delay and near-instant transaction confirmation, you can build the perfect experience for your users.
3836
</>
3937
),
4038
},

0 commit comments

Comments
 (0)