<!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>Certification of digital content based on NFT technologies</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Oleksii Turuta</string-name>
          <email>oleksii.turuta@nure.ua</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mariia Kozulia</string-name>
          <email>mariia.kozulia@khpi.edu.ua</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vladyslav Nikitin</string-name>
          <email>vladyslav.nikitin@khpi.edu.ua</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Kharkiv National University of Radio Electronics</institution>
          ,
          <addr-line>14 Nauky Ave., Kharkiv, 61166</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>National Technical University «Kharkiv Polytechnic Institute»</institution>
          ,
          <addr-line>2, Kyrpychova str., Kharkiv, 61002</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The research focuses on creating an information and software solution for digital data certification in NFT, facilitating the purchase, sale, and transfer of NFTs. The thesis aims to develop a web resource that utilizes zero-knowledge succinct non-interactive arguments of knowledge (zkSNARKs) for securing and certifying digital objects. This approach ensures the protection of copyright for users' digital creativity on the Internet, allowing them to showcase their artwork to a broader audience and monetize their efforts . The chosen architecture for the project is a Decentralized Application (DApp), consisting of three key components: client, server, and smart contracts on the blockchain. The software is designed to support multi-user functionality, ensuring fault tolerance, information security, and scalability. The technology stack includes Vue.js, Node.js, Solidity for smart contracts, MySQL for database management. The developed website boasts a clear and user-friendly interface, making it accessible even to those with limited technical expertise. Thanks to this web application, users worldwide can certify digital data in NFTs, secure ownership, freely trade, sell, buy, and earn commissions on secondary market sales. An essential aspect of this solution is the use of zkSNARKs, ensuring the storage of anonymous data on the blockchain. This cryptographic technique enhances privacy and confidentiality while maintaining the integrity of the certification process. The application's design allows for easy scaling and the implementation of various blockchains as needed, providing flexibility and adaptability to different requirements.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Certification</kwd>
        <kwd>NFT</kwd>
        <kwd>Blockchain</kwd>
        <kwd>Smart-contract</kwd>
        <kwd>zkSnarks 1</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Since the 1980s, services have been built on open protocols (for example, TCP, IP, SMTP,
HTTP). This created stable conditions for the creation of an ecosystem of the Internet and web
resources. After that, from the mid-2000s to the present, companies have created a second layer
of their own closed protocols on top of the Internet's open protocols.</p>
      <p>© 2024 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).</p>
      <p>
        Web 3.0 is currently in an early stage of development where communities are encouraged and
rewarded for maintaining and developing the underlying infrastructure. Decentralized Web 3.0
networks offer an alternative to the broken digital status quo. One of the many manifestations of
Web 3.0 was the possibility of certifying digital content using Blockchain technology, and the
certificates were called NFT [
        <xref ref-type="bibr" rid="ref1 ref2">1,2</xref>
        ].
      </p>
      <p>
        One of the characteristics of certified digital content in NFT is full publicity in the Blockchain
