HELIOS CJ App: The decentralization of the Citizen Journalism

The decentralization of Social Media applications has gained importance in the last years. In this direction, the HELIOS project has been proposed in order to provide a decentralized platform for social applications. Among these several social applications, the Journalism field is considered an important use case. The main problem which needs to be addressed is preventing the spread of fake news and ensuring the authenticity of the literature for end readers. Furthermore, with the rise of Citizen Journalism, the way of how people can participate to share information is changed. In this paper, we present the HELIOS Citizen Journalism App (CJ) developed in the context of the HELIOS project. The CJ App allows users to contribute content anonymously, based on blockchain technology. After publishing the content via the app, the content is available to publishers for further distribution, on a decentralized P2P and IPFS-based network storage. Furthermore, by making a donation for particular content, the CJ also receives remuneration. In this paper, we show the architecture of the App by describing its components and how it works.


INTRODUCTION
The decentralization of Social applications has gained importance during the last years thanks to the introduction of technologies such as the blockchain. Principally, the interest concerning the decentralization is related to the several issues of current Online Social Media, such as privacy or fake news [11] [6]. In this research field, the HE-LIOS project 1 has been proposed in order to provide a decentralized social platform. One of the proposed applications, based on the HE-LIOS architecture is the Citizen Journalism App. Indeed, among the several issues concerning the usage of Social Media, the spread of fake news is considered one of the most important ones [6,13]. Concerning this issue, the Citizen Journalism (CJ) [16] is gaining importance in the last years. Political and economic crises around the world, and the need of Internet users to get news more quickly than ever, have increased the dynamics of reporting [5]. Whether it be police brutality against peaceful "Black Live Matters" protesters, marches against authoritarian regimes like the ones in Hong Kong in 2019/20, or manifestations against the Covid-19 measures, "ordinary people" on location are now able to report easily and quickly. They can then distribute their contents to media producers or share them via their own social media channels. Notable examples of citizen journalism are the 2010 Haiti earthquake, the Arab Spring, the Occupy Wall Street movement, the 2013 protests in Turkey, the Euromaidan events in Ukraine, and Syrian Civil War, the 2014 Ferguson unrest and the Black Lives Matter movement. A basic precondition for Citizen Journalism is anonymity. The more controversial the events (and consequently the contents), the safer the reporting needs to be for reporting individuals. The yearly Press Freedom Barometer published by the NGO 'Reporters without Borders' provides disturbing numbers of journalists and citizen journalists killed or imprisoned. This demonstrates impressively that technologies enabling anonymity such as blockchain are not only of importance for worldwide corporate companies but could also help uphold values such as freedom of speech and protect human life. In this paper, we present the HELIOS CJ App by describing its functionalities and the details of the implementation. The HELIOS CJ App offers a new kind of platform and connects the smartphone with the blockchain. Indeed, it allows users to contribute content anonymously, based on blockchain technology, and on the Interplanetary File System (IPFS). The new end-to-end system for P2P Publishing contains the following elements: Citizen Journalist App -(HELIOS CJ App), a Central Workflow System, and the Shared Content Marketplace -HELIOS Video Exchange Platform (VEP). The HELIOS CJ App demonstrates the prosumer journey from the production of content to the contribution of videos and pictures. After publishing the content via the app, the content is available to publishers for further distribution, on a decentralized P2P and IPFS-based network storage. The access to these contributions happens via a dedicated Video Exchange Platform (VEP), which allows publishers to purchase the content by accessing it via a decentralized web application (DApp). In this way, content is redistributed on one communication platform. By making a donation for particular content, the CJ App also provide a remuneration to the users. To the best of our knowledge, the HE-LIOS CJ App represents the first decentralized application available online concerning an anonymous Citizen Journalism approach. The paper is organized as follows. In Section 2 we provide an overview of Citizen Journalism concepts and the status of decentralization in this field. In Section 3, we briefly introduce the HELIOS project. Then, in Section 4 we describe the HELIOS Citizen Journalism App by describing its architecture and how the application interact with both IPFS and the blockchain. In Section 5, we provide an overview of the functionalities of the App by describing how it works, and in Section 6 how the application has been tested. Finally, Section 7 reports the conclusions and the future works.

