Collaborative validation of user-contributed data using a geospatial blockchain approach: the SIMILE case study
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
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 | 10.5446/68965 (DOI) | |
Publisher | ||
Release Date | ||
Language | ||
Production Year | 2022 |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
| |
Keywords |
FOSS4G Firenze 2022277 / 351
1
7
13
22
25
31
33
36
39
41
43
44
46
52
53
55
58
59
60
76
80
93
98
104
108
127
128
133
135
141
142
143
150
151
168
173
176
178
190
196
200
201
202
204
211
219
225
226
236
242
251
258
263
270
284
285
292
00:00
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)
00:00
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.
00:23
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
00:43
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.
01:01
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.
01:22
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.
01:43
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.
02:04
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.
02:24
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.
02:41
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.
03:00
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.
03:21
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
03:41
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,
04:02
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
04:22
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,
04:45
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.
05:03
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,
05:22
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
05:40
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.
06:01
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
06:21
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.
06:41
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?
07:01
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
07:24
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,
07:41
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,
08:02
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
08:21
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.
08:41
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.
09:01
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
09:23
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
09:41
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.
10:01
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.
10:23
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
10:44
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
11:03
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,
11:25
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
11:40
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,
12:00
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,
12:22
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.
12:41
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,
13:02
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.
13:25
But our solution is more specific towards data sharing and the evaluation of user-collected data from other users. The development of our architecture
13:41
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
14:02
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
14:23
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.
14:45
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.
15:01
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
15:20
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,
15:41
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,
16:02
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
16:23
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,
16:42
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
17:02
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.
17:21
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
17:41
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.
18:03
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.