Nederlands introductie hoe je een enterprise blockchain applicatie kan bouwen en op welke platformen. Deze presentatie is gegeverns tijden de Cryto Caf辿 meetup van 15/11/2018
Convert to study materialsBETA
Transform any presentation into ready-made study materialselect from outputs like summaries, definitions, and practice questions.
1 of 26
More Related Content
Hoe bouw je een enterprise blockchain?
1. Hoe bouw je een
enterprise Blockchain
implementblockchain.tech
2. Even introduceren
Robert van M旦lken
Blockchain / App Integratie specialist
Oracle Groundbreaker / ACE
Coder by day and Miner by night
Linkedin: linkedin.com/in/rvmolken
Blog: implementblockchain.tech
Twitter: @robertvanmolken
4. How-to in 20/25 minuten
Recap: Wat is een blockchain
(beter gezegd een DLT)?
Wat is een decentrale applicatie?
Public versus Permissioned,
wat moet ik kiezen?
Wat heb ik nodig om zelf een
blockchain app te bouwen?
7. Wat is een Blockchain?
Smart contracts + key/value
database met huidige staat
Ledger registreert
ALLE transacties
Distributed Ledger Technology
(afkorting: DLT)
8. Wat is een Blockchain?
Decentraal peer-to-peer
network van nodes
Transacties worden gevalideerd
door meerdere entiteiten
Public key-cryptografie
zonder centrale autoriteit
blockchain == digitaal vertrouwen
9. Hoe werkt een enterprise DLT (zoals blockchain)?
Plaatsen van order
Parameters, JSON
Gossip protocol
Smart contract
code incl. bedrijfsregels
Ordenen van
transacties en
samenvoegen
tot lijst
Opslag van
de data in ledger
Notificatie terug
naar applicatie
10. Blokken in een blockchain =
paginas in een boek
Een boek is een reeks pagina's, elke pagina
bevat:
stukken tekst: het verhaal
informatie over zichzelf: de titel, pagina
Een blockchain is een reeks blokken, elk
blok bevat:
de inhoud: lijst met transacties + data
een header: technische meta informatie
12. WAT IS EEN DECENTRALE APPLICATIE?
Een Dapp is een blockchain enabled web-app,dat draait op een peer-to-peer network van
computers in plaats van een enkele service waar Smart Contracts het mogelijk maken om
te verbinden met de blockchain data.Het bevat zowel een front-end and back-end welke
onafhankelijk van elkaar draaien!
13. Waar bestaat een Dapp uit?
Back-end == Smart Contract(s)
Overeenkomsten tussen partijen met
geautomatiseerde uitvoering die kunnen
fungeren als aanvulling op of vervanging van
juridische contracten of zakelijke transacties
Computerprogrammacode die de
onderhandeling over of uitvoering van een
overeenkomst kan faciliteren, uitvoeren en
afdwingen door middel van bedrijfsregels
Voorbeeld toont contract om een bestelling
te plaatsen voor aankoop van een voertuig
en publiceert een gebeurtenis wanneer de
bestelling is geplaatst
14. Waar bestaat een Dapp uit?
Een decentrale applicatie bevat ook:
Data model dat de deelnemers, assets, transacties,
en optionele notificaties beschrijft
Autorisatie en machtigingen model
APIs dat de front-end verbind met de back-end
Een front-end web applicatie (kan draaien buiten
de blockchain)
16. Verschil tussen public en permissioned
Public (permissionless) blockchains
Iedereen in de wereld kan informatie lezen
Iedereen in de wereld kan transactions versturen
Iedereen ziet alle transacties die valide zijn
Iedereen kan deelnemen in het consensus proces
Volledig decentraal
Private (permissioned) blockchains
Schrijf rechten worden uitgegeven door/aan een consortium van bedrijven
Lees rechten kunnen publiek zijn of worden beperkt
Inclusief database management, auditing, etc
Consortium van geselecteerde node nemen deel in het consensus proces
Gedeeltelijk decentraal
17. Welke platform zijn er beschikbaar?
Public Blockchains
BitCoin, AltCoins (Single purpose)
Ethereum (DApps & Tokens)
NEO, IPFS & Blockstack (DApps)
IOTA (= DLT voor o.a. IoT)
Permissioned blockchains
Eris::Monax & R3/Corda
Oracle Blockchain Cloud Service
IBM Blockchain as a Service
Hyperledger Fabric & Multichain
18. WAT HEB IK NODIG OM ZELF EEN
BLOCKCHAIN APP TE DRAAIEN?
Ethereum versus Hyperledger Fabric
19. Decentraal Blockchain Platform (ethereum.org)
Mainnet is publiek / globaal gedeelde infrastructuur
Organisaties kunnen eigen (Test) netwerk opzetten
Key features: Smart Contracts, en Digitale Valuta
Doeleinden: ICOs, ETH Name Service, Gokken, Ads, Games
Public
20. Gedistribueerd ledger framework om bedrijfsapplicaties / -
processen veilig uit te breiden en transacties binnen het
ecosysteem van partners te versnellen, inclusief slimme
contracten en geautoriseerde kanalen
Permissioned
21. Wat is Hyperledger Fabric?
Bestaat uit een ledger (world state + transactie log)
Draait smart contracts (chaincode) voor koppeling data
Systeem waarbij deelnemers hun transacties kunnen managen
Het is een permissioned blockchain
Aanmelden via een Membership Service Provider
Bevat aantal inwisselbare opties
Sla data op in meerdere formats
Verschillende consensus mechanismen
Mogelijkheid voor aanmaken van meerdere channels
Maak voor bepaalde groepen aparte ledgers aan.
23. WAT HEB IK NODIG OM ZELF EEN
BLOCKCHAIN APP TE ONTWIKKELEN?
Ethereum versus Hyperledger Fabric
24. Ontwikkel een Ethereum Dapp
Smart contracts kan je schrijven in:
Solidity (be誰nvloed door C++, Python, JavaScript)
De strictere Vyper (be誰nvloed door Python)
Compileert naar bytecode en draait op EVM
Code beschikbaar as adressen op blockchain
Interface (API / SDK):
Web3.js voor JavaScript
Web3j voor Java/Android
Go Ethereum for Go
Front-end applicatie implementatie API/SDK
25. Ontwikkel een Fabric Dapp
Smart contracts (chaincode) kan je schrijven in:
Go, JavaScript (Node.js) en Java
Maakt gebruik van Fabric Shim
Compileert naar taal specifieke binary
Code draait op taal eigen runtime op Docker
Interface (API / SDK):
SDKs voor Go, JS en Java
Sommige cloud providers bieden REST API
Front-end applicatie implementatie API/SDK
26. Vervolg Resources
Build a Decentralized Blockchain
Application with Hyperledger Fabric and
Composer @ YT
Smart Contracts on Ethereum with
Truffle Suite @ YT
Implement Blockchain Tech
(developer & nieuws blog)
Boek kopen? @ Amazon of Packt
Editor's Notes
#8: Het is een digitaal grootboek systeem voor het registreren van transacties van verschillende activa (ook wel assets genoemd) in een geordende lijst die wordt gerepliceerd over beschikbare nodes in het netwerk, in plaats van te worden opgeslagen in een centrale gegevensopslag (dat wil zeggen traditionele databases).
Het grootboek registreert ALLE transacties die zijn ingediend bij de blockchain. Het bevat het onbewerkte gegevensgedeelte van de transactie en enige informatie over de node of de deelnemer die de transactie heeft ingediend.
De meer ontwikkelde blockchains houden ook een gescheiden key/value-database bij met de huidige status van een asset (de laatste waarden). De veel gevallen zorgen de transacties ervoor dat een smart contract functie wordt uitgevoerd en de data gereed maakt voor opslag.
#9: De gegevens worden op een vertrouwde manier gedistribueerd naar alle nodes met behulp van een gedecentraliseerd peer-to-peer-protocol in bijna realtime.
Het maakt gebruik van een combinatie van digitale handtekeningen en cryptografie om ieders identiteit en authenticiteit te bewijzen en om lees / schrijf- en uitvoeringsmachtigingen (toegangsrechten) af te dwingen. Dit maakt het mogelijk om schrijftoegang te verlenen aan bepaalde deelnemers en om de toegang tot bepaalde deelnemers of een breder publiek, bijvoorbeeld iedereen, te lezen.
Elke node verwerkt en verifieert elke transactie afzonderlijk, verwerkt de geverifieerde transacties tot een resultaat set, welke wordt gesorteerd door het consensus-algorithme en verzendt ze naar alle andere nodes in het netwerk. Met behulp van een consensusmechanisme wordt het transactieblok gevalideerd door andere knooppunten, waarbij de meerderheid het blok moet goedkeuren voordat het definitief wordt en wordt toegevoegd aan de blockchain.
#12: Eerste figuur toont de relatie tussen pagina's in een boek en blokken die aan elkaar zijn gekoppeld om een ketting te maken. Tweede figuur toont de voorspelbaarheid van pagina's en dat het gemakkelijk is om de volgorde ervan te kennen. Als alle pagina's uit het boek worden getrokken en op een stapel worden gelegd, is het eenvoudig om ze weer op volgorde te plaatsen. Een blockchain is slimmer, elk blok linkt terug naar het vorige blok door de vingerafdruk van het blok. De vingerafdruk wordt bepaald door de inhoud en de vingerafdruk van het vorige blok.
In een boek is de volgorde van de pagina's impliciet gebouwd op de pagina waarvan het nummer een minder is. Pagina 5 volgt na pagina 4 (5 min 1), terwijl blokken worden weergegeven door vingerafdrukken of hashes die op elkaar zijn gebouwd. Blok 3 met hash 90fk5n wordt bijvoorbeeld bepaald door zijn gegevens te hashen samen met hash n58uf0 van het vorig blok.