Abstract
Blockchain-based platforms are emerging as a transformative technology that can provide reliability, integrity, and auditability without trusted entities. One of the key features of these platforms is the trustworthy decentralized execution of general-purpose computation in the form of smart contracts, which are envisioned to have a wide range of applications. As a result, a rapidly growing and active community of smart-contract developers has emerged in recent years. A number of research efforts have investigated the technological challenges that these developers face, introducing a variety of tools, languages, and frameworks for smart-contract development, focusing on security. However, relatively little is known about the community itself, about the developers, and about the issues that they face and discuss. To address this gap, we study smart-contract developers and their discussions on two social media sites, Stack Exchange and Medium. We provide insight into the trends and key topics of these discussions, into the developers’ interest in various security issues and security tools, and into the developers’ technological background.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
Score is the difference between the number of upvotes and downvotes for a post.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
References
Stack Exchange Data Explore. https://data.stackexchange.com/. Accessed 22 Nov 2019
di Angelo, M., Salzer, G.: A survey of tools for analyzing Ethereum smart contracts (2019). https://pdfs.semanticscholar.org/5fcd/6089a4973d3ddd7ca831b7129046c87f33c6.pdf
Ashutosh, K.S.: Top 10 Sites to Ask All Your Programming Questions (2017). https://www.hongkiat.com/blog/programming-questions-websites/. Accessed 23 Sept 2019
Atzei, N., Bartoletti, M., Cimoli, T.: A survey of attacks on ethereum smart contracts (SoK). In: Maffei, M., Ryan, M. (eds.) POST 2017. LNCS, vol. 10204, pp. 164–186. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-662-54455-6_8
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
Barua, A., Thomas, S.W., Hassan, A.E.: What are developers talking about? An analysis of topics and trends in stack overflow. Empirical Softw. Eng. 19(3), 619–654 (2014)
Brent, L., et al.: Vandal: a scalable security analysis framework for smart contracts. arXiv preprint arXiv:1809.03981 (2018)
Chang, J., Gao, B., Xiao, H., Sun, J., Yang, Z.: sCompile: Critical path identification and analysis for smart contracts. arXiv preprint arXiv:1808.00624 (2018)
Chen, H., Pendleton, M., Njilla, L., Xu, S.: A survey on Ethereum systems security: vulnerabilities, attacks and defenses. arXiv preprint arXiv:1908.04507 (2019)
Christidis, K., Devetsikiotis, M.: Blockchains and smart contracts for the Internet of Things. IEEE Access 4, 2292–2303 (2016)
Colwell, A.: How Medium became a leading blogging platform - Salesflare blog. https://blog.salesflare.com/how-medium-became-a-leading-blogging-platform-9b4b08d9d3ac. Accessed 26 Nov 2019
ConsenSys: Security tools. Ethereum Smart Contract Best Practices (2019). https://consensys.github.io/smart-contract-best-practices/security_tools/
Di Angelo, M., Salzer, G.: A survey of tools for analyzing Ethereum smart contracts. In: Proceedings of the 2019 IEEE International Conference on Decentralized Applications and Infrastructures (DAPPCON) (2019)
Ducasse, S., Rocha, H., Bragagnolo, S., Denker, M., Francomme, C.: SmartAnvil: Open-source tool suite for smart contract analysis (2019)
Ellul, J., Pace, G.: Runtime verification of Ethereum smart contracts. In: Conjunction with 14th European Dependable Computing Conference (EDCC), Workshop on Blockchain Dependability (WBD) (2018)
EthereumPrice.org: Ethereum price, charts & history. https://ethereumprice.org/. Accessed 12 Apr 2019
FeedreaderObserve: Ethereum Stack Exchange news. https://feedreader.com/observe/ethereum.stackexchange.com. Accessed 12 Oct 2019
Feist, J., Grieco, G., Groce, A.: Slither: a static analysis framework for smart contracts. In: Proceedings of the 2nd IEEE/ACM International Workshop on Emerging Trends in Software Engineering for Blockchain (WETSEB), pp. 8–15. IEEE (2019)
Fenn, J., Raskino, M.: Mastering the Hype Cycle: How to Choose the Right Innovation at the Right Time. Harvard Business Press (2008)
Finley, K.: A \$50 million hack just showed that the DAO was all too human. Wired, June 2016. https://www.wired.com/2016/06/50-million-hack-just-showed-dao-human/
Grishchenko, I., Maffei, M., Schneidewind, C.: EtherTrust: sound static analysis of Ethereum bytecode. Technische Universität Wien, Technical report (2018)
Groce, A., Feist, J., Grieco, G., Colburn, M.: What are the actual flaws in important smart contracts (and how can we find them)? arXiv preprint arXiv:1911.07567 (2019)
Harz, D., Knottenbelt, W.: Towards safer smart contracts: a survey of languages and verification methods. arXiv preprint arXiv:1809.09805 (2018)
Internet Archive: Stack Exchange Directory Listing. https://archive.org/download/stackexchange. Accessed 23 Sept 2019
IOHK: Plutus: a functional contract platform. https://testnet.iohkdev.io/en/plutus/. Accessed 11 Mar 2020
Jiang, B., Liu, Y., Chan, W.: ContractFuzzer: fuzzing smart contracts for vulnerability detection. In: Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering (ASE), pp. 259–269. ACM (2018)
Jiang, H., Liu, D., Ren, Z., Zhang, T.: Blockchain in the eyes of developers (2018)
Kalra, S., Goel, S., Dhawan, M., Sharma, S.: ZEUS: analyzing safety of smart contracts. In: Proceedings of the 2018 Network and Distributed Systems Security Symposium (NDSS) (2018)
Kirillov, D., Iakushkin, O., Korkhov, V., Petrunin, V.: Evaluation of tools for analyzing smart contracts in distributed ledger technologies. In: Misra, S., et al. (eds.) ICCSA 2019. LNCS, vol. 11620, pp. 522–536. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-24296-1_41
Krupp, J., Rossow, C.: teEther: gnawing at ethereum to automatically exploit smart contracts. In: Proceedings of the 27th USENIX Security Symposium, pp. 1317–1333 (2018)
Laszka, A., Eisele, S., Dubey, A., Karsai, G., Kvaternik, K.: TRANSAX: a blockchain-based decentralized forward-trading energy exchange for transactive microgrids. In: Proceedings of the 24th IEEE International Conference on Parallel and Distributed Systems (ICPADS), December 2018
Li, X., Jiang, P., Chen, T., Luo, X., Wen, Q.: A survey on the security of blockchain systems. Future Gener. Comput. Syst. 107, 841–853 (2017)
Litan, A., Leow, A.: Hype cycle for blockchain technologies, 2019. Technical report G00383155, Gartner Research, July 2019. https://www.gartner.com/en/documents/3947355/hype-cycle-for-blockchain-technologies-2019
Liu, C., Liu, H., Cao, Z., Chen, Z., Chen, B., Roscoe, B.: ReGuard: finding reentrancy bugs in smart contracts. In: Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings (ICSE), pp. 65–68. ACM (2018)
Liu, J., Liu, Z.: A survey on security verification of blockchain smart contracts. IEEE Access 7, 77894–77904 (2019)
Luu, L., Chu, D.H., Olickel, H., Saxena, P., Hobor, A.: Making smart contracts smarter. In: Proceedings of the 23rd ACM SIGSAC Conference on Computer and Communications Security (CCS), pp. 254–269, October 2016
Mavridou, A., Laszka, A.: Designing secure ethereum smart contracts: a finite state machine based approach. In: Meiklejohn, S., Sako, K. (eds.) FC 2018. LNCS, vol. 10957, pp. 523–540. Springer, Heidelberg (2018). https://doi.org/10.1007/978-3-662-58387-6_28
Mavridou, A., Laszka, A.: Tool demonstration: FSolidM for designing secure ethereum smart contracts. In: Bauer, L., Küsters, R. (eds.) POST 2018. LNCS, vol. 10804, pp. 270–277. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-89722-6_11
Mavridou, A., Laszka, A., Stachtiari, E., Dubey, A.: VeriSolid: correct-by-design smart contracts for Ethereum. In: Goldberg, I., Moore, T. (eds.) FC 2019. LNCS, vol. 11598, pp. 446–465. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-32101-7_27
Mossberg, M., et al.: Manticore: a user-friendly symbolic execution framework for binaries and smart contracts. arXiv preprint arXiv:1907.03890 (2019)
Mueller, B.: Smashing Ethereum smart contracts for fun and real profit. In: 9th Annual HITB Security Conference (HITBSecConf) (2018)
Nakamoto, S.: Bitcoin: A Peer-to-Peer Electronic Cash System (2008)
Newman, L.H.: Security news this week: \$280m worth of Ethereum is trapped thanks to a dumb bug. WIRED, November 2017. https://www.wired.com/story/280m-worth-of-ethereum-is-trapped-for-a-pretty-dumb-reason/
Nikolić, I., Kolluri, A., Sergey, I., Saxena, P., Hobor, A.: Finding the greedy, prodigal, and suicidal contracts at scale. In: Proceedings of the 34th Annual Computer Security Applications Conference (ACSAC), pp. 653–663 (2018)
O’Connor, R.: Simplicity: a new language for blockchains. In: Proceedings of the 2017 Workshop on Programming Languages and Analysis for Security, pp. 107–120. PLAS (2017)
Parizi, R.M., Amritraj, Dehghantanha, A.: Smart contract programming languages on blockchains: an empirical evaluation of usability and security. In: Chen, S., Wang, H., Zhang, L.J. (eds.) Proceedings of the 1st International Conference on Blockchain (ICBC), vol. 10974, pp. 75–91. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-94478-4_6
Parizi, R.M., Dehghantanha, A., Choo, K.K.R., Singh, A.: Empirical vulnerability analysis of automated smart contracts security testing on blockchains. In: Proceedings of the 28th Annual International Conference on Computer Science and Software Engineering (CASCON) (2018)
Permenev, A., Dimitrov, D., Tsankov, P., Drachsler-Cohen, D., Vechev, M.: VerX: safety verification of smart contracts. In: Proceedings 41st IEEE Symposium on Security and Privacy (S&P) (2020)
Solidity Documentation: Security considerations - use the Checks-Effects-Interactions pattern. http://solidity.readthedocs.io/en/develop/security-considerations.html#use-the-checks-effects-interactions-pattern (2018). Accessed 23 Sept 2019
Stortz, R.: Rattle - an Ethereum EVM binary analysis framework. REcon Montreal (2018)
Tapscott, A., Tapscott, D.: How blockchain is changing finance. Harvard Bus. Rev. 1(9), 2–5 (2017)
Tikhomirov, S., Voskresenskaya, E., Ivanitskiy, I., Takhaviev, R., Marchenko, E., Alexandrov, Y.: SmartCheck: static analysis of Ethereum smart contracts. In: Proceedings of the 1st IEEE/ACM International Workshop on Emerging Trends in Software Engineering for Blockchain (WETSEB), pp. 9–16. IEEE (2018)
Torres, C.F., Schütte, J., et al.: Osiris: hunting for integer bugs in Ethereum smart contracts. In: Proceedings of the 34th Annual Computer Security Applications Conference (ACSAC), pp. 664–676. ACM (2018)
Tryfanava, D.: 25 Best Active Forums for Programmers (2018). https://vironit.com/best-active-forums-for-programmers/. Accessed on 23 Sept 2019
Tsankov, P., Dan, A., Cohen, D.D., Gervais, A., Buenzli, F., Vechev, M.: Securify: Practical security analysis of smart contracts. In: 25th ACM Conference on Computer and Communications Security (CCS) (2018)
Underwood, S.: Blockchain beyond bitcoin. Commun. ACM 59(11), 15–17 (2016)
Vyper Team: Vyper documentation. https://vyper.readthedocs.io/en/latest/. Accessed 11 Mar 2020
Wang, H., Li, Y., Lin, S.W., Ma, L., Liu, Y.: VULTRON: catching vulnerable smart contracts once and for all. In: Proceedings of the 41st International Conference on Software Engineering: New Ideas and Emerging Results (ICSE-NIER), pp. 1–4 (2019)
Wang, N., et al.: When energy trading meets blockchain in electrical power system: the state of the art. Appl. Sci. 9(8), 1561 (2019). https://doi.org/10.3390/app9081561
Wöhrer, M., Zdun, U.: Design patterns for smart contracts in the Ethereum ecosystem. In: Proceedings of the 2018 IEEE Conference on Blockchain, pp. 1513–1520 (2018)
Wood, G.: Ethereum: a secure decentralised generalised transaction ledger. Technical report EIP-150, Ethereum Project - Yellow Paper, April 2014
Zhou, E., et al.: Security assurance for smart contract. In: Proceedings of the 9th IFIP International Conference on New Technologies, Mobility and Security (NTMS), pp. 1–5. IEEE (2018)
Zhu, L., et al.: Research on the security of blockchain data: a survey. arXiv preprint arXiv:1812.02009 (2018)
Acknowledgment
We thank the anonymous reviewers of our manuscript for their insightful comments.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Ayman, A., Roy, S., Alipour, A., Laszka, A. (2020). Smart Contract Development from the Perspective of Developers: Topics and Issues Discussed on Social Media. In: Bernhard, M., et al. Financial Cryptography and Data Security. FC 2020. Lecture Notes in Computer Science(), vol 12063. Springer, Cham. https://doi.org/10.1007/978-3-030-54455-3_29
Download citation
DOI: https://doi.org/10.1007/978-3-030-54455-3_29
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-54454-6
Online ISBN: 978-3-030-54455-3
eBook Packages: Computer ScienceComputer Science (R0)