Blockchain Research

Decentralized Federated Learning

본 연구는 비선형 블록체인 기반 탈중앙화 방식의 딥 러닝 플랫폼을 개발하여 기존의 중앙 집중식 딥 러닝 플랫폼의 한계를 극복하는 것을 목표로 한다. 딥 러닝 플랫폼을 탈중앙화 하게 되면 ① 데이터 프라이버시를 지킬 수 있기 때문에 더 많은 데이터를 더 적은 비용으로 수집할 수 있고, ② 딥 러닝을 위한 데이터 센터와 같은 인프라 비용 또한 크게 감소시킬 수 있으며, ③ 학습을 방해하는 비잔틴 노드들이 존재해도 이를 극복하여 최적의 DNN(deep neural network) 모델을 학습할 수 있을 것으로 예상한다.

Decentralized Federated Learning

Lightweight Client Optimization

대표적인 어카운트 기반의 블록체인인인 이더리움 (Ethereum)은 많은 수(약 80M)의 어카운트로 인해 많은 스토리지 용량(전체 데이터 4TB 이상)을 필요로 하고, 풀 노드가 되기 위한 부트스트래핑(bootstrapping) 과정도 오래 걸린다. 이러한 문제를 해결하기 위해서 주기적으로 휴면 계좌를 없애고 복구 과정을 도입함으로써 클라이언트의 용량을 줄이는 최적화 연구를 진행 중이다.

active account ratio

Adaptive Transaction Concurrency Control

블록체인의 스마트 컨트랙트에 대한 수행은 트랜잭션 리스트를 순차적으로 수행함으로써 이루어진다. 하지만, 블록체인은 블록 생성 속도가 정해져 있으므로 이러한 방식으로는 트랜잭션 처리 성능을 끌어올리기 힘들다. 본 연구실에서는 가상 머신(Virtual Machine)에 대한 전문성을 바탕으로 의존성을 고려한 투기적인(speculative) 트랜잭션 병렬처리를 수행하고, 병렬처리에 대한 프로파일링 정보를 바탕으로 의존성 그래프를 생성함으로써 병렬처리 성능을 극대화하는 방법에 대해서 연구한다.

MVCC를 이용한 트랜잭션 병렬처리

Data Structure Optimization for LevelDB

대부분의 블록체인 클라이언트가 사용하는 LevelDB는 키-밸류 쌍을 저장하는 데이터베이스로써, 무결성을 보장하기 위해 데이터의 해시 값을 함께 저장하는 블록체인 데이터를 저장하기에 적합하다. 하지만, 블록체인에 저장되는 데이터는 매우 방대하므로 LevelDB 자체의 최적화 로직만으로는 클라이언트 성능을 끌어올리기 어렵다. 따라서 LevelDB의 성능을 극대화할 수 있는 데이터 포맷과 자료구조를 설계하여 클라이언트의 성능을 높이는 방법에 대해서 연구한다.

LevelDB의 구조