(20 Personen) technischen Beratungsunternehmen für Software- Architekten und –Entwickler Mein persönlicher Fokus: Blockchain Technologien für B2B-Verwendung, von den Tiefen der Technologie bis hin zu ISO TC 307, Enterprise Ethereum Alliance und Hyperledger Foundation Slides: https://thinktecture.com/presentations Kontakt: [email protected] Twitter: @ingorammer
Rechtssystem gedeckt) • Digitalisierung von analogen Papierprozessen über Firmengrenzen • Single Source of Truth – bei Prozessdaten und –schritten • Im Papierprozess komplex und mit Konsolidierungsaufwand • Zentrale Lösungen teilweise nur unter regulatorischem Zwang etabliert • ... und was passiert eigentlich, wenn wir Ländergrenzen überschreiten? • "Ja warum nehmt ihr denn nicht einfach eine replizierte Datenbank?" Private Blockchains?
Readers • Oder komplexe Konsolidierungsregeln im Applikationscode (zB Couch DB) • Offene Fragen • Stabilität: Single Point of Failure des Single Writers • Vertrauen: Datenintegrität und Neutralität des Single Writers • Technologisch: Codeausführung, Versionierung, Berechtigungsmanagement • Datensparsamkeit: Oft zusätzliches Punkt-zu-Punkt Netzwerk notwendig • Governance: wer darf Daten austauschen? • Diese Fragen werden von Tools für private Blockchains adressiert Replizierte Datenbank?
Regulator (Bundesnetzagentur) sind Teilnehmer des Netzwerks • Smart Contract verarbeitet die aktuelle Inhaberschaft/Verantwortung für Telefonnummern (Mapping: Nummer-zu-Anbieter) Das Szenario für diese Session
Channels sehen dessen Daten • Channels sind permissioniert • Transiente oder permanente Subsets: Private Data Collections • Smart Contracts werden pro Channel verwaltet Channels sind Blockchains
app O1 O2 O3 O4 E1 E2 E3 P2 P1 C1 C1 C2 C1 Tx 1) Client erzeugt Transaction Proposal und sendet es an Endorser 2) Endorser simulieren Transaktion und signieren Read-/Write-Set Tx 3) Client sendet TX mit Endorse- ments an Orderer 4) Orderer inkludieren TX in einem folgenden Block 5) Orderer senden Block an Peers S D K 6) Peers validieren Endorsement & Concurrency. Nehmen Block in ihre Chains & State DBs auf Other app S D K 7) Peers senden Events an Subscriber
entscheidet, ob Transaktion gültig ist (basierend auf Chaincode) • Ordering: Erzeugen einer Sequenz von Transaktionen; Verpacken in Blöcke • Validation: Vor dem finalen Commit prüft jeder Peer, ob Endorsement und Concurrency korrekt sind Dreistufiger Konsens
auf lokaler Node, um Ledger-Änderungen zu verifizieren • Können in unterschiedlichen Sprachen entwickelt werden (GRPC Interface) • SDKs für Go, Node.js, Java; .NET in progress Fabric Chaincode Basiskonzepte
GetState von State DB • Ändern des World States in DB; Eigentümerschaft von digitalen Assets übertragen • PutState/DeleteState • Bereitstellen von Events an SDK Subscriber Programmieraufgaben bei Chaincode
• Nicht alle Peers benötigen jeden Chaincode • Chaincode kann auf einem Peer in mehreren Versionen existieren • Chaincode wird pro Channel instanziiert • Instanziierung == Verknüpfung einer spezifischen Chaincode Version mit einem Channel, mit gleichzeitiger Definition einer spezifischen Endorsement Policy • Chaincode kann pro Channel upgraded werden (=> mit einer neuen Version verknüpft, die auf den Peers installiert wurde) Chaincode / Smart Contracts
und Client SDK Grundlagen –Smart Contracts in Fabric • Policies und Endorsement • ... warum private Blockchain-Netzwerke mehr bieten können, als reine replizierte Datenbanken. Fazit – das haben Sie gesehen