Dev Ojha 0dc5d4df07 ABCI++ RFC (#254)
* ABCI++ RFC

This commit adds an RFC for ABCI++, which is a collection of three new phases of communication between the consensus engine and the application.

Co-authored-by: Sunny Aggarwal <sunnya97@protonmail.ch>

* Fix bugs pointed out by @liamsi

* Update rfc/004-abci++.md

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Fix markdown lints

* Update rfc/004-abci++.md

Co-authored-by: Ismail Khoffi <Ismail.Khoffi@gmail.com>

* Update rfc/004-abci++.md

Co-authored-by: Tess Rinearson <tess.rinearson@gmail.com>

* Update rfc/004-abci++.md

Co-authored-by: Tess Rinearson <tess.rinearson@gmail.com>

* Add information about the rename in the context section

* Bold RFC

* Add example for self-authenticating vote data

* More exposition of the term IPC

* Update pros / negatives

* Fix sentence fragment

* Add desc for no-ops

Co-authored-by: Sunny Aggarwal <sunnya97@protonmail.ch>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Ismail Khoffi <Ismail.Khoffi@gmail.com>
Co-authored-by: Tess Rinearson <tess.rinearson@gmail.com>
2021-04-09 10:33:45 +00:00
2021-01-28 12:10:22 +00:00
2020-11-09 11:05:26 +01:00
2021-04-09 10:33:45 +00:00
2021-03-17 13:51:10 +00:00
2021-04-06 06:59:57 +00:00
2021-03-17 13:51:10 +00:00

Tendermint Spec

This repository contains specifications for the Tendermint protocol.

There are currently two implementations of the Tendermint protocol, maintained by two separate-but-collaborative entities: One in Go, maintained by Interchain GmbH, and one in Rust, maintained by Informal Systems.

Data Structures

Consensus Protocol

P2P and Network Protocols

  • The Base P2P Layer: multiplex the protocols ("reactors") on authenticated and encrypted TCP connections

P2P Messages

  • Peer Exchange (PEX): gossip known peer addresses so peers can find each other
  • Block Sync: gossip blocks so peers can catch up quickly
  • Consensus: gossip votes and block parts so new blocks can be committed
  • Mempool: gossip transactions so they get included in blocks
  • Evidence: sending invalid evidence will stop the peer

ABCI

  • ABCI: Details about interactions between the application and consensus engine over ABCI

RFC

  • RFC: RFCs describe proposals to change the spec.

ProtoBuf

  • Proto: The data structures of the Tendermint protocol are located in the proto directory. These specify P2P messages that each implementation should follow to be compatible.
Description
No description provided
Readme Apache-2.0 394 MiB
Languages
Go 85.9%
TeX 7.2%
TLA 4.9%
Shell 0.6%
Python 0.5%
Other 0.8%