When it's considered, like here
a project where a user needs to store a (small piece of data) on a blockchain
what does that really mean from a cryptographer's perspective? What security guarantees does it give? Things like availability (to which entity, under what condition and delay, with selection according to what criteria/tag), proof of origin (for one who finds that data), non-repudiation.
Is there a formal definition of a blockchain's expected properties, like we have for e.g. PRG, or a key exchange protocol?
Update: Emmanuelle Anceaume, Antonella del Pozzo, Romaric Ludinard, Maria Potop-Butucaru, Sara Tucci-Piergiovanni's Blockchain Abstract Data Type attempt that. But it flies too high above my head. In retrospect I should have first asked: what's a blockchain, with a simple example?
Update: these NIST slides give a visual illustration of a minimalist blockchain:
They also make a basic but essential distinction between
- Permissionless Blockchains, decentralized and often tied to cryptocurrencies.
- Permissioned Blockchains, involving trusted participants or perhaps an authority.
git
a blockchain? In a trivial/literal sense, yes, but it's not necessarily able to provide any availability guarantees beyond that of the underlying storage. And it doesn't require commit signing, so no non-repudiation or proof of origin. – SAI Peregrinus Nov 19 '20 at 19:20