doc/architecture/blockchain.md: Added appendix with structures details.

This commit is contained in:
aggstam
2022-03-10 14:40:47 +02:00
parent d21b026972
commit c75a1abcd5

View File

@@ -49,3 +49,70 @@ v is the concatentation of the value $\rho$ in all blocks from the beginning of
# Protocol
# Appendix
This section gives further details about the structures that will be used by the protocol. Since Streamlet consensus protocol will be used at early stages of the Blockchain development, we created hybrid structures, to enable seemless transition from one protocol to the other, without the need of a blockchain forking.
## Blockchain
\begin{tabular}{||c c c||}
\hline
Field & Type & Description \\ [0.5ex]
\hline\hline
blocks & Vec<Block> & Series of blocks consisting the Blockchain. \\ [1ex]
\hline
\end{tabular}
## Block
\begin{tabular}{||c c c||}
\hline
Field & Type & Description \\ [0.5ex]
\hline\hline
st & String & Previous block hash. \\
\hline
sl & u64 & Slot uid, generated by the beacon. \\
\hline
txs & Vec<Transaction> & Transactions payload. \\
\hline
metadata & Metadata & Additional block information. \\ [1ex]
\hline
\end{tabular}
## Metadata
\begin{tabular}{||c c c||}
\hline
Field & Type & Description \\ [0.5ex]
\hline\hline
om & Euroboros\_Metadata & Block information used by Ouroboros consensus. \\
\hline
sm & Streamlet\_Metadata & Block information used by Streamlet consenus. \\
\hline
timestamp & Timestamp & Block creation timestamp. \\ [1ex]
\hline
\end{tabular}
## Euroboros\_Metadata
\begin{tabular}{||c c c||}
\hline
Field & Type & Description \\ [0.5ex]
\hline\hline
proof & VRF\_Output & Proof the stakeholder is the block owner. \\
\hline
r & Seed & Random seed for VRF. \\
\hline
s & Signature & Block owner signature. \\ [1ex]
\hline
\end{tabular}
## Streamlet\_Metadata
\begin{tabular}{||c c c||}
\hline
Field & Type & Description \\ [0.5ex]
\hline\hline
votes & Vec<Vote> & Epoch votes for the block. \\
\hline
notarized & bool & Block notarization flag. \\
\hline
finalized & bool & Block finalization flag. \\ [1ex]
\hline
\end{tabular}