URPS: Uniform Random Peer Sampler
URPS is an OCaml implementation of the stream sampler as specified in the paper Uniform Node Sampling Service Robust against Collusions of Malicious Nodes.
It processes on the fly an unbounded and arbitrarily biased input stream made of node identifiers exchanged within the system, and outputs a stream that preserves Uniformity and Freshness properties.
URPS is distributed under the AGPL-3.0-only license.
urps can be installed via
opam install urps
To build from source, generate documentation, and run tests, use
dune build dune build @doc dune runtest -f -j1 --no-buffer
In addition, the following
Makefile targets are available
as a shorthand for the above:
make all make build make doc make test make testn make testn n=10
The documentation and API reference is generated from the source interfaces.
It can be consulted online or via
odig doc urps