BACKGROUND
Citizen journalism is based upon public citizens which play an active role in the process of collecting and disseminating news and information. The birth of citizen journalism is often attributed to South Korea where OhMyNews, the first platform of amateur generated information, was created 2 . The principle was simple. Anyone can take part in the process of creating information, not only professional journalists.
Citizen journalism is a specific form of both citizen media and user-generated content (UGC), and it was made more feasible by the development of various online Internet platforms [5]. New media technology, such as social networking and media-sharing websites, in addition to the increasing prevalence of cellular telephones, have made citizen journalism more accessible to people worldwide.
Several critics have been arisen on this phenomenon, including professional journalists and news organizations, who claim that citizen journalism is unregulated, amateur, and haphazard in quality and coverage [14]. However, Citizen Journalism represents a prominent research field where several current decentralized techniques can help to obtain an important social service. In that direction, the blockchain technology has been preferred.
Blockchain is a decentralized, distributed digital ledger of economic transactions which are managed by a cluster of computers and is a perfect example of a democratized system. It is a shared ledger in which each information that is stored can be viewed by anyone. In the last years, the blockchain technology has been applied to several research fields [15], and journalism is one of them 3 . In [1] a decentralized ecosystem is proposed in order to manage the problem of news authentication by a blockchain-based voting system. In [12], a journalism model that provides completely personalized news based on a distributed system by moving away from centralized control is presented.
An important issue of decentralized platforms is the data availability [8]. Nowadays, techniques such as IPFS can provide a good solution to overcome this issue. IPFS is a P2P file system to store and share data. Content added to IPFS receives a unique hash corresponding to the contents of the resource (i.e. files in a folder or contents of a file). The hash is unique and is totally different even if there is only a difference of one single character in the input of the hashing functions. IPFS can use the content of the file to locate its address, instead of using a URL, as HTTP does. The IPNS layer offers the possibility to change the content of the data, while maintaining the same link to it. The references between data items and their respective providers are stored in a Kademlia-based DHT.

THE HELIOS PROJECT
The challenge of the HELIOS Project 4 as a modular, decentralised social media platform is to construct the architecture to be as flexible as possible, but with innovative interfaces that can be used to add applications on the top. HELIOS provides innovative solutions to decentralized social applications by providing a trusted decentralized environment. Furthermore, HELIOS introduces a novel way to create, maintain and configure personal social graphs by exploiting context social data that are available when the application is running [9]. In detail, the platform provides P2P communication and the establishment of person-to-person connections either by subscription or ad-hoc connection methods according to the users' context and profile, respecting each users' privacy settings. The architecture of HELIOS is composed by a core, a set of extension modules, and applications built on top of this platform. The HELIOS core is the heart of the system and takes care of basic connectivity, security, and social networking functions developed by helios. It contains a set of modules implemented to manage specific social functionalities that can be used to implement decentralized social applications, such as the HELIOS CJ App, as shown in Figure 1.

THE HELIOS CJ APP ARCHITECTURE
The HELIOS CJ App is an Android application that allows journalists to create content in a censorship-resistant, anonymous and decentralized way from their mobile phones. It uploads the media directly to IPFS and submits the entries to the Citizen Journalist (CJ) Smart Contract in the Ethereum blockchain [3]. Additionally, the HELIOS CJ App is also an ether wallet. This allows the reporters to sign their content with the private key in their wallet and interact with the Ethereum blockchain. Videos and pictures can be published anonymously, e.g. in socio-politically difficult circumstances. Videos produced by a Citizen Journalist that are published with the App are transferred instantly into a P2P decentralized IPFS storage network. The contributions can be accessed via the VEP DApp which also allows the access to free content produced by public broadcasters. The VEP is based on a decentralized app (DApp). This is a website that interacts directly with the Ethereum network and allows users to access the content and donate for it towards the CJ journalists, in  Figure 2.
The HELIOS CJ App uses the HELIOS core modules to record content (pictures/video) and publish it on the Video Exchange Platform (VEP), which was developed in-house for this purpose. The data is managed and stored in an Ethereum based Smart Contract [4]. The media files are shared through IPFS (Interplanetary File System) [2], which represents an important innovation in order to guarantee the data persistence in decentralized applications [10]. Both are decentralized Peer-to-Peer (P2P) networks. The HELIOS CJ App uses an our own ipfs gateway to provide an HTTP-based service that allows IPFS-ignorant browsers and tools to access IPFS content.

