Introduction
There’s reason I ended up colouring the diagram as I did, and it has to do with maths.
I wanted to lead up to graph theory – gently, that is. This isn’t going to be a particularly deep discussion, I’m just going to focus on notions of centrality.
The distinction in mathematics between a graph and a network is not particularly strong, depending on how you squint at it. A network is a graph, in which edges (links) and vertices (nodes) may have attributes.
Consider for example that every link in our little diagram here had a different line speed at which we can transmit data. That would be an edge attribute, and could determine the fastest path between any …
Introduction
At IETF121 in Dublin earlier this year, I was surprised to see my name appear on a number of slides, starting with the Discussion of Next Steps presentation Dirk and Lixia gave. I’d been commenting on the list on terminology related to the problem of Internet centralization.
The topic is fairly widely discussed these days. Other than DINRG, which of course has been formed to collect research on the issue, recent years also saw the publication of Mark Nottingham’s RFC on Centralization, Decentralization, and Internet Standards on the topic. I remember making a few comments on it before it was finalized.
This year’s DINRG also saw mention of Mark McFadden’s …
Yes, we’re still talking about how Vessel + Wyrd implement something kind of like a Merkle Clock, and yet also arguably better. I wrote that the last post was supposed to be the final one in the series.
And for a general overview, that is true – this article fills in some necessary background and design detail. Call it a bonus, if you’d like.
Hardware Clock, System Timer, Monotonic Clock
So let’s get down to basics for a moment. It’ll be easier to work our way upward from there!
Computers tend to keep time across reboots. That is because they usually contain a hardware or real-time clock (RTC). In commodity hardware, this clock is kept running – and …
Problems
I made much ado in the last entry that time synchronization is difficult to achieve in DTN, because DTN hates round trips, and time synchronization relies on them. That is, of course, just a TL;DR – if you’d like to read a paper on the issue, Space Network Time Distribution and Synchronization Protocol Development for Mars Proximity Link has got you covered.
The problems with using Vessel’s DAG as a logical clock are twofold:
- Exactly as Merkle CRDTs, Vessel’s DAG provide logical ordering. This is not identical to clock-based ordering, and cannot take into account whether ordering operations (A, B) or (B, A) has the same effect.
- Additionally, Vessel lumps …