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

"이퀴해시"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
잔글 (채굴)
잔글 (같이 보기)
 
(사용자 2명의 중간 판 7개는 보이지 않습니다)
1번째 줄: 1번째 줄:
[[이퀴해시]](Equihash)는 [[작업증명]]에 사용되는 채굴 알고리즘(Proof-of-Work mining algorithm)이다.
+
[[파일:알렉스 비류코프.jpg|썸네일|200픽셀|'''[[알렉스 비류코프]]'''(Alex Biryukov)]]
 +
[[파일:드미트리 호브라토비치.jpg|썸네일|200픽셀|'''[[드미트리 호브라토비치]]'''(Dmitry Khovratovich)]]
 +
 
 +
'''이퀴해시'''(Equihash)는 [[작업증명]]에 사용되는 채굴 알고리즘(Proof-of-Work mining algorithm)이다.
  
 
==개요==
 
==개요==
 +
[[파일:ak.png|썸네일|600픽셀|오른쪽|[[알렉스 비류코프]](좌)와 [[드미트리 호브라토비치]](우)]]
  
 
2016년 미국 샌디에이고에서 개최된 네트워크 & 분산시스템의 보 안관련 학술토론회의에서 룩셈부르크 대학교 정보통신기술 학제연구센터(the University of Luxembourg's Interdisciplinary Center for Security, Reliability and Trust)는 '''Memory-Hard Proof-of-Work'''라는 알고리즘을 소개하였다.
 
2016년 미국 샌디에이고에서 개최된 네트워크 & 분산시스템의 보 안관련 학술토론회의에서 룩셈부르크 대학교 정보통신기술 학제연구센터(the University of Luxembourg's Interdisciplinary Center for Security, Reliability and Trust)는 '''Memory-Hard Proof-of-Work'''라는 알고리즘을 소개하였다.
10번째 줄: 14번째 줄:
  
 
블록체인 기반의 암호화폐 [[지캐시]](ZCash), [[아이온]](Aion) 등이 보안, 프라이버시, 에이식 방식 채굴 제어 등의 측면에서 종합적으로 검토하고 이퀴해시를 자체 암호화폐 시스템에 적용시켰다.<ref>"[https://en.wikipedia.org/wiki/Equihash Equihash]", ''Wikipedia''</ref>
 
블록체인 기반의 암호화폐 [[지캐시]](ZCash), [[아이온]](Aion) 등이 보안, 프라이버시, 에이식 방식 채굴 제어 등의 측면에서 종합적으로 검토하고 이퀴해시를 자체 암호화폐 시스템에 적용시켰다.<ref>"[https://en.wikipedia.org/wiki/Equihash Equihash]", ''Wikipedia''</ref>
 
[[파일:ak.png|썸네일|600픽셀|가운데|알렉스 비류코프(좌)와 드미트리 호브라토비치(우)]]
 
  
 
==발명 배경==
 
==발명 배경==
36번째 줄: 38번째 줄:
 
* 중앙화된 채굴 방식을 피하고 스토캐스틱 프로세스(stochastic process) 상태에서 기존 사건과 관계없이 임의의 주어진 시간에 채굴방식의 작업증명을 추진할 수 있다.  
 
* 중앙화된 채굴 방식을 피하고 스토캐스틱 프로세스(stochastic process) 상태에서 기존 사건과 관계없이 임의의 주어진 시간에 채굴방식의 작업증명을 추진할 수 있다.  
 
'''높은 AT원가'''(Large AT Cost)
 
'''높은 AT원가'''(Large AT Cost)
* 요청하는 작업증명의 컴퓨팅이 메모리 집약으로 최적화된 [[에이식]] 칩이 메모리 영역에서 원가경쟁력을 해소시켰다. 여기서 AT는 영역과 시간의 곱한 값을 표시한다.
+
* 요청하는 작업증명의 컴퓨팅은 메모리 집약으로 최적화된 [[에이식]] 칩이 메모리 영역에서 원가경쟁력이 없게 끔 만들었다. 여기서 AT는 영역과 시간의 곱한 값을 표시한다.
 
'''작은 검증 프로그램 크기와 인스턴트 검증(Small proof size and instant verification)'''
 
'''작은 검증 프로그램 크기와 인스턴트 검증(Small proof size and instant verification)'''
 
* 검증 프로그램 크기가 작고 최소의 메모리 사용량 상태에서 신속하고 충분하게 검증을 수행할 수 있다.
 
* 검증 프로그램 크기가 작고 최소의 메모리 사용량 상태에서 신속하고 충분하게 검증을 수행할 수 있다.
65번째 줄: 67번째 줄:
 
===이퀴해시 알고리즘===
 
===이퀴해시 알고리즘===
 
'''메커니즘의 전제조건'''
 
'''메커니즘의 전제조건'''
* 비대칭성(asymmetry)
+
* 비대칭성(asymmetry): 채굴자의 작업증명은 어렵게 진행되고 확인자의 검증은 쉽게 이루어져야 한다.
* 가능한 최적화 불가(no possible optimizations)
+
* 가능한 최적화 불가(no possible optimizations): 어떤 채굴회사들은 더 훌륭한 알고리즘을 개발하여 남보다 높은 효율로 채굴을 추진하고 남한테는 비밀로 누설을 안 할려고 할 수도 있다. 그러나 생일문제의 연구는 컴퓨터 학자들과 암호학자들로 넓은 범위에서 깊은 심도로 연구가 되여 있기에 미래에 더 훌륭한 알고리즘이 나타나기에는 진짜로 어려운 상황이다. 
* 가능한 상각불가(no possible amortizations)
+
* 가능한 상각불가(no possible amortizations)
* 독립적으로 조율가능한 매개변수(independently tunable parameters)
+
* 독립적으로 조율가능한 매개변수(independently tunable parameters): 추후 알고리즘의 개선과 아키택쳐의 개선을 감안하여 작업증명의 변수들인 시간, 메모리, steepness는 반드시 독립적으로 조율가능해야 한다.
* 제약받는 병렬성(constrained parallelism)<ref name="explain"></ref>
+
* 제약받는 병렬성(constrained parallelism): 메모리 대역폭 규제로 병렬작업을 제한한다. <ref name="explain"></ref>
 
   
 
   
 
'''기본원리'''
 
'''기본원리'''
81번째 줄: 83번째 줄:
 
Xi<sub>1</sub> ⊕ Xi<sub>2</sub> ⊕ · · · ⊕ Xi<sub>2</sub>k = 0
 
Xi<sub>1</sub> ⊕ Xi<sub>2</sub> ⊕ · · · ⊕ Xi<sub>2</sub>k = 0
  
'''이퀴해시 문제''':   
+
이퀴해시 문제:   
  
 
<math>i_1, i_2, ... i_j </math>를 찾아 H(i<sub>1</sub>) ⊕ H(i<sub>2</sub>) ⊕ · · · ⊕ H(i<sub>2</sub>k ) = 0 이 만족되게 하는것이다.  
 
<math>i_1, i_2, ... i_j </math>를 찾아 H(i<sub>1</sub>) ⊕ H(i<sub>2</sub>) ⊕ · · · ⊕ H(i<sub>2</sub>k ) = 0 이 만족되게 하는것이다.  
125번째 줄: 127번째 줄:
 
* "[https://en.wikipedia.org/wiki/Memory_bound_function Memory bound function]", ''Wikipedia''
 
* "[https://en.wikipedia.org/wiki/Memory_bound_function Memory bound function]", ''Wikipedia''
  
==같이보기==
+
==같이 보기==
 
* [[지캐시]]
 
* [[지캐시]]
{{알고리즘|토막글}}
+
 
 +
{{알고리즘|검토 필요}}

2019년 7월 28일 (일) 22:15 기준 최신판

알렉스 비류코프(Alex Biryukov)
드미트리 호브라토비치(Dmitry Khovratovich)

이퀴해시(Equihash)는 작업증명에 사용되는 채굴 알고리즘(Proof-of-Work mining algorithm)이다.

개요[편집]

2016년 미국 샌디에이고에서 개최된 네트워크 & 분산시스템의 보 안관련 학술토론회의에서 룩셈부르크 대학교 정보통신기술 학제연구센터(the University of Luxembourg's Interdisciplinary Center for Security, Reliability and Trust)는 Memory-Hard Proof-of-Work라는 알고리즘을 소개하였다.

이 알고리즘은 해시충돌 값을 찾아내기 위한 생일문제(birthday problem)의 연구결과에서 출발하여 시간-공간의 균형을 엄격히 규제하고 병행 방식의 최적화가 메모리 대역폭에서 병목에 걸리듯이 제한을 받는 것으로 설계하여 성능개선을 추구하는 에이식(ASIC) 채굴기의 개발이 투입원가-개선효과의 종합적인 평가에서 경제적이지 못하게 한다. 따라서 알고리즘은 객관적으로 에이식에 대한 저항 특징을 갖게 된다. 여기서 가정이 필요한 전제조건은 시중에 판매되는 하드웨어들이 비교적 넓은 메모리 대역폭을 보유하고 있어야 한다.

알고리즘의 발명자는 룩셈부르그 대학교 연구클럽 크립토LUX의 암호학자 알렉스 비류코프(Alex Biryukov)와 암호연구원 드미트리 호브라토비치(Dmitry Khovratovich)이다. 발명은 2006년에 정식 소개되었다. 이 알고리즘을 이퀴해시라 부른다.

블록체인 기반의 암호화폐 지캐시(ZCash), 아이온(Aion) 등이 보안, 프라이버시, 에이식 방식 채굴 제어 등의 측면에서 종합적으로 검토하고 이퀴해시를 자체 암호화폐 시스템에 적용시켰다.[1]

발명 배경[편집]

암호화폐 채굴상황 - 현재 비트코인 혹은 유사한 암호화폐들의 채굴 작업증명 상황을 살펴보면 에이식(ASIC) 채굴기와 같은 채굴 전용 하드웨어 출시로 인해 블록체인 시스템이 중앙화 상태로 가는 추세가 뚜렷해진다.

채굴 전용 하드웨어는 특정의 용도로 주문설계 제작된 하드웨어로서 작업증명을 진행하는 컴퓨팅 과정에 월등한 성능을 나타내며 시중에 출시된 상용 컴퓨터 대비 막강한 경쟁력을 가지고 있다. 따라서 암호화페 채굴은 나날이 에이식 하드웨어를 많이 보유한 세력들 또는 대규모의 암호화폐 마이닝풀로 중앙화되어가고 있다.

사례를 들면 ASIC 하드웨어 제작사인 중국의 비트메인은 비트코인 네트워크 해시파워의 51%의 연산력에 접근하는 해시파워 점유율을 보유하고 있다.

만약 비트메인이 보유한 해시파워가 전체 네트워크의 51%에 도달하거나 초과하면 소위 말하는 51% 공격이 이루어질 수 있는 가능성이 형성되며 트랜잭션이 반대로 이루어지거나 이중지불이 이루어지는 것을 포함한 네트워크의 붕괴를 야기시킬 수 있다. 이는 탈중앙화 분산화를 추구하는 블록체인의 개발 취지와 어긋난다.[2]

연구과제 - 상기 암호화폐 채굴상황에서 어떻게 하면 알고리즘 방식으로 특정 용도의 목적으로 개발한 하드웨어의 우세를 해소시켜 중앙화 추이를 방지하느냐는 컴퓨터과학에서 해결해야 할 하나의 과제이다. 이 과제를 해결하는 방식에는 시간원가 제약, 공간원가 제약, 시간-공간 균형 제약 등의 방식들을 활용하여 주문제작 개발의 경제성을 떨어뜨리는 방식이 포함된다.[3]

발명취지 - 메모리 취급 알고리즘으로 전용하드웨어와 시중판매 하드웨어간에 존재하는 전용하드웨어의 우세를 해소 시킴. 구체방식은

  • 채굴자별로 보유하고 있는 적기 메모리용량 소요조건 설정방식(Memory-Hard PoWs)과 일정한 시간내에 메모리를 홀딩하는 방식(sequential memory-hard PoWs)
  • 경량급의 검증방식, 특히 이더리움의 컨트렉트에 적용가능해야 함.[4]

기본원리[편집]

특징[편집]

Progress-free process

  • 중앙화된 채굴 방식을 피하고 스토캐스틱 프로세스(stochastic process) 상태에서 기존 사건과 관계없이 임의의 주어진 시간에 채굴방식의 작업증명을 추진할 수 있다.

높은 AT원가(Large AT Cost)

  • 요청하는 작업증명의 컴퓨팅은 메모리 집약으로 최적화된 에이식 칩이 메모리 영역에서 원가경쟁력이 없게 끔 만들었다. 여기서 AT는 영역과 시간의 곱한 값을 표시한다.

작은 검증 프로그램 크기와 인스턴트 검증(Small proof size and instant verification)

  • 검증 프로그램 크기가 작고 최소의 메모리 사용량 상태에서 신속하고 충분하게 검증을 수행할 수 있다.

스팁 시간-공간의 균형(Steep time-space tradeoffs)

  • 사용자가 비례에 맞지 않은 최적화 시도시 이퀴해시 알고리즘의 규제가 적용 된 메모리 규제가 일어나면서 벌칙이 적용된다.(Memory requirements imposed by the Equihash algorithm are worthwhile as long as attempts to optimize for memory disproportionately penalizes the user.)

유연성(flexibility)

  • 알고리즘의 개선과 아키텍처의 변동을 감안하여 시간, 메모리, 작업증명(PoW)의 steepness가 독립적으로 조율이 가능하게 하였으며 따라서 일정한 채굴율을 유지하게 하였다.

제약받는 병렬성(Parallelism-constrained)

  • 시스템적으로 병목(bottleneck)을 설치하여 병렬작업증명이 제약을 받게 한다.

필요없는 최적화(Optimization-free)

  • 총명한 증명자가 다른 사람을 초과하여 우세를 가지지 않도록 오늘날까지의 최적 알고리즘을 적용하였으며 가능한 최적화를 전수 검증하였다.[5]

생일문제[편집]

인원수에 따른 같은 생일의 확률 변화 그래프

생일 문제(birthday problem)는 사람이 임의로 모였을 때 그 중에 생일이 같은 두 명이 존재할 확률을 구하는 문제이다. 생일의 가능한 가짓수는 365개(2월 29일을 고려할 경우 366개)이므로 366명 이상의 사람이 모인다면 비둘기집 원리에 따라 생일이 같은 두 명이 반드시 존재하며, 23명 이상이 모인다면 그 중 두 명이 생일이 같은 확률은 1/2를 넘는다.

생일 문제는 일반적인 인간의 직관과 다른 결과를 가지는 것으로 알려져 있다. 얼핏 생각하기에는 생일이 365가지이므로 임의의 두 사람의 생일이 같을 확률은 1/365이고, 따라서 365명쯤은 모여야 생일이 같은 경우가 있을 것이라고 생각하기 쉽다. 그러나 실제로는 23명만 모여도 생일이 같은 두 사람이 있을 확률이 50%를 넘고, 57명이 모이면 99%를 넘어간다.

생일이 같은 두 사람을 찾는 것과 비슷하게, 암호학적 해시 결과가 같은(해시 충돌) 두 입력값을 찾는 것 역시 모든 입력값을 계산하지 않아도 충분히 높은 확률로 해시 충돌을 찾을 수 있다. 이러한 암호 공격을 생일공격(birthday attack)이라고 부른다.

미국 캘리포니아 대학교 버클리 캠퍼스(University of California, Berkeley) 데이비드 바그너(David A. Wagner)는 생일문제를 더 일반화하여 다중 차원형의 k차원을 제시하였다. "n-bit 값의 k 리스트가 주어진 경우, 각 리스트에서 하나의 요소(element)를 찾아 k값의 배타적 논리합이 0이 되게 한다." 바그너는 이의 복잡도를 증명하고 이를 적용한 알고리즘을 만들어냈다. 여기서 시간과 공간의 규제는 엄격하였다.

일반화한 생일문제는 암호와 해시충돌의 연구에 상당히 중요하며 이의 특징은 작업증명 이론에 적합하다.[6][7]

k차원

이퀴해시 알고리즘[편집]

메커니즘의 전제조건

  • 비대칭성(asymmetry): 채굴자의 작업증명은 어렵게 진행되고 확인자의 검증은 쉽게 이루어져야 한다.
  • 가능한 최적화 불가(no possible optimizations): 어떤 채굴회사들은 더 훌륭한 알고리즘을 개발하여 남보다 높은 효율로 채굴을 추진하고 남한테는 비밀로 누설을 안 할려고 할 수도 있다. 그러나 생일문제의 연구는 컴퓨터 학자들과 암호학자들로 넓은 범위에서 깊은 심도로 연구가 되여 있기에 미래에 더 훌륭한 알고리즘이 나타나기에는 진짜로 어려운 상황이다.
  • 가능한 상각불가(no possible amortizations):
  • 독립적으로 조율가능한 매개변수(independently tunable parameters): 추후 알고리즘의 개선과 아키택쳐의 개선을 감안하여 작업증명의 변수들인 시간, 메모리, steepness는 반드시 독립적으로 조율가능해야 한다.
  • 제약받는 병렬성(constrained parallelism): 메모리 대역폭 규제로 병렬작업을 제한한다. [2]

기본원리

이퀴해시 발명자 알렉스 비류코프(Alex Biryukov)와 드미트리 호브라토비치(Dmitry Khovratovich)는 미국 캘리포니아 대학교의 데이비드 바그너(David A. Wagner)가 발명한 일반화한 생일문제 알고리즘을 이용하여 이퀴해시 알고리즘을 제출하였다.

알고리즘에는 알고리즘의 run time과 메모리 소요량을 결정하는 세개의 매개변수 - n, k, d가 있다. 공간복잡도가 비례적으로 에 접근 할 때 시간의 복잡도 역시 비례적으로 에 접근 된다. 통상적으로 알고리즘은 d = 0 인 조건하에 작동한다.(결과 난이도를 조율하는 대체방법을 적용)

바그너의 생일 문제: 주어진 n-bit 스트링스의 리스트 L{Xi}에서 확정된 값 {Xij}를 찾아 아래의 등식이 성립되게 한다.

Xi1 ⊕ Xi2 ⊕ · · · ⊕ Xi2k = 0

이퀴해시 문제:

를 찾아 H(i1) ⊕ H(i2) ⊕ · · · ⊕ H(i2k ) = 0 이 만족되게 하는것이다.

이럴 경우에 H( i1|| i2|| · · · i2k )는 0으로 리딩해가는 값 d를 얻게 된다.[8]

알고리즘에 설정된 규제조건으로 임의의 스트레인(strain)이 메모리를 줄이게 되면 시간의 복잡도가 늘어나게 되어있다.이는 채굴효율이 채굴에 참여한 램(RAM) 용량에 의존한다는 점을 확실하게 나타내고 있다. 암호화폐는 이와 유사한 원리를 기반으로 설계가 되며 통상적으로 memory-orientated 또는 memory-hard로 부른다. 따라서 다수의 경우에 채굴의 효율은 마이너한테 얼마만큼의 램이 보유되어 있느냐에 따라 정해진다.[4]

이퀴해시의 한계[편집]

지캐시(Zcash)는 프라이버시에 초점을 두어 널리 알려진 암호화폐이며 언더라잉(Underlying) 알고리즘은 이퀴해시를 적용하였다. 이퀴해시 적용 시 에이식(ASIC) 제어 능력도 중요한 이유의 하나였다. 그러나 지캐시가 2016년에 출시된 뒤 2018년에 전용하드웨어 개발업체 비트메인에서 이퀴해시 전용 채굴기 앤트마이너 Z9 미니(Antminer Z9 mini) 개발이 성공되었다. 이 사례는 알고리즘의 개발로 에이식을 장기간 막는다는것은 어려운 길이라는 것을 다시 한 번 증명하였다.

기타 이퀴해시 알고리즘을 적용한 암호화폐들은 다음과 같다.

채굴[편집]

이퀴해시는 2 GB 램(RAM)과 1개의 GPU가 비치 된 일반 PC를 이용하여 채굴이 가능하다. 그러나 이퀴해시를 기반으로 한 일부 네크워크에는 에이식(ASIC) 하드웨어들이 나타나서 채굴의 수익성을 떨어뜨린다. 만약 에이식 하드웨어가 없으면 제일 좋은 방법은 NVidia GPU를 사용하는것이고 AMD GPU를 사용해도 채굴수익은 형성될 수 있다. 이 때 중요한 점은 최신 버전의 설비구동 프로그램을 설치해야 한다.[2]

각주[편집]

  1. "Equihash", Wikipedia
  2. 2.0 2.1 2.2 2.3 "Equihash Algorithm Explained", Mycryptopedia
  3. EtherDream, 〈怎样的 Hash 算法能对抗硬件破解〉, 《博客园》, 2017-02-22
  4. 4.0 4.1 "Equihash - Mining Algorithms, Coins, Tokens", BitcoinWiki
  5. "Equihash Asymmetric Proof-of-Work Based on the Generalized Birthday Problem", orbilu.uni.lu
  6. "Birthday problem", Wikipedia
  7. BEAM-MW, "Speaking of Equihash", Medium, 2018-11-15
  8. "Equihash", Wikipedia

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 이퀴해시 문서는 알고리즘에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.