We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Collaborative validation of user-contributed data using a geospatial blockchain approach: the SIMILE case study

00:00

Formal Metadata

Title
Collaborative validation of user-contributed data using a geospatial blockchain approach: the SIMILE case study
Title of Series
Number of Parts
351
Author
License
CC Attribution 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Production Year2022

Content Metadata

Subject Area
Genre
Abstract
Collaborative validation of user-contributed data using a geospatial blockchain approach: the SIMILE case study Decentralized applications are a fundamental element for internet development, not only because they are safer but also because they make data accessible to more people than centralized applications. One of the most important architectures of decentralized applications is blockchain, a computing infrastructure capable of sharing data obeying consensus and in an immutable way. The most popular blockchain applications belong to the financial sector, and developments are still missing in other areas that can take advantage of this technology. An area that can benefit from blockchain characteristics is citizen science, which, as its name specifies, is the research activity performed by a community of citizens. Due to the requirements to this extent, this work studies the feasibility to use a blockchain architecture in citizen science, specifically for ecosystem monitoring. Additional to this, this work helped to understand the advantages and disadvantages of using this technology in this area. Current state-of-the-art applications that propose partially a solution to citizen science are FOAM and CryptoSpatial Coordinates. FOAM [1] is a geospatial web application that builds a consensus-driven globe map using the blockchain Ethereum protocol. To achieve network verification, it employs a cryptographic software utility token, where cartographers verify if points added to the network are false or correct. This removes the need for a central authority to regulate and verify the points. The voting mechanism uses FOAM tokens to avoid spamming from the participants. The system works by mapping a blockchain address to a physical location, which can be registered with a spatial resolution of 1m by 1m. CryptoSpatial Coordinates (CSC) [2] is an Ethereum smart-contract library that can be used for developing geospatially enabled decentralized apps. It uses Blockchain technology to store, retrieve, and process vector geographic data. In our approach, we were only “inspired” by the previous solutions, but we decided to develop something new and original. The system is developed in Solidity programming language. This allows usage on every blockchain that supports the Ethereum Virtual Machine and guarantees extended flexibility. Moreover, this choice is justified by the expanded ecosystem that Ethereum offers. The architecture of Smart Contracts is completely open-source and developed with a focus on the reusability of the components for other applications in the same field. The two main parts of the architecture are the Cell Smart Contracts and the Registry Smart Contracts. This is based on the mapping of a Discrete Global Grid System (DGGS) [3] with Smart Contracts. As a DGGS we choose S2 [4], which is an open-source library developed by Google that offers good processing functionalities and a grid with a fine-grained resolution. Each Smart Contract representing a Cell is used to keep track of the hash of the observations collected in the application. The hashes are used to locate and retrieve the stored files in the decentralized storage InterPlanetary File System (IPFS). This structure also allows to store metadata about the observations, for example, their quality decided through a peer voting mechanism or with some other system. The Registry Contracts are linked to a resolution of the DGGS and have the duty to keep track of the mapping between the DGGS cells of that resolution and their respective Smart Contract. The prototype platform is developed in Velas, a blockchain architecture with a strong focus on fast transaction speed and low costs of fees compared to other blockchains (e.g. Ethereum, Cardano, Solana). The use-case for this work was the Informative System for the Integrated Monitoring of Insubric Lakes and their Ecosystems (SIMILE) project. SIMILE is a cross-border Italian-Swiss project with the aim to improve the collaboration between public administrations and stakeholders for the management of the Insubric lakes (Lugano, Como and Maggiore) and their ecosystems, as well as monitoring water resources quality [5]. One of the main sources of data in SIMILE is collected with a Citizen Science approach, meaning that the data is collected from normal citizens through their smartphones. The observations of this type include data about water quality, climatic parameters, and multimedia files such as images can be included. The collected data can be currently validated by the public authorities managing the platform but this requires time which is not always available to technicians. In our system, the observations are instead validated through a mixed rating system that allows both users and admins to evaluate each entry. Furthermore, the use of the proposed blockchain architecture allows access to the collected data without relying on the currently existing Web Application. The practical importance of this work is to fill the gaps currently present in citizen science applications, by proposing an innovative system that works with the blockchain infrastructure. The result of this work and the technological development performed, demonstrate that citizen science applications can be, as a matter of fact, developed as a decentralized infrastructure. The main advantages with respect to other systems are data immutability, security and no single point of failure. Future work can include the implementation of a system to further incentivize the collection of data. This will work with a reward system in the form of a Utility Token. This token could be accepted by the public administrations benefitting from the data, in exchange for some form of compensation such as discounts on public services.
Keywords
202
Thumbnail
1:16:05
226
242
Formal verificationAerodynamicsTime evolutionInternetworkingContent (media)Reading (process)Fluid staticsDatabase transactionMathematicsBlock (periodic table)InformationCalculationContext awarenessCodeDesign by contractPlastikkarteGroup actionSpacetimeCommunications protocolPrice indexProof theoryCryptographyComputing platformSimulationMechanism designToken ringCAN busMobile appAndroid (robot)DisintegrationSystem programmingOpen sourceComputer-generated imageryMobile WebComputer-assisted translationPersonal digital assistantSineSystem administratorCorrelation and dependenceWindows RegistryAddress spaceData structurePerformance appraisalComputer architectureVotingComputer fileAreaEntire functionHash functionQuery languageImage resolutionTrailComputer architectureAxiom of choiceIntegrated development environmentMetadataLimit (category theory)Cone penetration testPRINCE2Point (geometry)Electronic mailing listMaxima and minimaStatisticsoutputWebsiteComputer networkFeasibility studyAttribute grammarEncryptionData storage deviceDistribution (mathematics)Visualization (computer graphics)Different (Kate Ryan album)Integrated development environmentWeb 2.0Characteristic polynomialFormal verificationState observerTouchscreenSubject indexingWeb pageSharewareLoginLevel (video gaming)MathematicsVotingComputer fileProjective planeInformationRight angleGroup actionInteractive televisionHash functionSystem programmingProof theoryBitArithmetic progressionUniform resource locatorNumberCodeChainCentralizer and normalizerComputing platformSoftware developerPerformance appraisalCASE <Informatik>Shared memoryComputer programmingPrototypeSoftwareObject (grammar)Database transactionWater vaporAuthenticationInternetworkingString (computer science)MeasurementOpen setPresentation of a groupSoftware frameworkSheaf (mathematics)Revision controlWindows RegistryPersonal digital assistantComputer architectureSingle-precision floating-point formatWeb applicationSystem administratorSpacetimeSolid geometryPlastikkarteVirtualizationEmailAreaType theoryElectronic mailing listCartesian coordinate systemScripting languageInheritance (object-oriented programming)Block (periodic table)Point (geometry)Limit (category theory)Image resolutionMultiplication signDesign by contractMögliche-Welten-SemantikCollaborationismValidity (statistics)Mobile appFluid staticsEvoluteSlide ruleContext awarenessObservational studyFocus (optics)Read-only memoryNeuroinformatikPeer-to-peerWordBoss CorporationCryptographyGeometryOpen sourceCodierung <Programmierung>MereologyLatent heatSimilarity (geometry)File systemMixed realityRepetitionVisualization (computer graphics)Moment (mathematics)Entire functionWritingRiflingVirtual machineProgramming languageSet (mathematics)Computer-generated imageryInformation extractionDynamical systemAlgorithmAttribute grammarReal numberTask (computing)Computer animation
Transcript: English(auto-generated)
OK, hello, everyone. Thank you for being here. As I was presented, I'm Rodrigo Cedeno. And I'm presenting today the work of the paper we published called Collaborative Validation User-Contributed Data Using a Geospatial Blockchain Approach of the Simile Case Study.
It was developed by Andrea Foligni and me and with the supervision of Professor Brovelli at Politecnico di Milano. This is a project that belongs to Interrec. So it's a project of Simile, which Andrea in the slides will explain
what is exactly Simile. So first of all, I want to give you a quick context because I know that for some people, this may be the blockchain may be a very new topic. And it seems very complicated.
And it's also used as a buzzword. But I will explain it in a very simple way so that those who are not familiarized understand it and grab the concept. So first of all, the internet has evolved through different stages.
The first stage was at the very beginning of the internet, Web 1.0. This was the internet basically as a read-only network, static. And we could access two web pages, but in a static way.
Then we saw the evolution of internet. And we saw an application layer over the Web 1.0. And we called it this Web 2.0. So it was more interaction between the users.
So we have read and write. It's dynamic. And as I said, it has this application layer. Now in this moment, we are at the very beginning of a new transition. The transition is Web 3.0. There are many definitions of Web 3.0.
But as we will use it in this presentation, we are focused on decentralization. So we are generating trust between users with a new infrastructure that is verified.
And as I said very importantly, it's decentralized. So we no longer have a very big player deciding what we see and what gets approved. But it's more a democratic system.
So now that we know that we are focusing on decentralization, I can speak a little bit about blockchain. Because blockchain is the main infrastructure that is leading this centralization. So what is blockchain? As the name says, it's a chain of blocks.
These blocks can be seen in a very simple way as text files that have certain characteristics like header, body, footer, and other characteristics that I will not describe at this moment. But the important thing is that we have a body
inside a block, which has a list of transactions. Once the number of transactions get to the limit, because there's a certain limit of each block on the number of transactions, we close the block. This block then gets approved by the community,
by the users present in the network. And with, in a democratic way, these blocks get approved. This is talking about the first block. But then we need to generate more blocks
because we have more transactions. So we generate a new block, which has the same characteristics as the previous one. This second block is connected to the previous. But how is it connected? It's connected through a hash. The hash is a string that, with an algorithm,
represents any kind of file. So it is unique, and it is practically not repeatable. So when we have a file and we calculate the hash of a file, we have a unique number.
If we change a single bit of this file, the hash changes, okay? So we calculate the hash of the previous block, and then we put this string into the new block, okay? So now we have a new block with transactions,
with a hash of the previous block, and when we close it, we do the same. By consensus, it gets voted and approved. Then we calculate, again, the hash of this new one, but the hash of this new one has also
the hash of the previous in its header. So this means that if anyone tries to tamper or modify one of the previous blocks, then the chain is broken. We have useless following blocks which need to be recomputed.
So it makes it very computing expensive to generate the new blocks, and it takes a lot of time. So, and it must reach consensus to get approved. So it is a system that really has very good characteristics, and specifically
for geospatial data, which is immutability. It's decentralized because it's distributed among the peers, consensus-based. Everyone agrees on the truth, and it's traceable. We can see in an open way all of the transactions.
We can trace them, and we can see how a file or a transaction has changed in time. We are used to hear about the blockchain because of Bitcoin, okay?
So it's super famous because of Bitcoin, and many people even don't like it because they see it as this buzzword. Like everyone wants to say blockchain and wants to, I don't know, become rich from one day to the other using blockchain. But in reality, the concept is it is very, very useful
to preserve the characteristics that I mentioned previously. And this, in fact, blockchain was firstly introduced by Bitcoin, but after some years, six years after Bitcoin, Ethereum was created,
which is another blockchain which works as I previously described, but has a very important characteristic. In this blockchain, we can execute scripts. So this opens a world of possibilities. We can use it in a decentralized way,
immutable scripts in the network, and do things that we want to do in the network. So currently, what about geospatial? Because there are health solutions, there are financial solutions, there are art solutions
to sell art through the blockchain. But what about geospatial? Currently, there are two projects that have been developed about geospatial. But what do I mean geospatial? Because we have something called geoblockchain, which is not sharing geospatial data.
It's about making the blockchain safer by introducing geolocation. But we're not interested in using the financial transactions and verify them with geolocation. What we want to do is to share geospatial information.
So this is our main focus. And there are two projects that have been developed in a closer way to this concept that we want, which is Foam and DGIS. Foam, it's a deployed project, it's growing, and the main idea of this project
is to create a crowdsourced map, a crowdsourced map that solves the problems of location encoding standards, user experience, and verification of authenticity of location data. These three things are solved
by using cryptospatial coordinates, which is a way in which we can encode geospatial data. Geolocations, we have the spatial index and visualizer, so it's a new way in which we can extract information from the blockchain and see it in a map.
This is awesome. And proof of location. So with proof of location, we verify the authenticity of the data, and it solves my problem. But it doesn't, it's not used to share geospatial data as we normally share it between us in a geospatial community.
And DGIS, this project is much closer to what we are looking for, and needs to create, the objective was to create a decentralized platform to enable geologists and engineers to share their work. It is focused on solving ownership rights
and making it democratic. So it's already, the characteristics of the blockchain are those, so it's solving it with the blockchain. And it uses a ranking mechanism so that when someone shares a piece of work, then other users can rank it
and decide if the data is good or bad so that other users can be guided by this. And that's basically, the problem with DGIS is that it's not deployed. It was only a concept that was stopped in late 2019,
and there are no more information about it, and that's it. The use case that we decided to use to test our prototype is the Simile project, which is an interactive project
between Switzerland and Italy for the monitoring of the water of the lakes in the sub-brick areas, which are Maggiore, Lugano, and Como. And Simile has a lot of data sources, but we are interested in particular in the section of citizen science,
where the citizens can collect data about the water, in particular, the position, images, and other measurements about the weather, and so on, through an open-source mobile application. And after this data is collected, it is available in an open web application,
where the administrators of the system can also manually validate it, which is a quite time-consuming task. Our prototype is not completely integrated with Simile, but it mostly simulates the environment of Simile.
Our prototype is composed by two main parts, which are the blockchain architecture, and on the other side, a web application to interact with our blockchain architecture. Our architecture is inspired by previous geoblockchain applications,
and the basic idea is to map discrete portion of the earth to a location on the blockchain. And the areas of the earth are represented by discrete global grid system cells, which are a multi-resolution grid of the earth.
But our solution is more specific towards data sharing and the evaluation of user-collected data from other users. The development of our architecture
is done on the Solidity programming language, which allows the reuse of all the code on the environment, the Ethereum virtual machine, which is the wider ecosystem for blockchain development. And it is deployed and tested on the Velas blockchain, which is a particular blockchain with very fast transactions
and also a really low cost of transactions. The architecture is composed by two main types of smart contracts, which are the registries and the cells. The cells represent a single DGGS cell and have the goal to store all of the data
that's inserted in that area. In the cell, we don't include the entire files, but only their hash, while the entire file is stored on the interplanetary file system, which is a distributed file system, which uses a hash to index the contained files.
This allows to reduce the used space. For each file, we also store their own error, a list of the votes on that file, and also for each vote, their related voter.
The owner of the files can also remove or update his files and all of the previous version of the files are still kept on our system. While the registry is basically an index for all the cells that are in our system, only the cells that contain some data
are currently stored. And it can be used by external application to query data about some specific areas without querying every time the entire data set. And every registry is associated to a single DGGS resolution. So if we want multiple size for the area,
so we have to deploy multiple registries. One of the main goals during our development was to create a framework that can be reused by other users. And to achieve this, our contracts are composed by a general abstract contract that is then specified for our solution,
but can be reused and extended by other users in different use case with different requirements. And there is also the possibility to limit the modification of the contracts to their creator to create a more controlled environment and also with few code changes to store different data
instead of the user votes. Now I will leave the world again to Rodrigo to explain the web application part. Yeah, so here we have some screenshots of the demo that we developed. Here, we won't show you how we interact,
but in fact, we are showing you how it works, which is having a login page. And we have the possibility of review observations and make new observations and see the observations that we created to edit them. So for example, we have the screen
to review other's observations. Here, we have the possibility to reject a point or accept it. And we also can see our personal points to validate. In this case, we can delete the observation or edit the observation.
And finally, the screen of the new observations where we, right now, we introduce manually the latitude, longitude, and insert a JSON file to register the point. So as a conclusion, we can see
that the geospatial blockchain is visible to be used in projects for data sharing. And although small amount of work has been done by Foam and DGIS, it is worth, it is a good progress in developing the concept.
And both IPFS and attribute-based search must be implemented in future steps, which are to develop a real geospatial infrastructure to share our projects with the community.