<!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>A Blockchain-based Platform for Keeping Logs of Citizens' Consents</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute Mihajlo Pupin, University of Belgrade</institution>
          ,
          <addr-line>Volgina 15, 11060 Belgrade</addr-line>
          ,
          <country country="RS">Serbia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The development of ICTs (Information and Communication Technologies) and the usage of personal data for both research and commercial purposes over the last years have brought the question of the protection of personal data. The GDPR (General Data Protection Regulation) has defined the ways how personal data should be treated, but the application of these requirements still remains an open issue. This paper is dedicated to the research of the blockchain advantages when it comes to providing the transparency of the usage of personal data and provides proof of concept where it demonstrates the application of blockchain in working with users' consents. Hyperledger Fabric was chosen as the development platform which proves as a suitable choice when it comes to achieving transparency, immutability, and modularity.</p>
      </abstract>
      <kwd-group>
        <kwd>Transparency</kwd>
        <kwd>Blockchain</kwd>
        <kwd>Hyperledger Fabric</kwd>
        <kwd>Consent</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Due to the faster development of technology and the usage of information systems
over the last years, the protection of personal data has become more important than
ever. Numerous organizations collect data from citizens for a variety of purposes,
both research and commercial. The results of data analysis can have a great impact on
society, but on the other hand, citizens should be informed at any moment how their
data is collected and processed in order to avoid various data malversations. The
emergence of GDPR[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] (General Data Protection Regulation), a legal framework that
sets guidelines for the collection and processing of personal data of European Union
citizens, has completely changed the way in which personal data of individuals are
treated. Nevertheless, the universal mechanisms which ensure that the regulations
determined by the GDPR are adequately applied in practice still haven’t been
established. GDPR demands that data subjects have the right to obtain information from
data controllers whether data related to them is being processed but also to have the
right to withdraw their consents for using the data at any time [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ][
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Therefore, there
is a need for the citizen to keep track of all his consents in order to easily transform
the content of consents, and also to have the possibility to completely withdraw his
consents. Data controllers also have benefits from keeping their requests for the data
transparent as well - so that they can prove that they are using the data according to
the previously given consents. GDPR also requires establishing at least one DPA
(Data Protection Authority) per each member state territory which will have the
responsibility to monitor the processing of personal data. All things considered, there is
a need for exploration of the mechanisms that will enable the citizens the
establishment of better control over their data, but also to facilitate the process of investigation
for central authorities and proving compliance for data controllers. These are one of
the goals of the European Horizon 2020 TRAPEZE project [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] which aims to connect
all stakeholders in data protection under the one common platform. For providing full
transparency TRAPEZE aims to store all processing activities in a decentralized
manner, by collecting the data request, consent, and compliance logs. As being an
immutable decentralized ledger, blockchain was chosen as the platform for storing the logs.
      </p>
      <p>Blockchain advantages in terms of achieving transparency and immutability and
the Hyperledger Fabric as the chosen blockchain platform will be discussed in the
next section. After that, the implemented blockchain network for keeping logs of
users' consents will be presented and some future work will be addressed.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Methodology</title>
      <p>Blockchain has received wide recognition upon the occurrence of cryptocurrencies,
such as Bitcoin and Ethereum. It was spread later to smart contract techniques,
programs that contain a transaction logic needed for updating the state on the ledger and
use completely distributed data storage and processing, without the central authority.
As the popularity of blockchain grew, it went beyond the scope of usage within
cryptocurrencies and found a new field of application in various enterprise use cases. The
immutability of blockchain is based on hash cryptography, which ensures that blocks
creating a blockchain network cannot be modified or tampered with. Being a
distributed ledger, it eliminates a single point of failure which exists in centralized systems
and also removes the need for trusting one central authority. Having the
aforementioned characteristics, blockchain has proven as a convenient area of research when it
comes to establishing transparency and immutability of personal data.</p>
      <p>
        While numerous well-known blockchain platforms are currently being adapted to
enterprise use cases, Hyperledger Fabric [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], an open-source platform established
under Linux Foundation, is originally designed for these purposes and therefore offers
various advantages such as modularity, pluggability, and scalability. Another fact that
distincts Hyperledger Fabric from other platforms such as Bitcoin and Ethereum is
that it is a permissioned platform which requires all the participants in the network to
be identified and while the participants may not fully trust each other, they can be
sure that all the entrants are who they claim to be. The modular architecture allows
the usage of different structural units depending on the concrete need of the use case.
Hyperledger Fabric is also the first platform that supports developing smart contracts
in general-purpose languages, such as Java, Go, Node.js, and therefore offers more
flexibility for developers who don’t have to get acquainted with domain-specific
languages.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Results and discussion</title>
      <p>The developed platform consists of a client application and a Hyperledger Fabric
network which communicate using the Fabric SDK for Node.js.
3.1</p>
      <sec id="sec-3-1">
        <title>The client application</title>
        <p>The client application is implemented in Node.js and has two most important roles:
assigning a digital identity to all users who want to participate in the Hyperledger
network and sending requests from users to the network. The identity assignment is
done between the client application and Certificate Authority, the body that issues
digital certificates to different parties. Each user that wants to participate in the
network has to go through the registration and enrollment process with Certificate
Authority. When these two steps are completed, the user is assigned a digital certificate
which is stored in the user's wallet along with his private key. For the purpose of
testing the wallet is stored in the file system. However, storages such as databases and
hardware security modules should be considered for the deployment. The certificate is
sent with each request to the network so that the user can be appropriately identified.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>The Hyperledger Fabric network</title>
        <p>As regards the Hyperledger Fabric network, two organizations were created, each one
having one peer that form a channel. Peers, smart contracts and certificate authorities
run inside docker containers. The smart contract consists of methods that perform
basic operations working with users’ consents: creating/reading/modifying/deleting a
consent, reading all consents, reading a history of consents. The consent contains the
following attributes: data subject, creation date, data category, purpose, and recipient.
For monitoring the activity on the underlying blockchain network Hyperledger
Explorer tool is used, which supports the visualization of the network, blocks, and
transactions (Fig. 1).</p>
        <p>The Hyperledger Fabric has proven to be a suitable choice for developing the
desired platform because of the advantages for implementing the client application and
smart contracts in general-purpose languages, with good support of the Fabric SDK.
Furthermore, the modularity of Hyperledger Fabric allows usage of different
databases for storing the world state of the platform which has proven useful while
implementing this network since the initial approach was to use the LevelDB database,
but with the later need for rich queries, it was replaced with the CouchDB. The future
work would include testing the performance of the network by using the Hyperledger
Caliper, a benchmarking tool provided by Hyperledger community.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Acknowledgment</title>
      <p>The research presented in this paper is partly financed by the European Union (H2020
TRAPEZE project, Pr. No: 883464, H2020 LAMBDA Project, Pr. No: 809965), and
partly by the Ministry of Education, Science and Technological Development of
Republic of Serbia.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. '
          <string-name>
            <given-names>General</given-names>
            <surname>Data Protection Regulation (GDPR) - Official Legal</surname>
          </string-name>
          Text',
          <article-title>General Data Protection Regulation (GDPR)</article-title>
          . https://gdpr-info.eu/,
          <source>last accessed</source>
          <year>2021</year>
          /05/06.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. 'Art. 15 GDPR -
          <article-title>Right of access by the data subject', General Data Protection Regulation (GDPR)</article-title>
          . https://gdpr-info.eu/art-15-gdpr/,
          <source>last accessed</source>
          <year>2021</year>
          /05/06.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. 'Art.
          <volume>7</volume>
          <fpage>GDPR</fpage>
          - Conditions for consent',
          <article-title>General Data Protection Regulation (GDPR)</article-title>
          . https://gdpr-info.eu/art-7-gdpr/,
          <source>last accessed</source>
          <year>2021</year>
          /05/06.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. 'TRAPEZE'. https://trapeze-project.eu/,
          <source>last accessed</source>
          <year>2021</year>
          /05/06.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <article-title>'A Blockchain Platform for the Enterprise - hyperledger-fabricdocs master documentation'</article-title>
          . https://hyperledger-fabric.
          <source>readthedocs.io/en/release-2</source>
          .2/, last accessed
          <year>2021</year>
          /05/06.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>