network. On the one hand, this is an advantage, but on the other, the question arises of how to
certify documents or other content that may have hidden characteristics, for example, a certificate
with a unique pass that provides access to Web3 games and others [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        There is also the question of copyright protection for a certified digital object, how can it be
protected if all properties are public and nothing prevents it from being copied? To date, there is
no way to certify content with private properties, which significantly increases the risk of
copyright theft of digital property [
        <xref ref-type="bibr" rid="ref4 ref5">4,5</xref>
        ].
      </p>
      <p>The subject of the research is technologies for the development of a unique Web 3.0
platform to simplify the process of creation, purchase, sale and management of certified
digital content in NFT. Thus, the goal is to create a unique platform for certification,
purchase, sale, exchange of digital content in the form of NFT. Apply the resilience of smart
contracts and provide the ability to create confidential certificates and secure copyright
through the use of ZK-snarks technology and cryptographic encryption to certify content on
the blockchain.</p>
      <p>To achieve the goal, the following tasks are set:
 Analysis of technologies for certification and protection of digital content
 Development of an algorithmic description of the system
 Creation of software implementation</p>
    </sec>
    <sec id="sec-2">
      <title>2. Overview of technologies used for certification and protection of digital content</title>
      <p>
        The following technologies were considered and used for the formation of the digital
content certification system:
1. zkSnarks (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge) is a
zero-knowledge protocol that can be used to prove that a subject possesses certain
information without revealing it and without any interaction between the proving
and verifying parties information. ZkSnarks systems can be additionally equipped
with a zero-knowledge property, which ensures that the proof is done without
revealing the intermediate steps. ZK-snarks consists of three algorithms: Key
Generator G, Verifier P, Verifier V [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
2. Grothl6 is a pair-based SNARK preprocessing system. Its design is aimed at
minimizing the size of the proof and the cost of verification, which is achieved due
to a small constant size of test prints and a fast verification check in a constant time
[7].
3. ZoKrates is a tool for developing and verifying Zero Knowledge Proof (ZKP) in
decentralized blockchain applications. ZoKrates allows developers to build apps that
can fact-check [8].
4. Asymmetric encryption based on the RSA (Rivest–Shamir–Adleman) algorithm, which is
presented in the table 1 [9].
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. System architecture, algorithmic and information support for certification of digital objects</title>
      <sec id="sec-3-1">
        <title>3.1. System architecture of the software component for certification of digital objects</title>
        <p>The architecture of Web 3.0 applications (or "DApps") is completely different from Web
2.0 applications. Decentralized applications are similar in many ways to smart contracts
based on Ethereum. But still, there are significant differences between the two
developments. If smart contracts are only related to financial transactions and have a limit
on the number of participants at a specific moment in time, then "DApps" expands these
boundaries and goes beyond the established rules - an unlimited number of users can
participate in the application at the same time (although this will cause network load), and
developers are not limited to the economic sector alone and invent utilities for the
entertainment, music, game and other industries. The full list of programs can be found on
the website, which is constantly updated by network members [7].</p>
        <p>Thus, "DApps" are utilities that can be used to implement and in the future support CI/CD
processes (Continuous Integration, or continuous integration, Continuous Delivery, or
continuous delivery). For an application to be considered a "DApp", it must meet the
following criteria: the application must be fully open source, run autonomously, without
control.</p>
        <p>The utility can be adapted and improved for users, but all changes must be decided based
on the consensus of its participants.</p>
        <p>To avoid any central points of failure, all application data and performance records must
be cryptographically stored on a publicly accessible decentralized blockchain.</p>
        <p>The app must use a token (Bitcoin or system-specific altcoin) that is required to access
the app. Also, any contribution from miners should be rewarded with program tokens.</p>
        <p>The application must generate tokens according to a standard cryptographic algorithm
that acts as proof that the nodes are authentic (Bitcoin uses the Proof-of-Work algorithm).</p>
        <p>
          For this project, the "Dapp" architecture (Fig. 1) [
          <xref ref-type="bibr" rid="ref5">5, 10</xref>
          ] was chosen, because this
software is intended for multi-user work in Web 3.0, and the software should also be
resistant to failures, provide the ability to scale (Fig. 2) [11].
        </p>
        <p>This diagram depicts the sequence of interaction of components during the operation of
the website. The scheme of the algorithmic support describes the general operation of the
system and the interaction between the main components of the system.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Algorithmic and information support for the implementation of the NFT system</title>
        <p>For this system, a sequence diagram has been developed, which emphasizes the temporal order
of messages and is depicted as a table in which objects located along the X axis and messages
arranged in time along the Y axis are presented. Sequence diagrams highlight the temporal order
of messages.</p>
        <p>The object or role that initiates the interaction is placed on the left, and the dependent objects
or roles are on the right. Next, the messages sent and received by these objects are arranged
chronologically from top to bottom along the vertical axis, creating a control flow association
over time.</p>
        <p>Sequence diagrams allow you to track the interaction of program components and objects over
time. Consider the sequence of authorization in a web application and granting access to interact
with a smart contract.</p>
        <p>Authorization is performed using the "Metamask" browser extension. The user enters the
website and clicks the Login button, after which a request appears for permission to use the
account previously selected in "Metamask" on the website. If the user has given permission to
use his account (view balance, interact with smart contracts, initiate transactions), a request is
made to the server, where a random nonce number of integer type is generated. After generation
on the server, the nonce is sent to the user, who must sign the message in which this random
number is stored. This is done in order to make sure that this user is the owner of this account.
After the user has signed the message using a private key through the "Metamask" extension, the
server checks the authenticity of this signature, if it is correct, the user is sent an authorization
token, which is stored in the browser's local storage, otherwise - an error message (Fig. 3).</p>
        <p>When interacting with a smart contract, it is first necessary for the user to grant access
for this, that is, to send a transaction that confirms the granting of access. The system
initiates the transaction, the "Metamask" window appears with a prepared transaction,
which the user needs to confirm. After confirmation, the transaction is sent to the
blockchain, after which the user receives a message depending on the result of the
transaction.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Use of the application by users</title>
      <sec id="sec-4-1">
        <title>4.1. Use of the application by the user</title>
        <p>For the client's work with the software, Figures 4–11 show the main screen forms and
the principles of working with them.</p>
        <p>Figure 4 shows the screen form used for authorization. After clicking the Sign Up button,
the Metamask extension window appears (where the user previously logged into his
account). The client side sends a request to generate a random number. The server returns
a random number and waits for a signature from the user, this is done in order to verify that
the user is the owner of this account. After receiving the signature, the server verifies it, if
the signature is valid for the given account, then returns a JWT authorization token. The
user is redirected to his own profile.</p>
        <p>The screen form responsible for displaying the user's profile, at the top of the screen, the
profile avatar, nickname and address of the Metamask crypto wallet are provided in Figure
5. In the profile, sections are available with collections created by the user, certified digital
data in NFT, NFT for sale, favorites NFT and transactions. A navigation menu is displayed
on the left, which allows you to change the pages of the application. In the upper right corner
there is a menu that allows you to change the language on the site. The section with user
collections allows you to manage these collections, namely: edit information, place the
collection on the market (make it possible to buy and sell NFT of this collection), check and
collect funds earned from the purchase and sale commission.</p>
        <p>The screen form provided in Figure 6 depicts the certified digital data in the NFT owned
by the user. User can offer NFT for sale, transfer, add to favorites. Each NFT contains
information with data that has been certified.</p>
        <p>The screenshot shown in Figure 7 shows the certified digital data in NFT owned by the
user and offered for sale. The user can cancel the sale by clicking the Cancel button.</p>
        <p>Figure 8 provides a screen form depicting the editing of user data, namely the ability to
change the nickname and avatar.</p>
        <p>The screen form in Figure 9 depicts the digital data certification form in NFT. First, the
user uploads a file, it can be a picture, a video, a piece of music or a photo. Then fills in the
fields with the name for the certificate and its description. After that, he chooses one of his
own collections, to which the certificate will belong. The last step is to add properties to the
certificate (this step is optional) and click the create button. After a short period of time, he
receives a notification with the results of the completed certification. The certificate appears
among the certificates created by the user.</p>
        <p>The Marketplace page (Fig. 10) displays collections of certified digital data that are
placed on the marketplace, that is, NFTs of data collections can be placed for purchase and
sale. It is possible to search and sort collections by various indicators. After clicking on a
collection, a page with certified digital data of this collection will be opened.</p>
        <p>Figure 11 shows a screen form that displays a certain collection page. The Items section
displays NFTs available for purchase, the Activity displays transactions for that collection.
On the right is a drop down menu for sorting NFTs.</p>
        <p>The Stats page in the on-screen form contains a list of the best collections in the
marketplace, in which the ability to sort by various indicators is implemented.</p>
        <p>A form has also been created that allows the user to create a collection for future certified
digital data, after filling out the form the user clicks the Submit button.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Use of the application by a support agent</title>
        <p>The support agent has access to additional functionality and functionality available to
users. Figure 12 shows a screen form that displays the support agent menu.</p>
        <p>An agent can view and change the verification status for a collection or user. Verification
status means that the collection owner or collection is known and enjoyed by a large
number of users. In order to prevent fraudsters from passing off similar collections as
originals, the possibility of verification was introduced. If a collection or user is verified, a
blue tick appears next to the name or nicknames to confirm this.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusions</title>
      <p>On the basis of the analysis of the subject area and the considered methods of solving the
problem of digital content certification, conclusions were made about effective solutions to
the problem are demonstrated with the help of zkSnarks, Grothl6, ZoKrates, Asymmetric
encryption based on the RSA (see table 1).</p>
      <p>Algorithmic approaches have been developed that characterize the operation of the
considered methods (see Fig. 2). To describe the operation of the system, UML diagrams are
created that demonstrate possible cases and the operation of the main processes of the
implemented software (see Fig. 3).</p>
      <p>The developed application can be used as an initial image certification system (see Fig.
4-11). The software solution used a set of technologies – HTML5, SCSS, MySQL Vue.js,
Node.js – that are an integral part of web application development.</p>
      <p>Digital data certification in NFT significantly lowers the barriers to entry for certified
digital data markets with a wide audience for artists, collectors, developers and ordinary
people. There is no need for intermediaries to deal with. There is no need for the huge
hassles and upfront investments required, for example, to set up production and
distribution of a set of several thousand physical collectibles.
[7] Tran Anh Minh Theoretical and practical introduction to ZK-SNARKs and ZK-STARKs</p>
      <p>Brno, Spring (2022): p. 146.
[8] JENG, Ya-wen; HSIEH, Yung-chen; WU, Ja-Ling. "Step-by-step guidelines for making
smart contract smarter" IEEE 12th Conference on Service-Oriented Computing and
Applications (SOCA). IEEE, (2019): pp. 25-32. doi:10.1109/SOCA.2019.00012.
[9] Kadhim, S. A., Yas, R. M., Azize Abdual Rahman, S. A., &amp; Abd, S. K. "Developing a new
encryption algorithm for images transmitted through WSN systems" Eastern-European
Journal of Enterprise Technologies, 124(9) (2023).
doi:10.15587/17294061.2023.285261.
[10] Farnaghi, Mahdi &amp; Mansourian, Ali. Blockchain, an enabling technology for transparent
and accountable decentralized public participatory GIS. Cities. p. 105. (2020). doi:
10.1016/j.cities.2020.102850.
[11] V.V. Nikitin, M.M. Kozulia "Sertyfikatsiia tsyfrovoho kontentu u NFT" Tezy dop. XVI
mizhnar. naukovo-prakt. konf. mahistrantiv ta aspirantiv. Kharkiv : NTU «KhPI»,
(2022): pp. 115-116.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Zhao</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Si</surname>
            ,
            <given-names>Y. W..</given-names>
          </string-name>
          <article-title>"NFTCert: NFT-based certificates with online payment gateway" IEEE International Conference on Blockchain (Blockchain)</article-title>
          . IEEE, (
          <year>2021</year>
          ): p.
          <fpage>538</fpage>
          -
          <lpage>543</lpage>
          . doi:
          <volume>10</volume>
          .48550/arXiv.2202.09511.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Khati</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shrestha</surname>
            ,
            <given-names>A. K.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Vassileva</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <article-title>"Student certificate sharing system using blockchain and nfts"</article-title>
          <source>In International Congress on Blockchain and Applications</source>
          . Cham: Springer Nature Switzerland (
          <year>2023</year>
          ):pp.
          <fpage>61</fpage>
          -
          <lpage>70</lpage>
          . doi:
          <volume>10</volume>
          .48550/arXiv.2310.20036.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Dos</given-names>
            <surname>Santos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. B.</given-names>
            ,
            <surname>Torrisi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. M.</given-names>
            , &amp;
            <surname>Pantoni</surname>
          </string-name>
          ,
          <string-name>
            <surname>R. P.</surname>
          </string-name>
          <article-title>"Third party certification of agri-food supply chain using smart contracts and blockchain tokens"</article-title>
          <source>Sensors</source>
          ,
          <volume>21</volume>
          (
          <issue>16</issue>
          ), (
          <year>2021</year>
          ):
          <fpage>5307</fpage>
          . doi:
          <volume>10</volume>
          .3390/s21165307.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Bamakan</surname>
            ,
            <given-names>S. M. H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nezhadsistani</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bodaghi</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Qu</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          <article-title>A decentralized framework for patents and intellectual property as nft in blockchain networks (</article-title>
          <year>2021</year>
          ). doi:
          <volume>10</volume>
          .21203/rs.3.rs-
          <volume>951089</volume>
          /v1.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Madine</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Salah</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jayaraman</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Battah</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hasan</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Yaqoob</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          <article-title>"Blockchain and NFTs for time-bound access and monetization of private data"</article-title>
          <source>IEEE Access</source>
          ,
          <volume>10</volume>
          (
          <year>2022</year>
          ):
          <fpage>94186</fpage>
          -
          <lpage>94202</lpage>
          . doi:
          <volume>10</volume>
          .3390/su151712870.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lu</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kunpittaya</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Luo</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>A review of zk-snarks</article-title>
          .
          <source>arXiv preprint arXiv:2202</source>
          .
          <fpage>06877</fpage>
          . (
          <year>2022</year>
          ). doi:
          <volume>10</volume>
          .48550/arXiv.2202.06877.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>