Comments (3)
There's two parts to this:
1. Stale ValueStates
Clearing stale ValueStates
helps avoid retaining information in storage that is no longer required for operation of the underlying service. In the example of end-to-end encrypted messaging, this would correspond to outdated Identity keys. The library is already able to handle such deletions and can continue to operate as long as the most recent ValueState
for a user is present.
2. Non-Stale ValueStates
Non-stale (i.e. most up-to-date) ValueStates
will need to be deleted when users leave the underlying service. In the E2EE messaging scenario, this corresponds to the messenger service deleting a user's most recent identity keys when they delete their account.
While AKD is able to continue to operate when these states are deleted, the problem arises when a user with the same label re-joins the service. When next publishing for the user, AKD will be unable to deduce the next version number to use, given that all previous ValueStates
have been deleted. Furthermore, it's not clear if the new user should share the same series of version numbers as the previous user, even if their labels are the same. In the E2EE messaging context, a new user could be the new owner of a number (and therefore label), but an entirely different person from the previous owner of the number.
from akd.
For 2) I think that we could deduce the version number, in the event a node exists but there is no value states, by simply enumerating the child states of the node. N+1
would be the new version number, and we could move forward as such.
from akd.
Should not have closed with #161 (magic words)
from akd.
Related Issues (20)
- Add Functionality to Send Unsigned Requests to AWS for Auditing HOT 1
- Lincense terms are unclear HOT 4
- Crypto Configuration / CipherSuite Trait
- Unused epoch parameter in append_only_zks::get_membership_proof
- Create a directory organization table in the README.md
- Comments for a lot of public-facing items can be expanded on for more detail
- Adding more examples for usage
- Improving the "Overview" documentation to specify what AKD does not support
- Adding tests for auditor.rs
- Rename public-tests to public_tests HOT 1
- Extend test fixture generation to include lookup proofs, history proofs, and audit proofs HOT 1
- Features should be additive, don't use nostd feature, but use an std one instead HOT 1
- akd_client also needs a key_history_verify() function HOT 1
- Remove tools/sync_fork.sh HOT 1
- Consider dropping support for the akd_client library HOT 1
- Lookup and key history verification need to ensure that the versions returned do not exceed the current epoch number
- VRF draft update to RFC 9381 plus fixes
- Confusing behavior for NodeLabels and the get_bit_at() function based on label length
- Update configuration documentation for some cryptographic functions
- Eliminate stale markers
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from akd.