A blockchain records transactions among users on a public ledger. It has become front and center of the technology discussion in recent year. A piece of code deployed on a ledger and executed automatically by nodes on the network is a smart contract. While smart contracts have enabled a variety of applications on blockchain, they may contain security vulnerabilities, leading to massive research on smart contract security. This paper presents a comprehensive survey over smart contract security by collecting 391 papers, extracting 146 relevant ones, and classifying them into four dominant topics with 11 subtopics. We further classify each topic and provide key insights from the perspective of smart contract security. Another contribution of this paper is to investigate the strengths and limitations of the papers. Based on the observation, we conclude with unsolved challenges and directions in future research of smart contract security.
블록체인은 공개 원장에 사용자 간의 거래 정보를 저장하는 기술로서, 최근 몇 년간 차세대 기술로 주목받아 왔습니다. 스마트 컨트랙트는 블록체인 위에 등록되어 네트워크 노드들에 의해 자동으로 실행되는 프로그램 코드입니다. 스마트 컨트랙트는 다양한 블록체인 응용 프로그램을 가능하게 하였지만, 보안 취약점을 포함할 수 있어 많은 보안 연구의 주제가 되어 왔습니다. 본 연구에서는 스마트 컨트랙트 논문 391편을 수집하였고, 보안과 관련된 논문 146편을 추출하여 4가지 대주제 및 11가지 소주제로 분류하였습니다. 또한, 각 주제 별 세부 분류를 진행하였고, 스마트 컨트랙트 보안과 관련된 핵심 통찰을 제시하였습니다. 146편 논문 각각의 강점 및 한계점을 정리하였고, 스마트 컨트랙트 보안 연구에서의 해결되지 않은 문제와 유망한 연구 방향을 제시하였습니다.