Skip to content

Protocol version 0.4: The First Release #9

@lyulka

Description

@lyulka

ParallelChain protocol version 0.4: The First Release

This is the central todo list of things we want to add/change in protocol version 0.4 before we freeze it as a release.

Chapters

Introduction (Readme.md)

  • Be more explicit in what things have to be Borsh-serialized.
  • Write “Conventions” section in top-level document.

Blockchain

  • Specify packing of block fields into hotstuff_rs::Data.
  • Specify requirements on the timing of produce_block and validate_block.
  • Specify how $B_{tbt}$ relates to the minimum_view_timeout of DefaultPacemaker.
  • Move $B_{netlatency}$ out of the Pacemaker section.
  • Specify that the command receipt of a Next Epoch transaction notes 0 gas used.

World State

Runtime

  • Fix the issuance specification to note that issuance is supposed to be 8% per annum in the first year, not 8.5%.
  • Specify what to do when balances, nonces, etc. overflow.
  • Specify what should happen when a transaction refunds more gas than it costs (i.e., what happens when gc < sg at the end of a transaction execution).
  • Clarify whether gas refunds offset single operations or offsets the cost of the entire transaction/command (it offsets the cost of a single operation in the case of Call commands, but offsets the cost of the entire command in all other commands).

Contracts

  • Be more specific about ”contract validity” and how it is a requirement for Deploy and Call.
  • Specify the backwards-compatibility guarantees we make about CBI versions.

P2P

  • Specify P2P networking.

Gas

  • Review inclusion cost.

Not yet categorized

  • Be more explicit in what steps are gas metered.
  • Specify expectations for PRFC writeups and the standardization process.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions