초록
블록체인 2.0은 프로그래밍 가능한 스마트계약을 사용하여 다양한 DApp(Distributed Application) 개발을 지원한다. 하지만 스마트계약이 동작하는 환경은 블록 높이, 블록 해쉬, 트랜잭션 해쉬 등 결정된 데이터만 접근할 수 있어서 블록체인 기반 복권, 배팅, 키 생성 등 난수를 필요로 하는 응용은 블록체인 외부에서 데이터를 가져 올 수 있는 오라클 서비스를 이용해야 한다. 본 논문에서는 난수 생성 오라클 서비스를 개발하였다. 또한 난수 생성을 위해 비정형 빅데이터를 entropy source로 사용하였다. 이렇게 생성된 난수를 NIST SP800-22 난수 테스트하여 난수로 사용할 수 있음을 확인하였다. 또한, 물리적 세계를 entropy source로 사용하는 기존의 진성난수 생성기에 비해서 비용측면에서 유리함을 설명한다.
Blockchain 2.0 supports programmable smart contract for the various distributed application. However, the environment of running smart contract is limited in the blockchain, so the smart contract only get the deterministic information, such as block height, block hash, and so on. Therefore, some applications, which requires random information, such as lottery or batting, should use oracle service that supply the information outside of blockchain. This paper develops a random number generator oracle service. The random number generator oracle service use irregular big data as entropy source. This paper tests the randomness of bits sequence generated from oracle service using NIST SP800-22. This paper also describes the advantages of irregular big data in our model in perspective of cost comparing hardware entropy source.