3 ms·
A DHT-based key-value store with value-stored callback functions [pdf]
- zrail 16y agoThere's no released code yet, of course, but it looks really cool. Basically, the value you store in the DHT can include some callback functions that get called when certain events happen (onGet, onPut, onTimer). These callbacks execute in a sandboxed environment with a pretty limited API that retains enough functionality to implement custom replication strategies, self-deletion, and custom access control. Among other things, the paper describes implementing cryptography in the handlers such that only properly signed requests get processed. One application immediately jumps out: cryptographically secure asyncronous messaging. A mailbox would be a lua object at a given key which contains the owner's public key and a list of messages encrypted with that key. The mailbox would append any messages `put` to the key to the list. The list would be returned when a valid `get` request is received which is signed with the owner's public key (note: in this system `get` requests can pass arbitrary arguments in addition to the requested key).