Publications

Detailed Information

A Data Retailer Based Decentralized Oracle Design for Smart Contracts in Blockchain : 블록체인 내 스마트 컨트랙트를 위한 데이터 리테일러 기반 분산형 오라클 디자인

DC Field Value Language
dc.contributor.advisor권태경-
dc.contributor.author박수빈-
dc.date.accessioned2019-05-07T03:18:04Z-
dc.date.available2019-05-07T03:18:04Z-
dc.date.issued2019-02-
dc.identifier.other000000155550-
dc.identifier.urihttps://hdl.handle.net/10371/150787-
dc.description학위논문 (석사)-- 서울대학교 대학원 : 공과대학 컴퓨터공학부, 2019. 2. 권태경.-
dc.description.abstractSmart contracts, a program that enables the automated execution of terms from the pre-defined condition establishment, became a core component of distributed applications (Dapps) leveraging the decentralized blockchain technology.
Although many researchers keep trying adopting them to solve problems in the centralized systems such as the single point of failure (SPOF) and the need for excessive trust, there are multiple technical challenges in the practical use of them.

Amongst the challenges, we focus on ``the oracle problem'' in this paper, which means how to feed external data with ensuring the trustworthiness to the smart contracts.
There are two primary technical considerations: (1)how to make the smart contracts to access the external data (2)how can measure the reliability of the data.
In this paper, we propose a useful oracle design and implementation with an investigation of target platforms and related works to analyze the technical requirements and available design choices.

The proposed design focuses on the trustworthiness of the data sources by separating the roles of the data provider into ``publisher'' and ``retailer''.
The former, the data sources, can gain rewards by publishing data on their networks, and the latter gains rewards by relaying the data to the target blockchain network.
A reasonable incentive model motivates them to behave honestly to maintain the oracle stable.
Consumer contracts can receive the resolved data from the multiple retailers by using the oracle deployed as an on-chain smart contract.
In the case of data inconsistency, the proposed reputation-based data consensus protocol determines a value from the collected data pools.
The selected retailers and publishers can gain rewards from the deposit pre-paid by the consumer contract, and the rejected ones get penalties.

The main goal of this design is providing sufficient high-quality data to the blockchain by relieving the data sources' burden of participating in blockchain networks of potential consumers.
The plenty of data supply may decrease the data price, that leads to great inter-operability between blockchain systems and the rest of the Internet.
We also implement the protocols on Ethereum network and prove the practicality of the proposal in cost and time aspects, while most of the precedent researches are stuck with the protocol design.
We expect that the design to contribute to the practical use of Dapps as the first working decentralized oracle through the code optimization process.
-
dc.description.abstract스마트 컨트랙트는 입력 값이 사전에 약속된 조건을 만족하면 자동으로 계약을 이행하는 일종의 프로그램으로서, 분산 블록체인 기술의 발달과 함께 분산 어플리케이션(Distributed Applications, Dapps) 구현의 핵심 요소로 자리잡았다.
기존의 중앙화된 시스템에 존재했던 단일 장애점 문제, 과도한 신뢰 요구 등의 문제를 Dapp의 도입을 통해 해결하고자 하는 노력들이 계속되었음에도 불구하고, 기존 시스템을 대체할만한 수준의 솔루션을 구현하기 위해 해결해야 하는 기술적 난제들이 아직 상당수 존재한다.

본 논문에서는 이들 중 외부 데이터 연동 문제를 해결하기 위한 기법을 제안한다.
이러한 문제는 일반적으로 ``오라클 문제''로도 불리는데, 블록체인 내부에서 발생하는 데이터는 모두 검증 가능하므로 신뢰할 수 있는것에 비해 외부 네트워크에서 생성된 데이터의 신뢰성은 내부에서 보장할 수 없기 때문에 신뢰할 수 있을만한 데이터 공급처인 오라클을 어떻게 구현할 것인지에 대한 문제로 귀결된다.
오라클의 기술적 요구사항은 크게 두가지로 나누어 지는데, 외부 접근성이 없는 스마트 컨트랙트로 하여금 어떻게 외부 데이터에 접근할 수 있게 할 것인지에 대한 문제와, 해당 데이터의 신뢰성을 어떻게 보장할 것인지에 대한 문제가 함께 고려되어야 한다.
본 논문에서는 대표적인 스마트 컨트랙트 플랫폼 및 관련 서비스 분석을 통해 오라클 디자인에서 고려되어야 하는 특성들과 디자인 결정사항들을 도출하고 이를 기반으로 효과적인 오라클 디자인을 제안 및 구현하고자 하였다.

