D5.5 Implementation of Digital Social Currency Infrastructure
Total Page:16
File Type:pdf, Size:1020Kb
FP7 – CAPS - 2013 D-CENT D5.5 Implementation of digital social currency infrastructure Project no. 610349 D-CENT Decentralised Citizens ENgagement Technologies Specific Targeted Research Project Collective Awareness Platforms D5.5 Implementation of digital social currency infrastructure Version Number: V1 Lead beneficiary: Dyne Due Date: 30 Sept 2015 Author(s): Denis Roio, Marco Sachy Editors and reviewers: Harry Halpin, Robert Bjarnason Dissemination level: PU Public X PP Restricted to other programme participants (including the Commission Services) RE Restricted to a group specified by the consortium (including the Commission Services) CO Confidential, only for members of the consortium (including the Commission Services) Approved by: Francesca Bria Date: 30 September 2015 This report is currently awaiting approval from the EC and cannot be not considered to be a final version. Page 1 of 35 FP7 – CAPS - 2013 D-CENT D5.5 Implementation of digital social currency infrastructure Contents 1 Introduction ............................................................................................................................................................. 3 2 Overview of features ............................................................................................................................................. 4 2.1 Why a toolkit ................................................................................................................................................... 4 2.2 Basic workflow ................................................................................................................................................ 5 2.2.1 Create incentive by organization ....................................................................................................... 5 2.2.2 Award currency for incentive .............................................................................................................. 6 2.2.3 Check balance / audit ............................................................................................................................. 7 2.2.4 Find other participants ........................................................................................................................... 8 2.2.5 Exchange value units ............................................................................................................................... 9 2.3 Web application ........................................................................................................................................... 10 2.4 Facilitated integration .................................................................................................................................. 11 2.5 Contextual transparency ............................................................................................................................ 11 2.6 Shared secret authentication ..................................................................................................................... 12 2.7 Off-line transactions .................................................................................................................................... 14 2.9 Free software licensing ............................................................................................................................... 15 3. User research ...................................................................................................................................................... 17 3.1 Iceland - Freecoin Pilot Implementation ................................................................................................. 19 3.2 Spain - Freecoin Pilot Implementation .................................................................................................... 20 3.3 Finland - Freecoin Pilot Implementation ................................................................................................. 22 4. Overview of APIs ................................................................................................................................................ 25 4.1 Public API (Restful) ...................................................................................................................................... 25 4.2 Internal blockchain abstraction ................................................................................................................. 26 4.3 Internal transaction and wallet API .......................................................................................................... 28 Voucher ............................................................................................................................................................ 28 Transaction ...................................................................................................................................................... 29 5. The FXC secret sharing crypto protocol ..................................................................................................... 30 6. Conclusion and future roadmap ...................................................................................................................... 34 Page 2 of 35 FP7 – CAPS - 2013 D-CENT D5.5 Implementation of digital social currency infrastructure 1 Introduction This deliverable is led by DYNE.org and focuses on the implementation of a software toolkit useful to run community owned infrastructures for the digital social currency design schemes envisioned in D4.4 (Design of digital social currency). Work has been conducted in contact with partner Thoughtworks leading WP5 to share a common set of software technologies, expertise and understanding of the challenges ahead. While progressing on this software implementation it is important to restate two problems we aim to solve: • the vulnerability of centralised information systems, whose integrity can be jeopardised by compromising a few points of failure. This problem becomes particularly relevant in our case as we are dealing with systems for monetary credit, value transmission and validation of transaction flows. • the weakness of validation processes that are operated between different organisations who may not share trust, but need to agree and verify the integrity of a transaction history, being able to recover such data even in absence of the other organisation. To solve such problems in D-CENT we have decided to investigate on the potential lying beyond blockchain technologies, with less emphasis on purely technical qualities, but seeking an understanding for their functional value within the social practices we have previously analysed in D4.4. In that deliverable we have described in length what a peer-to-peer blockchain is: a distributed and authenticated ledger whose mode of operation is based on decentralized consensus. With this deliverable we aim at offering practical software solutions to implement the advantages offered by this technology in specific conditions. The reader has to keep in mind that the decentralized technologies we are focusing on are still very experimental and not standardised, while some key implementations are undergoing a remarkable amount of development work by all sorts of interested players, from grass-root communities to major banks and corporations. Our implementation of a toolkit for social currency design is called Freecoin and should be still considered experimental and as such aims to establish a generic blockchain API as a minimum viable product that can allow interfacing with multiple blockchain backends. API documentation and user-experience testing of Freecoin will happen throughout the project, along with regular releases of the open-source D-CENT code, via the D-CENT account on GitHub. As most other tools in D- CENT, Freecoin is a web-based platform and should work on any device with a web-browser, following a mobile first approach. Testing of the web-facing platform happens over a variety of devices including all major browsers as well as Android and Apple smartphones. Page 3 of 35 FP7 – CAPS - 2013 D-CENT D5.5 Implementation of digital social currency infrastructure 2 Overview of features 2.1 Why a toolkit While conducting our research on D-CENT pilot communities and projects we did realise that, especially when dealing with value transactions, the needs are very diverse and the software implementations that can satisfy them turn out to be very different from each other, especially on the level of human-machine interaction. Therefore for our implementation task we aim at developing Freecoin as a toolkit that can deal with a common backend: distributed and authenticated ledgers, like cryptographic blockchains that can be easily adapted to draw interaction patterns that adhere to particular situations. It is important that those projects willing to adopt it are able to familiarize with the toolkit, install and control it directly. Freecoin does not configure itself as a final product, but as means to build final products that can satisfy the needs of specific deployements. It is free and open source. Page 4 of 35 FP7 – CAPS - 2013 D-CENT D5.5 Implementation of digital social currency infrastructure Other than fostering the bottom-up appropriation and comprehension of technologies, another problem we are trying to address by developing a toolkit is that of the rapidly changing panorama for the backend we are adopting, that of blockchain technologies. The increasing development activities in this