SlideShare a Scribd company logo
1 of 51
A complementary currency toolkit in
Clojure
Aspasia Beneti
AMSTERDAM | MAY 8-9, 2018
@aspra
Aspasia Beneti
https://github.com/aspasia
INTRODUCTION
Social Wallet
A complementary currency toolkit
2
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
“WE ARE FREE TO SHARE CODE AND WE CODE TO SHARE
FREEDOM .”
— DYNE.ORG
4
Dyne projects
European projects
7
SUPPORT
Can we use the Blockchain to
empower communities?
?
“A blockchain, originally block chain, is a continuously growing
list of records, called blocks, which are linked and secured using
cryptography. .”
— Wikipedia.org
12
What is a blockchain good for?
●
Decentralized Internet
●
Decentralized market places
●
Smart contracts
●
Distribute foreign aid
●
???
How can we use technology to
create complementary currencies
and reward schemes?
?
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.
Why complementary currency?
●
Keep value circulation locally
●
Protects against instability global markets
●
Sense of community and trust
●
Reduces ecological footprint
How do we know what communities
need
!
Collecting requirements
●
Academic research
●
Participatory design
– Pilot partners
– Working with people and communities
The pilots
 Italy
•
Basic Income Network
•
Macao
 Croatia
•
Centre for peace studies
 Netherlands
•
Museu da Crise
●
Amsterdam - freelancers
●
Rotterdam - welfare recipients
●
The Hague – immigrants
•
Faircoin node Amsterdam
Commonfare platform
Macao Milan
Santarcangelo festival
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
The social wallet toolkit
A collection of open source software modules written in Clojure
Social Wallet toolkit
 Macao Social Wallet
 Freecoin-lib
 Social wallet api
 Two factor authenticator
 Secrets/Fxc
 Admin console
 clj-storage
Why Clojure?
● LISP
● JVM/Java Interop
● Homogeneous
● Immutability is the default!
● Functions first class citizens
● Concurrency
● Clojurescipt
● REPL
Too many parenthesis!
Freecoin lib
Blockchain protocol
•
DB based
•
RPC for bitcoin derivatives
•
In Memory
Macao wallet
- Simple Liberator WebApp
- Authentication, transactions, tags, balance, Qrcodes
- DEMO!
Social wallet API
- Swagger API wrapping the freecoin-lib
- Includes logic that maps RPC transactions to DB
- DEMO!
Two factor authentication

Abstract 2 step auth

Configurable throttling behavior

Password encryption using pbkdf2+sha512
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
Secrets

Desktop App wrapping FXC

Webapp wrapping FXC
 Demo!
Admin Console

Dynamic configuration console for admins

Stats and configs

Gorilla repl

Incanter for plotting
Clj storage

Storage abstraction
●
MongoDB
●
Filesystem - Nippy

Some convenience test storage functions
WHAT ABOUT EXISTING
CRYPTOCURRENCIES?
?
Consensus algorithms
Faircoin 2
Proof of cooperation
●
Cooperation instead of competition
●
Cooperatively Validated Nodes (CVNs)
●
EC-Schnorr multi signature algorithm
CAN I HAVE A LOOK AT THE CODE?
Sure thing!
https://github.com/Commonfare-net
!
“PUBLIC CODE PUBLIC MONEY”
— publiccode.eu
44
Lessons learned
What we have learned so far ...
!

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!
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
Why are you telling us all this?
?
Riace
Riace currency
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!
?

More Related Content

What's hot

Building a dApp on Tezos
Building a dApp on TezosBuilding a dApp on Tezos
Building a dApp on TezosTinaBregovi
 
Oscon 2017: Contributing to Hyperledger
Oscon 2017: Contributing to HyperledgerOscon 2017: Contributing to Hyperledger
Oscon 2017: Contributing to HyperledgerTracy Kuhrt
 
DevDay: Have Your Cake and Eat it Too, Privacy and Security with ZKP, ING
DevDay: Have Your Cake and Eat it Too, Privacy and Security with ZKP, INGDevDay: Have Your Cake and Eat it Too, Privacy and Security with ZKP, ING
DevDay: Have Your Cake and Eat it Too, Privacy and Security with ZKP, INGR3
 
