IITP의 블록체인 기술 개발 과제 공고문 참고 ('21)
블록체인 관련 기업들이 기술을 개발할 때 평가 항목 및 목표를 설정할 때 가이드가 될 수 있는 항목을 IITP (정보통신기획평가원)에서 발행한 블록체인 기술개발과제('21년 - 9개 과제) 공고문을 참고하여 과제별 평가 항목 및 목표, 항목별 세부 내용을 정리하여 공유하오니 블록체인 개발 회사들은 참고하길 바란다.
ㅇ 최종목표 : 대규모 노드 환경에서 공평성과 예측 불가능성이 보장되며 비잔틴 노드의 영향을 최소화하는 탈중앙화 동적 합의체 구성 기술개발
- 탈중앙성과 비잔틴 오류 감내 확률이 보장되는 합의체 크기 확정 기술개발
- 합의체 참여노드의 공평성과 예측 불가능성에 대한 자격 검증 기술개발
- 동적 합의체에 의한 분산 합의의 안전성(safety) 보장 기술개발
- 비잔틴 비율의 동적 변경에 따른 탈중앙화 제어 기술개발
- 합의 알고리즘의 생기성(liveness) 보장을 위한 합의체 재구성 기술개발
- 응용 서비스 개발 및 실증
ㅇ 정량적 개발목표
1) 탈중앙화 제어 기술을 통해 모든 노드에게 합의 과정 참여가 공평하게 부여된다는 것을 증명
a) 측정방법
- 단위 시간동안 블록을 생성하고 노드별 생성된 블록의 합의과정에 참여한 횟수에 대한
표준편차 측정
b) 평가환경
- 대규모 노드 환경(풀노드 100개 이상)을 시험 할 수 있도록 평가환경 구축
- 평가 환경에서 합의 알고리즘을 통해 생성된 블록을 분석할 수 있는 분석 도구를
활용하여 블록 합의에 참여한 노드들을 분석하여 분석된 통계치 제시
2) 매 합의체의 비잔틴 비중이 33%를 초과하여 발생할 확률을 특정값 이하로 제어하는 기술로, 합의과정에 비잔틴 노드가 참여할지라도 안전성(safety)가 보장될 수 있도록 합의체를 구성하기 위한 방법을 제시하여야 하며 이를 증명
a) 측정방법
- 단위 시간동안 블록을 생성하고, 생성된 블록을 분석하여 블록 합의에 참여한 비잔틴
노드의 비율을 측정하고 수학적 증명을 통해 제시한 바와 같이 비잔틴 오류를 감내함을
제시
b) 평가환경
- 비잔틴 오류 감내 비율에 대한 수학적 증명 제시
- 제시된 수학적 증명이 정확함을 시험하기 위해 대규모 노드 환경(풀노드 100개 이상)을
시험할 수 있도록 평가 환경을 구축 - 평가 환경에서 합의 알고리즘을 통해 생성된 블록을
분석할 수 있는 분석 도구를 활용하여 블록 합의에 참여한 비잔틴 노드들의 비율을 분석
하여 결과 제시
3) 매 블록 합의체 구성의 실패 확률이 특정값 이하로 유지됨을 증명
a) 측정방법
- 합의체 크기를 결정하고 그 크기에 해당하는 블록단위 랜덤 합의체를 구성하였을 때,
합의체의 비잔틴 오류 감내 확률이 지표 2의 확률을 만족하는 비율을 측정하고 수학적
증명을 통해 제시한 확률을 만족함을 제시
b) 평가환경
- 합의체 크기 확정 기술에 기반하여 합의체 구성시 합의체의 비잔틴 오류 감내 비율이
특정값을 만족시키지 못하는 확률(합의체 구성 실패 확률)에 대한 수학적 증명 제시
- 제시된 수학적 증명이 정확함을 시험하기 위해 대규모 노드 환경(풀노드 100개 이상)
을 시험할 수 있도록 평가 환경을 구축 - 평가 환경에서 블록단위로 합의체 크기와 합의체
구성을 분석할 수 있는 분석 도구를 활용하여 합의체 구성의 실패 비율을 분석하여 결과
제시
ㅇ 최종목표 : 동적 합의체를 기반으로 합의 비용과 거래 최종성 지연을 최소화하는 합의 프로토콜을 개발함으로써 거래의 실시간, 고속 처리를 지원할 수 있는 합의 최적화 기술 개발
- 대표 합의체 구성 및 멤버쉽 관리 기술개발
- 동적 합의체에서 노드간 메시지 수와 교환 단계를 포함한 합의 비용 최소화 기술개발
- 분산 및 병렬 처리에 기반한 합의 가속화 기술
- 응용 서비스 개발 및 실증
ㅇ 정량적 개발목표
1) 1단계 단일 샤드의 경우이며 합의체를 구성하는 노드 수가 126일 때의 목표 수치에 해당함. 클라우드 VM 인스턴스(예를 들어, AWS EC2 인스턴스)를 이용한 실제 글로벌 네트워킹 환경에서 합의 처리 성능을 측정함.
2) TPS 성능 수치는 합의체 노드 수, 블록 크기 등의 패러미터에 따라 달라질 수 있는데, Algorand는 2,000 노드 합의체 네트워크를 대상으로 최적의 조건에서 약 900 TPS에 근접하는 성능을 달성함.
* 참고자료: Algorand: Scaling Byzantine Agreements for Cryptocurrencies,” Proceedings of the SOSP, Oct. 2017.
3) 샤딩 기반의 병렬처리 기술을 개발하는 2단계의 성능 목표 수치로 모든 샤드를 포함하는 전 네트워크 차원의 처리 성능을 나타냄. 클라우드 VM 인스턴스를 이용하여 구축한 실제 글로벌 네트워킹 환경에서 트랜잭션 처리 성능을 측정함.
4) 샤딩 방식의 합의 프로토콜의 TPS 성능 수치는 샤드 크기, 전체 노드 수, 블록 크기 등의 패러미터에 따라 달라질 수 있는데, RapidChain은 4,000 노드 네트워크에서 샤드 크기가 250일 때 7,380 TPS 성능을 달성함.
* 참고자료: RapidChain: Scaling Blockchain via Full Sharding,” Proceedings of the CCS, Oct. 2018.
5) 합의 최종성 지연은 블록의 크기와 블록체인 노드 수와 관련이 있으며 Algorand의 경우 최적의 상황에서 22초를 보이고 있음. RapidChain의 경우 10초 이내로 보고되고 있으나 이는 샤딩 병렬 처리에 의해 가속화된 성능 수치임.
* 참고자료: Algorand: Scaling Byzantine Agreements for Cryptocurrencies,” Proceedings of the SOSP, Oct. 2017. RapidChain: Scaling Blockchain via Full Sharding,” Proceedings of the CCS, Oct. 2018.
ㅇ 최종목표 : 고성능 트랜잭션 처리기술과 대용량 트랜잭션 처리를 위한 트랜잭션 압축 검증 및 확장성 보장기술
- 대규모 노드의 트랜잭션 유효성 고속 검증 기술
- 고속 트랜잭션 처리를 위한 대용량 트랜잭션 축약 및 블록체인 압축 기술 개발
- 응용 서비스 개발 및 실증
ㅇ 정량적 개발목표
1) 증명을 가진 1000개의 트랜잭션에 대해서 하나의 증명을 생성하는데 걸리는 시간 및 증명 검증 시간. 모든 노드가 중복적으로 수행하는 검증 시간을 단축할 수 있음.
* 현재 최고 수준이 Aztec의 60/0.1초이나 제시된 압축 증명 기술을 적용하여 10/0.1초로 단축하는 것을 목표로 함
* 압축 증명 생성 시간: 트랜잭션에 대한 증명 생성 시작점부터 증명 생성이 완료된 시점까지의 시간
* 압축 증명 검증 시간: 트랜잭션과 증명을 수신한 시점부터 검증 결과 도출까지 시간
2) 1회 순환 증명 생성 시간. 체인에 저장된 데이터의 유효성을 마지막 하나의 증명만 검증하여 모두 확인 가능.
3) Ethereum 환경을 기준으로 최소 100배 이상 TPS향상
4) 2020-11-19일 기준 ethereum의 평균 TPS는 13.1
* 참고: etherscan.io
ㅇ 최종목표 : O(N) 메시지 복잡도의 분산 합의 기술을 지원하는 P2P 최적 경로 계산 및 메시지 교환 기술개발
- O(N) 분산 합의비용 최적화를 위한 P2P 노드간 다이렉트 데이터 교환기술
- 다중 경로 환경에서 시간 제약 조건을 충족하는 메시지 전달 최적 경로 구성기술
- 응용 서비스 개발 및 실증
ㅇ 정량적 개발목표
1) 블록체인을 구성하는 P2P 네트워크는 정상적인 합의가 이루어질 수 있도록 일정 비율 이상의 노드가 정해진 시간이내에 합의 메시지를 전달할 수 있음을 제시
a) 측정방법
- 단위 시간동안 블록을 생성 - 생성된 블록의 합의 과정에서 발생한 합의 메시지 전송 딜레이를 측정
- 생성된 블록이 모든 노드에게 전파되기까지 블록 전송 시간을 측정
b) 평가환경 - 대규모 노드 환경을 시뮬레이션 할 수 있도록 다수의 서버에서 도커 기반으로 평가 환경을
구축
- 평가 환경에서 합의 과정 중 노드간 전송되는 메시지 지연 시간 측정 및 로그에 기록하고 이를
분석할 수 있는 분석 도구를 자체 제작해서 합의 메시지 전송 지연 시간 분석 통계치를 제시
2) 합의 메시지 비용을 O(N) 수준으로 줄이는 방법으로 threshold signature 기법을 합의 과정에 적용하는 연구가 이루어지고 있음
* 참고자료 : DEFINITY Technology Overview Series, Consensus System, White-paper, Jan. 2018 The Zilliqa Technical WHitepaper, Aug, 2017.
ㅇ 최종목표 : 스마트 컨트랙트 개발, 배포, 실행의 전주기에 걸친 신뢰성이 강화된 지능형 스마트 컨트랙트 제작을 위한 자동화된 취약점 탐지 및 시큐어 코딩 기술개발
- 스마트 컨트랙트 취약점 분석 및 안전성 보장 기술개발
- 시큐어 코딩을 고려한 지능형 스마트 컨트랙트 작성 기술개발
- 스마트 컨트랙트 실행 개선 기술개발
- 스마트 컨트랙트 보안사고 예측/예방 기술개발
- 응용 서비스 개발 및 실증
ㅇ 정량적 개발목표
1) Arithmetic, Reentrancy, Unchecked Low Level Call 3가지의 대표 취약점 계열에 대해, SmartBug에서 제공하는 SBCURATED 데이터셋을 이용하여 측정한 성능 (2020년 11월 기준, 재검증 가능한 가장 큰규모의 측정 결과)
* 참고자료: Empirical Review of Automated Analysis Tools on 47,587 Ethereum Smart Contracts
2) SmartBug의 SBCURATED 데이터셋을 기준으로 본 과제에서 구성하는 취약점 테스트케이스를 추가한 스마트 컨트랙트 데이터셋으로 측정. 세계최고수준의 성능에 비해 매년 5%의 성능 향상을 고려. 동일한 조건으로 Arithmetic, Reentrancy, Unchecked Low Level Call 3가지의 대표 취약점 계열에 대해서 측정하되, 취약점 계열을 추가한 경우의 결과와 오탐 결과를 제외하기 위하여 다른 툴들과의 공통탐지 여부를 비교한 결과도 함께 제시.
* 참고자료: SmartBug, https://github.com/smartbugs/smartbug
주3) 소스코드(e.g., Solidity, Vyper, Go), 중간언어(e.g., Yul, LLVM, 사용자정의), 실행코드(e.g., EVM Bytecode, WASM) 등의 서로 다른 레벨의 언어도 하나의 언어로 계산
4) 동일 메인넷에서 파생된 테스트넷은 메인넷에 통합하여 하나로 계산
5) Ethereum 메인넷과 테스트넷(Kovan, Ropsten, Rinkeby, Gorli), Matic, xDai, POA
ㅇ 최종목표 : 자기주권신원 사용성과 프라이버시를 위한 신원정보 관리와 상호운영 및 확장 기술개발
- 글로벌/국내 연동 국제표준기반 DID 기술개발
- 자기주권 신원관리를 위한 신원정보 관리 기술개발
- 편의성 제고를 위한 DID 사용성 관리 기술개발
- 자기주권 신원정보 상호운영 및 확장 기술개발
- 응용 서비스 개발 및 실증
ㅇ 정량적 개발목표
1) 블록체인 국제표준화 동향*에 따르면 ISO/TC 307, ITU-T SG-DLT, 및 W3C의 DID기술 표준을 개발 중에 있어 DID 상호인증 및 확장을 위한 신원증명 모델변환 검증이 필요함
* 블록체인 국제표준화 활동 현황, 전자통신동향분석, Vol.34 No.2
* IWA, InterWork Alliance(美)는 다양한 블록체인이 상호 변환 및 가치교환이 가능한 일련의 구조(Token taxonomy)를 제시함
2) 실시간 인증서 상태 검증성능은 OCSP(Online Certificate Status Protocol, 온라인 인증서 상태 프로토콜*) 방식에서 검증데이터 1Mbyte 기준 건당 3초 이내로 검증 프로토콜을 통한 검증요청 및 검증결과 도출까지의 성능임
* 온라인 인증서 상태 프로토콜(OCSP)는 인증서(형식표준 x.509)의 폐지 상태를 파악하는 인터넷 프로토콜임
* Improvement of Performance for Online Certificate Status Validation, 한국정보처리학회, Vol10-C No.4
3) 자기주권 신원정보 신뢰관리 서비스의 글로벌 연동 실증서비스 구축을 통해 사용자 중심의 결과물 활용 가능성을 검증하고 국민이 체감할 수 있는 서비스 제공을 위한 기반 마련
* 복수개의 블록체인의 상호 가치 교환이 가능한 안전한 상호연동 기술을 제시함 (ConnectionChain: the Secure Interworking of Blockchains, IEEE Blockchain Computing and Application 2019, shingo fujimoto, 외 2)
4) 자기주권 신원정보 관리·제어 시, 사용성 극대화를 위한 프라이버시 보호가능한 자동화 기술
ㅇ 최종목표 : 블록체인 데이터 프라이버시를 보호하면서 신뢰성 보장을 위한 핵심 기술 및 응용 기술 개발 - 프라이버시 보존 검증 가능한 데이터 처리 기본 프로토콜 설계
- 블록체인의 신뢰성 및 성능 고도화를 위한 핵심 프로토콜 기술 개발
- 블록체인 상 프라이버시 보존 암호 연산을 위한 고속 표준 라이브러리 개발
- 응용 서비스 적용 및 실증
ㅇ 정량적 개발목표
1) 검증에 소요되는 시간이 100ms일 때를 기준으로 함 2) 그룹연산 기반으로 구현되는 접근 제어 암호 스킴에서 속성의 개수를 20개 기준으로 가정하여 구현했을 때의 예측값
* https://eprint.iacr.org/2015/1093.pdf
3) RSA-OAEP를 구현했을 때 측정값
* https://eprint.iacr.org/2015/1093.pdf
4) 데이터암호화 증명 9s + 재귀 증명을 위한 검증식 증명 14s = 23s
5) 수행되는 트랜잭션 수에 상관없이 항상 일정한 크기로 유지할 수 있는 블록체인 플랫폼
* 참고: https://minaprotocol.com
ㅇ 최종목표 : 분산 인메모리 고성능 고확장성 블록체인 데이터 저장 기술
- 노드 특성을 고려한 대규모 분산 블록체인 노드 관리 기술
- 대규모 마스터 데이터 분산 저장 기술
- 데이터 주권과 프라이버시 보장 기술
- 상태 데이터 경량 관리 기술
- 응용 서비스 개발 및 실증
ㅇ 정량적 개발목표
1) 온체인 저장 대용량 데이터를 분할하여 저장할 때 풀노드가 저장하는 데이터 크기
2) 트랜잭션, 문서, 이미지, 동영상 등
ㅇ 최종목표 : 분산 블록체인 대규모/대용량 데이터 고속 분석 기술
- 블록체인 분산 저장 데이터에 대한 효율적 분석을 지원하는 블록체인 인덱스 데이터 구축 및 분석 기술
- 블록체인 분산 저장 데이터에 대한 고속 분석 기술개발
- 사용자 편의성 지원을 위한 블록체인 분산 저장 데이터 관리 및 질의 언어 기술개발
- 응용 서비스 개발 및 실증
ㅇ 정량적 개발목표
1) 산업별 특성을 반영한 데이터에 대한 종류 개수(유통, 의료 등 최소 2개 이상의 중복되지 않은 산업별 데이터)
2) 아카이브 노드 1개 기준
3) 활성 사용자 + 비활성 사용자 수 모두 포함
4) Request Per Second