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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system (2008). https://bitcoin.org/bitcoin.pdf
Namecoin. https://namecoin.org/
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)
Smart contracts. http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html
Ethereum white paper. https://github.com/ethereum/wiki/wiki/White-Paper
Alexander, C., Ishikawa, S., Silverstein, M.: A Pattern Language: Towns, Buildings, Construction. Oxford University Press, Oxford (1977)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (1994)
Anonymous. The capability maturity model. https://en.wikipedia.org/wiki/Capability_Maturity_Model. Accessed 27 May 2018
Etherscan. https://etherscan.io/
Vessenes, P.: Deconstructing the DAO attack: a brief code tour. https://etherscan.io/
Ethereum yellow paper. https://github.com/ethereum/yellowpaper
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
Eth gas station. https://ethgasstation.info/
Average transaction fee historical chart. https://bitinfocharts.com/comparison/ethereum-transactionfees.html
Ethereum name service. https://ens.domains/
OpenZeppelin standard token implementation. https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/token/ERC20/StandardToken.sol
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
OpenZeppelin ownable implementation. https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/ownership/Ownable.sol
ERC-20 token standard. https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
ERC-721. http://erc721.org/
OpenZeppelin mintable token implementation. https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/token/ERC20/MintableToken.sol
Running migrations. http://truffleframework.com/docs/getting_started/migrations
Anonymous. Unified modelling language. https://en.wikipedia.org/wiki/Unified_Modeling_Language. Accessed 27 May 2018
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
Worley, C., et al.: Scrybe: a 2nd-generation blockchain technology with lightweight mining for secure provenance and related applications (2018). Unpublished paper, under revision
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
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)