Advertisement

Opportunities, Challenges, and Future Extensions for Smart-Contract Design Patterns

  • Carl R. WorleyEmail author
  • Anthony Skjellum
Conference paper
Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 339)

Abstract

Blockchains enable the trustless establishment of long-term consensus. The primary paradigm for extending this capability to generalized use cases is smart contracts. Smart contracts have the advantages of trustlessness, immutability, transparency, censorship-resistance, and DDoS resistance, but suffer from immutability, chain-boundedness, high cost of storage and execution, and poor parallelizability. While the advantages of smart contracts create many opportunities, their unique properties impose important constraints. A suite of design patterns are therefore proposed as one methodology for addressing these constraints while taking full advantage of the opportunities that smart contracts provide.

Keywords

Blockchain Design pattern Smart contract Pattern language Ethereum 

Notes

Acknowledgment

This material is based upon work supported by the National Science Foundation under Grants Nos. 1547164, 1547245, and 1821926. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.

References

  1. 1.
    Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system (2008). https://bitcoin.org/bitcoin.pdf
  2. 2.
  3. 3.
    Worley, C., Skjellum, A.: Blockchain tradeoffs and challenges for current and emerging applications: generalization, fragmentation, sidechains, and scalability. In: Slated for Inclusion at IEEE Blockchain 2018, Halifax (2018)Google Scholar
  4. 4.
  5. 5.
  6. 6.
    Alexander, C., Ishikawa, S., Silverstein, M.: A Pattern Language: Towns, Buildings, Construction. Oxford University Press, Oxford (1977)Google Scholar
  7. 7.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (1994)Google Scholar
  8. 8.
    Anonymous. The capability maturity model. https://en.wikipedia.org/wiki/Capability_Maturity_Model. Accessed 27 May 2018
  9. 9.
  10. 10.
    Vessenes, P.: Deconstructing the DAO attack: a brief code tour. https://etherscan.io/
  11. 11.
  12. 12.
    Croman, K., et al.: On scaling decentralized blockchains. In: Clark, J., Meiklejohn, S., Ryan, P.Y.A., Wallach, D., Brenner, M., Rohloff, K. (eds.) FC 2016. LNCS, vol. 9604, pp. 106–125. Springer, Heidelberg (2016).  https://doi.org/10.1007/978-3-662-53357-4_8CrossRefGoogle Scholar
  13. 13.
  14. 14.
  15. 15.
    Ethereum name service. https://ens.domains/
  16. 16.
  17. 17.
  18. 18.
    Bartoletti, M., Pompianu, L.: An empirical analysis of smart contracts: platforms, applications, and design patterns. In: Brenner, M., et al. (eds.) FC 2017. LNCS, vol. 10323, pp. 494–509. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-70278-0_31CrossRefGoogle Scholar
  19. 19.
  20. 20.
  21. 21.
  22. 22.
  23. 23.
  24. 24.
    Anonymous. Unified modelling language. https://en.wikipedia.org/wiki/Unified_Modeling_Language. Accessed 27 May 2018
  25. 25.
    Object Management Group/ISO. ISO/IEC 19505–1:2012 - information technology - Object Management Group Unified Modeling Language (OMG UML) - part 1: Infrastructure, 20 April 2012. ISO.org. Accessed 10 Apr 2014
  26. 26.
    Worley, C., et al.: Scrybe: a 2nd-generation blockchain technology with lightweight mining for secure provenance and related applications (2018). Unpublished paper, under revisionGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Clemson UniversityClemsonUSA
  2. 2.University of Tennessee at ChattanoogaChattanoogaUSA

Personalised recommendations