Skip to content
This repository was archived by the owner on Feb 18, 2025. It is now read-only.

Commit 8e9ef74

Browse files
committed
meeting minutes: 2020-11-09
1 parent 861db92 commit 8e9ef74

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

meeting-minutes/2020-11-09.md

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Chrysalis RFC Call - 2020-11-09
2+
3+
## Participants
4+
5+
- Wolfgang
6+
- Andrea
7+
- Luca
8+
- Gal
9+
- Thibault
10+
11+
## Topics
12+
13+
### RFC Status
14+
15+
#### Merged
16+
17+
https://iotaledger.github.io/protocol-rfcs/
18+
19+
- [RFC-0005](https://github.com/iotaledger/protocol-rfcs/blob/master/text/0005-white-flag/0005-white-flag.md) (White Flag):
20+
- Remove old Bundle/Tx structure:
21+
- done: https://github.com/iotaledger/protocol-rfcs/pull/30
22+
- [RFC-0008](https://github.com/iotaledger/protocol-rfcs/blob/master/text/0008-weighted-uniform-random-tip-selection/0008-weighted-uniform-random-tip-selection.md) (Weighted URTS):
23+
- Everyone is happy with the changes to reflect the current implementation (in Hornet)
24+
- @all approve
25+
- [RFC-0012](https://github.com/iotaledger/protocol-rfcs/blob/master/text/0012-milestone-merkle-validation/0012-milestone-merkle-validation.md) (Milestone Validation):
26+
- Remove old Bundle/Tx structure:
27+
- State mutations -> UTXO mutations (circular transactions are not possible with UTXO)
28+
- Tx Hash -> Message ID
29+
- Blake2b-512 -> Blake2b-256
30+
- @Wolfgang create PR
31+
32+
### Open Questions
33+
34+
#### `Network ID` field in the message
35+
36+
- Purpose:
37+
- Distinguish between different (private) networks
38+
- Detect/handle breaking protocol changes independently of the network/peering layer
39+
- Prevent replays of the same message in different networks without PoW
40+
- Have network/version as part of the Message ID (for MSs, queries, ...)
41+
- Since the MS payload signs the Message IDs, replays of the MS payload to a different network is not possible.
42+
- Decision:
43+
- It should be included as a single message field.
44+
- It should encode the network (mainnet, testnet, private x, ...) as well as the protocol version.
45+
- It should be a `uint64`. This offers a good compromise between size and accidentally having the same value for incompatible situations.
46+
- Local snapshots (and probably peering) should use the same value.
47+
- It should not be signed to potentially allow replays of the same payload (but with different Message ID and new PoW).
48+
- Nodes should reject message with an incompatible `Network ID`. (What actually causes a protocol version bump is a case-by-case definition, but as a rule of thumb consensus changes are breaking.)
49+
- (Perma)nodes trying to sync across different protocol versions is a special case and does not need to be considered for regular nodes (same premise as when introducing white-flag).
50+
- How the `Network ID` is constructed is an implementation decision. It does not need to be part of the Message RFC, but it is still very relevant for the node implementations. Options:
51+
- Hash(`Network Name`+`Protocol Version`) (probably the most promising)
52+
- Use a couple of static bytes for the "Network"
53+
- Combination of the above
54+
- @Gal update the PR to include those changes
55+
- After that, [RFC-0025 (Local Snapshots)](https://github.com/iotaledger/protocol-rfcs/pull/25) needs to be adapted

0 commit comments

Comments
 (0)