Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
167 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
42 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Dissecting Smart Contract Languages: A Survey (2310.02799v2)

Published 4 Oct 2023 in cs.CR and cs.SE

Abstract: Blockchain is a distributed ledger technology that gained popularity for enabling the transformation of cryptocurrency among peers without mediation by a centralized third-party authority. Smart contracts expand the applications of blockchain technology and have played a role in its widespread adoption. Smart contracts are immutable digital programs that are deployed on blockchains to codify agreements between parties. Existing smart contract implementations have faced challenges, including security vulnerabilities, leading to significant losses and concerns. This has stimulated a wave of attempts to improve Smart Contract Languages (SCLs) to overcome implementation challenges and ensure code quality, producing many languages with diverse features. Scholars have made some attempts to classify SCLs and clarify the process of selecting an SCL, but to the best of our knowledge, no comprehensive survey of existing SCLs has been published. Our work surpasses earlier efforts by evaluating a significantly larger set of SCLs, in greater depth, to ease the process of SCL selection for blockchain research and implementation. In this paper, we (1) propose a robust framework for comparing existing SCLs, (2) analyze and discuss 36 SCLs, addressing issues beyond those used to construct the comparison framework, and (3) define new parameters for future research and development of SCLs. The survey provides a guide for those who intend to select or use an SCL to implement smart contracts, develop new SCLs, or add new extensions to the existing SCLs.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (66)
  1. arXiv preprint arXiv:1606.06530 (2016)
  2. Apla: Apla public blockchain platform for building digital ecosystems. Available at https://apla.readthedocs.io/en/latest/topics/script.html. (2019)
  3. In: International conference on principles of security and trust, pp. 164–186. Springer (2017)
  4. In: Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 1124–1128 (2019)
  5. In: International conference on financial cryptography and data security, pp. 494–509. Springer (2017)
  6. In: International Conference on Financial Cryptography and Data Security, pp. 453–467. Springer (2017)
  7. Bitcoin: Bitcoin script. Available at https://en.bitcoin.it/wiki/Script#Stack (2019)
  8. Briscoe, C.T.: Introduction to formal semantics for natural language (2011)
  9. Brooks, D.R.: Fundamentals of the javascript language. An Introduction to HTML and JavaScript: for Scientists and Engineers pp. 67–106 (2007)
  10. Burge, M.: Pyramid scheme. Available at https://github.com/MichaelBurge/pyramid-scheme. (2018)
  11. URL https://github. com/ethereum/wiki/wiki/% 5BEnglish% 5D-White-Paper 7 (2014)
  12. Blockchain in Healthcare Today 3, 10–30953 (2019)
  13. Coblenz, M.: Obsidian: a safer blockchain programming language. In: 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C), pp. 97–99. IEEE (2017)
  14. Springer (2017)
  15. URL: https://mc2-umd. github. io/ethereumlab/docs/serpent_tutorial. pdf.(2015).(Accessed May 06, 2016) pp. 22–23 (2015)
  16. Demirhan, H.: Effective taxation system by blockchain technology. In: Blockchain Economics and Financial Market Innovation, pp. 347–360. Springer (2019)
  17. Edgington, B.: Lll compiler documentation. Available at https://media.readthedocs.org/pdf/lll-docs/latest/lll-docs.pdf. (2017)
  18. ERights: Erights. Available at http:/erights.org/ (2019)
  19. Ethereum: Ethereum webassembly (ewasm). Available at https://ewasm.readthedocs.io/en/mkdocs/ (2019)
  20. Ethereum: Solidity contract language. Available at https://solidity.readthedocs.io/ (2019)
  21. Ethereum: Viper documentation. Available at https://vyper.readthedocs.io/en/v0.1.0-beta.13/release-notes.html (2019)
  22. Ethereum: Yul documentation. Available at https://solidity.readthedocs.io/en/v0.5.13/yul.html (2019)
  23. Firmo: The future of crypto economy, firmo network - firmolang. Available at https://steemit.com/crypto/@sjdsr/the-future-of-crypto-economy-firmo-network-firmolang (2019)
  24. Foundation, Q.: The qtum foundation mobile smart contracts platform. Available at https://www.prnewswire.com/news-releases/the-qtum-foundation-releases-whitepaper-detailing-mobile-smart-contracts-platform-300419218.html. (2018)
  25. In: 2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS* W), pp. 210–215. IEEE (2016)
  26. IEEE Communications Letters 23(1), 68–71 (2018)
  27. Goodman, L.: Tezos: A self-amending crypto-ledger position paper. Aug 3, 2014 (2014)
  28. Goodmani, L.: Michelson: the language of smart contracts in tezos. Available at https://tezos. com/pages/tech. html (2019)
  29. In: International Conference on Principles of Security and Trust, pp. 243–269. Springer (2018)
  30. Günther, S.: Lisk-the mafia blockchain. Medium (2018)
  31. arXiv preprint arXiv:1809.09805 (2018)
  32. Hirai, Y.: Defining the ethereum virtual machine for interactive theorem provers. In: International Conference on Financial Cryptography and Data Security, pp. 520–535. Springer (2017)
  33. Ivy-Lang: Ivy-lang language. Available at https://github.com/ivy-lang/ivy-bitcoin. (2019)
  34. In: International Congress on Blockchain and Applications, pp. 19–26. Springer (2019)
  35. In: 2019 IEEE International Workshop on Blockchain Oriented Software Engineering (IWBOSE), pp. 50–55. IEEE (2019)
  36. arXiv preprint arXiv:1804.01295 (2018)
  37. In: International Symposium on Formal Methods, pp. 593–610. Springer (2019)
  38. Aug-2012 [Online]. Available: https://peercoin. net/whitepaper () (2012)
  39. Legalese: L4 language. Available at https://legalese.github.io/. (2019)
  40. namecoin. info (2014)
  41. LoomNetwork: Lll. Available at https://github.com/loomnetwork/solidityx-jsl (2019)
  42. LoomNetwork: Solidityx contract language. Available at https://solidityx.org (2019)
  43. Mazieres, D.: The stellar consensus protocol: A federated model for internet-level consensus. Stellar Development Foundation 32 (2015)
  44. Modi, R.: Solidity Programming Essentials: A beginner’s guide to build smart contracts for Ethereum and blockchain. Packt Publishing Ltd (2018)
  45. Moonad: Formality, an lightweight proof-gramming language. Available at https://github.com/moonad/Formality (2019)
  46. Nakamoto, S.: Bitcoin: A peer-to-peer electronic cash system. Tech. rep., Manubot (2019)
  47. OCamlPro: The liquidity language for smart contracts. Available at http://www.liquidity-lang.org/. (2019)
  48. 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 (2017)
  49. Review of educational research 61(3), 265–286 (1991)
  50. Empirical Software Engineering pp. 1–41 (2020)
  51. Palladino, S.: The parity wallet hack explained. July-2017.[Online]. Available: https://blog. zeppelin. solutions/on-the-parity-wallet-multisig-hack-405a8c12e8f7 (2017)
  52. In: International Conference on Blockchain, pp. 75–91. Springer (2018)
  53. Pirapira: Bamboo smart contract language. Available at https://github.com/pirapira/bamboo (2019)
  54. Platform, T.D.A.: Daml. Available at https://hub.digitalasset.com (2019)
  55. Plutus: Plutus contract language. Available at https://github.com/input-output-hk/plutus. (2019)
  56. Springer (2019)
  57. Raineorshine: Functional solidity language. Available at https://github.com/raineorshine/functional-solidity-language. (2019)
  58. Reitwiessner, C.: “babbage: a mechanical smart contract language. Online blog post (2017)
  59. Schaeff: Logikon, an experimental language for smart contracts. Available at https://github.com/logikon-lang/logikon. (2018)
  60. In: Conference Companion of the 2nd International Conference on Art, Science, and Engineering of Programming, pp. 218–219 (2018)
  61. IACR Cryptol. ePrint Arch. 2016, 1156 (2016)
  62. arXiv preprint arXiv:1801.00687 (2018)
  63. Szabo, N.: Smart contracts: building blocks for digital markets. EXTROPY: The Journal of Transhumanist Thought,(16) 18(2) (1996)
  64. Waves: Get smarter about what matters to you (2019). Available at https://blog.wavesplatform.com/waves-smart-contracts-what-to-expect-and-when-489563a95ca3
  65. Wohlin, C.: Guidelines for snowballing in systematic literature studies and a replication in software engineering. In: Proceedings of the 18th international conference on evaluation and assessment in software engineering, pp. 1–10 (2014)
  66. arXiv preprint arXiv:1803.09885 (2018)

Summary

We haven't generated a summary for this paper yet.

X Twitter Logo Streamline Icon: https://streamlinehq.com