Introduction to Corda Blockchain for Developers
Introduction to Corda Blockchain for DevelopersIntroduction to Corda Blockchain for Developers
Introduction to Corda Blockchain for DevelopersR3
 
Front-End Development for dApps on Tezos
Front-End Development for dApps on TezosFront-End Development for dApps on Tezos
Front-End Development for dApps on TezosNeven6
 
Defrag X Keynote: Deploying and managing Global Blockchain Network
Defrag X Keynote: Deploying and managing Global Blockchain NetworkDefrag X Keynote: Deploying and managing Global Blockchain Network
Defrag X Keynote: Deploying and managing Global Blockchain NetworkDuncan Johnston-Watt
 
Capodieci - Blockchain Infrastructure
Capodieci - Blockchain InfrastructureCapodieci - Blockchain Infrastructure
Capodieci - Blockchain InfrastructureRoberto Capodieci
 
Bitcoin cryptography
Bitcoin cryptographyBitcoin cryptography
Bitcoin cryptographyVadym Hrusha
 
Webinar: Enterprise Blockchain Radically Simplified with Truffle and Kaleido
Webinar: Enterprise Blockchain Radically Simplified with Truffle and KaleidoWebinar: Enterprise Blockchain Radically Simplified with Truffle and Kaleido
Webinar: Enterprise Blockchain Radically Simplified with Truffle and KaleidoKaleido
 
Solana blockchain development
Solana blockchain developmentSolana blockchain development
Solana blockchain developmentzaarahary
 
Building Blockchain Application with Corda
Building Blockchain Application with CordaBuilding Blockchain Application with Corda
Building Blockchain Application with CordaMohammad Asif
 
Corda Developer Bootcamp: Tokens
Corda Developer Bootcamp: TokensCorda Developer Bootcamp: Tokens
Corda Developer Bootcamp: TokensR3
 
Introducing r3 corda™ a distributed ledger designed for financial services
Introducing r3 corda™  a distributed ledger designed for financial servicesIntroducing r3 corda™  a distributed ledger designed for financial services
Introducing r3 corda™ a distributed ledger designed for financial servicesRazi Rais
 
Presentation_Topalidis_Giorgos
Presentation_Topalidis_GiorgosPresentation_Topalidis_Giorgos
Presentation_Topalidis_GiorgosGiorgos Topalidis
 
Encode: Intro to Tezos
Encode: Intro to TezosEncode: Intro to Tezos
Encode: Intro to TezosTinaBregovi
 
What is tezos
What is tezos What is tezos
What is tezos zaarahary
 

What's hot (20)

Building a dApp on Tezos
Building a dApp on TezosBuilding a dApp on Tezos
Building a dApp on Tezos
 
Oscon 2017: Contributing to Hyperledger
Oscon 2017: Contributing to HyperledgerOscon 2017: Contributing to Hyperledger
Oscon 2017: Contributing to Hyperledger
 
VUC 24-May-2013 - Crocodile
VUC 24-May-2013 - CrocodileVUC 24-May-2013 - Crocodile
VUC 24-May-2013 - Crocodile
 
DevDay: Have Your Cake and Eat it Too, Privacy and Security with ZKP, ING
DevDay: Have Your Cake and Eat it Too, Privacy and Security with ZKP, INGDevDay: Have Your Cake and Eat it Too, Privacy and Security with ZKP, ING
DevDay: Have Your Cake and Eat it Too, Privacy and Security with ZKP, ING
 
Introduction to Corda Blockchain for Developers
Introduction to Corda Blockchain for DevelopersIntroduction to Corda Blockchain for Developers
Introduction to Corda Blockchain for Developers
 
Front-End Development for dApps on Tezos
Front-End Development for dApps on TezosFront-End Development for dApps on Tezos
Front-End Development for dApps on Tezos
 
