A - Building Blocks: PoSpace, VDFs and Signatures
In this section we sketch the main building blocks used in the blockchain: unique digital signatures, proofs of space [DFKP15; AAC+17] and verifiable delay functions [Pie19b; BBBF18; Wes20]. The definitions are not fully general, but instead tailored to the particular constructions of PoSpace from [AAC+17] and the VDFs [Pie19b; BBBF18; Wes20] based on sequential squaring.
A.1 (Unique) Digital Signatures
A digital signature scheme is specified by three algorithms; a (probabilistic) key-generation algorithm , a signing algorithm and a verification algorithm . We assume the standard security notion (unforgeability under chosen message attacks) and perfect completeness, that is, a correctly generated signature will always verify:
uses signatures in the foliage (to chain foliage blocks and to bind them to the trunk) and also in the trunk (so only the farmer can compute the challenge). To avoid grinding attacks, the signatures used in the trunk must be unique, that is for every (this includes maliciously generated public keys) and message there can be at most one accepting signature