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.

블록체인 기술은 무결성과 부인 거부 등의 뛰어난 보안성으로 계약 분야(매매 계약, 부동산 계약)에 활용도가 높게 평가되고 있다. 블록체인에서 이러한 계약 서비스는 스마트 컨트랙트라는 기술을 활용하여 개발 가능하며 여러 블록체인 플랫폼들이 스마트 컨트랙트를 개발하기 위한 프로그래밍 언어를 제공한다. 대표적인 블록체인 플랫폼인 비트코인과 이더리움은 비트코인 스크립트와 솔리디티 언어를 제공한다. 이러한 프로그래밍 언어를 이용하여 동적으로 처리될 수 있는 디지털 계약인 스마트 컨트랙트를 개발할 수 있다. 그러나, 다양한 계약 분야에서 스마트 컨트랙트의 개발이 진행되고 있으나 블록체인 기반의 설계를 위한 연구가 미흡한 상황이다. 이에 본 연구에서는 이더리움 기반으로 스마트 컨트랙트를 설계하기 위한 메타모델 및 UML 기반의 정적/동적 설계 기법을 제안한다. 정적설계에서는 스마트 컨트랙트의 속성과 기능을 설계하기 위한 기법을 제안하며, 그리고 컨트랙트들 간의 구조를 설계하기 위한 기법을 제안한다. 동적설계에서는 블록체인 내의 스마트 컨트랙트, 계정, 블록들 간에 배포, 기능 호출, 동기화를 설계하기 위한 기법을 제안한다. 실험은 부동산 계약 사례를 통해 정적/동적 설계 기법을 적용하여 설계 기법의 타당성을 검증한다.

Keywords

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.