Defrag X Keynote: Deploying and managing Global Blockchain Network
Defrag X Keynote: Deploying and managing Global Blockchain NetworkDefrag X Keynote: Deploying and managing Global Blockchain Network
Defrag X Keynote: Deploying and managing Global Blockchain Network
 
Dash Crypto Currency Intro for Techies
Dash Crypto Currency Intro for TechiesDash Crypto Currency Intro for Techies
Dash Crypto Currency Intro for Techies
 
Capodieci - Blockchain Infrastructure
Capodieci - Blockchain InfrastructureCapodieci - Blockchain Infrastructure
Capodieci - Blockchain Infrastructure
 
Bitcoin cryptography
Bitcoin cryptographyBitcoin cryptography
Bitcoin cryptography
 
Webinar: Enterprise Blockchain Radically Simplified with Truffle and Kaleido
Webinar: Enterprise Blockchain Radically Simplified with Truffle and KaleidoWebinar: Enterprise Blockchain Radically Simplified with Truffle and Kaleido
Webinar: Enterprise Blockchain Radically Simplified with Truffle and Kaleido
 
Solana blockchain development
Solana blockchain developmentSolana blockchain development
Solana blockchain development
 
Building Blockchain Application with Corda
Building Blockchain Application with CordaBuilding Blockchain Application with Corda
Building Blockchain Application with Corda
 
Corda Developer Bootcamp: Tokens
Corda Developer Bootcamp: TokensCorda Developer Bootcamp: Tokens
Corda Developer Bootcamp: Tokens
 
Introducing r3 corda™ a distributed ledger designed for financial services
Introducing r3 corda™  a distributed ledger designed for financial servicesIntroducing r3 corda™  a distributed ledger designed for financial services
Introducing r3 corda™ a distributed ledger designed for financial services
 
Ethereum vs fabric vs corda
Ethereum vs fabric vs cordaEthereum vs fabric vs corda
Ethereum vs fabric vs corda
 
Presentation_Topalidis_Giorgos
Presentation_Topalidis_GiorgosPresentation_Topalidis_Giorgos
Presentation_Topalidis_Giorgos
 
Encode: Intro to Tezos
Encode: Intro to TezosEncode: Intro to Tezos
Encode: Intro to Tezos
 
What is tezos
What is tezos What is tezos
What is tezos
 
Web of things
Web of thingsWeb of things
Web of things
 

Similar to A complementary currency toolkit in Clojure - Aspasia Beneti - Codemotion Amsterdam 2018

Uniswap Clone Script development
Uniswap Clone Script developmentUniswap Clone Script development
Uniswap Clone Script developmentjohn gamly
 
Building Blockchain Apps: Intro to Dash Platform
Building Blockchain Apps: Intro to Dash PlatformBuilding Blockchain Apps: Intro to Dash Platform
Building Blockchain Apps: Intro to Dash PlatformProduct School
 
Introducing Hyperleger
Introducing HyperlegerIntroducing Hyperleger
Introducing HyperlegerVinh Vo
 
10 Best Programming Languages for Blockchain in 2023.pdf
10 Best Programming Languages for Blockchain in 2023.pdf10 Best Programming Languages for Blockchain in 2023.pdf
10 Best Programming Languages for Blockchain in 2023.pdfWDP Technologies
 
Blockchain Expert Solution portfolio
Blockchain Expert Solution portfolioBlockchain Expert Solution portfolio
Blockchain Expert Solution portfoliomudaseriqbal
 
How to run your own blockchain pilot
How to run your own blockchain pilotHow to run your own blockchain pilot
How to run your own blockchain pilotSimon Wilson
 
Hyperledger community update 20180528
Hyperledger community update 20180528Hyperledger community update 20180528
Hyperledger community update 20180528Arnaud Le Hors
 
8base Hyperledger Miami Meetup Presentation
8base Hyperledger Miami Meetup Presentation8base Hyperledger Miami Meetup Presentation
8base Hyperledger Miami Meetup Presentation8base
 
8base Hyperledger Miami Meetup 20180719
8base Hyperledger Miami Meetup 201807198base Hyperledger Miami Meetup 20180719
8base Hyperledger Miami Meetup 20180719Oscar Perez
 
