DOI QR코드

DOI QR Code

A Static and Dynamic Design Technique of Smart Contract based on Block Chain

블록체인 기반의 스마트 컨트랙트 정적/동적 설계 기법

  • Kim, Chul-Jin (Dept. of Computer Systems and Engineering, Inha Technical College)
  • 김철진 (인하공업전문대학 컴퓨터시스템과)
  • Received : 2018.03.07
  • Accepted : 2018.06.01
  • Published : 2018.06.30

Abstract

Blockchain technology has been highly evaluated for its contracts (contracts for sale, real estate contracts) because of its excellent security, including integrity and non-repudiation. In a blockchain, these contract services can be developed using a technology called a smart contract, and several blockchain platforms provide a programming language for developing smart contracts. Bitcoin and Ethereum, typical blockchain platforms, provide the Bitcoin Scripts and Solidity languages. Using these programming languages, we can develop the smart contract, a digital contract that can be processed dynamically. Smart contracts are being developed in a variety of areas, but studies of designs based on a blockchain are insufficient. In this paper, we propose a meta-model and a static/dynamic design method based on Unified Modeling Language (UML) for smart contracts based on Ethereum. We propose a method for static design attributes and functions of smart contracts, and propose a technique for designing structures among contracts. Dynamic design proposes a technique for designing deployment, function calls, and synchronization among smart contracts, accounts, and blocks within a blockchain. Experiments verify the validity of the design method by applying the static/dynamic design method through real estate contracts.

References

  1. Nick Szabo, "Smart Contracts: Building Blocks for Digital Markets", http://www.fon.hum.uva.nl, 1996, retrived 19 December 2017.
  2. ArthurB, "Smart contracts: Turing completeness & reality", https://hackernoon.com/smart-contracts-turing-completeness-reality-3eb897996621, Oct 3, 2016, retrived 19 December 2017.
  3. Davide De Rosa, "The Bitcoin Script language in basic blockchain programming", http://davidederosa.com/basic-blockchain-programming/bitcoin-script-language-part-one/, May 25, 2015, retrived 19 February 2018.
  4. Atzei Nicola, Bartoletti Massimo, Cimoli Tiziana, Lande Stefano, and Zunino Roberto, "SoK: unraveling Bitcoin smart contracts", 7th International Conference on Principles of Security and Trust , European Joint Conferences on Theory and Practice of Software, 2018.
  5. Atzei Nicola, Bartoletti Massimo, and Cimoli Tiziana, "A survey of attacks on Ethereum smart contracts", 6th International Conference on Principles of Security and Trust, European Joint Conferences on Theory and Practice of Software, 2017.
  6. Allison Ian, "PwC blockchain expert pinpoints sources of ambiguity in smart contracts", IBTimes, 12 August 2016.
  7. Alyssa Hertig, "Blockchain Veterans Unveil Secure Smart Contracts Framework", CoinDesk, 15 September 2016.
  8. Mougayar, William, The Business Blockchain: Promise, Practice, and Application of the Next Internet Technology, Wiley Publishing, 2016.
  9. Allison Ian, "Microsoft adds Ethereum language Solidity to Visual Studio", International Business Times, March 2016.
  10. Stefanov, Stoyan, JavaScript Patterns, O'Reilly Media, 2010.
  11. ABI(Application Binary Interface), https://en.wikipedia.org/wiki/Application_binary_interface, retrived 19 February 2018.
  12. Sangtae Kim, Seunghyeon Moon, Seungyong Jung, Sooji Jeon, and Sungkwan Jung, "A Design of EPCIS Block-chain System for Food Safty Service", Proceedings of the Korean Institute of Communication Sciences Conference, 2017.
  13. Ki Chang Park, Hyun Cheol Lee, and Eun Seok Kim, "A Software Design Method for Arduino Applications using UML", Journal Of The Korea Contents Association, 15(8), August 2015. DOI: http://dx.doi.org/10.5392/JKCA.2015.15.08.001
  14. Yong jin Seo, Dea geon Mun, Seung hak Kuk, and Hyeon Soo Kim, "UML Profile for iOS Application", Preceeding of KOREA INFORMATION SCIENCE SOCIETY, 38(1B), June 2011.
  15. Go Ethereum(Geth), https://ethereum.github.io/go-ethereum/downloads, retrived 10 December 2017.
  16. Mist and Ethereum Wallet, https://github.com/ethereum/mist/releases, retrived 10 October 2017.
  17. PoW(Proof of Work), https://etherworld.co/2017/04/16/proof-of-work-pow/, retrived 23 February 2018.