Spoiler alert — social media companies sell your personal data!
But then, you already knew it. That information has been in the public domain since forever. From:
If you’re not paying for the product, you are the product.
Provenance is unclear. This has been around for decades.
Recommend that you look it up on DuckDuckGo.
BBC: The Virtual Revolution — The Cost of Free
Dr Aleks Krotoski explores how the internet is reshaping our lives. She shows how commerce has colonised the web, and how ‘free’ sites are paid for.
Privacy is Power
Carissa Véliz discusses why and how you should take back control of your data.
Hot off the press. An easy read, summarising the current situation and indicating a way forward. …
Normal social media platforms use centralisation of personal data, and it’s looking like a really bad thing for individuals, and indeed, society as a whole.
However, we can make a decentralised social media platform to address the issues.
Please see my article “Protect Your Social Media” for more information and screenshots of this solution.
Here is one possible solution:
I’ve got my personal data with me. It’s my email address, telephone number, home address, passport etcetera.
Either I know what my personal data is, for example my mobile phone number, or I can produce it when required, for example my passport.
My problem, and yours too I expect, is that I distribute my personal data too freely. If I am asked for my email address by a website I’m using, I usually give it. I certainly have in the past, although I’m a little more reticent now that I know what it costs me.
Sometimes, other people distribute my email address. This has been going on for years. Now, most of the emails I get are from companies I no longer deal with or I’ve never even heard of, trying to sell me something that I no longer want, or have never wanted. …
My personal data is my email address, telephone number, home address, date-of-birth, sex, etcetera. Basically, any data that is pertaining specifically to me.
The practice of organisations keeping many individuals’ personal data in one place for easy processing is personal data centralised by organisations, normally called centralised data.
Alternatively, personal data could be stored in a distributed manner, and organisational access to it could be granted by the individuals who own it. That would be personal data distributed by individuals, often called decentralised data in our organisation-centric world.
In today’s world, our personal data is usually stored and controlled by organisations.
In tomorrow’s world, personal data will be stored and controlled by its owners, us.
What is personal data?
It’s our email address, telephone numbers, home address, bank account details, location, preferred hot drink, basically any data pertaining to us.
Who owns our personal data?
Where is our personal data stored, and who controls it?
In today’s world, our personal data is usually stored and controlled by organisations:
Where is the ideal location to store personal data?
In this article, we discuss the person that owns the personal data and the organisation that uses the personal data. Other models are available.
Each organisation interacts with multiple people:
In our article “Smart Contracts Sharing Common Data”, we described why and how Solidity Smart Contracts share common data.
However, the technique used to share common data amongst Solidity smart contracts is also applicable to Solidity libraries. This article describes how to implement that and compares the gas consumption of smart contract and library solutions.
This method is supported by Solidity v0.6.4 onwards.
For this article, we assume that we are building a solution that matches “Smart Contracts Sharing Common Data”, that is, a Router contains a Producer that produces some objects that are queued for a Consumer to consume. The actual functionality and use of the subordinate libraries does not really concern us in this aticle. …
There are many possible models of interaction between multiple smart contracts. In the example for this article, we consider a simple Producer to Consumer model, so that we can focus on the theme of sharing common data:
In my article “Sorting in Solidity without Comparison”, I compared various sorting techniques on Solidity memory arrays. In summary, my conclusion, according to the provided code, data and tests, was that the Unique Sort on dynamic uint memory arrays was most suitable for my particular application. If you need to sort Solidity storage arrays, consider the article “Shadowing Solidity Storage Variables in Memory” which illustrates the best technique.
Following my further articles “Value Arrays in Solidity” and “Dynamic Value Arrays in Solidity”, I revisit the Unique Sort algorithm here, to determine whether using value arrays can improve performance further.
A Value Array is simply an array held in a value type, as opposed to a reference array. Solidity runs on the Ethereum Virtual Machine (EVM) which has a very large machine word of 256bits (32bytes). It is this latter feature that enables us to consider using Value Arrays. …
During the development and testing of Datona Lab’s Solidity smart data access contracts (S-DAC), we often need to handle accounts with multiple roles, such as contract owner and data owner, or data auditor and data regulator.
In the examples for this article, we investigate whether using dynamic value arrays, or sets, helps us to do that more efficiently than using Solidity mappings.
Our Solidity smart contracts often contain state machines, as per the article “State Machines in Solidity.” Whenever a user attempts to transition the smart contract from one state to another, it checks whether the user has the permission to do so. …