Build Blockchain dApps using JavaScript, Python and C - ATO.pdf
Build Blockchain dApps using JavaScript, Python and C - ATO.pdfBuild Blockchain dApps using JavaScript, Python and C - ATO.pdf
Build Blockchain dApps using JavaScript, Python and C - ATO.pdfRussFustino
 
Collaborative Blockchain- All You Need to Know About Hyperledger
Collaborative Blockchain- All You Need to Know About HyperledgerCollaborative Blockchain- All You Need to Know About Hyperledger
Collaborative Blockchain- All You Need to Know About HyperledgerBlockchain Developments
 
Hyperledger Fabric & Composer
Hyperledger Fabric & Composer Hyperledger Fabric & Composer
Hyperledger Fabric & Composer Dr. Ketan Parmar
 
Launch crypto 2x times faster.pptx
Launch crypto 2x times faster.pptxLaunch crypto 2x times faster.pptx
Launch crypto 2x times faster.pptxRockieStefen
 

Similar to A complementary currency toolkit in Clojure - Aspasia Beneti - Codemotion Amsterdam 2018 (20)

Uniswap Clone Script development
Uniswap Clone Script developmentUniswap Clone Script development
Uniswap Clone Script development
 
Building Blockchain Apps: Intro to Dash Platform
Building Blockchain Apps: Intro to Dash PlatformBuilding Blockchain Apps: Intro to Dash Platform
Building Blockchain Apps: Intro to Dash Platform
 
Introducing Hyperleger
Introducing HyperlegerIntroducing Hyperleger
Introducing Hyperleger
 
What is up with dapps?
What is up with dapps?What is up with dapps?
What is up with dapps?
 
BlockchainLAB Hackathon
BlockchainLAB HackathonBlockchainLAB Hackathon
BlockchainLAB Hackathon
 
10 Best Programming Languages for Blockchain in 2023.pdf
10 Best Programming Languages for Blockchain in 2023.pdf10 Best Programming Languages for Blockchain in 2023.pdf
10 Best Programming Languages for Blockchain in 2023.pdf
 
Blockchain Expert Solution portfolio
Blockchain Expert Solution portfolioBlockchain Expert Solution portfolio
Blockchain Expert Solution portfolio
 
How to run your own blockchain pilot
How to run your own blockchain pilotHow to run your own blockchain pilot
How to run your own blockchain pilot
 
Conoscerehyperledger
ConoscerehyperledgerConoscerehyperledger
Conoscerehyperledger
 
Hyperledger community update 20180528
Hyperledger community update 20180528Hyperledger community update 20180528
Hyperledger community update 20180528
 
Hyperledger: Market, Technology & Community Update
Hyperledger: Market, Technology & Community UpdateHyperledger: Market, Technology & Community Update
Hyperledger: Market, Technology & Community Update
 
8base Hyperledger Miami Meetup Presentation
8base Hyperledger Miami Meetup Presentation8base Hyperledger Miami Meetup Presentation
8base Hyperledger Miami Meetup Presentation
 
8base Hyperledger Miami Meetup 20180719
8base Hyperledger Miami Meetup 201807198base Hyperledger Miami Meetup 20180719
8base Hyperledger Miami Meetup 20180719
 
Build Blockchain dApps using JavaScript, Python and C - ATO.pdf
Build Blockchain dApps using JavaScript, Python and C - ATO.pdfBuild Blockchain dApps using JavaScript, Python and C - ATO.pdf
Build Blockchain dApps using JavaScript, Python and C - ATO.pdf
 
Collaborative Blockchain- All You Need to Know About Hyperledger
Collaborative Blockchain- All You Need to Know About HyperledgerCollaborative Blockchain- All You Need to Know About Hyperledger
Collaborative Blockchain- All You Need to Know About Hyperledger
 
Hyperledger Fabric & Composer
Hyperledger Fabric & Composer Hyperledger Fabric & Composer
Hyperledger Fabric & Composer
 
