Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Comparative Analysis of Blockchain Technologies under a Coordination Perspective

63 Aufrufe

Veröffentlicht am

Many research works apply blockchain technologies to several different application domains ranging from supply chain and logistics to healthcare and real-estate. There, nevertheless, the blockchain performs the same two core tasks: identity management and asset tracking. In this paper we analyse how the blockchain can be exploited beyond these traditional tasks, towards coordination of distributed processes. To this end, we design and develop proof-of-concept implementations of the Linda model on top of different blockchains, and compare their strengths and shortcomings.

Veröffentlicht in: Internet
  • Als Erste(r) kommentieren

Comparative Analysis of Blockchain Technologies under a Coordination Perspective

  1. 1. Comparative Analysis of Blockchain Technologies under a Coordination Perspective Giovanni Ciatto1 Michael Bosello1 Stefano Mariani2 Andrea Omicini1 giovanni.ciatto@unibo.it michael.bosello@studio.unibo.it stefano.mariani@unimore.it andrea.omicini@unibo.it 1Dipartimento di Informatica – Scienza e Ingegneria—Universit`a di Bologna 2Dipartimento di Scienze e Metodi dell’Ingegneria, Universit`a di Modena e Reggio Emilia 2nd International Workshop on BlockChain Technologies 4 Multi-Agent Systems ´Avila, Spain – June 27, 2019 Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 1 / 24
  2. 2. Outline 1 What & Why 2 Ok, How? 3 Comparison 4 Cool, Then? Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 2 / 24
  3. 3. What & Why Next in Line. . . 1 What & Why Coordination 2 Ok, How? Linda as a test-bed 3 Comparison Ethereum HyperLedger Fabric (HLF) Corda 4 Cool, Then? Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 3 / 24
  4. 4. What & Why Premises a lot of BCT have been developed in the recent years some are simply aimed at improving crypto-currencies other are conceived to be general and track custom assets through some sort of programmability e.g. by means of smart contracts Some foundational question arise can BCT be used to mediate the interaction of off-chain entities? on-chain entities? can it be used for coordination? Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 4 / 24
  5. 5. What & Why Premises a lot of BCT have been developed in the recent years some are simply aimed at improving crypto-currencies other are conceived to be general and track custom assets through some sort of programmability e.g. by means of smart contracts Some foundational question arise can BCT be used to mediate the interaction of off-chain entities? on-chain entities? can it be used for coordination? Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 4 / 24
  6. 6. What & Why Coordination What is Coordination? Within MAS “A framework in which the interaction of active and independent entities called agents can be expressed” [Cia96] active entities i.e., proactive, computationally autonomous interaction dependencies among agents activities e.g. communication, cooperation, competition, etc. expressed i.e., explicitly represented, or observed Takeaway Coordination studies interaction at the fundamental level Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 5 / 24
  7. 7. What & Why Coordination Wait: but why Coordination & BCT? BCT provide highly-desirable properties ordering of events consistency among replicated data accountability of actions identity management (byzantine) fault tolerance Especially in MAS! Accountable, trusted communications, and consistency of information are long-standing issues for open MAS [RHJ04, HM15] Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 6 / 24
  8. 8. Ok, How? Next in Line. . . 1 What & Why Coordination 2 Ok, How? Linda as a test-bed 3 Comparison Ethereum HyperLedger Fabric (HLF) Corda 4 Cool, Then? Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 7 / 24
  9. 9. Ok, How? Linda as a test-bed Our test-bed – Tuple-based coordination in Linda I Linda at a glance Archetypal tuple-based coordination model [Gel85] 4 main elements tuples — structured data chunks templates — pattern language for tuples tuple spaces — blackboards for tuples primitives — put (out), or access, i.e. read (Rd), or consume (In) 3 main features generative — tuples independent from agents associative — tuples accessed through templates; no addr. & no ref. suspensive — access attempts suspended if no tuple is available Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 8 / 24
  10. 10. Ok, How? Linda as a test-bed Our test-bed – Tuple-based coordination in Linda II Useful in MAS? TL;DR Yes! [OZKT01] Linda over BCT How can primitives be implemented on BCT? Can we reproduce suspendive semantics? Does it work for off-chain agents? on-chain agents? Are there differences among BCT w.r.t. interaction? Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 9 / 24
  11. 11. Ok, How? Linda as a test-bed Comparison Dimensions for BCT openness — whether they are permissioned or permissionless access control — degrees of freedom in controlling access to assets architecture — main roles for nodes composing the BCT network state model — how (i.e., in which form) the BCT tracks information asset — which sort of assets may be manipulated by users programmability — how the programmable elements are called meta-primitives — how programmable elements can be manipulated primitives — operations letting programmable elements interact consensus — how the BCT supports consistency termination — how BCT prevent infinite computations Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 10 / 24
  12. 12. Comparison Next in Line. . . 1 What & Why Coordination 2 Ok, How? Linda as a test-bed 3 Comparison Ethereum HyperLedger Fabric (HLF) Corda 4 Cool, Then? Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 11 / 24
  13. 13. Comparison Ethereum Ethereum at a Glance openness → permissionless access control → none architecture → light nodes (clients) + full nodes (miners) state model → accounts asset → byte strings programmability → smart contracts (SC) meta-primitives → Deploy, Call primitives → Call (inter-SC), Raise Event (SC-to-client) consensus → Proof of Work (all miners) termination → gas Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 12 / 24
  14. 14. Comparison Ethereum Linda over Ethereum Details ! more in [CMO18] tuple spaces → smart contracts coordinated agents → clients primitives → method calls through the Call meta-primitive suspensive semantics → listening for events Peculiarities economy of coordination [CMO18] Shortcomings smart contracts cannot be coordinated agents no concurrency for primitives Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 13 / 24
  15. 15. Comparison HyperLedger Fabric (HLF) HyperLedger Fabric (HLF) at a glance openness → permissioned access control → Membership service, Channels, Endorsement policies architecture → peers + endorsement peers + ordering nodes state model → Key-Version-Value (KVV) triplets asset → KVV triplets programmability → chaincodes (C) meta-primitives → Deploy, Invoke, Query primitives → Invoke (inter-C), SetEvent (C-to-peer) consensus → pluggable (default: PBFT [CL02]) termination → execute-order-validate architecture [ABB+18] Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 14 / 24
  16. 16. Comparison HyperLedger Fabric (HLF) Linda over HLF Details tuple spaces → chaincodes coordinated agents → peers primitives → method calls through the Invoke meta-primitive suspensive semantics → listening for events Peculiarities finer control w.r.t. replication, consensus, tuple space access some degree of concurrency w.r.t. primitives Shortcomings smart contracts cannot be coordinated agents workaround needed for completing multiple primitives at once Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 15 / 24
  17. 17. Comparison Corda Corda at a Glance openness → permissioned access control → Doorman service + Flows architecture → nodes + notary services (notaries) state model → unspent transaction output (UTXO) + Vaults asset → states programmability → contracts meta-primitives → none (contracts deployed by admins) primitives → none (validation only) consensus → pluggable (custom algorithm) termination → not a problem (contracts are trusted) Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 16 / 24
  18. 18. Comparison Corda Linda over Corda Details tuple spaces → vaults coordinated agents → nodes primitives → state creation, or consumption suspensive semantics → flows Peculiarities subjective visibility of tuples in tuple spaces some degree of concurrency w.r.t. primitives Shortcomings ! tight coupling among coordinated agents Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 17 / 24
  19. 19. Cool, Then? Next in Line. . . 1 What & Why Coordination 2 Ok, How? Linda as a test-bed 3 Comparison Ethereum HyperLedger Fabric (HLF) Corda 4 Cool, Then? Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 18 / 24
  20. 20. Cool, Then? Takeaways The good BCT can in general be used for coordination off-chain permissioned BCT allow for a finer control w.r.t. tuple visibility to off-chain entities What can be improved on-chain computational entities may benefit coordination as well because they can be conceived as agents [CMMO19] even if this is currently poorly understood by the community The bad Linda-based coordination is not fully supported by Corda Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 19 / 24
  21. 21. Conclusions and Future Work Conclusion Summarising, we compared three programmable BCT, namely Ethereum, HLF, & Corda w.r.t. the coordination perspective, by implementing Linda on them thus testing capabilities, peculiarities, and limits of BCT and showing that smart contracts fall short w.r.t. mutual interaction In the future, we plan to extend our comparison to more technologies propose a novel programmable BCT overcoming current limitations Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 20 / 24
  22. 22. Conclusions and Future Work Conclusion Summarising, we compared three programmable BCT, namely Ethereum, HLF, & Corda w.r.t. the coordination perspective, by implementing Linda on them thus testing capabilities, peculiarities, and limits of BCT and showing that smart contracts fall short w.r.t. mutual interaction In the future, we plan to extend our comparison to more technologies propose a novel programmable BCT overcoming current limitations Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 20 / 24
  23. 23. Comparative Analysis of Blockchain Technologies under a Coordination Perspective Giovanni Ciatto1 Michael Bosello1 Stefano Mariani2 Andrea Omicini1 giovanni.ciatto@unibo.it michael.bosello@studio.unibo.it stefano.mariani@unimore.it andrea.omicini@unibo.it 1Dipartimento di Informatica – Scienza e Ingegneria—Universit`a di Bologna 2Dipartimento di Scienze e Metodi dell’Ingegneria, Universit`a di Modena e Reggio Emilia 2nd International Workshop on BlockChain Technologies 4 Multi-Agent Systems ´Avila, Spain – June 27, 2019 Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 21 / 24
  24. 24. References References I Elli Androulaki, Artem Barger, Vita Bortnikov, Christian Cachin, Konstantinos Christidis, Angelo De Caro, David Enyeart, Christopher Ferris, Gennady Laventman, Yacov Manevich, Srinivasan Muralidharan, Chet Murthy, Binh Nguyen, Manish Sethi, Gari Singh, Keith Smith, Alessandro Sorniotti, Chrysoula Stathakopoulou, Marko Vukoli´c, Sharon Weed Cocco, and Jason Yellick. Hyperledger fabric: A distributed operating system for permissioned blockchains. In 13th EuroSys Conference (EuroSys ’18), New York, NY, USA, 2018. ACM. Paolo Ciancarini. Coordination models and languages as software integrators. ACM Computing Surveys, 28(2):300–302, June 1996. Miguel Castro and Barbara Liskov. Practical byzantine fault tolerance and proactive recovery. ACM Transactions on Computer Systems, 20(4):398–461, 2002. Giovanni Ciatto, Alfredo Maffi, Stefano Mariani, and Andrea Omicini. Towards agent-oriented blockchains: Autonomous smart contracts. In PAAMS 2019, 2019. Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 22 / 24
  25. 25. References References II Giovanni Ciatto, Stefano Mariani, and Andrea Omicini. Blockchain for trustworthy coordination: A first study with Linda and Ethereum. In 2018 IEEE/WIC/ACM International Conference on Web Intelligence (WI), pages 696–703, December 2018. Paolo Ciancarini, Andrea Omicini, and Franco Zambonelli. Multiagent system engineering: The coordination viewpoint. In Nicholas R. Jennings and Yves Lesp´erance, editors, Intelligent Agents VI. Agent Theories, Architectures, and Languages, volume 1757 of LNAI, pages 250–259. Springer, 2000. 6th International Workshop (ATAL’99), Orlando, FL, USA, 15–17 July 1999. Proceedings. David Gelernter. Generative communication in Linda. ACM Transactions on Programming Languages and Systems, 7(1):80–112, January 1985. Yaqin Hedin and Esmiralda Moradian. Security in multi-agent systems. Procedia Computer Science, 60:1604–1612, 2015. Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 23 / 24
  26. 26. References References III Nick R. Jennings. Commitments and conventions: The foundation of coordination in multi-agent systems. The Knowledge Engineering Review, 8(3):223–250, 1993. Andrea Omicini, Franco Zambonelli, Matthias Klusch, and Robert Tolksdorf, editors. Coordination of Internet Agents: Models, Technologies, and Applications. Springer, March 2001. Sarvapali D. Ramchurn, Dong Huynh, and Nicholas R. Jennings. Trust in multi-agent systems. The Knowledge Engineering Review, 19(1):1–25, 2004. Ciatto et al. (UniBo, UniMoRe) Comparative Analysis of BCT BCT4MAS 2019, June. 26 24 / 24

×