Skip to main content

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

  • Conference paper
  • First Online:
Business Information Systems Workshops (BIS 2018)

Part of the book series: Lecture Notes in Business Information Processing ((LNBIP,volume 339))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system (2008). https://bitcoin.org/bitcoin.pdf

  2. Namecoin. https://namecoin.org/

  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. Smart contracts. http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html

  5. Ethereum white paper. https://github.com/ethereum/wiki/wiki/White-Paper

  6. Alexander, C., Ishikawa, S., Silverstein, M.: A Pattern Language: Towns, Buildings, Construction. Oxford University Press, Oxford (1977)

    Google Scholar 

  7. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (1994)

    Google Scholar 

  8. Anonymous. The capability maturity model. https://en.wikipedia.org/wiki/Capability_Maturity_Model. Accessed 27 May 2018

  9. Etherscan. https://etherscan.io/

  10. Vessenes, P.: Deconstructing the DAO attack: a brief code tour. https://etherscan.io/

  11. Ethereum yellow paper. https://github.com/ethereum/yellowpaper

  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_8

    Chapter  Google Scholar 

  13. Eth gas station. https://ethgasstation.info/

  14. Average transaction fee historical chart. https://bitinfocharts.com/comparison/ethereum-transactionfees.html

  15. Ethereum name service. https://ens.domains/

  16. Solidity. http://solidity.readthedocs.io/en/v0.4.21/

  17. OpenZeppelin standard token implementation. https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/token/ERC20/StandardToken.sol

  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_31

    Chapter  Google Scholar 

  19. OpenZeppelin ownable implementation. https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/ownership/Ownable.sol

  20. ERC-20 token standard. https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md

  21. ERC-721. http://erc721.org/

  22. OpenZeppelin mintable token implementation. https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/token/ERC20/MintableToken.sol

  23. Running migrations. http://truffleframework.com/docs/getting_started/migrations

  24. Anonymous. Unified modelling language. https://en.wikipedia.org/wiki/Unified_Modeling_Language. Accessed 27 May 2018

  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. Worley, C., et al.: Scrybe: a 2nd-generation blockchain technology with lightweight mining for secure provenance and related applications (2018). Unpublished paper, under revision

    Google Scholar 

Download references

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Carl R. Worley .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Worley, C.R., Skjellum, A. (2019). Opportunities, Challenges, and Future Extensions for Smart-Contract Design Patterns. In: Abramowicz, W., Paschke, A. (eds) Business Information Systems Workshops. BIS 2018. Lecture Notes in Business Information Processing, vol 339. Springer, Cham. https://doi.org/10.1007/978-3-030-04849-5_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-04849-5_24

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-04848-8

  • Online ISBN: 978-3-030-04849-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics