<!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>Scalable zero-knowledge proofs for verifying cryptographic hashing in blockchain applications⋆</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Oleksandr Kuznetsov</string-name>
          <email>oleksandr.kuznetsov@uniecampus.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Anton Yezhov</string-name>
          <email>anton.yezhov@zpoken.io</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vladyslav Yusiuk</string-name>
          <email>vladyslav.y@zpoken.io</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kateryna Kuznetsova</string-name>
          <email>kateryna.k@zpoken.io</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>CQPC-2024: Classic</institution>
          ,
          <addr-line>Quantum, and Post-Quantum Cryptography</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Macerata</institution>
          ,
          <addr-line>30/32 Via Crescimbeni, 62100 Macerata</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>V. N. Karazin Kharkiv National University</institution>
          ,
          <addr-line>4 Svobody sq., 61022 Kharkiv</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Zpoken OÜ</institution>
          ,
          <addr-line>Kesklinna linnaosa, Sakala tn 7-2, Harju maakond, 10141 Tallinn</addr-line>
          ,
          <country country="EE">Estonia</country>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>eCampus University</institution>
          ,
          <addr-line>10 Via Isimbardi, 22060 Novedrate</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <fpage>25</fpage>
      <lpage>31</lpage>
      <abstract>
        <p>Zero-knowledge proofs (ZKPs) have emerged as a promising solution to address the scalability challenges in modern blockchain systems. This study proposes a methodology for generating and verifying ZKPs to ensure the computational integrity of cryptographic hashing, specifically focusing on the SHA-256 algorithm. By leveraging the Plonky2 framework, which implements the PLONK protocol with the FRI commitment scheme, we demonstrate the efficiency and scalability of our approach for both random data and real data blocks from the NEAR blockchain. The experimental results show consistent performance across different data sizes and types, with the time required for proof generation and verification remaining within acceptable limits. The generated circuits and proofs maintain manageable sizes, even for real-world data blocks with a large number of transactions. The proposed methodology contributes to the development of secure and trustworthy blockchain systems, where the integrity of computations can be verified without revealing the underlying data. Further research is needed to assess the applicability of the approach to other cryptographic primitives and to evaluate its performance in more complex real-world scenarios.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;zero-knowledge proofs</kwd>
        <kwd>blockchain</kwd>
        <kwd>scalability</kwd>
        <kwd>cryptographic hashing 1</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        The advent of blockchain technology has revolutionized
