github.com/Finschia/ostracon@v1.1.5/spec/README.md (about)

     1  # Ostracon Spec
     2  
     3  This document is a specification of the Ostracon. Ostracon is designed to have many compatibilities with CometBFT. As such, the Ostracon spec is based on the [CometBFT v0.34.x Spec](https://github.com/cometbft/cometbft/tree/v0.34.x/spec). The Ostracon also has many unique improvements to improve security and performance. This specification clarifies the differences between CometBFT and defines the base data structures, how they are validated, and how they are communicated over the network.
     4  
     5  ## Contents
     6  
     7  > **Note**
     8  > ![oc](./static/oc.svg) represents items with Ostracon-specific improvements added. It also describes the major changes.
     9  
    10  > **Note**
    11  > ![tm](./static/tm.svg) represents items with specifications equivalent to CometBFT. As such, the article links directly to CometBFT's repository.
    12  
    13  ### Introduction
    14  
    15  - [![oc](./static/oc.svg)Overview](./introduction/overview.md)
    16  
    17  ### Core
    18  
    19  - [![oc](./static/oc.svg)Data Structure](./core/data_structures.md): Ostracon uses a more secure proposer election algorithm. Add definitions for the data structures required for this election algorithm.
    20  - [![tm](./static/tm.svg)Encoding](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/core/encoding.md)
    21  - [![tm](./static/tm.svg)Genesis](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/core/genesis.md)
    22  - [![oc](./static/oc.svg)State](./core/state.md): Ostracon uses a more secure proposer election algorithm. Add the data required for this election algorithm to the state.
    23  
    24  ### Consensus Protocol
    25  
    26  - [![tm](./static/tm.svg)Consensus Algorithm](https://github.com/cometbft/cometbft/blob/v0.34.x/spec//consensus/consensus.md)
    27  - [![tm](./static/tm.svg)BFT Time](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/consensus/bft-time.md)
    28  - [![oc](./static/oc.svg)Proposer Selection](./consensus/proposer-selection.md): Ostracon adopts a proposer selection algorithm using VRF. Using VRF makes the election unpredictable and makes the Proposer election more secure.
    29  - [![tm](./static/tm.svg)Creating a proposal](https://github.com/cometbft/cometbft/blob/v0.34.x/spec//consensus/creating-proposal.md)
    30  - [![tm](./static/tm.svg)Siging](https://github.com/cometbft/cometbft/blob/v0.34.x/spec//consensus/signing.md)
    31  - [![tm](./static/tm.svg)Write-Ahead Log](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/consensus/wal.md)
    32  
    33  #### Proposer-Based Timestamps
    34  
    35  - [![tm](./static/tm.svg)Overview](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/consensus/proposer-based-timestamp/pbts_001_draft.md)
    36  - [![tm](./static/tm.svg)System Model and Properties](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/consensus/proposer-based-timestamp/pbts-sysmodel_001_draft.md)
    37  - [![tm](./static/tm.svg)Protocol Specification](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/consensus/proposer-based-timestamp/pbts-algorithm_001_draft.md)
    38  
    39  ### Light-Client
    40  
    41  - [![tm](./static/tm.svg)Spec](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/light-client/README.md)
    42  
    43  ### P2P and Network Protocols
    44  
    45  - [![tm](./static/tm.svg)Node](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/p2p/node.md)
    46  - [![tm](./static/tm.svg)Peer](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/p2p/peer.md)
    47  - [![tm](./static/tm.svg)Connection](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/p2p/connection.md)
    48  - [![tm](./static/tm.svg)Config](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/p2p/config.md)
    49  #### Messages Type
    50  
    51  - [![tm](./static/tm.svg)Block Sync](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/p2p/messages/block-sync.md)
    52  - [![tm](./static/tm.svg)Mempool](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/p2p/messages/mempool.md)
    53  - [![tm](./static/tm.svg)Evidence](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/p2p/messages/evidence.md)
    54  - [![tm](./static/tm.svg)State Sync](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/p2p/messages/state-sync.md)
    55  - [![tm](./static/tm.svg)Peer Exchange (PEX)](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/p2p/messages/pex.md)
    56  - [![tm](./static/tm.svg)Consensus](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/p2p/messages/consensus.md)
    57  
    58  #### v0.34
    59  
    60  - [![tm](./static/tm.svg)Transport](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/p2p/v0.34/transport.md)
    61  - [![tm](./static/tm.svg)Switch](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/p2p/v0.34/switch.md)
    62  - [![tm](./static/tm.svg)PEX Reactor](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/p2p/v0.34/pex.md)
    63  - [![tm](./static/tm.svg)Peer Exchange protocol](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/p2p/v0.34/pex-protocol.md)
    64  - [![tm](./static/tm.svg)Address Book](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/p2p/v0.34/addressbook.md)
    65  - [![tm](./static/tm.svg)Peer Manager](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/p2p/v0.34/peer_manager.md)
    66  - [![tm](./static/tm.svg)Type](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/p2p/v0.34/types.md)
    67  - [![oc](./static/oc.svg)Configuration](./p2p/v0.34/configuration.md): Ostracon allows each reactor to process messages asynchronously in separate threads. Ostracon adds parameters related to that.
    68  
    69  ### RPC
    70  
    71  - [![oc](./static/oc.svg)Spec](./rpc/README.md): Add a entropy to the Block and BlockByHash API response.
    72  
    73  ### ABCI
    74  
    75  - [![tm](./static/tm.svg)Overview](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/abci/README.md)
    76  - [![oc](./static/oc.svg)Methods and Types](./abci/abci.md): Ostracon adds new ABCI Methods.
    77  - [![oc](./static/oc.svg)Applications](./abci/apps.md): Ostracon improves the mempool connection cycle to reduce the time the mempool is locked.
    78  - [![tm](./static/tm.svg)Client and Server](https://github.com/cometbft/cometbft/blob/v0.34.x/spec/abci/client-server.md)