Blockchain Watchdog: 분산 저장소와 스마트 컨트랙트 코드 연동 실시간 블록체인 관제시스템 Blockchain Watchdog: Real-time Blockchain Surveillance System Connecting Smart Contract Code and Distributed Storage원문보기
블록체인의 참여가 증가하면서 생태계 유지를 위한 거버넌스가 활성화되고 있다. 거버넌스는 블록체인을 유지하고 발전시키기 위해 관리/감독이 이루어져야 한다. 하지만 블록체인의 사용량이 증가함에 따라 사람이 일일이 관리하기엔 한계가 존재한다. 또한, 이더리움부터 적용된 스마트 컨트랙트라는 새로운 거래 형태가 가능함에 따라 상태 값에 따라 결정되는 거래에 대해 검증이 필요하다. 본 연구는 거버넌스의 블록체인 생태계 유지와 발전을 위한 도구로 블록체인 스마트 컨트랙트의 상태 모니터링을 기반으로 하는 관제시스템(Blockchain Watchdog)을 제안하며, 관제시스템의 구현 및 실험을 진행하였다. 사례 연구로 Ropsten과 Ganache를 활용한 사설 네트워크에서 실험을 진행하였으며, 실시간 정보수집과 대시보드와 그래프, 차트를 활용한 시각화를 볼 수 있었다. 우리는 Blockchain Watchdog을 통해 블록체인 거버넌스의 생태계 유지와 발전에 기여할 것이라 기대한다.
블록체인의 참여가 증가하면서 생태계 유지를 위한 거버넌스가 활성화되고 있다. 거버넌스는 블록체인을 유지하고 발전시키기 위해 관리/감독이 이루어져야 한다. 하지만 블록체인의 사용량이 증가함에 따라 사람이 일일이 관리하기엔 한계가 존재한다. 또한, 이더리움부터 적용된 스마트 컨트랙트라는 새로운 거래 형태가 가능함에 따라 상태 값에 따라 결정되는 거래에 대해 검증이 필요하다. 본 연구는 거버넌스의 블록체인 생태계 유지와 발전을 위한 도구로 블록체인 스마트 컨트랙트의 상태 모니터링을 기반으로 하는 관제시스템(Blockchain Watchdog)을 제안하며, 관제시스템의 구현 및 실험을 진행하였다. 사례 연구로 Ropsten과 Ganache를 활용한 사설 네트워크에서 실험을 진행하였으며, 실시간 정보수집과 대시보드와 그래프, 차트를 활용한 시각화를 볼 수 있었다. 우리는 Blockchain Watchdog을 통해 블록체인 거버넌스의 생태계 유지와 발전에 기여할 것이라 기대한다.
As the participation of blockchain increases, governance to maintain the ecosystem is being activated. Governance must be managed/supervised to maintain and improve the blockchain. However, as the usage of blockchain increases, there is a limit for people to manage it individually. In addition, smar...
As the participation of blockchain increases, governance to maintain the ecosystem is being activated. Governance must be managed/supervised to maintain and improve the blockchain. However, as the usage of blockchain increases, there is a limit for people to manage it individually. In addition, smart contracts applied from Ethereum need to be verified for trade that are determined according to status values, as new trade types are possible. This research proposes a surveillance system, Blockchain Watchdog, based on the state monitoring of the blockchain smart contract as a tool for maintaining and developing the blockchain ecosystem of governance, and implemented and tested the surveillance system. As a case study, we conducted experiments on Ropsten and Ganache, and were able to see real-time information collection and visualization using dashboards, graphs, and charts. We expect to contribute to the maintenance and development of the ecosystem of blockchain governance through Blockchain Watchdog.
As the participation of blockchain increases, governance to maintain the ecosystem is being activated. Governance must be managed/supervised to maintain and improve the blockchain. However, as the usage of blockchain increases, there is a limit for people to manage it individually. In addition, smart contracts applied from Ethereum need to be verified for trade that are determined according to status values, as new trade types are possible. This research proposes a surveillance system, Blockchain Watchdog, based on the state monitoring of the blockchain smart contract as a tool for maintaining and developing the blockchain ecosystem of governance, and implemented and tested the surveillance system. As a case study, we conducted experiments on Ropsten and Ganache, and were able to see real-time information collection and visualization using dashboards, graphs, and charts. We expect to contribute to the maintenance and development of the ecosystem of blockchain governance through Blockchain Watchdog.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
사용자들은 문제 상황 발생 시 문제 원인 추적이 가능하다. 두 번째로 대량의 정보를 자동으로 관리하여 사람이 관리하기에 한계가 있는 부분을 해소해고자 한다. 세 번째로 스마트 컨트랙트의 상태 값을 일반 사용자와 개발자가 알기 쉽게 파악할 수 있고 프로그램에 대한 확인 및 검증을 위한 도구로써 활용될 수 있게 하고자 한다.
본 연구는 블록체인 생태계 거버넌스의 관리/감독을 지원하고자 Blockchain Watchdog(블록체인 관제시스템)을 제안하였다. 또한, 실제로 시스템을 일부 개발 및 구현하여 사설 네트워크 기반의 Ganache와 Ropsten 테스트넷에 적용하여 실험을 진행하였다.
본 연구에서 제안하는 블록체인 스마트 컨트랙트 관제시스템에 대한 이해를 돕기 위해 블록체인과 스마트 컨트랙트, 관제시스템에 대한 이해, 현재 진행되고 있는 관련된 연구를 함께 소개한다.
본 연구에서는 블록체인 생태계에서 발생하는 다양한 거래 정보를 스마트 컨트랙트 중심으로 정보를 수집하고 거버넌스가 문제 상황 파악 및 해결을 지원하는 Blockchain Watchdog(블록체인 관제시스템)을 제안한다. Blockchain Watchdog은 첫 번째로 스마트 컨트랙트의 상태 변화 이력에 대한 모니터링을 진행하고 대시보드, 차트, 그래프 등을 활용하여 상태 정보를 표현한다.
본 연구에서는 이더리움 네트워크에 배포된 스마트 컨트랙트의 모니터링 가능 여부와 실시간성, 데이터 정확성등을 판별해보기 위하여 Blockchain Watchdog을 Ganache와 Ropsten 대상으로 실험하였다.
우리는 Blockchain Watchdog을 연구 및 개발하기 위하여 스마트 컨트랙트를 활용하는 가장 대표적인 플랫폼인 이더리움을 대상으로 연구 및 개발을 진행하였다. 또한, 접근 방법을 직접 구현해보았고 실제 이더리움 테스트넷인 Ropsten과 Ganache[8]로 사례 연구를 진행하였다.
제안 방법
4. SmartInspect, SmartAnvil[13][14] SmartAnvil은 SmartInspect의 확장된 연구이며, SmartInspect은 이더리움 스마트 컨트랙트의 상태를 솔리디티 코드의 변수값과 매핑하여 실제 값을 추출하는 연구를 진행하였다. 본 연구의 기반 기술로 컨트랙트의 소스 코드와 주소를 활용하여 이더리움 네트워크에 배포된 상태 정보를 추출하는 데 활용하였다.
본 연구는 블록체인 생태계 거버넌스의 관리/감독을 지원하고자 Blockchain Watchdog(블록체인 관제시스템)을 제안하였다. 또한, 실제로 시스템을 일부 개발 및 구현하여 사설 네트워크 기반의 Ganache와 Ropsten 테스트넷에 적용하여 실험을 진행하였다. 실험 결과 블록체인에서 배포된 컨트랙트의 상태 정보를 추출하여 대시 보드와 그래프, 차트 등의 형태로 데이터를 시각화하여 표현하였지만 Ropsten의 경우 블록 정보 누락 문제가 존재하는 것을 확인했다.
우리는 Blockchain Watchdog을 연구 및 개발하기 위하여 스마트 컨트랙트를 활용하는 가장 대표적인 플랫폼인 이더리움을 대상으로 연구 및 개발을 진행하였다. 또한, 접근 방법을 직접 구현해보았고 실제 이더리움 테스트넷인 Ropsten과 Ganache[8]로 사례 연구를 진행하였다. 블록체인에 배포되어 실제로 동작하는 스마트 컨트랙트에 변화하는 상태 정보를 수집하고 그에 따른 대시보드, 차트, 그래프 등을 실시간으로 확인할 수 있었다.
SmartInspect, SmartAnvil[13][14] SmartAnvil은 SmartInspect의 확장된 연구이며, SmartInspect은 이더리움 스마트 컨트랙트의 상태를 솔리디티 코드의 변수값과 매핑하여 실제 값을 추출하는 연구를 진행하였다. 본 연구의 기반 기술로 컨트랙트의 소스 코드와 주소를 활용하여 이더리움 네트워크에 배포된 상태 정보를 추출하는 데 활용하였다. SmartInspect에서 확장된 Smart Anvil의 경우 본 연구와 달리 컨트랙트 수집한 상태값을 활용하여 정적 분석 도구로써 활용하여 동적인 데이터를 실시간으로 제공하지 않는다.
또한, 접근 방법을 직접 구현해보았고 실제 이더리움 테스트넷인 Ropsten과 Ganache[8]로 사례 연구를 진행하였다. 블록체인에 배포되어 실제로 동작하는 스마트 컨트랙트에 변화하는 상태 정보를 수집하고 그에 따른 대시보드, 차트, 그래프 등을 실시간으로 확인할 수 있었다.
Data Converter에서는 토큰화된 상태 변수 정보와 블록체인 네트워크에 인코딩된 상태 정보를 가져와 데이터 매핑 및 변환 작업을 처리한다. 해당 모듈은 Smart Inspect에서 제안한 방법을 기반으로 하여 동작한다.
대상 데이터
실험을 위하여 그림 4와 같이 웹 애플리케이션 형태로 구현하였으며, 구현에 사용된 하드웨어와 소프트웨어 환경은 OS: Windows10, CPU: AMD RYZEN 1700, RAM: Samsung 24GB, Ganache:2.4.0, Web3:1.2.7, Express:4.16.1, MongoDB:4.2.1로 구성되었다.
이론/모형
마지막으로 Rule 저장소에는 사용자로부터 입력 받은 규칙 정보가 담겨 있다. 실시간 대용량 처리를 위해 MongoDB를 선택하여 진행하였다.
성능/효과
2. 스마트 컨트랙트(Smart Contract)와 상태(State) 스마트 컨트랙트는 닉사보(Nick Szabo)에 의해 정립된 개념이며, 프로그래밍 언어로 된 계약서이다. 이더리움에서 블록체인에 처음으로 도입되었으며 솔리디티 (Solidity)[10] 언어를 활용하여 작성할 수 있다.
구체적으로 블록이 생성되고 헤더는 공유되었지만 블록의 전체 데이터는 동기화가 되지 않아 데이터의 누락이 발생한다. 대량의 데이터 처리의 경우 하나의 블록이 발생할 경우 처리 시간이 약 5초 정도였으며, 병렬처리를 통해 대량의 데이터가 문제 없이 처리되는 것을 볼 수 있었다.
또한, 실제로 시스템을 일부 개발 및 구현하여 사설 네트워크 기반의 Ganache와 Ropsten 테스트넷에 적용하여 실험을 진행하였다. 실험 결과 블록체인에서 배포된 컨트랙트의 상태 정보를 추출하여 대시 보드와 그래프, 차트 등의 형태로 데이터를 시각화하여 표현하였지만 Ropsten의 경우 블록 정보 누락 문제가 존재하는 것을 확인했다. 상태 모니터링이 가능하게 됨에 따라 우리는 본 연구를 통해 블록체인 거버넌스의 생태계 유지 및 발전에 기여할 수 있을 것이라 기대한다.
RQ2) 관제시스템의 실시간 대량 데이터 모니터링 가능 여부: Ganache의 경우 하나의 트랜잭션 발생시 하나의 블록이 생성되기 때문에 지연 시간 및 동기화 시간을 필요로하지 않아 즉각적인 데이터 처리가 가능하였다. 하 지만 Ropsten의 경우 블록화 및 동기화의 지연시간이 존재하여 실시간 처리는 가능하지만 상태 변화의 누락이 발생하는 것을 확인하였다. 구체적으로 블록이 생성되고 헤더는 공유되었지만 블록의 전체 데이터는 동기화가 되지 않아 데이터의 누락이 발생한다.
후속연구
실험 결과 블록체인에서 배포된 컨트랙트의 상태 정보를 추출하여 대시 보드와 그래프, 차트 등의 형태로 데이터를 시각화하여 표현하였지만 Ropsten의 경우 블록 정보 누락 문제가 존재하는 것을 확인했다. 상태 모니터링이 가능하게 됨에 따라 우리는 본 연구를 통해 블록체인 거버넌스의 생태계 유지 및 발전에 기여할 수 있을 것이라 기대한다.
두 번째로 대량의 정보를 자동으로 관리하여 사람이 관리하기에 한계가 있는 부분을 해소해고자 한다. 세 번째로 스마트 컨트랙트의 상태 값을 일반 사용자와 개발자가 알기 쉽게 파악할 수 있고 프로그램에 대한 확인 및 검증을 위한 도구로써 활용될 수 있게 하고자 한다.
향후 연구로는 구현하지 못한 경고 및 알림을 추가하고 이오스, 트론 등 다른 스마트 컨트랙트를 활용하는 블록체인으로 확장하여 적용하는 연구를 진행할 예정이다.
질의응답
핵심어
질문
논문에서 추출한 답변
토큰화 작업이란?
Source Code Parser에서는 사용자로부터 솔리디티 소스 코드를 입력받아 AST를 활용한 토큰화 작업을 진행한다. 토큰화 작업이란 Antlr[16]를 활용하여 소스 코드의 AST를 추출하고 컨트랙트의 상태 변수를 찾아내는 작업이다. 토큰화 작업 후에 Smart Contract Manager에 의해 컨트랙트는 저장소에 저장 및 관리 된다.
Blockchain Watchdog의 Parser Layer 계층은 어떠한 모듈로 구성되어 있는가?
Parser Layer 스마트 컨트랙트 소스 코드 분석을 위한 계층이다. Source Code Parser와 Smart Contract Manager 2개의 모듈로 구성된다.
이더리움에서 거버넌스의 이해관계자는 어떻게 나뉘는가?
블록체인의 관심과 참여가 증가함에 따라 블록체인을 활용하는 사용자들의 거버넌스가 활성화되고 있으며, 생태계의 유지와 발전을 위해 힘쓰고 있다. 이더리움에서 거버넌스의 이해관계자로는 크게 블록체인 자체의 개발을 위한 코어 개발자, 블록 채굴자, Dapp(Decentralized Application) 개발자와 일반 사용자 등으로 나뉜다[6].
Buterin, Vitalik. "Ethereum white paper, 2014." URL https://github.com/ethereum/wiki/wiki/White-Paper (2013).
N. Szabo, "Smart Contracts: Building Blocks for Digital Free Markets", Extropy Journal of Transhuman Thought, 1996, DOI: 10.1200/JCO.2011.40.6546.
JangWon Choi "A Review of the Legal Nature that Users of the Virtual Currency Exchange Obtain and the Compensation Responsibility for the Damages Caused By Internet Problems or Network Errors" Journal of the Korea Academia-Industrial cooperation Society v.19, no.11, 2018, pp. 287-294 DOI: 10.5762/KAIS.2018.19.11.287
Mehar, Muhammad Izhar, et al. "Understanding a revolutionary and flawed grand experiment in blockchain: the DAO attack." Journal of Cases on Information Technology (JCIT) Vol. 21 No. 1, 2019, pp. 19-32. DOI: 10.4018/JCIT.2019010102
Zheng, Zibin, et al. "Blockchain challenges and opportunities: A survey." International Journal of Web and Grid Services (IJWGS), Vol. 14, No. 4, 2018 pp. 352-375. DOI: 10.1504/IJWGS.2018.095647
Shao, Jin, et al. "A runtime model based monitoring approach for cloud." 2010 IEEE 3rd Intern- ational Conference on Cloud Computing. IEEE, 2010. DOI: 10.1109/CLOUD.2010.31
J. Shao, H. Wei, Q. Wang and H. Mei, "A Runtime Model Based Monitoring Approach for Cloud," 2010 IEEE 3rd International Conference on Cloud Computing, Miami, FL, 2010, pp. 313-320, DOI: 10.1109/CLOUD.2010.31.
S. Bragagnolo, H. Rocha, M. Denker and S. Ducasse, "SmartInspect: solidity smart contract inspector," 2018 International Workshop on Blockchain Oriented Software Engineering (IWBOSE), Campobasso, 2018, pp. 9-18, DOI: 10.1109/IWBOSE.2018.8327566.
Ducasse, Stephane, et al. "Open-Source Tool Suite for Smart Contract Analysis." Blockchain and Web 3.0: Social, Economic, and Technological Challenges (2019).
※ AI-Helper는 부적절한 답변을 할 수 있습니다.