<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Zero-knowledge data validation method based on the homomorphic hash function in the distributed decentralized storage platform</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Stanislav Bogatyrev</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Anatoly Bogatyrev</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sergei Liubich</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabian Wahle</string-name>
          <email>fabiang@nspcc.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>JSC "NEO Saint Petersburg Competence Center"</institution>
          ,
          <addr-line>St. Petersburg, Russia https://nspcc.ru</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>The design of the Distributed Decentralized Storage Platform (DDSP) requires to develop an e cient data validation method taking into account the network scalability issue, possibility to check data without knowledge of content and privacy protection of users data. DDSP is aimed at ensuring the availability and integrity of data. The aim of this research is to develop a zero-knowledge data validation method for the decentralized storage system for minimizing data transferring to maintain the network scalability and minimizing computational cost on the side of a storage node to maintain a large number of parallel interactions, and on the side of a validating node. The integrity guarantee is achieved due to the proposed data validation method based on the homomorphic hash function which allows to verify the integrity of data on a storage node without transferring real data to a validating party over the network. The computational complexity of validations depends linearly on the size of validated data and is well suited for parallelization.</p>
      </abstract>
      <kwd-group>
        <kwd>Zero-knowledge Data validation validation Homomorphic hash Distributed platform Object storage Storage</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Nowadays, building an e cient, reliable and scalable decentralized data storage
architecture is an actual problem in both corporate and academic communities
since decentralization requires new approaches that adapt existing models.</p>
      <p>
        In the decentralized storage system, where users no longer physically own