The CJ Smart Contract
The CJ Smart Contract is the manager of the HELIOS CJ App. The application runs in the Ethereum blockchain. A Smart Contract is a program or a set of programs self-verifying, self-executing, and tamper resistant. The Smart Contract takes care of keeping track of media published by journalists. The photos and videos cannot be removed by a third party. The journalist signs his or her video with the private key. No third party can come in and remove or manipulate content uploaded by users. Also, such a third party cannot claim that a content was provided by a known journalist as the anonymity is secured by a private key. Additionally, the Smart Contract distributes donations to the reporters and also makes sure that a reporter can build a reputation, with only his public address. In detail, the HELIOS CJ App provides a crypto wallet, containing the private key of the journalist. The CJ App signs each transaction to the CJ Smart Contract in the blockchain. More specifically, the transaction contains the following information: a title, the IPFS hash, and the journalist's address in the Smart Contract. The Smart Contract records this information in addition to the timestamp of the upload date. Once published, this information can no longer be changed, which makes a contribution secure.
The Smart Contract is written in Solidity 5 . It offers five basic functions: (1) Add Content. Users can add new files by interacting with this function. The content is signed and a reference to its IPFS hash is then stored in the contract. Each entry must have a title. This way it is easy to find the file. Additionally, a thumbnail IPFS hash is stored with the entry. Each IPFS hash can only be submitted once. The Smart Contract will reject a second submitted entry with the same hash. (2) Delete content. This functionality is used to delete an entry.
However, this function can only be called by the journalist who originally uploaded the file. This protection is enforced by the rules in the Smart Contract. Nobody else can remove an entry.  donations. There is also a list function to find content for a specific journalist address. (5) Get content by hash. A user can retrieve an IPFS content by using the IPFS hash of an entry. It delivers all properties bound to a specific entry.
The donation of ether is an important feature which could incentives to produce and share only valuable content, in order to face the problem of fake news. Indeed, several current Blockchain Social Media are using rewarding strategies in order to face the fake news issue [6], and the HELIOS CJ App is inspiring by this mechanism, and it provides a way to reward content by permitting a user to donate ethers.

IPFS Data Storage
Nowadays, IPFS is employed by many decentralized projects to share data that can not be stored in the blockchain. IPFS is an opensource project designed to create a permanent method to store and share data in a decentralized way. In detail, IPFS is a P2P storage network, where content is accessible through peers located anywhere in the world. There are three fundamental principles in IPFS: • Unique identification via content addressing • Content linking via Directed Acyclic Graphs (DAGs) • Content discovery via Distributed Hash Tables (DHTs) In the IPFS network, nodes store a collection of objects in local storage, and they connect to each other to transfer objects. A third party cannot change the media files or their hashes, and because of its distributed nature also cannot block or censor the content as it is served and copied by multiple parties in the network. With IPFS hashes it is possible to retrieve the files without knowing their exact location. They can be accessed either through a gateway or a custom node. In our HELIOS CJ App, IPFS is used as storage for big files like videos, because it is not possible to store those directly in the blockchain. IPFS has decentralized and censorship-resistant properties and consequently is a good fit to use together with the Ethereum blockchain. For the Citizen Journalist Use case only the IPFS hash is stored in the Smart Contract. The media files themselves are stored in IPFS. IPFS gateways are used to retrieve content on the IPFS network by web users retrieve content without running their own IPFS node. We provide an our one IPFS gateway, and we use a pinning service [10] in order to guarantee the availability of the content for a long-term. Indeed, IPFS nodes treat the data they store like a cache, meaning that there is no guarantee that the data will continue to be stored. IPFS generates a Merkle DAG out of the media files. There, each piece references the next piece. From the pieces a multihash is generated. Because of that it is impossible to change or manipulate the media content. After submitting the file to IPFS a reference to its multihash, together with a title and the journalist's public address, is stored in the Smart Contract, as shown in Figure 4

