This paper introduces a consensus algorithm named STEP, which operates in a public blockchain environment. To solve the problem of centralization, which is pointed out as a problem of existing consensus algorithms, all nodes are given the same power. Also, methods to prevent Sybil attack in which one principal creates multiple nodes are proposed. To this end, STEP randomly selects nodes to create blocks, divides the validation process into two stages, and provides a reward for rapid and correct validation. Through simulations and experiments on STEP, we confirmed whether the random number generation method, the incentive function for block validation, and the network following this consensus algorithm work correctly within the practicable scope of execution time.
본 논문에서는 개방형 블록체인 환경에서 동작하는 STEP이라는 합의 알고리즘을 소개한다. 기존의 합의 알고리즘에서 문제점으로 지목 받고 있는 중앙화 문제를 해결하기 위해 모든 노드의 권한을 동일하게 부여한다. 또한, 한 주체가 여러 노드를 생성하는 시빌 어택을 방지하기 위한 방안을 제시한다. 이를 위해 블록을 생성할 노드를 무작위로 선정하여 검증과정을 2단계로 나누고 빠르고, 올바른 검증에 대하여 보상을 제공한다. 이에 대한 시뮬레이션과 실험을 진행하여, 본 논문에서 제시하는 난수생성방법, 블록 검증에 대한 인센티브 함수, 그리고 본 합의 알고리즘을 준수하는 네트워크가 실용 가능한 범위의 실행시간내에 올바르게 작동하는지 확인하였다.