제안된 기법은 기존 관련 연구들과 달리 데이터 자체의 신뢰성에 집중하기 위해 외부의 데이터 ``발행자(Publisher)''와 이를 블록체인 네트워크로 전달하고 수수료를 얻는 ``리테일러(Retailer)''로 네트워크 참여자의 역할을 분리하고, 적절한 수익 배분 모델을 구성하여 이들로 하여금 정직한 활동을 유도함으로서 오라클 시스템을 동작케하도록 설계되었다.
On-chain 스마트 컨트랙트로 배포된 오라클을 통해 소비자(Consumer) 컨트랙트는 원하는 정보를 다수의 리테일러로부터 전달받을 수 있다.
전달받은 데이터들이 값이 서로 다른 경우 이들은 발행자의 Reputation에 따른 가중치를 고려한 제안된 합의 프로토콜을 통해 신뢰할 수 있는 하나의 값으로 결정된다.
정직한 데이터를 제공한 발행자와 리테일러는 오라클을 통해 소비자가 미리 지불한 금액의 일부를 보상으로 획득할 수 있으며, 그렇지 않은 경우 합당한 패널티를 얻게 되어 향후 데이터 공급시 불이익을 받게 된다.

본 기법은 궁극적으로 데이터 발행자에게 보상을 지급하고 직접적인 블록체인 네트워크 참여 없이도 데이터를 발행할 수 있게 함으로써 기존 시스템들이 보유한 다수의 양질의 데이터가 안전하게 블록체인으로 공급될 수 있도록 설계되었다.
풍부한 데이터의 공급은 데이터 조달에 요구되는 비용의 감소를 통해 블록체인 네트워크와의 원활한 상호 운용성 보장으로 이어질 수 있다.
또한 현재까지 제안된 기법들이 주로 Whitepaper를 통한 아이디어 중심의 제안이거나 단순 분산 투표를 구현한 집단 지성 플랫폼인 것에 반해, 본 연구에서는 실질적인 데이터를 전달하는 오라클을 이더리움 네트워크에서 구현함으로서 제안된 모델이 실제 운용 가능하며 합당한 수준의 비용과 처리 시간으로 동작함을 증명하였다.
제안된 기법은 향후 내부 메모리 사용량과 연산량을 최소화하는 최적화 과정을 통해, 최초의 상용 분산 오라클 모델로서 더욱 실용적인 Dapp들의 구현에 기여할 수 있을 것으로 기대된다
-
dc.description.tableofcontentsChapter 1 Introduction 1
Chapter 2 Background 3
2.1 Smart Contract Platforms . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1 Bitcoin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.2 Ethereum . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.3 EOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 The Oracle Problem . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Related Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.1 Oraclize . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.2 SchellingCoin . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.3 Augur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.4 Witnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Chapter 3 Design 10
3.1 Design Choices and Considerations . . . . . . . . . . . . . . . . . 10
3.1.1 Centralized vs. Decentralized . . . . . . . . . . . . . . . . 10
3.1.2 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1.3 Service Scope . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Design Proposal . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Chapter 4 Protocol 16
4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.1.1 Request phase . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.2 Delivery Phase . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1.3 Consensus Phase . . . . . . . . . . . . . . . . . . . . . . . 20
4.2 Data Structure and Authentication . . . . . . . . . . . . . . . . 20
4.3 Data Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.4 Data Delivery Tag . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.5 Incentive and Penalty . . . . . . . . . . . . . . . . . . . . . . . . 24
4.6 Data Consensus . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Chapter 5 Proof of Concept Implementation 27
5.1 Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.2 Evaluations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.2.1 Experimental environment . . . . . . . . . . . . . . . . . . 29
5.2.2 Transaction Cost and Processing Time . . . . . . . . . . 29
5.2.3 Practicality . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Chapter 6 Conclusion 34
Bibliography 35
요약 37
-
dc.language.isoeng-
dc.publisher서울대학교 대학원-
dc.subject.ddc621.39-
dc.titleA Data Retailer Based Decentralized Oracle Design for Smart Contracts in Blockchain-
dc.title.alternative블록체인 내 스마트 컨트랙트를 위한 데이터 리테일러 기반 분산형 오라클 디자인-
dc.typeThesis-
dc.typeDissertation-
dc.contributor.AlternativeAuthorPark Soobin-
dc.description.degreeMaster-
dc.contributor.affiliation공과대학 컴퓨터공학부-
dc.date.awarded2019-02-
dc.identifier.uciI804:11032-000000155550-
dc.identifier.holdings000000000026▲000000000039▲000000155550▲-
Appears in Collections:
Files in This Item:

Altmetrics

Item View & Download Count

  • mendeley

Items in S-Space are protected by copyright, with all rights reserved, unless otherwise indicated.

Share