A computer-implemented method, comprising: storing (405, 602) a data item in a consortium blockchain maintained by a consortium blockchain network; generating a first data digest based on the stored data item; sending the first data digest to a plurality of verification nodes of a public blockchain network so that each verification node cryptographically signs the first data digest and stores its signed first data digest in a public blockchain maintained by a plurality of public blockchain nodes of a public blockchain network, the public blockchain network including the plurality of verification nodes and the plurality of public blockchain nodes; receiving (505, 608) a request to retrieve the stored data item; in response to receiving the request, retrieving (410, 510, 610) the requested data item from the consortium blockchain; generating (415, 612) a second data digest based on the retrieved data item; sending (420, 520, 614) the second data digests to the plurality of verification nodes so that each verification node cryptographically signs (425, 525) the second data digest and returns its signed second data digest; receiving (530, 616) the signed second data digests from the plurality of verification nodes; retrieving (515, 618) the signed first data digests from the public blockchain; determining (535, 620) that the signed first data digests match the signed second data digests; and in response to determining that the signed first data digests match the signed second data digests, sending a response to the request to retrieve stored data item, the response indicating that the stored data item has not changed since it was stored. storing (405, 602) a data item in a consortium blockchain maintained by a consortium blockchain network; generating a first data digest based on the stored data item; sending the first data digest to a plurality of verification nodes of a public blockchain network so that each verification node cryptographically signs the first data digest and stores its signed first data digest in a public blockchain maintained by a plurality of public blockchain nodes of a public blockchain network, the public blockchain network including the plurality of verification nodes and the plurality of public blockchain nodes; receiving (505, 608) a request to retrieve the stored data item; in response to receiving the request, retrieving (410, 510, 610) the requested data item from the consortium blockchain; generating (415, 612) a second data digest based on the retrieved data item; sending (420, 520, 614) the second data digests to the plurality of verification nodes so that each verification node cryptographically signs (425, 525) the second data digest and returns its signed second data digest; receiving (530, 616) the signed second data digests from the plurality of verification nodes; retrieving (515, 618) the signed first data digests from the public blockchain; determining (535, 620) that the signed first data digests match the signed second data digests; and in response to determining that the signed first data digests match the signed second data digests, sending a response to the request to retrieve stored data item, the response indicating that the stored data item has not changed since it was stored.