Skip to content

A Key/Value store where the key is derived by using a hash function of the value.

Notifications You must be signed in to change notification settings

novocodev/BimutableHKVStore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

BimutableHKVStore

A Key/Value store where the keys are derived by using a hash function of the values. Values are arbitrary binary blobs.

The rleationship between keys and values may be immutable or mutable.

Immutable

For a given hash function, the same value will always generate the same key. Immutable keys can be used to provide content addressing of data blocks.

Immutable k/v pairs may be used to build a merkel DAG.

Mutable

For a given hash function, the k/v key is generated by hashing the public key of a unique public/private key pair, the value to be associated with the public key is signed using the private key from the same key pair.

This allows a single key to reference different values, anyone looking up the key can validate that only the owner of the associated public/private key pair could have generated the key.

Mutable keys can be used as the basis a distributed naming service, clients lookup the hash of the public key and can validate the associated value was signed by owner associated with the public/private key pair.

BimutableKKVStore

A HashedValueStore can be used as a core component when developing distributed systems that have no central authority or coordination and where peers need to be able to independently validate incoming data.

This repo contains interface definitions for the HashedValueStore in the following languages.

Java

About

A Key/Value store where the key is derived by using a hash function of the value.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published