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
[x] Specify packing of block fields into hotstuff_rs::Data.
[x] 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
[x] Specify genesis state.
[x] Specify “Trie DB prefix”.
[x] Specify “visibility byte” - #4.
[x] Specify that MPTs shouldn’t contain an extension node - #6.
[x] Specify Index Heap storage and operations sequence flow.
[ ] Add missing loop/recursive call in the sequence flow of the up_heapify Index Heap operation.
Runtime
[x] 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
[x] Specify P2P networking.
Gas
[x] Review inclusion cost.
Not yet categorized
[ ] Be more explicit in what steps are gas metered.
[ ] Specify expectations for PRFC writeups and the standardization process.
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)
Blockchain
hotstuff_rs::Data
.produce_block
andvalidate_block
.minimum_view_timeout
of DefaultPacemaker.World State
up_heapify
Index Heap operation.Runtime
gc < sg
at the end of a transaction execution).Contracts
P2P
Gas
Not yet categorized