One of the themes of this year’s recently finished Devoxx Paris conference was “coding responsibility”, or rather, the responsibility that we as coders have in shaping the future. As Marc Andreessen pointed out 5 years ago now – Software is eating the World, so as developers we are responsible for the software that is quickly taking on more and more roles in our daily lives and society in general.
One technology that was also the subject of several conference talks was the blockchain, of which the most well-known example is undoubtedly Bitcoin. Whatever you think of the usefulness of Bitcoin (either as a value store/exchange technology or an investment instrument), the beauty of the basic principles behind blockchain technologies is undeniable – blockchains allow people to interact in a way that is secure and doesn’t rely on either a central authority (like a government) or for the people to trust each other (abuse of the system is mathematically impossible). However, there are some significant limits to what we can do with the technology today, and deciding what we will allow is going to have a very big impact on how the technology is used tomorrow.
From it’s very inception, Criteo has always been a leader in privacy in the advertising realm – respecting the user is simply a part of our DNA, in all of the different parts of our business because we strongly believe that, respecting user privacy is the only way to foster trust in our services and in the digital economy as a whole. It means (i) providing users with comprehensive information about our technologies and the data we collect and (ii) offering them user-friendly tools to easily opt-out from our services. Not all companies and individuals are confronted with the types of issues we are, and everyone has their own take on it. Subjects as complex as these are by their very nature subjects that we can only make decisions about by including all the stakeholders, and that’s everyone in society. Criteo takes part in a wide variety of industry organisations promoting compliance, awareness and strict respect of users, and working in that environment gives us members of R&D a connection to the issues that many don’t have. That is why our Privacy team:
- Participates in the design of our solutions from the beginning (Privacy by Design);
- Commits to the highest standard in terms of data minimization, transparency, control;
- Takes a very proactive role in our relationships with Data Protection Authorities and Self-Regulation Organizations; and
- Promotes privacy worldwide all across our network.
There are a great number of blockchain implementations – many implementations have been proposed since Bitcoin came on the scene, most trying to improve on one or more aspects. Some, of course, are little more than Bitcoin copy-cats, where the “inventors” are simply trying to make money as many of the initial miners and investors in Bitcoin have done. The total current market cap of Bitcoin (as of writing the article) is around $6.5 Billion USD (update 06/2016 = $11.5B) – and many of those there in the beginning are now multi-millionaires. The number 2 by market cap, Ethereum, weighs in at “only” $650 Million USD (update 06/2016 $1.5B) but has a far greater scope and potential than what can be achieved with Bitcoin. There is considerable buzz (and investment) around Ethereum and it is showing phenomenal growth in both interest and market cap. Without going into the details (of which I have only limited knowledge), while both are essentially based on “scripts”, Ethereum’s scripts are Turing complete, and as such can be programmed to do anything any other Turing complete language can (C, Java, Python…). That’s big. That means that the blockchain can be made to do anything a computer can. Computers need to store data and one functionality of Ethereum is to store arbitrary data. This is far from innocuous however.
One example given during one of the sessions at Devoxx, was the ability of the Ethereum blockchain to store a Justin Bieber song. The example was given to illustrate both the arbitrary nature of the data that could be stored but also the cost (hundreds of thousands of Euro) – using Ethereum as an alternative to Dropbox would damage your wallet in ways most normal folk simply couldn’t handle! But what if someone *did* include an unencrypted Justin Bieber song in the blockchain, without the permission of Mr Bieber and his record label? The “problem” is that once something has been included in the blockchain, that’s it, it’s a part of the blockchain. There’s no going back, and this is a core design feature. The feature was, of course, not designed for Justin Bieber songs but for public contracts and similar cases where once something has been agreed, it’s totally public and can never be changed. Being able to do this for very little cost without any sort of central authority (government, trusted third-party, bank, etc.) and across borders opens up a world of new economic possibilities.
While this is certainly recognised as an issue, some supporters of Ethereum simply note that there are other, much cheaper/simpler illegal means of acquiring a Justin Bieber song, and that as a society we need to “get over it”. It would also likely be possible to find and prosecute the person who included a song in the blockchain. But so what? Mr. Bieber and his record label might insist that the song cease to be exchanged illegally, and a court might agree with them. If so, it’s Game Over. While the same people who exchange copyrighted material illegally today might continue to use the system, companies would not. Not so useful now, at least not unless we get the entire world to completely change the way we manage copyright.
Alas, it gets even worse. Uploading songs might be a highly contrived and unlikely thing to happen, particularly if it’s going to cost a truckload of money. What about a small bit of text that, by design, should be very cheap, totally unanalysed and almost instantaneously immortalised? A few words of a contract could also be a few words of libel, hate speech, or anything else a nefarious mind might come up with. Your right to be forgotten? Not on Ethereum! What will be happen if someone includes a statement in the blockchain in one jurisdiction (the US for example), which is totally illegal in another?
While none of these issues mean that Ethereum-like blockchains will *never* be widely used, they make it highly unlikely that they will be widely used in the form allowing arbitrary data to be included as part of the blockchain in the near future. As a society we may decide that the benefits of such a system outweigh the negatives, and learn to filter those out while taking advantage of the positives.
As developers and innovators we have a responsibility to invent new technologies and ways of interacting with each other but also a responsibility to make sure that all of society benefits. We must ensure we don’t create systems that are forced upon our fellow citizens without them having a chance to voice their dissent or stop technologies that take us places we don’t want as a society.
Senior DevOps Engineer, R&D SRE ToolingSee DevOps Engineer roles