검수요청.png검수요청.png

검증가능지연함수

위키원
이동: 둘러보기, 검색

검증가능지연함수(VDF; verifiable delay function)는 기존의 암호학 분야에 존재하는 문제들을 활용해서 계산 시간이 매우 오래 걸리지만 입력값과 출력값이 주어졌을 경우 그 두 값에 대해 적절한 함수인지 확인하는 시간이 매우 짧은 함수이다. 영어 약자로 VDF(브이디에프)라고도 한다.

개요[편집]

검증가능지연함수(VD)F는 적당한 양의 순차적 확인이 필요한 기술 기능으로, 단일 프로세서에서 확인하는 것보다 기하 급수적으로 계산 시간이 더 걸린다. 솔루션을 찾은 후에는 올바른 것으로 쉽게 검증할 수 있으며 VDF를 사용하여 임의의 값에 의존하는 시스템을 조작 전략 또는 공격으로부터 보호할 수 있다. 따라서 VDF는 Pos(Proof-of-Stake) 블록체인의 중요한 측면으로 높은 수준의 보안을 유지하면서 합의를 달성할 수 있다.

특징[편집]

성질[편집]

  • 계산하는데 시간이 매우 오래 걸린다. 입력값이 주어진 후에 출력값을 계산하는 데 있어서 최대한 병렬화가 불가능한 부분이 일정 부분 이상 포함되어야 한다. 즉 순차적인 계산이 필수적으로 포함되어 병렬화된 기계로부터 쉽게 계산되어서는 안된다. VDF 함수 같은 경우에는 병렬화된 작업의 갯수 자체가 충분히 크더라도 필수적으로 수행해야 하는 순차적인 계산이 충분히 많은 작업을 의미한다. 그렇기 때문에 계산이 빠른 기계가 많더라도 순차적인 계산을 수행해야 하기 때문에 충분한 계산 시간을 필요로 하게한다.
  • 짧은 시간 안에 확인이 가능하다. 주어진 입력값으로부터 계산된 출력값이 맞는지에 대한 여부가 매우 효율적인 방식으로 확인되어야 함을 의미한다. 입력값 x로부터 f(x)를 계산해서 출력값 y가 나온다고 할 때, x로부터 직접적으로 f(x)를 계산하여 y를 찾는데는 많은 계산이 요구되지만, 역함수를 사용해서 f-1 (y)를 계산하여 x=f-1 (y)임을 확인 하는것은 매우 쉬운 경우를 말한다. 빠른 시간안에 확인이 되어야 한다. 그리고 이때 일반적으로 이에 대한 간단한 증거를 포함하기도 한다.
  • 일반적으로 확인이 가능해야 한다. 어떤 자격을 갖춘 사람이 아닌 확인을 원하는 모든 사람이 계산 결과에 대해 입력값과 출력값이 적절한지 확인할 수 있어야 한다.
  • 변경이 가능해야 한다. 계산에 걸리는 총 시간을 함수를 설정하는 사람이 조절할 수 있어야 한다.

요소[편집]

VDF는 setup, evaluation, verify라는 세 가지 요소로 이루어져 있다. 가장 핵심 요소는 evaluation 함수로, 주어진 parameter 값과 입력값에 대해 적절한 출력값을 계산하며 부가적으로 출력값에 대한 proof도 함께 계산할 수 있다. Verify 함수는 주어진 출력값이 주어진 parameter와 입력값으로부터 계산되었는지 확인하는 함수이며, setup 함수는 사용자가 설정한 값에 대해 의도된 시간 범위 사이에 함수값이 계산되도록 하는 parameter 및 함수의 정의역과 공역에 대한 제약을 주게 된다. 각 함수에 대한 자세한 설명은 다음과 같다.

  • setup(lambad, t) → pp : lambda, t에 대한 parameter pp를 계산하고, evaluation 함수에 대한 도메인을 결정한다.
  • Eval (pp, x) → y, pi : pp로부터 얻어진 도메인으로부터 입력값 x를 취한 뒤에 해당하는 출력값 y와 해당하는 proof pi를 계산한다.
  • Verify(pp, x, y, pi) →{Accept, Reject} : 입력값 x, 출력값 y, proof pi, parameter pp가 주어지면 해당 출력값이 해당 입력값 및 parameter로부터 얻어진 값인지 확인한다. 이 때, 이 verfiy 함수의 계산시간은 1번의 setup 함수에서 parameter pp를 찾기 위한 입력변수 t에 대해 의존하며, 총 소요시간은 O(polylog(t))가 되도록 하는 함수 Eval과 Verify를 설정한다. 이는 Eval 계산시간이 t에 비례함에 따라 두 함수간의 계산 시간이 지수배가 차이나도록 구성하기 위함이다.

