Skip to content

Commit b952911

Browse files
committed
Add more notes about structuring architecture section
1 parent 58a8f57 commit b952911

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

docs/leios-design/README.md

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,35 @@ Ouroboros Leios is a significant change to the consensus protocol, but does not
4242
> TODO: Explain why focus on relay node (upstream/downstream relationship); briefly mention block producer node differences; Add similar diagram for block producer? block and vote production not shown in relay diagram
4343
4444
> [!WARNING]
45-
> TODO: How to structure the changes best? No need to group them by layer?
45+
> TODO: Notes on what could go here
46+
> - Node is a concurrent, reactive (real-time) system
47+
> - contrast real-time to not be hard real-time (control systems etc.), but as "timely" action is crucial to the success
48+
> - today concurrency is minimal and basically transaction submission and block diffusion happening at the same time + side-topics like peer sharing
49+
> - only two responsibilities, but peer cardinalities make this highly concurrent (with quite some shared resources)
50+
> - adding production and diffusion of Leios block data and votes will emphasize this further
51+
> - use this to specify behavior as largely independent work-flows?
52+
> - it is crucial that the node stays reactive and resource management across the concurrent responsibilities is crucial
53+
> - bounding resource usage and/or prioritizing certain tasks over others will be crucial for the system to act
54+
> - this stresses importance of non-functional requirements (per component), performance engineering and conducting benchmarks along the way
55+
56+
> [!WARNING]
57+
> TODO: How to structure the changes best? Group them by layer/component or responsibility?
58+
>
59+
> Behavior-based sketch:
60+
> - Transaction submission and caching
61+
> - EB production
62+
> - EB diffusion
63+
> - EB storage
64+
> - Voting committee selection
65+
> - Key generation
66+
> - Key registration
67+
> - Key rotation
68+
> - Vote production
69+
> - Vote diffusion
70+
> - Certification
71+
> - Block production: Including certificates in blocks
72+
> - Chain validation: Verifying certificates in blocks
73+
> - Staging area interactions?
4674
4775
> [!CAUTION]
4876
> FIXME: The next few sections are AI generated based on the impact analysis contents and the (pseudo-)Haskell code should be be replaced by other, similar level of detail specifications (barely scratching the code-level)

0 commit comments

Comments
 (0)