Commit 0867792db7f58a7e90c93034e79f326a62290868
Add paragraph on source of truth
Matthias Beyer committed on 12/19/2017, 10:00:22 PMParent: c7841b5b7593d27345858224602a5cdc2ae12618
Files changed
README.md | changed |
README.md | |||
---|---|---|---|
@@ -17,10 +17,25 @@ | |||
17 | 17 … | ... | |
18 | 18 … | ||
19 | 19 … | ## p2p is great, but sometimes you need a single authoritative source of truth | |
20 | 20 … | ||
21 | -... | ||
21 … | +This is not true. Consider git: Each branch could be considered as source of | ||
22 … | +truth (or rather "point of truth"). | ||
23 … | +Branches may depend on eachother, branches may be merged. Branches may _not_ | ||
24 … | +depend on eachother (git can have multiple "orphan" branches) and may _not_ be | ||
25 … | +merged. Still, they are points of truth. | ||
26 … | +With p2p systems in a decentralized environment, this is true as well. | ||
27 … | +There might never be the _one_ version which is currently the point of truth, | ||
28 … | +but as long as versions of the system can be merged, this is not a problem. | ||
22 | 29 … | ||
30 … | +Events in such a system can even be sorted chronologically via | ||
31 … | +[vector clocks](https://en.wikipedia.org/wiki/Vector_clock) | ||
32 … | +where each key is the unique peer hash. | ||
33 … | + | ||
34 … | +There exists a technology which brings data types to the table which can exist | ||
35 … | +in a p2p system without ever needing a single source of truth. These types are | ||
36 … | +named [CRDT](https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type)s. | ||
37 … | + | ||
23 | 38 … | ## What if nazis take over the p2p network? | |
24 | 39 … | ||
25 | 40 … | ... | |
26 | 41 … |
Built with git-ssb-web