Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ssadler authored Jun 3, 2020
1 parent fe669c9 commit fa13a8f
Showing 1 changed file with 15 additions and 3 deletions.
18 changes: 15 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# zeno
# Zeno

Notarising software for Komodo <> Ethereum, and eventually other protocols.

Expand All @@ -14,6 +14,18 @@ cd zeno
stack install
```

## Notes
## Why "Zeno"?

Each consensus round is a series of steps. In Zeno, each step has a topic, which is a hash of the data that they are voting on. Nodes listen for messages with that topic. For each topic, each member can cast 1 vote. The step process is to synchronise all the votes, which are collected into an Inventory. In the case where there is a proposer, we stop bothering to build inventory when we have the vote from the chosen proposer.
The name is from the Greek philosopher, Zeno of Elea.

## What are the goals of this project?

To enable a coordinated group of signatories to act as an oracle and deliver messages between blockchains.

It includes a simple consensus mechanism (with caveats), and code to interact with several different blockchains, currently including Komodo, Ethereum, and theoreteically Bitcoin and ZCash.

## How does consensus work in Zeno?

The consensus process is a round comprised of many steps, where each step represents voting on a particular topic, or selecting a proposer when there's no obvious way to get a determinable result.

However, the limitation of the consensus process is that currently it does not provide any kind of finality, or solve the two generals problem. Zeno is itself stateless and relies on the chains it is posting messages to to provide finality instead. So at a given point in time, it can query the blockchain for the last recorded action and resume from that point.

0 comments on commit fa13a8f

Please sign in to comment.