A trusted setup generates public and secret parameters for the protocol:
$pp = (pp_{LVC}, pp_{HF})$$pk_1, ..., pk_𝑛$$sk_1, ..., sk_𝑛$To commit a data block B:
B as an L × 𝑘 matrix 𝑼.$(ℎ_1, ..., ℎ_𝑘)$ for each column of 𝑼 using VC.$CRHF_𝑠 (ℎ_1∥...∥ℎ_𝑘)$. (CRHF: Collision Resistant Hash Function)To disperse a data block B:
𝑼 and commitments $(ℎ_1, ..., ℎ_𝑘)$ as in the Commit step.𝑼 row-wise using the MDS code to obtain coded matrix 𝑪.$(ℎ_1, ..., ℎ_𝑘)$ and the respective coded chunk $𝒄_𝑖$ to each storage node 𝑖.$(ℎ_1, ..., ℎ_𝑘)$, $𝒄_𝑖$, and the commitment $𝐶$.$𝜎_𝑖 ≜ Sig.Sign(sk_𝑖, (ack, 𝐶))$ to the client. (ack: acknowledges receipt of chunk)𝑃.