Version 1.0 The Blockchain An architectural view
Version 1.0 TOC 1. Introduction of Presenters 5. Equilibrium of the blockchain ecosystem 2. Origins of the blockchain 6. Types of blockchains 3. Basic Principles 7. Zoom on a real-life blockchain architecture 4. When to leverage the blockchain 8. Attention points when getting started
Introduction CTO FundRequest CTO Jidoka Independent Architect Davy Van Roy Bjorn Monnens Tristan Catteeuw
CTO FundRequest Davy Van Roy 8 years active in IT consultancy for different enterprises as back-end programmer. Currently working at FundRequest as CTO.
CTO Jidoka Bjorn Monnens 20 years active in IT for different enterprises as programmer and architect. Currently working at Jidoka as CTO. In parallel one of the people behind Hermes, a blockchain project aiming at enabling the Economy of Things.
Independent Architect Tristan Catteeuw Currently active as an independent architect at AXA Belgium with a main focus on the overall integration architecture of a major transformation program. In parallel the driving force behind Hermes, a blockchain project aiming at enabling the Economy of Things.
Security without Identification: Transaction Systems to Make Big Brother Obsolete. David Chaum - 1985
Origins of the blockchain idea 1998. Wei Dai describes the concept of b-money: broadcasting every transaction. Allowing every participant to validate & correct the transactions themselves. 1994. Nick Szabo describes the idea for smart contracts. The idea was less about unstoppable cryptocurrency-based agreements but for a better form of law. 1985. Among other things, Chaum described anonymous digital cash in his paper 2 and addressed the double spending 1991. Haber and Stornetta problem. 1 write about reliably timestamping documents and nesting the hash of its last timestamped document into the next one 2008. The idea for Bitcoin floated on a cryptography mailing list in 2008 and a first client released as Open Source in 2009. This tackled the last missing part: how to properly decentralize that registry of accounts 5 3 7 4 1997. Adam Back - today shaping Bitcoin s future with blockstream, proposed Hashcash as an implementation of the proof of computational effort principle. 6 2000. US export restrictions on crypto were dropped. Thanks to the Cypherpunks, know-how and privacy tools were available.
Blockchain evolutions 2014. Ethereum evolves the use-cases of the blockchain from simple financial transactions with the introduction of smart contracts. 2013. The FBI closes down the Silk Road, bringing cryptocurrencies in a better daylight. 2017. Current observations show that the market is introducing a multitude of industry and/or use-case specific blockchains. 4 2 3 2009. The first client Bitcoin released as Open Source. The main focus of Bitcoin is to perform payments with a digital currency without third party. 2014. It becomes clear that MTGox, representing 70% of all Bitcoins at the time, has been hacked over the years 2011 till 2014. MTGox files for bankruptcy. 5 2015. Linux Foundation announces the creation of the Hyperledger Project. The main focus was on improving the performance, reliability and introduction of roles & permissions.
Socio-economic & technology (re)volutions The search for certainty has left humanity evolving their socio-economic models. The blockchain could do that just again. (Small communities, trust enforced with violence) (Lack of trust in growing community) (Convenience of institutions and consumers) (Lack of trust in formal institutions) Informal rules Formal institutions Online institutions The blockchain
Important Blockchain concepts In a blockchain system, there are multiple concepts that you will hear... 01 Hash 02 Address 03 Transaction 04 Distributed / Nodes 05 Block 06 Chain 07 Consensus algorithm 08 Token/Asset 09 Smartcontract / Chaincode 10 Oracle
Hash Taking an input of any length and transform it into a string of a fixed length. https://passwordsgenerator.net/md5-hash-generator/ http://releases.ubuntu.com/xenial/
Address https://etherscan.io/address/0x22eb8bf44df 15630cfab793b79d6f1ed4092fb9d#tokentx ns
Transaction https://etherscan.io/tx/0x0589e736884eb4 ec18a1d16c6928450169880453988e5242 699e74e204387d82
Block Combining a number of transactions into a group, using a predefined algorithm https://etherscan.io/block/5652735
Peer 2 peer network Broadcast
Distributed / Nodes
Chain
Consensus algorithm Proof of Work Proof of Stake Proof of Elapsed Time **** Byzantine Fault Tolerance Proof of Authority Directed Acyclic Graphs...
Token / Asset
Smart contract / Chaincode
Smart contract / Chaincode
Smart contract / Chaincode
Oracle
Some example Blockchain Use Cases In a blockchain system, there are multiple concepts that you will hear... 01 Blockchain for a collaboration platform 02 Blockchain as an economic platform 03 Blockchain as a secure distributed ledger
What is the problem
Monolithic architecture HTML Mainframe JS Java/C#/... SQL
Mainframe Microservice architecture Legacy Service API Gateway Account Service Store Webapp Inventory Service Shipping Service Account DB Inventory DB Shipping DB
Blockchain architecture Legacy Service API Gateway Account Service Store Webapp Inventory Service Shipping Service Account DB Inventory DB Shipping DB Mainframe
Partner company Blockchain architecture Shipping Service Legacy Service API Gateway Account Service Store Webapp Inventory Service Shipping Service Account DB Inventory DB Shipping DB Shipping DB
Blockchain as a secure distributed ledger Basic Attention Token
Blockchain as a secure permanent distributed ledger Legacy Service API Gateway Account Service Store Webapp Inventory Service Shipping Service Account DB Inventory DB Shipping DB Mainframe
How to get started - How are most companies starting Define if it is worth investigating the new technology Define a PoC scope In 90% of the cases, choose a private permissioned blockchain, Identify a low risk project using patterns from the right Prepare to learn everyday (even more then before) Plan Do Check Adjust Application Patterns Proof of existence Proof of nonexistence Proof of time Proof of order Proof of identity Proof of authorship Proof of ownership
Simple PoC Private blockchain setup Certificate Authority Orderer Application Peer0 Hyperledger Fabric DB*
Complex PoC Private blockchain setup
(public) Blockchain Ecosystem Miners offer computational power / security 01 Confirm transactions in trustful manner 02 `Slash` miners who are misbehaving 03 Get rewarded (block reward + transaction fee)
(public) Blockchain Ecosystem Blockchain nodes offer availability and storage 01 Validates transactions / blocks 02 Propagate blocks to other peers 03 Get rewarded
(public) Blockchain Ecosystem Consumers need computation/ memory / storage 01 Store state 02 Compute using smart contracts 03 No (less) infrastructure
Blockchain: beyond technology 01 Economists 02 Cryptographers 03 Engineers
Type of Blockchain 01 Public blockchain (No centralised management - permissionless) 02 Consortium blockchain (Multiple organisations - permissioned) 03 Private blockchain (Single organisation - permissioned)
Public blockchain - (No centralised management - permissionless) Business arch ICO - Tokens Mining fees New emerging economic models... Data arch Application arch Smart contracts Oracle Dapps Infrastructure arch Publicly readable!!!! Immutable* Tokens / Assets -> domain specific Transactions Blocks Chain... Public nodes (no own hardware) Fee per transaction Slow* (15 Tx/s)...
Consortium blockchain - (Multiple organisations - permissioned) Business arch Depending on consortium needs... Data arch Application arch Smart contracts Consortium needs to agree on architecture and contracts Infrastructure arch Private/public (depending on setup) Immutable* Tokens / Assets -> domain specific Transactions Blocks Chain... Private/public permissioned nodes (Multiple organisation run nodes) Need for communication between nodes No Fee per transaction -> fee for hardware Faster ++ 15 Tx/s...
Private blockchain - (Single organisation - permissioned) Business arch Specific to the business domain Data arch Application arch Smart contracts (1 company owns the logic) Oracle Dapps Infrastructure arch Private Immutable* Tokens / Assets -> domain specific Transactions Blocks Chain... Private permissioned nodes (own hardware) No Fee per transaction -> fee for hardware Faster ++ 15 Tx/s...
Possible future
A Marketplace for Open Source Software Development fundrequest.io
Fundrequest You can not build a product without using open source fundrequest.io
Fundrequest 80 to 85% of Samsung s product stack includes open source fundrequest.io
Fundrequest Samsung uses 900+ open source components fundrequest.io
The problem Impossible for a companies to support all open source projects Open Source projects lack the resources to deliver fast paced support fundrequest.io
The problem Impossible for companies to support all open source projects Dedicate an internal resource Hire a contractor ( Pay 15 to 20% fee + needs training) Open Source projects lack the resources to deliver fast paced support Offer paid support Crowdfunding (One time option) fundrequest.io
The solution should Offer companies support for any open source product Rewarded Open source projects and contributors fundrequest.io
The solution A Marketplace for Open Source Software Development fundrequest.io
The solution fundrequest.io
A marketplace should be Trustworthy Secure fundrequest.io
Why do we use a blockchain? Handle transactions easily and securely Completely open, distributed and boundaryless Smart contracts are immutable Availability with or without FundRequest fundrequest.io
Where are we implementing blockchain features Funding of development requests Claiming of rewards Escrow service Reputation / Skill Governance fundrequest.io
Architecture FundRequest SSO DB Front -end Back end Queue Block chain Bridg e fundrequest.io
Architecture FundRequest fundrequest.io
It s supposed to be automatic, but actually you have to push this button. John Brunner - 1968
Eager to get started? As with a lot of new technologies, you should be aware about a few pitfalls, attention points etc. As a reminder we list a few of those points here. 01 Use-case requires support from entire business network 02 The economical incentives should be balanced correctly 03 Application designs require different way of thinking 04 Development languages and IDE s change 05 Agile, incremental go-lives don t rhyme well with blockchain 06 Code is public, security through obscurity doesn t work 07 Mindset around sufficient testing has to change 08 All that is recorded into the blockchain remains there forever 09 Regulators are catching up to cryptocurrency and blockchain 10 As always, don t get caught in the hype
Thank you.