You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/leios-design/README.md
+29-1Lines changed: 29 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,7 +42,35 @@ Ouroboros Leios is a significant change to the consensus protocol, but does not
42
42
> 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
43
43
44
44
> [!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?
46
74
47
75
> [!CAUTION]
48
76
> 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