Abstract
A collaborative system supports collaboration among participants by providing functions such as group composition and management of data shared for collaboration. In recent years, research on collaborative services based on the blockchain technology has been done to guarantee the reliability of collaboration processes and outcomes. The diversity of the application domains in which collaborations are performed and the various characteristics of the participants in the collaboration group naturally leads to various forms of collaborative processes. In order for these processes to produce the desired outcome of the collaborative efforts, it is desirable to specify the appropriate collaborative process in advance, so that the participants can understand and agree on the process, carrying out the collaboration. In this paper, we propose a method to control flexible collaborative processes according to workflow specifications in the Ethereum-based collaborative service environment. The specification of the workflow for the designated task is stored in the Ethereum smart contract and the process of performing the task is controlled according to the stored workflow specification. For this, we introduce JSFlow which is a simple workflow specification method using JSON and an Ethereum library to utilize it.
협업 시스템은 협업을 위한 그룹 구성 및 데이터 관리 등의 기능을 제공하여 참여자간의 협업을 지원하는 시스템으로 최근에는 협업 과정 및 결과의 신뢰성을 보장하기 위하여 블록체인 기반의 협업 서비스에 대한 연구가 진행되고 있다. 협업을 수행하는 응용 영역의 다양성과 협업 그룹을 이루는 참여자들의 성격에 따라 협업을 수행하는 절차가 여러 가지 형태로 이루어진다. 이러한 절차가 목적하는 협업의 결과물을 차질 없이 도출하기 위해서는 적절한 협업의 과정을 미리 명세하여 참여자들이 그 과정에 대하여 이해하고 동의하면서 협업을 수행하는 것이 바람직하다. 본 논문에서는 이더리움 블록체인 기반 협업 서비스 환경에서 워크플로우 명세를 이용하여 유동적인 협업 과정을 제어하기 위한 방법에 대하여 제안한다. 제안된 방법에서는 지정된 작업의 실행 흐름을 위한 워크플로우에 대한 명세를 이더리움 스마트 컨트랙트에 저장하고, 저장된 워크플로우에 대한 명세를 이용하여 작업 과정을 제어한다. 이를 위하여, 본 논문에서는 JSON을 이용하여 간단하게 작업 과정을 명세할 수 있는 기법인 JSFlow와 이를 활용하기 위한 이더리움 라이브러리를 소개한다.