logos-co / nomos-specs

Nomos related specification and documentation
2 stars 2 forks source link

Add header id and message format specification #52

Closed zeegomo closed 5 months ago

zeegomo commented 6 months ago

An initial sketch for the format of consensus messages. For the moment, the contents are completely opaque, and there's no distinction between cl transactions and bl blobs, the consensus ignores those in the current spec anyway

To clarify, this is just the definition of how messages should look like on the network, so that different implementation have a common ground.

danielSanchezQ commented 5 months ago

Not that I complain. But if we later are gonna need it in python, wouldn't it be better to just have it directly? Or is this complementary so we can link it to documents?

zeegomo commented 5 months ago

Not that I complain. But if we later are gonna need it in python, wouldn't it be better to just have it directly? Or is this complementary so we can link it to documents?

This is a definition of the formats of messages, it does not have to be executable, there's no 'action' it's describing. To me, using an ad-hoc DSL feels more natural than writing code for serialization / deserialization.

danielSanchezQ commented 5 months ago

Not that I complain. But if we later are gonna need it in python, wouldn't it be better to just have it directly? Or is this complementary so we can link it to documents?

This is a definition of the formats of messages, it does not have to be executable, there's no 'action' it's describing. To me, using an ad-hoc DSL feels more natural than writing code for serialization / deserialization.

I'm down for it. But just to remember we would have to probably maintain both.

zeegomo commented 5 months ago

I'm down for it. But just to remember we would have to probably maintain both.

This is the only specification of what the network message format should be and the sole source of truth. If we will write some code to serialize from/to this format it's just going to be an implementation of what is written in this doc

danielSanchezQ commented 5 months ago

I'm down for it. But just to remember we would have to probably maintain both.

This is the only specification of what the network message format should be and the sole source of truth. If we will write some code to serialize from/to this format it's just going to be an implementation of what is written in this doc

Makes sense, I misunderstood the purpose. Thanks for the explanation!