Launch crypto 2x times faster.pptx
Launch crypto 2x times faster.pptxLaunch crypto 2x times faster.pptx
Launch crypto 2x times faster.pptx
 
Block chain technology
Block chain technology Block chain technology
Block chain technology
 
Block chain technology
Block chain technologyBlock chain technology
Block chain technology
 
Blockchain Introduction
Blockchain IntroductionBlockchain Introduction
Blockchain Introduction
 

More from Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 

More from Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Recently uploaded

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 

Recently uploaded (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

A complementary currency toolkit in Clojure - Aspasia Beneti - Codemotion Amsterdam 2018

Editor's Notes

  1. -software components to create crypto wallets - all in one wallet cryptos and local currencies - european project - empower communities - Using blockchains for th common good
  2. - software developer - first part Java - went rogue: Clojure <number>
  3. - Not for profit - Applied cryptography, privacy tools, blockchain - other not so technical disciplines: philoshophy, arts, video makers <number>
  4. - FSFE - Free Software Foundation Europe associated
  5. - systemd-free fork of the Debian GNU/Linux distribution - Dowse the privacy hub for the Internet of Things. - Monitors connections happening without human consent
  6. - EU research organisation
  7. - Collective Awareness Platforms - open democracy - collaborative consumption - Internet Science Cover loads of subjects like - decentralised architecture - privacy - new forms collaboration - anthropocentric - social engagement <number>
  8. Decentralised Citizens Engagement Technologies - create tools digitalise - participatory democracy - economic empowerement - next generation of open source, distributed, and privacy-aware
  9. - Form consotrium - partner organisation - different experties
  10. - Stonecutter: single sign on, identity management tool - Objectice8: crowd sourcing and drafting policy - Agora: online voting tool
  11. - 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
  12. - 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
  13. - 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
  14. 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?
  15. The question we were called to answer and prove
  16. - We generally think of money as created and guaranteed by national governments. - money is created by private banks, through the process of offering loans
  17. - especially at times of economic hardship - when any official currencies are in short supply - inflation
  18. - large corporations and shops - supporting local production and supply
  19. Feedback loops
  20. 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
  21. Needed to accommodate many different needs
  22. - self-organized artistic hub - collective, cooperative - beautiful old abandoned building - disscisions, debates, concerts, poetry, theatre, hackers space
  23. - Weekly theatre festival - one of the most important Italian theatrical events - 1971 - citizen participation - interactive - augmented reality - south of Bolonia, close to sanmarino
  24. - potentially other platforms
  25. Started big monolithic wallet application back in DCENT
  26. - modular - break down big wallet sourcecode - combine and accommodate all needs - simplicity - do one thing and do it well - Mix and match
  27. - 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
  28. - get used to it fast - first few weeks strange - different paradigm - Java 8, lambda functions AWS
  29. - 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
  30. - Hybrid wallet - web based - could be distributed - paper wallet - Simple UI - Currently used in Macao - basic income - finances - gravatar
  31. - 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
  32. 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
  33. Based on Shamir's Secret Sharing :bytes :base64 :base32 :hex and :url Cryptographic protocol
  34. - We do not store anything! - Wallet drama - Inheritance/will
  35. pretty REPL that can plot graphs and draw tables - editor for rich documents that can contain interactive Clojure code, graphs, tables, notes, LaTeX formulae
  36. Mongo DB implementation In memory implementation Aiming to provide few more DB implementations file storage using the nippy serialisation library Opensource – please contribute :)
  37. What cryptos are we plannign to use with pilots? Free to use whatever - Chosen Faircoin 2 from consotrium
  38. - Tradeoffs - 51% - Nothing at stake Malicious fork - ICOs: Initial Coin Offering - Bet - DASH - Ethereum making effords towards it
  39. - 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
  40. - 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.
  41. Decimal128 Mongo aggregations Learned the hard way
  42. - All familiar with priority changes
  43. - Maybe some of you are wondering why are you telling us all this?
  44. 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
  45. - Ghandi - Martin Luther king Take into account different ethnicitis Highly respected politician Forbes
  46. Improver our lifes Improve the life of others