Freecoin is a set of tools initially designed to let people run reward schemes that are transparent and auditable to other organisations. It comprises of an electronic wallet and other side products which are designed to be generic and they can facilitate multiple blockchains, offline transactions, identity management and multi-signature authentication. The toolkit is written in Clojure and in this talk I will touch technical details about the design, the interaction with blockchain nodes as well as some more theoretical background and the empirical research that the products is based on.
3. Digital community and
free software foundry
Our mission
Dyne.org is a non-profit free software foundry
with more than 15 years of expertise in
developing tools and narratives for community
empowerment.
Dyne.org
3
4. “WE ARE FREE TO SHARE CODE AND WE CODE TO SHARE
FREEDOM .”
— DYNE.ORG
4
11. Can we use the Blockchain to
empower communities?
?
12. “A blockchain, originally block chain, is a continuously growing
list of records, called blocks, which are linked and secured using
cryptography. .”
— Wikipedia.org
12
13. What is a blockchain good for?
●
Decentralized Internet
●
Decentralized market places
●
Smart contracts
●
Distribute foreign aid
●
???
14.
15.
16. How can we use technology to
create complementary currencies
and reward schemes?
?
17. What is a complementary currency?
A complementary currency is a currency or medium of exchange which is not a
national currency, but which is thought of as supplementing or complementing
national currencies.
18.
19. Why complementary currency?
●
Keep value circulation locally
●
Protects against instability global markets
●
Sense of community and trust
●
Reduces ecological footprint
26. Requirements
Integration Commonfare CMS
Not always need for a blockchain
Multiple blockchain backends
Vouchers
Multi-signature transactions
Deposit/withdraw
Stats, analysis
Authentication
Configurable
Internally transparent
Administration and self-
monitoring by communities
27. The social wallet toolkit
A collection of open source software modules written in Clojure
28. Social Wallet toolkit
Macao Social Wallet
Freecoin-lib
Social wallet api
Two factor authenticator
Secrets/Fxc
Admin console
clj-storage
29. Why Clojure?
● LISP
● JVM/Java Interop
● Homogeneous
● Immutability is the default!
● Functions first class citizens
● Concurrency
● Clojurescipt
● REPL
35. Fxc
Encode: splits a secret string in multiple parts
Decode: recover using n of those parts (quorum)
Generate: Generates a random password of type and size
46.
Currency (numerical precision)
Large monolithic apps
Depending on proprietary software
Depend on libs that do much more than needed
Early adoption of tech
Don’t solve problems before the arise!
47. Still on the doing:
●
Multi-signature
●
API Key
●
Vouchers
●
Brute force attack authentication lib
●
Out of the box solution for communities to create own currency
51. Technology can be used for the
common good
SO WHY SHOULD I CARE ABOUT
THIS
The blockchain is a diverse tool which we can utilize to improve our lives.
Lets get creative!
?
Editor's Notes
-software components to create crypto wallets
- all in one wallet cryptos and local currencies
- european project
- empower communities
- Using blockchains for th common good
- software developer
- first part Java
- went rogue: Clojure
<number>
- Not for profit
- Applied cryptography, privacy tools, blockchain
- other not so technical disciplines: philoshophy, arts, video makers
<number>
- FSFE - Free Software Foundation Europe associated
- systemd-free fork of the Debian GNU/Linux distribution
- Dowse the privacy hub for the Internet of Things.
- Monitors connections happening without human consent
- EU research organisation
- Collective Awareness Platforms
- open democracy
- collaborative consumption
- Internet Science
Cover loads of subjects like
- decentralised architecture
- privacy
- new forms collaboration
- anthropocentric
- social engagement
<number>
Decentralised Citizens Engagement Technologies
- create tools digitalise
- participatory democracy
- economic empowerement
- next generation of open source, distributed, and privacy-aware
- Form consotrium
- partner organisation
- different experties
- Stonecutter: single sign on, identity management tool
- Objectice8: crowd sourcing and drafting policy
- Agora: online voting tool
- distributed ledger
- blocks contain records of transactions
- blocks linked to blocks before and after them
- records secured through cryptography
- private keys , digital signature
- early detection
- no single point of failure
- 51 percent attack
- inherently secure – needs secure infra
- immutable
- No need for trusted service provider
- versatile tool
- Surpass country borders and maybe firewalls
- avoid attacks single point failure
- no human intervantion
- 30 % of funds lost in progress
- medical sharing records
- new approach to social welfare in Europe
- inform and get informed about welfare provisions
- Share your experience and stories, events
- support initiatives based on collaboration and solidarity
Precarious worker
Non standard employemnt, no secutiry, benefits
, unemployed
Conditions that have worsen
Alternative ways of earning, cooperation
The part our organisation is more involved:
- Embed a reward system
- Use complementary currencies
A. Empower people
B. Create insetive to participate to the Commons?
The question we were called to answer and prove
- We generally think of money as created and guaranteed by national governments.
- money is created by private banks, through the process of offering loans
- especially at times of economic hardship
- when any official currencies are in short supply
- inflation
- large corporations and shops
- supporting local production and supply
Feedback loops
CPS:
Humanitarian organisation
- combating racism, xenophobia
- conflict transformation
- strengthening of social solidarity, human security and development cooperation
By people for people
Organisation art projects, on the field workshops
Fairoin crypto chosen by the consortium
Faircoop self-organized and self-empowered local communities
Needed to accommodate many different needs
- self-organized artistic hub
- collective, cooperative
- beautiful old abandoned building
- disscisions, debates, concerts, poetry, theatre, hackers space
- Weekly theatre festival
- one of the most important Italian theatrical events
- 1971
- citizen participation
- interactive
- augmented reality
- south of Bolonia, close to sanmarino
- potentially other platforms
Started big monolithic wallet application back in DCENT
- modular
- break down big wallet sourcecode
- combine and accommodate all needs
- simplicity
- do one thing and do it well
- Mix and match
- Lambda calculus is an alternative to the "hardware" approach of a Turing machine
- a computational formalism
- no side effects
- pure functions
- function composition
- Clojure is written in terms of abstraction
- avoid design-time choice of the type
Seamles Javascript
Rich hickey: organises my thoughts
Simple made easy
- get used to it fast
- first few weeks strange
- different paradigm
- Java 8, lambda functions AWS
- Transaction
- Addresses
- Balance
- metadata (tags)
- Vouchers (redem)
- Remote Process communication
- bitcoin derivatives
Metadata
1 to 1
Higher level
Backed up by DB
Protocol is kind of pimped Java interface
Interface 2.0
In one DB can see what is moved in the community and out of it through blockchain
- Hybrid wallet
- web based
- could be distributed
- paper wallet
- Simple UI
- Currently used in Macao
- basic income
- finances
- gravatar
- Withdraw/deposit
- updates fees after confirmed
- configurable confirmation/etc
- sprawns futures
- FE developers can use it with their own toolkit
- Integrate with the CMS
Multiplier
Got rid of Stonecutter
Email implementation
Sms implementation next step
Maybe SSO integration in the future for emails
Prevent Bruto force attacks
Password recovery like expiresAfterSecods
Time To Live MongoDB
CreatedAt field with index
Based on Shamir's Secret Sharing
:bytes :base64 :base32 :hex and :url
Cryptographic protocol
- We do not store anything!
- Wallet drama
- Inheritance/will
pretty REPL that can plot graphs and draw tables
- editor for rich documents that can contain interactive Clojure code, graphs, tables, notes, LaTeX formulae
Mongo DB implementation
In memory implementation
Aiming to provide few more DB implementations
file storage using the nippy serialisation library
Opensource – please contribute :)
What cryptos are we plannign to use with pilots?
Free to use whatever
- Chosen Faircoin 2 from consotrium
- Tradeoffs
- 51%
- Nothing at stake
Malicious fork
- ICOs: Initial Coin Offering
- Bet
- DASH
- Ethereum making effords towards it
- Assembly decides
- Anyone that runs a node can be part of the assembly
- Bitcoin fork
No mining or minting
Fairmarket/faircoop
Decisions made by the general assembly
Alternative ways or working and value circulation
- Cooperatively Validated Nodes
- consensus rules determine which CVN has to create the next block
supply has been frozen at 53,193,831 FAIR
- After examining the blockchain history all CVNs broadcast their vote about who should create the next block
- signing the hashed concatenation of the last blockhash and the CVN ID.
- Every CVN creates a partial signature which it then sends to the network. These partial signatures are validated and relayed by every node.
- When a CVN creates a block it combines all these signatures into one and incorporates this combined signature into the new block along with information about which CVNs co-signed.
- Finally, the block creator signs the resulting blockhash with a standard EC-Schnorr signature to prove that it was the creator. This block signature also goes into the block.
Decimal128
Mongo aggregations
Learned the hard way
- All familiar with priority changes
- Maybe some of you are wondering why are you telling us all this?
Tegenlicht
High quality
Inspiring
town's mayor, Domenico Lucano
Village abandoned
School closing
Received 450 immigrands
Migrant crisis, Italy receives and enormous amount
Created complementary currency
Basic income
- Ghandi
- Martin Luther king
Take into account different ethnicitis
Highly respected politician Forbes