활용[편집]

솔라나[편집]

솔라나(Solana)는 샤딩없이 자체 알고리즘인 역사 증명(Proof of History)을 기반으로 빠른 거래 처리 속도를 구현하고자 하는 프로젝트이다. 역사 증명 알고리즘을 통해 데이터 검증자가 네트워크의 모든 사건을 직접 확인하지 않고도 사건의 시간과 순서를 확인할 수 있다. 일반적인 블록체인과 달리 데이터를 병렬 처리해 확장성을 극복할 수 있다는 것이 솔라나 측의 설명이다. PoH는 PoW, PoS처럼 합의 알고리즘으로 보면 된다. PoH는 처음부터 끝까지 전달과정에서 '중간과정을 꼭 확인해야되나?'라는 의문으로 시작했다. 솔라나의 유효성 검사기는 간단한 SHA-256, sequential-hashing verifiable delay funcion(VDF)를 통해서 자체 시간 유지를 하기 때문에 다른 블록체인처럼 시간이 지났다는 것을 동의하기 위해 서로 대화를 할 필요가 없어서 그만큼 빨라지는 것이다.[1]

볼륨 네트워크[편집]

볼륨 네트워크(Volume Network)는 트론 CTO 및 핵심 팀원들이, 중국판 IPFS Lambda 팀과 공동으로 만든 대규모 비즈니스 애플리케이션 암호화폐이다. 볼륨 네트워크는 혁신적인 PoST 공간, 시간증명 합의 알고리즘을 채택하고 있으며, PoST는 원래 공간 증명 알고리즘의 기초 위에 시간 위도의 연산자를 도입한 것이다. VDF의 특성을 이용하여 채굴자들에게 후보 블록 데이터를 얻도록 강제적으로 요구한 후, 일정 시간 동안 컴퓨팅 연산을 하게 한다. 그리고 난 후 빠르게 인증 결과와 후보 블록 데이터의 요소에 대하여 블록선택을 진행한 뒤, PoC 알고리즘에 내재된 마이닝 알고리즘과, 리디렉션 공격등 보안상의 허점을 해결했다.[2]

하모니[편집]

하모니(Harmoney)는 애플, 구글, 아마존 출신 엔지니어들이 설립한 블록체인 스타트업이다. 하모니의 멤버들은 거대 IT기업에서 쌓은 경험과 생각을 기반으로 데이터의 민주화를 돕는 블록체인 플랫폼을 개발하고 있다.[3] 하모니는 44,000개의 퍼블릭노드들과 진행한 테스트에서 118,000TPS 이상의 성능을 확인했다. 또한, VRF(Venifiable Random Function) + VDF를 활용하여 안전하게 무작위성을 만들고 개별 샤드를 안정화 했다. 그렇기에 1% 샤드 공격을 받을 확률이 적다. 이를 뒷받침 해주는 것은 메시지 전송 방식인데, 하모니는 가십 프로토콜이 아닌 카뎀리아 라우팅(Kademlia Routing)을 활용해, 네트워크 과부하와 샤드의 부담을 줄여 더 다재다능한 활용이 가능하다.[4]

각주[편집]

  1. 소셜세이브 블록체인, 〈솔라나 코인, Solana Project 230억 투자 유치와 7가지 자체기술〉, 《네이버 블로그》, 2019-09-17
  2. 이지마이닝, 〈Volume Network(볼륨 네트워크) 프로젝트 소개〉, 《네이버 블로그》, 2019-05-22
  3. 블록투데이, 〈블록체인 스타트업 하모니, 바이낸스 런치패드 프로젝트로 선정〉, 《코박》, 2019-05-12
  4. 차승훈 기자, 〈하모니 "이더리움 위에서 작동하기 어려운 댑을 유치할 것"〉, 《팍스경제TV》, 2019-06-17

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 검증가능지연함수 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.