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