Aron van Ammers discusses several technology stacks for building decentralized applications (DApps), including Bitcoin, Ethereum, Counterparty, Eris, Codius, and Maidsafe. Each stack has advantages and limitations, and there is ongoing debate around which approach is best. However, none of the stacks are fully mature. Overall, there are multiple promising approaches to building DApps, and cross-pollination between initiatives is occurring as the field continues to evolve rapidly.
2. A bit about me
● Aron van Ammers
● Active in fintech (more "TECH" than "fin")
● Background: Model Driven Software engineering,
University of Twente
3. A bit about me
● Background: CTO of I&DT, building Curasoft, SaaS
for health care
4. Down the rabbit hole
● 2014: time for a change
● What's happening?
– Bitcoin
– Cryptocurrency
– Smart contracts
– Decentralization
● May 2014: Certinio, independent consultant
5. Down the rabbit hole
● Nov 2014: Blockstars.io
● A full-service agency dedicated to designing,
developing, launching and managing Blockchain
businesses
● Projects
– MoneyCircles.com
– AssetCha.in
– Several other projects in stealth
6. Perspectives
● Building good software is hard. Good tools help
make it more achievable.
● I look at (de-)centralized development from a
business perspective within an ethical social and
environmental context.
7. The road to cryptocurrency...
● The road to Bitcoin
8. ...and beyond
● Smart contracts
● Smart assets
● Decentralized value ledgers
● "Computers on a blockchain"
● Decentralized apps (ÐApps)
● Decentralized everything
11. What's a ÐApp?
My view:
● Is open source essential?
– Of the protocols, reference implementations and shared data, yes.
– But the system is open: so anyone is free to develop closed-source
software or hardware clients.
● Is a blockchain essential?
– Yes, but more generically a "replicated, shared ledger" (Ripple,
Stellar, Hyperledger qualify).
● Are tokens essential?
– No, see Eris.
12. A Dapp is software. Software is built on
technology stacks.
Some technology stacks:
● LAMP: Linux – Apache – MySQL – PHP
– Large share of interactive websites mainly 2000-2010
● Microsoft: Windows, SQL Server, ASP, .NET
● Oracle: Oracle DB (+MySQL), WebLogic, ...
● MEAN: MongoDB – Express – AngularJS – Node.js
– And variations, upcoming in 2010s
– Used in DApps
● Countless others.
14. What are some tech stacks for ÐApps?
● Bitcoin
– Colored coins
– Sidechains
– Counterparty
● Ethereum
● Eris
● Codius
● Maidsafe
15. Battle of the stacks
Image: http://thewrittentale.com/2012/06/the-universe-of-battletech/
16. Bitcoin
The largest ecosystem:
● Large amount of investments
● Large amount of development (open/closed):
– End user apps
– API's
– Libraries
– Client tools
– Hardware devices
17. Bitcoin
"One stack to rule them
all"
But what about:
● Scalability?
● Speed?
● Wider functionality?
● Can Bitcoin even evolve
into a software development
stack?
http://joel.mn/post/103546215249/the-blockchain-application-stack
19. Bitcoin: sidechains
● Supported by
Blockstream, VC-backed
● Open source
● Might lead to more
powerful options for
Bitcoin as a DApp
platform
20. Bitcoin sidechains vs "altcoins"
● Altcoins: "Bitcoin is limited! We do whatever we
want!"
● Sidechains: "Your little new blockchain will fail!
Everyone should build on the stability of Bitcoin!"
21. Ethereum
● Building a new blockchain from scratch
● "Computer on a blockchain" (very slow, but very
trustworthy)
● Single, public blockchain like Bitcoin
● Many implementations
● Infinite possibilities
– which may or may not be practical and useful
25. Bitcoin vs Ethereum
Ethereum: "You are just a money-like informational
commodity! You can do almost nothing!"
Bitcoin: "You are over-ambitious, insecure,
unproven, bound to fail!"
26. Counterparty
● Builds on Bitcoin
● Smart assets
● Added functionality
● Ethereum contracts can
be used "just as easy"
● Or can they? Limitations
of Bitcoin and
Counterparty still exist.
27. Counterparty vs Ethereum
Counterparty: "We can do all you can! We run all
your contracts backed by Bitcoin!"
Ethereum: "We can do all you can, In 350 lines of
contract code! And BTW you're severely limited!"
28. Eris Industries
● Building a platform and
toolchain for developers and
enterprise
● Containing a "fork" (clone) of
Ethereum
● Strong legal background
● A playful bunch of people
29. Eris Industries
● Not "one true blockchain", but millions of them
● Integrates other types of blockchains: Ethereum,
Bitcoin, Tendermint
● Blockchains are useful for closed and open purposes
● Applications may or may not have a financial aspect
● Blockchains have permissions (and hence
controllers)
30. Eris Industries: state of the platform
● More stable
● Well-documented toolset
● Commercial support
● But also early days. Ready for development, not
ready for apps in production.
31. Eris vs Bitcoin
Eris: "A blockchain is a database that can be used
for many things! Why would anyone pay to store
data in yours? BTW, we like marmots."
Bitcoin: "Blockchains without tokens are bound to
fail! And permissions are centralized, hence evil!"
33. Codius
● Javascript in a secured environment (sandbox)
– Familiar
– Versatile
● No blockchain per se, but can access
● Consensus between nodes
● Decentralized hosting and billing
35. Codius vs blockchain-based stacks
Codius: "I can do anything a smart contract on a
blockchain can, and more, using a familiar
programming language!"
Blockchains: "You're too centralized, you require
too much trust in your nodes! Besides that, your
sandbox will never be secure!"
36. Maidsafe
● Predates Bitcoin (2007)
● A fully distributed data management
service
● Plus client applications
● Includes a cryptocurrency
http://maidsafe.net/overview
37. Wrapping it up
● There are more ways than one toward decentralized
apps
● There is healthy competition and crosspollination
between initiatives
● None of the stacks are anywhere near the state of
common tech stacks for "traditional" development
● You can start developing right now (prepare to learn a
lot)