the storage of their data, traditional cryptographic primitives for the purpose of
data security protection cannot be directly adopted [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>A group of works [1{4] have been done focusing on attempt to solve a remote
data validation task in cloud storage. These methods can be classi ed as Proof
of Data Possession(PDP) and Proof of Retrievability(PoR).</p>
      <p>
        The PDP scheme initially has been presented by Ateniese [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ]. Related
protocols detect a large amount of corruption in outsourced data. However, the
schemes do not support the possibility to allow an external party to verify the
correctness of remotely stored data without knowledge of data content, what is
needed for decentralized storage systems.
      </p>
      <p>
        An e cient PDP method with privacy protection of users data from external
auditors on a client and server sides is needed for decentralized storage. From the
perspective of data privacy protection, this drawback greatly a ects the security
of the protocols [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        The design of the Distributed Decentralized Storage Platform (DDSP)
requires to develop an e cient data validation method [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] taking into account the
network scalability issue, possibility to check data without knowledge of content
and privacy protection of users data.
      </p>
      <p>
        This paper proposes a zero-knowledge data validation method for the
decentralized storage system for minimizing data transferring to maintain the network
scalability and minimizing computational cost on the side of a storage node to
maintain a large number of parallel interactions, and on the side of a validating
node [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. The integrity guarantee is achieved due to the proposed data validation
method based on the homomorphic hash function [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] which allows to verify the
integrity of data on a storage node without transferring real data to a validating
party over the network.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Data Validation Method</title>
      <p>
        Requirements for the data validation [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] method for DDSP:
{ the ability to publicly verify stored data without an actual object ownership
and the knowledge of an object content (zero-knowledge proof);
{ validation needs to ensure that a storage node's response cannot be saved
and repeated to counteract nodes-malefactors (method has to be developed
in accordance with an arbitrary task of validation);
{ minimization of a computational cost on the side of a storage node to ensure
a large number of parallel interactions and on the side of a verifying node;
{ minimization of a network load to maintain a network scalability.
      </p>
      <p>
        In order to ful ll the requirements, the data validation method based on
homomorphic hashing [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] is proposed.
      </p>
      <p>
        A hash function has to have the following properties:
{ it should be easily computable;
{ it should be computationally di cult to nd collisions [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>Homomorphic hash is a hash function that can compute a hash of a composite
block from hashes of individual blocks.</p>
      <p>The computational complexity of validations depends linearly on the size of
validated data and is well suited for parallelization.</p>
      <p>In the proposed method, the challenge-response model is applied. The
challenge can be formed as a collective game for all storage nodes that contain
validated data. In the simplest case, a request for an arbitrary set of hashes from
the data being veri ed is considered. The obtained hashes have to produce the
expected hash according to the rule of homomorphism. Detailed description of
the challenge and the analysis of resistance to attacks are the subjects of future
research.</p>
      <p>Validation of each individual object is a computationally expensive task for
a decentralized system with an unlimited number of users and the amount of
stored data. A storage group is introduced to reduce a computational cost and
the amount of stored meta-information for validation.
2.1</p>
      <p>Data Validation Complexity: Storage Group
The concept of a storage group is introduced to reduce a validation complexity
dependence on the number of stored objects in the system. The storage group
encapsulates a group of objects' identi ers and a set of homomorphic hashes
required for data validation. The safety and accessibility of multiple objects in
the network are achieved by the storage group validation without storing
metainformation and conducting validation of each object. The concept of a container
of objects is introduced. One container can have any number of storage groups.
The storage group is an immutable structure, however, new storage groups can
still be formed based on the existing ones (the merge operation) or the storage
group can be removed (the objects will be deleted). A group of homomorphic
hashes is generated for data validation. One hash is created from all the ordered
data of all storage group objects (zero-level hash) and a xed number of hashes
is created from zones ( rst-level hashes). The zone`s size is a multiple of the size
of the object`s block. A xed and equal number of homomorphic hashes of each
level is stored for all the groups in DDSP. As an example { retrieving data for
the storage group, where the zero-level hash consists of six objects. The case,
where it is required to store four rst-level homomorphic hashes, is shown on
Fig. 1 below. The actions to form the storage group are following:
{ getting of a sorted list of homomorphic objects` hashes: h(O1) ::: h(O6);
{ getting of a single structure from ordered objects` data;
{ dividing of the data structure into four zones D1:1; D1:2; D1:3; D1:4 in order
to form homomorphic hashes;
{ getting of rst-level hashes H1:1 = h(D1:1) ... H1:4 = h(D1:4).</p>
      <p>In the simplest case, a validating node selects a random rst-level
homomorphic hash during data validation and requests some number of second-level
homomorphic hashes from the placement group nodes. This procedure is a
collective game. Merging of the second-level homomorphic hashes, a validating node
con rms the validation if the obtained hash corresponds to the rst-level hash
being stored.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Results</title>
      <p>The proposed method allows to minimize the load on the network and validating
nodes without transferring a real data over the network. The storage group</p>
      <p>Container</p>
      <p>Storage Group formation (SG1)</p>
      <p>Object 1 Object 2 Object 3 Object 4 Object 5</p>
      <p>Object 6
Storage Group 1
Storage Group 2
Storage Group k
...
allows to keep a xed amount of meta-information needed for validation process
regardless of the size and the number of objects from the storage group. The
comparison of the proposed method with the existing ones, a detailed challenge
description and the analysis of resistance to malicious attacks are the subjects
of further research.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>S.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>D.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>Z.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chang</surname>
            ,
            <given-names>S.Q.</given-names>
          </string-name>
          :
          <article-title>Public Auditing for Ensuring Cloud Data Storage Security With Zero Knowledge Privacy</article-title>
          .
          <source>In: IACR Cryptology ePrint Archive, Report</source>
          <year>2012</year>
          /365 (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Ateniese</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Burns</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Curtmola</surname>
          </string-name>
          , R.:
          <article-title>Provable data possession at untrusted stores</article-title>
          .
          <source>In: Cryptology ePrint Archive, Report</source>
          <year>2007</year>
          /202 (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Ateniese</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pietro</surname>
            ,
            <given-names>R.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mancini</surname>
            ,
            <given-names>L.V.</given-names>
          </string-name>
          :
          <article-title>Scalable and e cient provable data possession [C]</article-title>
          .
          <source>In: Proceedings of the 4th international conference on security and privacy in Communication networks. Istanbul, Turkey: ACM</source>
          , pp.
          <fpage>90</fpage>
          -
          <lpage>99</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <article-title>Enabling public veri ability and data dynamics for storage security in cloud computing[C]</article-title>
          .
          <source>In: Proc. of ESORICS'09</source>
          ,
          <string-name>
            <surname>Saint</surname>
            <given-names>Malo</given-names>
          </string-name>
          , France, Sep.
          <source>2009. Lecture Notes in Computer Science</source>
          , vol.
          <volume>5789</volume>
          /
          <year>2009</year>
          , pp.
          <fpage>355</fpage>
          -
          <lpage>370</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Shah</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baker</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mogul</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Swaminathan</surname>
          </string-name>
          , R.:
          <article-title>Auditing to keep online storage services honest[C]</article-title>
          .
          <source>In: Proc. of HotOS'07</source>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Zemor</surname>
          </string-name>
          , G.:
          <article-title>Hash functions and graphs with large girths</article-title>
          .
          <source>In: EUROCRYPT</source>
          <volume>91</volume>
          (
          <year>1991</year>
          ) LNCS 547 Springer-Verlag, pp.
          <fpage>508</fpage>
          -
          <lpage>511</lpage>
          (
          <year>1991</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Ateniese</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pietro</surname>
            ,
            <given-names>R.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mancini</surname>
            ,
            <given-names>L.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tsudik</surname>
          </string-name>
          , G.:
          <article-title>Scalable and E cient Provable Data Possession</article-title>
          .
          <source>In: Proceedings of the 4th international conference on Security and privacy in communication networks (SecureComm '08)</source>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Waters</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Compact Proofs of Retrievability</article-title>
          .
          <source>In Journal of Cryptology</source>
          , vol.
          <volume>26</volume>
          , no.
          <issue>3</issue>
          , pp.
          <volume>442</volume>
          {
          <issue>83</issue>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Mullan</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tsaban</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>SL2 Homomorphic Hash Functions: Worst Case to Average Case Reduction and Short Collision Search</article-title>
          .
          <source>In Journal Designs Codes and Cryptography</source>
          , vol.
          <volume>81</volume>
          , no.
          <issue>1</issue>
          , pp.
          <volume>83</volume>
          {
          <issue>107</issue>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>