Closed ineiti closed 8 years ago
Have a modular possibility of including data in the timestamp.
? Well, generally, you submit any data, the timestamp service hash it and timestamp the hash, and returns you the hash + timestamp signed. What other thing you wanna add ?
Have a modular possibility of including data in the timestamp.
Can you elaborate on that issue?
Still confused about what we need to do and what the two different options from Friday's discussion are:
Loosely-coupled timestamp-services
Ok, after discussing with @LefKok and @ineiti here is what we decided to do:
This writeup is a very drafty specification of the timestamp srevice:
We will (first) go with a simplified version where not all nodes of the cothority can take client requests (only the root node can). We will start with a binary tree.
Client = external clients
Client perspective
epoch
seconds the client receives is a timestamp
and a collective signature on (timestamp
, hash(treeroot)
) plus an inclusion proof that proves that the clients nonce (or hash of it) has been included in the underlying merkle treeRemarks: epoch will be sth like 10s
Cothority (root node's) perspective
epoch
seconds the root node initiates a cosi round on (hash(treeroot)
, currentTimestamp
)timestamp
, hash(treeroot)
) plus an inclusion proof for the requested data (this might be different for every client).Any comments, corrections, additions? /cc @LefKok @nikkolasg @ineiti ?
Clients send hashes of data to the root node; for "swups" the data will be some client generated random number
hashES ? For me a generic timestamp service take one slice of byte, and do the timestamp on it. The client should be responsible for hashing the multiple documents together and then send the hash to the timestamp server. If we are going on with this, the timestamp server should only accept hashes, i.e. fixed size array of bytes.
hashES ?
@nikkolasg Because the server collects multiple client requests (each containing one hash) from multiple clients. The cothority collects these requests and releases the signature when the epoch
has passed. Is that more clear, now? Or still doesn't make sense?
Update: discussed offline with @nikkolasg. It was a misunderstanding (it's one hash per request but still several hashes per epoch).
Have a modular possibility of including data in the timestamp.