O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

The Blockchain as a Software Connector

5.787 visualizações

Publicada em

Presentation at the 13th Working IEEE/IFIP Conference on Software Architecture (WICSA2016) by Sherry Xu and Cesare Pautasso

Publicada em: Tecnologia
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

The Blockchain as a Software Connector

  1. 1. www.csiro.au The Blockchain as a Software Connector Sherry Xu, Cesare Pautasso Liming Zhu, Vincent Gramoli, Alexander Ponomarev, An Binh Tran, Shiping Chen Data61@CSIRO | University of Lugano (USI) design.inf.usi.ch
  2. 2. Contribution • Characterizing blockchain from software architecture perspective • Rationales to support the architectural decision on whether to employ a blockchain as opposed to other software connectors • Implications of using the blockchain as a software connector • Design trade-offs regarding quality attributes • Experience harvested from real-world projects Blockchain | Sherry Xu2 |
  3. 3. Blockchain Background
  4. 4. Blockchain | Cesare Pautasso4 | Blockchain 1.0 – Cryptocurrency A. Antonopoulos, Mastering Bitcoin- unlocking Digital crytocurrencies, 2014 Bitcoin Network
  5. 5. Benefits of Using Blockchain 5 | Organization 1 Organization 2 Centralized Trusted Authority Traditional trusted environment Trusted market Trusted authentication Trusted payment Blockchain | Sherry Xu
  6. 6. Benefits of Using Blockchain 6 | Organization 1 Organization 2 Centralized Trusted Authority Traditional trusted environment • Centralization • Single point failure • Access control across systems • System internal status is opaque • Collaboration/interoperability • Fragmented internal systems centralized in their own way • Costly to interoperate and collaborate Blockchain | Sherry Xu
  7. 7. Benefits of Using Blockchain 7 | Organization 1 Organization 2 Organization 1 Organization 2 Centralized Trusted Authority Traditional trusted environment Blockchain trustless environment Blockchain network Blockchain | Sherry Xu
  8. 8. Why? Blockchain | Sherry Xu8 | Blockchain network • Immutable public ledger • Timestamped transactions • Audit trail of what happened • Every node hosts a replica • Distributed consensus - No central owner of consensus • Transaction is verified by every node • Gossip protocol for propagation • Consensus protocol for agreement
  9. 9. Blockchain Evolution 9 | • Blockchain 1.0 • Bitcoin transactions are financial transfers • Blockchain ledger can store/transact any kind of data • Blockchain 2.0 – “Smart contract” • Global computational infrastructure for programs • Event-driven program (with state) that runs on a replicated, shared ledger • Can enact decisions on complex business conditions • Coordination with business processes through APIs • Can hold and transfer assets held by the contract itself Blockchain | Sherry Xu
  10. 10. Blockchain Evolution 10 | • Blockchain 1.0 • Bitcoin transactions are financial transfers • Blockchain ledger can store/transact any kind of data • Blockchain 2.0 – “Smart contract” Blockchain | Sherry Xu Smart contract as Escrow
  11. 11. Blockchain as Connector Characterizing Blockchain from Architecture Perspective
  12. 12. Software Connectors Blockchain | Cesare Pautasso12 | • Building blocks of software component interaction – Performance – Reliability – Security • Services – Communication: transfer data – Coordination: transfer control – Facilitation: enable and optimise component’s interactions – Conversion: adjust the interactions between incompatible interfaces
  13. 13. Example Software Connectors Blockchain | Cesare Pautasso13 | File Transfer Message Bus Shared Database Remote Procedure Call Stream Blockchain
  14. 14. Blockchain used in a Web application Blockchain | Cesare Pautasso14 | Database (big data) Applications API Tokens/CurrenciesSmart Contracts Applications Applications Shared Data Ledger (meta-data, small data) Blockchain Applications
  15. 15. Blockchain as a Software Connector Blockchain | Cesare Pautasso15 | • Communication • Coordination • Facilitation
  16. 16. Blockchain as a Software Connector Blockchain | Cesare Pautasso16 | • Communication • Arbitrary data within transaction • Contract storage • Coordination • Transactions – From external owners – From contract accounts – Call functions defined in contracts – Create new contracts • Oracle • Facilitation OracleOracleOracle Blockchain Application layer Off- chain control Off-chain data Off- chain control Off- chain control Contract Contract TX TX TX
  17. 17. Blockchain as a Software Connector Blockchain | Cesare Pautasso17 | • Communication • Coordination • Facilitation • Transaction validation • Mining mechanism • Secure clearing payment • Incentive mechanism • Permission management
  18. 18. Blockchain Limitations Blockchain | Cesare Pautasso18 | • Limited scalability of public blockchain • The public blockchain processes 3-20 transactions per second • VISA handles around 2000 transactions per second • Improving transaction processing rate • Larger blockchain size • Off-chain transactions • Smaller transaction • Remove signature • Privacy of public blockchain • Encryption
  19. 19. Blockchain configuration decision Blockchain | Cesare Pautasso19 | Placement: on-chain vs. off-chain Enable verification of computational result, limited computation power and data storage, publicly available More computation power and data storage, less cost, additional trust required, integrate with existing systems Public chain vs. Private chain Information transparency, scalability, trustworthy Information isolation, easier asset-specific auditablility Oracle placement: Internal vs. External Inject external state into the blockchain, increase latency Introduce a trusted third party Persmissionless vs. Permissioned Worse performance, more cost, Sybil attack, immutable Better performance, less cost, easy reverse Single chain vs. Multiple chains Heterogeneous dataset Information isolation, harder chain and permission management Calculated from Ethereum Store 1kb data costs around $0.32 read 1 kb data costs $0.015
  20. 20. Blockchain vs. Shared DB: Operations • Insert Transaction (Append Only) • Create • Read • Update • Delete Blockchain | Cesare Pautasso20 |
  21. 21. Blockchain vs. Shared DB: Replication • Full Replication on every peer • Master-Slave • Multi-master Blockchain | Cesare Pautasso21 |
  22. 22. Blockchain vs. Shared DB: Consensus • Majority of peers agree on the outcome of transactions • Tolerant of Byzantine Generals’problem • Distributed Transactions (2 Phase Commit, Paxos) • Synchronization Blockchain | Cesare Pautasso22 |
  23. 23. Blockchain vs. Shared DB: Invariants • Transactions validated everywhere • Global rules enforced on the whole blockchain • No extra money created during a spending transaction • Integrity Constraints Blockchain | Cesare Pautasso23 |
  24. 24. Project Retrospective Open Data Registry
  25. 25. Data Prosumption Chain 25 | Data Evolution Provenance Raw data with no value added Incremental or value- added data Commercial data • Provenance • How dataset evolves from raw data to value-added data – Raw Data – Government open data, individual device data – Priced at zero, or at marginal cost – Value-added data – Private weather services • Who, when, what ,how ( Metadata) Incremental or value- added data Blockchain Blockchain | Sherry Xu
  26. 26. Data Monetization 26 | Data owner 2 Dataset . Dataset Data owner 1 Dataset Dataset D D Data Consumer (Joint Analytics) • Data has value • Measurement criteria • Payback based on the dataset value 26 | Blockchain | Sherry Xu
  27. 27. 27 | Post an analytics job Process Perspective Dataset requirement and measurement criteria Register a dataset Policy compliance checking Run analytics Dataset metadata and usage policy address Select job Select dataset Policy checking result When and what job Who pay how much to whom Data Consumer Data Owner Pay Paid On-chain computation Off-chain computation On-chain information Blockchain | Sherry Xu
  28. 28. Blockchain | Ingo Weber28 | Home page • Statistics • Provenance
  29. 29. Project Retrospective Secure Contract Negotiation
  30. 30. Scenario 30 | D D D Blockchain | Sherry Xu • Negotiation is controlled by a third party or one of the organizations get involved. • Which organisation should control the negotiation process? Lack Trust
  31. 31. Secure Contract Negotiation 31 | D Blockchain | Sherry Xu • Blockchain replaces a centralized trusted third party D D Enable Negotiati on
  32. 32. Blockchain | Sherry Xu32 | Secure Contract Negotiation Initiate, negotiate, sign Key distribution Authentication Tamper-proof log of events • Proposal of new value • Agree/disagree • Amendment Off-chain Key generation Contract generator On-chain Federated authentication Mobile gateway Contract Template On-chain Off-chain • Bind smart contract with physical contract • Address of smart contract
  33. 33. Conclusion 33 | • Integration projects sometime struggle to find a central party trusted by all participants • The blockchain offers a trusted shared transaction log built on top of an untrusted and decentralized network of peers. • Software components may read the transaction history (immutable) and add transactions to extend the blockchain • Given its fully replicated nature, the blockchain has some limitations (performance, data size) • We have applied the blockchain as a software connector in several integration projects (open data registry, legal contract negotiation, smart meters) Blockchain | Sherry Xu
  34. 34. www.csiro.au Thank you Sherry Xu Cesare Pautasso Data61@CSIRO | University of Lugano (USI) design.inf.usi.ch

×