Skip to content

Commit

Permalink
Update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
sergerad committed Aug 29, 2024
1 parent 012bd33 commit c9f15c0
Showing 1 changed file with 20 additions and 9 deletions.
29 changes: 20 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,7 @@ Nolemma is a blazingly fast rollup, leveraging a revolutionary architecture that
* Ephemeral; and
* Useless.

## Cryptographic Operations

### Elliptic Curve Digital Signatures and Keccak Hashes

...

### Incremental Merkle Trees

...
Because of this design, Nolemma is capable of achieving near real-time block production.

## Usage

Expand Down Expand Up @@ -58,3 +50,22 @@ Block {
}
```

## Protocol Design

The system is a toy protocol and it is only very partially implemented.

### Sequencing

There is a single, permissioned sequencer. It produces blocks at a fixed period. Blocks are hashed with Keccak256 and signed with secp256k1 ECDSA.

### Transaction Types and Lifecycle

Nolemma currently supports two types of transactions - dynamic and withdrawal. Dynamic transctions are simply EIP-1559 style transactions. Withdrawals are a custom transaction type used for withdrawing funds from the L2.

L2 transaction finality depends on verification of validity proofs on L1. This feature is not yet implemented.

### Withdrawals

Withdrawal transctions are a custom type of transaction supported by Nolemma.

When withdrawal transactions are sealed into blocks, they are added to an incremental Merkle tree. This tree is treated as an "exit tree" for withdrawals. The L1 smart contract relies on Merkle proofs of withdrawal transactions against the root of the tree in order to execute the final step of a withdrawal - its exit on L1.

0 comments on commit c9f15c0

Please sign in to comment.