There is no commentSelect some text and then click Comment, or simply add a comment to this page from below to start a discussion.
Sealstack modeling
Syntax and notiation for sealing/unsealing
NB: We always assume that sealing and unsealing have access to a random oracle where where is some session id and is a digest of the data (for example the root of the Merkle Tree computed on the data ). We keep these parameters implicit when obvious from the context.
: sealing data computes a replica
: unsealing a replica allows to recompute the data
We define as the (parallel) time required to run seal. We consider the setting of asymmetric constructions where the time to seal and unseal may be different. We describe the ratio between sealing and unsealing time through a constant so that the time to unseal is .
We also consider the time "allowed for responding to a challenge". This time is always such that . Later in this note we will consider the ratio .
A sealstacking adversary
Here we model an adversary running a single stack (we could model a bundle of stacks as a generalization later).
The adversary:
Claims to store some easy dummy data
Sets
Claims to store
Sets
โฆ
Claims to store
Sets
Deletes all data except for
When challenged on data instance :
runs
(this is unsealing run times)
Space complexity of this adversary
It stores only as opposed to , the storage of the honest adversary.
Time complexity of this adversary
It is . (in the worst case)
Notice that the the adversary is successful if it is able to answer in time , that is if . This occurs when
As an intuition, if sealing time is 3x the challenge time,. then the adversary can successfully respond to challenges for a stack of size up to .