-
Notifications
You must be signed in to change notification settings - Fork 201
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: add a small README to parsec subdir
Signed-off-by: Sam Stuewe <[email protected]>
- Loading branch information
1 parent
859dd62
commit 2b5fd84
Showing
1 changed file
with
15 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
## Parallel Architecture for Scalably Executing smart Contracts ("PArSEC") | ||
|
||
This directory houses the architecture-specific code for a generic virtual machine layer capable of performing parallel executions of smart contracts. | ||
|
||
The architecture is composed of two layers: | ||
1. A distributed key-value data store with [ACID](https://en.wikipedia.org/wiki/ACID) database properties | ||
- This back-end data store is not constrained to any type of data and is agnostic to the execution later. | ||
1. A generic virtual machine layer that executes programs (i.e., smart contracts) and uses the distributed key-value data store to record state | ||
- This computation layer defines the data models and transaction semantics. | ||
- We have implemented the Ethereum Virtual Machine EVM and a Lua based virtual machine as two working examples. | ||
|
||
- This architecture enables parallel execution of smart contracts which can be scaled horizontally where keys are independent. | ||
- Unmodified smart contracts from the Ethereum ecosystem can be deployed directly onto our EVM implementation. | ||
|
||
Read the [PArSEC Architecture Guide](../../docs/parsec_architecture.md) for more details. |