jimmysong on Nostr: Sketch of a protocol I discussed with jb55 for proving storage of a file. before ...
Sketch of a protocol I discussed with
jb55 (npub1xts…kk5s) for proving storage of a file.
before uploading, select 32 random bytes from the file, store their indices and the sha256 hash. do this 1000 more times (select 32 different random byes, calc sha256).
upload the file to the server. every day, ask for the hash of the 32 bytes at the indices stored from the server. if it matches transfer some sats. if not the server no longer has the file. you can check for 1000 days.
Published at
2024-10-04 00:50:09Event JSON
{
"id": "a11de9ebe00bf2f42973c897a955c70765a4af43109bd595fab2a48e6ac82626",
"pubkey": "7b3f7803750746f455413a221f80965eecb69ef308f2ead1da89cc2c8912e968",
"created_at": 1728003009,
"kind": 1,
"tags": [
[
"p",
"32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245",
"",
"mention"
]
],
"content": "Sketch of a protocol I discussed with nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s for proving storage of a file.\n\nbefore uploading, select 32 random bytes from the file, store their indices and the sha256 hash. do this 1000 more times (select 32 different random byes, calc sha256).\n\nupload the file to the server. every day, ask for the hash of the 32 bytes at the indices stored from the server. if it matches transfer some sats. if not the server no longer has the file. you can check for 1000 days.",
"sig": "1207199f41ba2ada31ebd6155a19a9896479ccf95f33ab9db24bc57cd997acb20cb2888bde51c2e289b044c86fd92a82330a03018af445906e6e0d79118fe7a1"
}