hpk42 / muacrypt

Autocrypt and more for Mail User Agents
Other
36 stars 15 forks source link

Better ClaimChain integration / Kappa-Architecture #28

Closed hpk42 closed 6 years ago

hpk42 commented 6 years ago

Currently, there is a basic claimchain.py which implements a basic in-band ClaimChain concept which is a research topic in the nextleap project. This needs to be refined. Based on discussions with @azul we likely want a PeerChain for each peer where we see keys from, and an OwnChain for our own key data and out-of-band verification events. The L1 peer and our own state are then what is sometimes called a materialized or synthesized view (see http://milinda.pathirage.org/kappa-architecture.com/ for background on this common append-only-log + view architecture).

Keeping track of all gossiped, direct and verified key materials also allows for better debugging. One can inspect how a recommendation comes about, what the input was to the algorithm. Also fixes and Improvements to the recommendations algorithm (see #26) can work on this append-only log. The current py-autocrypt peer state is by contrast always also just a synthesized view (history is lost) and we can not deploy fixes or refinements after we have processed incoming mails (some of which might be by now deleted).