node should be able to store and retrieve data, send and receive messages, perform computations

what is an appropriate runtime for this?
erlang?

nodejs?

custom - rust, c

bash, 
php,
lua

what are the main features we want/need?

key value storage
socket listening
message handling
storage management
policy declarations/implementations
communications layer
confidence levels, derived confidence levels

possible architecture
---

tinc vpn
each node has a private key
network must seed with some out-of-band public key exchanges
once the network is seeded, participating nodes can propagate new public keys to be onboarded
simple daemon should run on each node
if it has a static public IP, it advertises it
If it has a dns record, it may advertise it
Peers may discover it's IP through STUN/TURN type arrangement - tinc may be handling that

What if we use HTTP for the protocol? So e.g. curl can be used for manual testing.

nodejs with leveldb could be a reasonable way to start a prototype
maybe try to use typescript for good measure

rust or erlang do seem stronger than nodejs

in any case we probably want to run our node and its dependencies in containers
do we want to use kubernetes? helm?

tinc could be good for facilitating operations among the dev team

node maintains a set of functions and the streams that feed them
executes the functions that it's configured to execute
within the contexts they're configured to use
perhaps creating new deltas representing the results of ingesting some deltas

so we want to be able to ask a node:
what have you seen?
What have you accepted/how confident are you about xyz