I built an app on top of Ethereum and IPFS to fight corruption

Bogdan Djukic
Coinmonks
Published in
5 min readOct 3, 2017

--

Introducing [Monument] — Corruption reporting app built on top of Ethereum and IPFS

Origins of corruption

Andreas Antonopoulos in his brilliant talk on Privacy, Identity, Surveillance and Money gave an overview on the flawed institutional/organisational design based on hierarchical principles. Over time, power tends to accumulate in these institutions/organisations, they become more centralized, and with centralized power, corruption comes along.

Andreas Antonopoulos on Privacy, Identity, Surveillance and Money

As Andreas also notes that products of these power structures (corruption being one of them) are not egalitarian. They are actually in most cases restrictive (I would add destructive as well). They are spreading nativism, nationalism, tribalism, class structure and therefore making the world a smaller place.

Power structures set up on hierarchical principle lack accountability and transparency, which results in corruption proliferation. On the other hand, these power structures require from us to give up on all our privacy in the name of security, fight against terrorism or to be able to use their services.

How can we fix this?

What if we flip the roles? What if, instead of few hundred thousand watching 7.5 billion, 7.5 billion stare back (as Andreas points out)? His idea is reversed panopticon. One way to address the opaque nature of power structure is by piercing through its secrecy and by giving a resilient, distributed, transparent, open sourced and secure reporting channel to corruption whistleblowers and leakers.

[Monument] is exactly that.

What’s out there now?

Existing corruption reporting tools lag years behind the current UX trends and reports themselves are usually not accessible and open for everybody who might be affected by the similar corruption cases. There is no strightforward way you could search corruption reports in your area, country or public institutions.

Source: New York City’s Inspector General corruption repot form

[Monument] is bringing corruption reporting to a mobile app with UX for storytelling similar to Instagram Stories. The idea behind it is to open up corruption cases to a public eye where they can be discussed, shared and easily discoverable. All of this is being done with anonymity of the reporters and by hiding their true identity.

[Monument] — UX for browsing corruption reports based on Instagram Stories

Why Ethereum and IPFS?

Corruption report service needs to be accessible at all times. It must be immune to the governmental attacks and bans. System needs to be capable of being noncensorable and its content ought to be permanent.

These kind of system characteristics can be found in latest, state of the art, distributed systems. More specifically, blockchains (i.e. Ethereum) and distributed file systems (i.e. IPFS).

Ethereum is a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third party interference.

[Monument] is utilising Ethereum’s smart contracts and its blockchain technology for storing corruption reports’ meta data (title, description, timestamp, up and down votes, tags, but not the actual video content). Its smart contract exposes simple API for creating new reports, listing existing ones and searching for reports based on a specific query.

The video content itself is being hosted on IPFS.

IPFS is a distributed file system that seeks to connect all computing devices with the same system of files.

As the video content gets uploaded to IPFS, unique hash (identifier) gets assigned to it. This hash is aferwards stored as meta data for corresponding corruption report on Ethereum.

By using IPFS, [Monument] is trying to avoid a fundamentally flawed design in HTTP which is centralisation of the content ownership and distribution. What this means is that there is no single point of failure in case governments or any other organizations try to take the corruption report content down. As long as there is a sufficient number of nodes which are able to seed the content, the system itself will stay resiliant to these kinds of attacks.

We want to move away from centralised to more distributed content distribution to gain on resiliance — source

The IPFS nodes could be hosted by NGOs which bring awareness of corruption or by passionate individuals who deeply care about this topic in their own countries.

In case you need a quick introduction tour of distributed web, Ethererum, and IPFS, I would suggest that you check out Siraj’s video:

A Guide to Building Your First Decentralized Application

Final thoughts

[Monument] is in prototype stage and its initial purpose is to test out a potential of the new distributed paradigm which is posed to disrupt the traditional way of building services with social/political impact.

Some of the future improvements may include:

  1. Voice modification (adding distortion, besides video pixalization)
  2. Being able to up/down vote particular report
  3. Adding quick share capabilities for social media
  4. Adding comments capabilities
  5. Exposing report search through app UI
  6. Creating Raspberry Pi image which can be used to run IPFS/Ethereum node in order to improve seeding of content

Get Best Software Deals Directly In Your Inbox

If you found this to be an interesting read and would like to see further development of [Monument], your tips are more than welcomed:

ETH: 0x8980154c5C6DDf1c1F759F7D7B7e69BD903231c9
BTC: 32sVVk5BPkZF994cwp85sCsNa12s5vVmth

If you are interested in how [Monument] works under the hood or you want to contribute to the project, you should check out:

--

--

Bogdan Djukic
Coinmonks

ex-Skyper, half-marathon runner, charity hacker and self-driving car technology enthusiast.