The VEP DApp
The VEP DApp (see Figure 2) is used to consume the content uploaded by citizen journalists. It provides a user interface for the Figure 3: User "onboarding" welcome screen Smart Contract. The DApp is using the web3 6 standard. This allows any website to access data from the blockchain by either using a special browser like Brave 7 which already contains an Ethereum wallet or installing Metamask 8 as a plugin. Through the DApp, users can search and view videos and photos uploaded by journalists in the Smart Contract in a user friendly way. They can also use Metamask to donate to high value content uploaded by the citizen Journalists. Additionally, the DApp connects to IPFS to get the content files. As explained before, we use a gateway where data can be pinned. In summary, the DApp is a website built with javascript and HTML with additional functionality to interact with the Ethereum blockchain and IPFS.

HELIOS CJ APP: HOW IT WORKS
After installing the application from the Google PLAY Store, a "Welcome Screen" is displayed when the HELIOS CJ App is started ( Figure 5).
Instead of a classical use of a mobile application where the user would need to register with a name or an email and password, here the user generates a wallet which is basically his account. It is secured by his private key and his public identity is his public key. The private key never leaves the app. In the Ethereum Test-Net the user can retrieve some test ether for his or her wallet to interact with the Smart Contract. We are using the Ropsten testnet 9 . The ether is distributed from a faucet, which is a service that sends test ether to your wallet. Usually, a faucet allows only one transaction per day. It is provided by the Ethereum community to simplify testing. There are different faucets with different rates and options to get ether. The primary purpose is to get started quickly using the app. As each transaction requires a bit of ether, this is the simplest way to get started. When a contribution is recorded, it is then stored in the local device, and pinned to an our own IPFS gateway, in order to be shared in a decentralised manner through the IPFS network. The content is visible in the application through a library of the submitted contents in the IPFS network, as shown in Figure 4. The content  shows the title, which is stored in the Smart Contract (Figure 4(a)), and it allows the users to understand what a media content is about. The user cannot change the title after the upload. The IPFS hash (Figure 4(b)) is the reference to the media file in the IPFS network. The amount of a reward that someone can award for a contribution via DApp in the VEP is displayed here. The donation is anonymous and cannot be traced back, neither when it is given nor when it is redeemed. Figure 5 shows the four main areas that the HELIOS CJ App will show after the initial installation.
• Camera: This area contains the usual function for the mobile phone to record video contributions or to take photos, for this purpose the camera or video symbol corresponding to the operating mode in the lower right area on the camera must be pressed.

CJ APP TESTING
In order to evaluate the functionalities and the interface, the CJ App has been tested at the Jungfrau Marathon in Switzerland (Interlaken), in 2019 10 . This allowed the system integration and content publishing on the video exchange platform and application-handling during a live event.
In this way, we tested the application during a sports event. The event was also a good opportunity to tell the user story of Gabi Schenkel, the first Swiss ultramarathon runner, who in fact participated in the marathon in preparation for her solo-crossing of the Atlantic in a rowing boat in December 2019. All the activities at this They used a drone and special 360 cameras. All this footage was later used in the project to show the visual possibilities. First tests conducted showed some difficulties in the users' grasp of the functionalities. This has led us to implement an onboarding process to facilitate user understanding of the blockchain-based technologies.

CONCLUSIONS AND FUTURE WORKS
The HELIOS Project addressed the major topics like the Android application that allows journalists to record and publish media content in a decentralized, anonymous way and the additional function of an ether wallet. In this paper, we present the HELIOS CJ App within its context of prosumer needs and uses, the development and testing of the App. The App represents a new end-to-end system which allows users to upload content directly to IPFS, and it submits the entries into a Smart Contract in the Ethereum blockchain. The current version of the HELIOS CJ App has been tested in a sport event, like a marathon. The App is available in an alpha version, and a further version is planned for the beginning of Q3 2021. Indeed, in the coming months, further tests will be undertaken with the aim of improving both the technical stability and the user acceptance of the CJ App and its environment. We also plan to introduce the Helios Rewarding Module [7] for user identification and initiate customization of a digital wallet to allow users to send HELIOS tokens to other Helios users.

ACKNOWLEDGMENT
This work was partially funded by the European Commission under contract number H2020-825585 HELIOS.