various industries, offering a decentralized and secure
approach to data management and transactions [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
However, as blockchain networks grow in size and
complexity, scalability has emerged as a critical challenge.
The increasing number of transactions and users on
blockchain networks has led to slower transaction
processing times and higher fees, hindering the widespread
adoption of this technology [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Addressing the scalability
issue is crucial for the success and practical applicability of
modern blockchain projects [
        <xref ref-type="bibr" rid="ref3 ref4 ref5">3–5</xref>
        ].
      </p>
      <p>
        Zero-knowledge Proofs (ZKPs) have gained significant
attention as a potential solution to the scalability problem
in blockchain networks [
        <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
        ]. ZKPs allow one party (the
prover) to prove to another party (the verifier) that a given
statement is true without revealing any additional
information beyond the validity of the statement itself
[
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ]. By enabling the verification of transactions without
disclosing sensitive data, ZKPs can significantly reduce the
computational burden on blockchain nodes and improve the
overall efficiency of the network [
        <xref ref-type="bibr" rid="ref10 ref7">7, 10</xref>
        ]. The integration of
ZKPs into blockchain systems has the potential to enhance
privacy, security, and scalability, making them a promising
tool for addressing the limitations of current blockchain
implementations [
        <xref ref-type="bibr" rid="ref11 ref6">6, 11</xref>
        ].
      </p>
      <p>The primary objective of this research is to investigate the
application of zero-knowledge proofs for ensuring the
computational integrity of cryptographic hashing in
blockchain systems. We aim to develop and evaluate a
methodology for generating and verifying ZKPs using the
Plonky2 framework, a state-of-the-art ZKP toolkit. The main
tasks of this study include:
1.
2.
3.
4.</p>
      <p>Generating ZKPs for cryptographic hashing of
random data using Plonky2.</p>
      <p>Testing the generated ZKPs to assess their
correctness and efficiency.</p>
      <p>
        Applying the developed methodology to real data
blocks from the NEAR blockchain [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>Analyzing the performance and scalability of the
proposed approach for both random and
realworld data.</p>
      <p>By addressing these tasks, we seek to contribute to the
development of efficient and scalable solutions for ensuring
the integrity of computations in blockchain systems,
ultimately supporting the broader adoption of this
transformative technology.</p>
      <p>0000-0003-2331-6326 (O. Kuznetsov); 0009-0004-6380-5233
(A. Yezhov); 0009-0009-9662-9615 (V. Yusiuk); 0000-0002-5605-9293
(K. Kuznetsova)
© 2024 Copyright for this paper by its authors. Use permitted under
Creative Commons License Attribution 4.0 International (CC BY 4.0).</p>
    </sec>
    <sec id="sec-2">
      <title>2. Background</title>
      <p>
        ZKPs are cryptographic protocols that allow a prover to
convince a verifier of the validity of a statement without
revealing any information beyond the truth of the statement
itself [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. The concept of ZKPs was first introduced by
Goldwasser, Micali, and Rackoff in their seminal paper “The
Knowledge Complexity of Interactive Proof Systems” [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. A
ZKP must satisfy three key properties:
      </p>
      <p>Completeness: If the statement is true, an honest
prover can convince an honest verifier of its
validity.</p>
      <p>Soundness: If the statement is false, no cheating
prover can convince an honest verifier that it is
true, except with a small probability.</p>
      <p>Zero-knowledge: The verifier learns nothing
beyond the truth of the statement.
1.
2.</p>
      <p>
        Mathematically, a ZKP for a statement x ∈ L can be
represented as an interactive protocol between a prover P
and a verifier V, where L is an NP language. The prover P
aims to convince the verifier V that x ∈ L without revealing
any additional information. The protocol is described as
follows [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]:
      </p>
      <p> 1, if x  L;
(P,V )(x)  </p>
      <p>0, otherwise,
where (P,V)(x) denotes the output of the interaction
between P and V on input x.</p>
      <p>
        The construction of ZKPs relies on several
cryptographic primitives and techniques, such as
commitment schemes, challenge-response protocols, and
hash functions [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. A common approach to designing ZKPs
is the Sigma protocol, which consists of three moves:
commitment, challenge, and response [
        <xref ref-type="bibr" rid="ref16 ref17">16, 17</xref>
        ].
      </p>
      <p>Commitment: The prover sends a commitment to
the verifier, which binds the prover to a specific
value without revealing it.</p>
      <p>Challenge: The verifier sends a random challenge
to the prover.</p>
      <p>Response: The prover computes a response based
on the commitment, challenge, and private
information related to the statement being proved.</p>
      <p>
        The verifier then checks the validity of the response and
accepts or rejects the proof accordingly. The Fiat-Shamir
heuristic [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] can be used to convert a Sigma protocol into
a non-interactive ZKP by replacing the verifier’s challenge
with a hash of the prover’s commitment and the statement
being proved.
      </p>
      <p>
        Cryptographic hash functions play a vital role in
blockchain systems, ensuring the integrity and
immutability of data. However, the computation of hash
functions can be time-consuming, especially for large
datasets. ZKPs can be employed to prove the correctness of
hash computations without revealing the input data,
thereby reducing the computational burden on blockchain
nodes [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
      </p>
      <p>
        In this study, we focus on the application of ZKPs to the
SHA-256 hash function, which is widely used in blockchain
systems. The Plonky2 framework, developed by Polygon
Zero, is utilized to generate and verify ZKPs for SHA-256
computations. Plonky2 is a modern ZKP toolkit that
implements the PLONK protocol [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] in conjunction with
the FRI (Fast Reed-Solomon Interactive Oracle Proofs) [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]
commitment scheme.
      </p>
      <p>
        The PLONK protocol is a universally updatable
structured reference string scheme that enables efficient
proof generation and verification for arbitrary arithmetic
circuits [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. The FRI commitment scheme provides a fast
and scalable method for committing to polynomials and
verifying their evaluations [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ].
      </p>
      <p>By leveraging the capabilities of the Plonky2
framework, we aim to develop an efficient and scalable
methodology for generating and verifying ZKPs for
SHA256 computations, ultimately contributing to the
advancement of privacy-preserving and computationally
efficient blockchain systems.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Research methodology</title>
      <p>
        In this section, we present a detailed description of the
methodology employed for generating and testing ZKPs
to ensure the computational integrity of cryptographic
hashing. Our approach consists of three main stages:
generating ZKPs for random data, testing the obtained
proofs, and applying the developed methodology to real
data blocks from the NEAR blockchain [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <sec id="sec-3-1">
        <title>3.1. Generating ZKPs for hashing random data</title>
        <p>To generate ZKPs, we utilized the Plonky2 framework
developed by Polygon Zero. Plonky2 implements the
PLONK protocol in conjunction with FRI as a commitment
scheme, providing a robust and efficient verification
mechanism. The generation process involved the
following steps:</p>
        <p>Generating random data of various lengths (10,
100, 1000, 10000 bytes).</p>
        <p>Computing the SHA-256 hash function for the
generated data.</p>
        <p>Creating a ZKP to validate the correctness of the
hash computation using Plonky2.</p>
        <p>Storing the generated proof and the corresponding
circuit for subsequent verification.</p>
        <p>The experiments for generating ZKPs were conducted
on a server with an AMD Ryzen 9 7950X 16-Core Processor
running at 4.7 MHz. For each length of random data (10, 100,
1000, 10000 bytes), we measured the following parameters:
The complexity of native verification (computing
the hash function and comparing the result with
the hash code) in cycles per byte and seconds.</p>
        <p>The complexity of circuit generation in cycles per
byte and seconds.</p>
        <p>The complexity of proof generation in cycles per
byte and seconds.</p>
        <p>The complexity of proof verification in cycles per
byte and seconds.
1.
2.
3.
4.





</p>
        <p>The size of the generated circuit in gates.</p>
        <p>The size of the generated proof in bytes.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Testing the generated ZKPs</title>
        <p>To verify the correctness of the generated ZKPs, we
employed the following methodology:</p>
        <p>Loading the generated proof and the
corresponding circuit for each set of random data.
Verifying the proof using Plonky2 while
measuring the verification complexity in cycles
per byte and seconds.</p>
        <p>Comparing the hash code obtained from the
verification with the original hash code computed
for the random data.</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Applying ZKPs to real data blocks from the NEAR blockchain</title>
        <p>To assess the applicability of the developed methodology to
real-world data, we utilized blocks from the NEAR
blockchain of various heights and with different numbers of
transactions:</p>
        <p>
          Block #121,114,606 at height 121,114,606,
containing 52 transactions (5677 bytes) [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ].
        </p>
        <p>
          Block #121,136,789 at height 121,136,789,
containing 78 transactions (5092 bytes) [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ].
        </p>
        <p>
          Block #121,117,653 at height 121,117,653,
containing 102 transactions (4897 bytes) [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ].
        </p>
        <p>Block #121,089,333 at height 121,089,333,
containing 169 transactions (6262 bytes) [26].</p>
        <p>The selected blocks reflect the diversity of real data in
the NEAR blockchain and allow us to evaluate the
performance of ZKPs generation and verification in various
scenarios.</p>
        <p>The process of generating and testing ZKPs for the
selected NEAR blocks involved the following steps:
Obtaining the binary block data from the NEAR
blockchain using the provided block hashes.</p>
        <p>Generating ZKPs for each block using Plonky2
while measuring the complexity of the circuit and
proof generation.</p>
        <p>Verifying the generated proofs while measuring
the verification complexity.</p>
        <p>Comparing the obtained results with the results
for random data to assess the applicability and
scalability of the proposed approach.</p>
        <p>By following this structured methodology, we aim to
thoroughly evaluate the efficiency and practicality of
generating and verifying ZKPs using Plonky2 for both
random data and real data blocks from the NEAR
blockchain [27]. The results of these experiments will be
presented and discussed in the following section.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Results and analysis</title>
      <p>In this section, we present and analyze the results
obtained from generating and testing ZKPs for both
random data and real data blocks from the NEAR
blockchain. The experiments were conducted using the
methodology described in the previous section, and the
results provide valuable insights into the efficiency and
scalability of the proposed approach.</p>
      <sec id="sec-4-1">
        <title>4.1. Results for random data</title>
        <p>The complexity of native verification, circuit
generation, proof generation, and proof
verification increases with the length of the
random data. However, the increase in complexity
is not linear, indicating the scalability of the
proposed approach.</p>
        <p>The time required for native verification remains
negligible (in the order of microseconds) even for
larger data lengths, highlighting the efficiency of
the native verification process.</p>
        <p>The time required for circuit generation and proof
generation increases with the data length but
remains within acceptable limits (less than 13
seconds for 10000 bytes of data).</p>
        <p>The time required for proof verification is
significantly lower than that of proof generation,
emphasizing the efficiency of the verification
process, which is crucial for the practical
application of ZKPs.</p>
        <p>The sizes of the generated circuits and proofs
increase with the data length but remain
manageable (less than 250 KB for 10,000 bytes of
data), ensuring the feasibility of storing and
transmitting the generated proofs.</p>
        <p>These results confirm the efficiency and scalability of
the proposed approach for generating and verifying ZKPs
using the Plonky2 framework for random data of various
lengths.</p>
        <p>To illustrate the relationship between the complexity of
proof verification and the length of random data, we present
Fig. 1, which shows the proof verification time as a function
of the input data size.
As evident from Fig. 1, the proof verification time remains
consistently low, even for larger data sizes, with a
verification time of approximately 0.0044 seconds for
random data of length 10,000 bytes. This observation
highlights the efficiency of the verification process and its
potential for scalability in real-world applications.</p>
        <p>The linear relationship between the verification time
and the data length can be attributed to the design of the
Plonky2 framework and the underlying cryptographic
primitives, such as the PLONK protocol and the FRI
commitment scheme. The efficient arithmetic circuit
representation and the optimized proof construction in
Plonky2 contribute to the fast verification times, even for
larger datasets.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Results for real data blocks from the</title>
      </sec>
      <sec id="sec-4-3">
        <title>NEAR blockchain</title>
        <p>To assess the applicability of the developed
methodology to real-world scenarios, we generated and
tested ZKPs for data blocks from the NEAR blockchain.
Table 2 presents the results obtained for the selected
blocks, including the block height, the number of
transactions, the block size, and the complexity and time
required for native verification, circuit generation, proof
generation, and proof verification.</p>
        <p>The results in Table 2 lead to the following
observations:
1.</p>
        <p>The complexity of native verification for real
data blocks is comparable to that of random
data of similar sizes, confirming the consistency
of the native verification process.
1,000
1,752</p>
        <p>The time required for circuit generation and
proof generation for real data blocks is also
comparable to that of random data,
demonstrating the applicability of the
proposed approach to real-world scenarios.</p>
        <p>The time required for proof verification
remains consistently low (around 0.004
seconds) for all the tested real data blocks,
regardless of the number of transactions or
block size, highlighting the efficiency of the
verification process.</p>
        <p>The sizes of the generated circuits and proofs
for real data blocks are similar to those of
random data, indicating the feasibility of
storing and transmitting the proofs in
realworld applications.</p>
        <p>These results validate the applicability and
scalability of the proposed methodology for generating
and verifying ZKPs using Plonky2 for real data blocks
from the NEAR blockchain.</p>
        <p>The consistency in performance between random
and real data suggests that the approach can be
effectively utilized in practical scenarios, such as
ensuring the computational integrity of cryptographic
hashing in blockchain applications.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Discussion</title>
      <p>The experimental results presented in this section
demonstrate the efficiency and scalability of the
proposed approach for generating and verifying ZKPs
using the Plonky2 framework. The methodology
exhibits consistent performance for both random data
and real data blocks from the NEAR blockchain,
highlighting its potential for practical applications.</p>
      <p>The complexity of native verification, circuit
generation, proof generation, and proof verification
scales well with increasing data lengths, ensuring the
feasibility of applying the approach to larger datasets.
The time required for proof verification remains
consistently low, even for real data blocks with a large
number of transactions, emphasizing the efficiency of
the verification process, which is crucial for the practical
adoption of ZKPs.</p>
      <p>Moreover, the sizes of the generated circuits and
proofs remain manageable, even for larger data lengths
and real data blocks, indicating the feasibility of storing
and transmitting the proofs in real-world scenarios. This
is particularly important for blockchain applications,
where the storage and transmission of proofs should not
introduce significant overhead.</p>
      <p>The consistency in performance between random and
real data suggests that the proposed methodology can be
effectively applied to ensure the computational integrity
of cryptographic hashing in various applications,
including blockchain systems. The ability to generate and
verify ZKPs efficiently and scalably can contribute to the
development of more secure and trustworthy systems,
where the integrity of computations can be verified
without revealing the underlying data.</p>
      <p>However, it is important to note that the current
study focuses on the specific case of cryptographic
hashing using the SHA-256 algorithm. Further research
is needed to assess the applicability of the proposed
approach to other cryptographic primitives and to
evaluate its performance in more complex real-world
scenarios.</p>
      <p>In conclusion, the experimental results presented in
this section provide strong evidence for the efficiency
and scalability of the proposed methodology for
generating and verifying ZKPs using the Plonky2
framework. The approach demonstrates consistent
performance for both random and real data, highlighting
its potential for practical applications in ensuring the
computational integrity of cryptographic hashing,
particularly in the context of blockchain systems.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusions</title>
      <p>In this study, we proposed and evaluated a methodology
for generating and verifying ZKPs to ensure the
computational integrity of cryptographic hashing in
blockchain systems. By leveraging the Plonky2
framework, we demonstrated the efficiency and
scalability of our approach for both random data and
real data blocks from the NEAR blockchain.</p>
      <p>The experimental results showed that the proposed
methodology achieves consistent performance across
different data sizes and types, with the time required for
proof generation and verification remaining within
acceptable limits. The complexity of native verification,
circuit generation, proof generation, and proof
verification scales well with increasing data lengths,
indicating the feasibility of applying the approach to
larger datasets.</p>
      <p>Moreover, the sizes of the generated circuits and
proofs remain manageable, even for real-world data
blocks with a large number of transactions. This is
particularly important for blockchain applications,
where the storage and transmission of proofs should not
introduce significant overhead.</p>
      <p>The consistency in performance between random
and real data suggests that the proposed methodology
can be effectively applied to ensure the computational
integrity of cryptographic hashing in various blockchain
systems. The ability to generate and verify ZKPs
efficiently and scalably contributes to the development
of more secure and trustworthy systems, where the
integrity of computations can be verified without
revealing the underlying data.</p>
      <p>Further research is needed to assess the applicability of
the proposed approach to other cryptographic
primitives and to evaluate its performance in more
complex real-world scenarios. Nonetheless, the results
presented in this study provide a solid foundation for the
development of efficient and scalable solutions for
ensuring the integrity of computations in blockchain
systems, ultimately supporting the broader adoption of
this transformative technology.
https://nearblocks.io/blocks/5qD3eZtUrkheHKEG
hQw3oarPHsdjiAmWNASeZV9W1r5s
[26] Near Block 4oMRqMRD1P6wPtnkPURNpa6s
nxUvMFMyDZCv7uSq53FX | Near Blocks. URL:
https://nearblocks.io/blocks/4oMRqMRD1P6wPtn
kPURNpa6snxUvMFMyDZCv7uSq53FX
[27] K. Kuznetsova, et al., Solving Blockchain
Scalability Problem Using ZK-SNARK, Advances
in Artificial Systems for Logistics Engineering III,
Springer Nature Switzerland, Cham (2023) 360–
371. doi: 10.1007/978-3-031-36115-9_33.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S.</given-names>
            <surname>Nakamoto</surname>
          </string-name>
          ,
          <article-title>Bitcoin: A Peer-to-Peer Electronic Cash System, (</article-title>
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>G.</given-names>
            <surname>Kaur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Gandhi</surname>
          </string-name>
          , Chapter
          <volume>15</volume>
          . Scalability in Blockchain: Challenges and Solutions, Handbook of Research on Blockchain Technology, Academic Press (
          <year>2020</year>
          )
          <fpage>373</fpage>
          -
          <lpage>406</lpage>
          . doi:
          <volume>10</volume>
          .1016/B978-0
          <source>-12- 819816-2</source>
          .
          <fpage>00015</fpage>
          -
          <lpage>0</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>V.</given-names>
            <surname>Zhebka</surname>
          </string-name>
          , et al.,
          <article-title>Methodology for Choosing a Consensus Algorithm for Blockchain Technology</article-title>
          ,
          <source>in: Digital Economy Concepts and Technologies</source>
          , vol.
          <volume>3665</volume>
          (
          <year>2024</year>
          )
          <fpage>106</fpage>
          -
          <lpage>113</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>B.</given-names>
            <surname>Bebeshko</surname>
          </string-name>
          , et al.,
          <source>Application of Game Theory, Fuzzy Logic and Neural Networks for Assessing Risks and Forecasting Rates of Digital Currency, J. Theor. Appl. Inf. Technol</source>
          .
          <volume>100</volume>
          (
          <issue>24</issue>
          ) (
          <year>2022</year>
          )
          <fpage>7390</fpage>
          -
          <lpage>7404</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>V.</given-names>
            <surname>Zhebka</surname>
          </string-name>
          , et al.,
          <article-title>Methodology for Predicting Failures in a Smart Home based on Machine Learning Methods</article-title>
          ,
          <source>in: Cybersecurity Providing in Information and Telecommunication Systems</source>
          , vol.
          <volume>3654</volume>
          (
          <year>2024</year>
          )
          <fpage>322</fpage>
          -
          <lpage>332</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>X.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <article-title>A Zero-Knowledge-Proof-Based Digital Identity Management Scheme in Blockchain, Comput</article-title>
          . Secur.
          <volume>99</volume>
          (
          <year>2020</year>
          ). doi:
          <volume>10</volume>
          .1016/j.cose.
          <year>2020</year>
          .
          <volume>1020</volume>
          50.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.</given-names>
            <surname>Emami</surname>
          </string-name>
          , et al.,
          <string-name>
            <given-names>A Scalable</given-names>
            <surname>Decentralized PrivacyPreserving E-Voting</surname>
          </string-name>
          <string-name>
            <given-names>System</given-names>
            <surname>Based on ZeroKnowledge Off-Chain Computations</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Inf</surname>
          </string-name>
          .
          <source>Secur. Appl</source>
          .
          <volume>79</volume>
          (
          <year>2023</year>
          ). doi:
          <volume>10</volume>
          .1016/j.jisa.
          <year>2023</year>
          .
          <volume>103645</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S.</given-names>
            <surname>Goldwasser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Micali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Rackoff</surname>
          </string-name>
          ,
          <article-title>The Knowledge Complexity of Interactive ProofSystems</article-title>
          ,
          <source>Seventeenth Annual ACM Symposium on Theory of Computing</source>
          , Association for Computing Machinery (
          <year>1985</year>
          )
          <fpage>291</fpage>
          -
          <lpage>304</lpage>
          . doi:
          <volume>10</volume>
          .1145/22145. 22178.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>E.</given-names>
            <surname>Ben-Sasson</surname>
          </string-name>
          , et al.,
          <string-name>
            <surname>Succinct {</surname>
          </string-name>
          Non-Interactive}
          <article-title>Zero Knowledge for a von Neumann Architecture, 23rd USENIX Security Symposium (</article-title>
          <year>2014</year>
          )
          <fpage>781</fpage>
          -
          <lpage>796</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>M.</given-names>
            <surname>Loporchio</surname>
          </string-name>
          , et al.,
          <source>A Survey of Set Accumulators for Blockchain Systems, Comput. Sci. Rev</source>
          .
          <volume>49</volume>
          (
          <year>2023</year>
          )
          <article-title>100570</article-title>
          . doi:
          <volume>10</volume>
          .1016/j.cosrev.
          <year>2023</year>
          .
          <volume>100570</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Huang</surname>
          </string-name>
          , et al.,
          <article-title>Blockchain-Based Continuous Data Integrity Checking Protocol with ZeroKnowledge Privacy Protection</article-title>
          ,
          <string-name>
            <given-names>Digital</given-names>
            <surname>Commun</surname>
          </string-name>
          .
          <source>Netw</source>
          .
          <volume>8</volume>
          (
          <year>2022</year>
          )
          <fpage>604</fpage>
          -
          <lpage>613</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.dcan.
          <year>2022</year>
          .
          <volume>04</volume>
          .017.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>[12] NEAR | Blockchains, Abstracted. URL: https://near.org/.</mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>O.</given-names>
            <surname>Goldreich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Micali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Wigderson</surname>
          </string-name>
          ,
          <article-title>Proofs That Yield Nothing but Their Validity or All Languages in NP Have Zero-Knowledge Proof Systems</article-title>
          ,
          <source>J. ACM</source>
          <volume>38</volume>
          (
          <year>1991</year>
          )
          <fpage>690</fpage>
          -
          <lpage>728</lpage>
          . doi:
          <volume>10</volume>
          .1145/11682 5.116852.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>O.</given-names>
            <surname>Goldreich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Oren</surname>
          </string-name>
          ,
          <article-title>Definitions and Properties of Zero-Knowledge Proof Systems</article-title>
          ,
          <source>J. Cryptology</source>
          <volume>7</volume>
          (
          <year>1994</year>
          )
          <fpage>1</fpage>
          -
          <lpage>32</lpage>
          . doi:
          <volume>10</volume>
          .1007/BF00195207.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>U.</given-names>
            <surname>Feige</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Fiat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Shamir</surname>
          </string-name>
          ,
          <article-title>Zero-Knowledge Proofs of Identity</article-title>
          ,
          <source>J. Cryptology</source>
          <volume>1</volume>
          (
          <year>1988</year>
          )
          <fpage>77</fpage>
          -
          <lpage>94</lpage>
          . doi:
          <volume>10</volume>
          .1007/BF02351717.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>I.</given-names>
            <surname>Damgård</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. B.</given-names>
            <surname>Nielsen</surname>
          </string-name>
          , CPT Course Home Page (
          <year>2010</year>
          ). URL: https://cs.au.dk/~ivan/CPT.html
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>C.</given-names>
            <surname>Bartoli</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Cascudo</surname>
          </string-name>
          ,
          <article-title>On Sigma-Protocols and (packed) Black-Box Secret Sharing Schemes (</article-title>
          <year>2023</year>
          ). URL: https://eprint.iacr.org/
          <year>2023</year>
          /1652
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>A.</given-names>
            <surname>Fiat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Shamir</surname>
          </string-name>
          , How to Prove Yourself:
          <article-title>Practical Solutions to Identification and Signature Problems</article-title>
          , Advances in Cryptology-CRYPTO '
          <volume>86</volume>
          , Springer-Verlag (
          <year>1987</year>
          )
          <fpage>186</fpage>
          -
          <lpage>194</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>J.</given-names>
            <surname>Eberhardt</surname>
          </string-name>
          , S. Tai,
          <string-name>
            <surname>ZoKrates - Scalable PrivacyPreserving Off-Chain</surname>
            <given-names>Computations</given-names>
          </string-name>
          , IEEE International Conference on
          <article-title>Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and</article-title>
          IEEE Cyber,
          <article-title>Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData) (</article-title>
          <year>2018</year>
          )
          <fpage>1084</fpage>
          -
          <lpage>1091</lpage>
          . doi:
          <volume>10</volume>
          .1109/Cybermatics_
          <year>2018</year>
          .
          <year>2018</year>
          .
          <volume>00199</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>A.</given-names>
            <surname>Gabizon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z. J.</given-names>
            <surname>Williamson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.-M.</given-names>
            <surname>Ciobotaru</surname>
          </string-name>
          , PLONK:
          <article-title>Permutations Over Lagrange-bases for Oecumenical Nonin-teractive Arguments of Knowledge, IACR Cryptol, ePrint Arch</article-title>
          .
          <article-title>(</article-title>
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>E.</given-names>
            <surname>Ben-Sasson</surname>
          </string-name>
          , et al.,
          <source>Fast Reed-Solomon Interactive Oracle Proofs of Proximity</source>
          (
          <year>2018</year>
          ). doi:
          <volume>10</volume>
          .4230/Lipics.Icalp.
          <volume>201</volume>
          <fpage>8</fpage>
          .14.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>E.</given-names>
            <surname>Ben-Sasson</surname>
          </string-name>
          , et al.,
          <article-title>Scalable Zero Knowledge with No Trusted Setup</article-title>
          ,
          <source>Advances in Cryptology - CRYPTO 2019</source>
          , Springer International Publishing,
          <string-name>
            <surname>Cham</surname>
          </string-name>
          (
          <year>2019</year>
          )
          <fpage>701</fpage>
          -
          <lpage>732</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          - 26954-8_
          <fpage>23</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>Near</given-names>
            <surname>Block DnGLLWt6Q4MKv65uLLc2u</surname>
          </string-name>
          <article-title>AB81eRbvS944f5Jkh2FF5US | Near Blocks</article-title>
          . URL: https://nearblocks.io/blocks/DnGLLWt6Q4MKv65 uLLc2uAB81eRbvS944f5Jkh2FF5US
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>Near</given-names>
            <surname>Block</surname>
          </string-name>
          <article-title>CHNB17HdYWDbapLq5tv3y2Wwv 755LUT4LttrHn6KtwHD | Near Blocks</article-title>
          . URL: https://nearblocks.io/blocks/CHNB17HdYWDbap Lq5tv3y2Wwv755LUT4LttrHn6KtwHD
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <article-title>Near Block 5qD3eZtUrkheHKEGhQw3oa rPHsdjiAmWNASeZV9W1r5s | Near Blocks</article-title>
          . URL:
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>