From c75a1abcd5ebb9f766e5cbccbb54ba2d75ef1e36 Mon Sep 17 00:00:00 2001 From: aggstam <40597439+aggstam@users.noreply.github.com> Date: Thu, 10 Mar 2022 14:40:47 +0200 Subject: [PATCH] doc/architecture/blockchain.md: Added appendix with structures details. --- doc/src/architecture/blockchain.md | 67 ++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/doc/src/architecture/blockchain.md b/doc/src/architecture/blockchain.md index 2966218ac..0926a02b3 100644 --- a/doc/src/architecture/blockchain.md +++ b/doc/src/architecture/blockchain.md @@ -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 & 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 & 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 & Epoch votes for the block. \\ + \hline + notarized & bool & Block notarization flag. \\ + \hline + finalized & bool & Block finalization flag. \\ [1ex] + \hline +\end{tabular}