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

"뻐꾸기 사이클"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
잔글
 
(사용자 5명의 중간 판 15개는 보이지 않습니다)
1번째 줄: 1번째 줄:
'''뻐꾸기 사이클'''<!--뻐꾸기 싸이클, 뻐꾸기 사이클 알고리즘-->(Cuckoo Cycle)은 네덜란드의 컴퓨터공학자인 [[존 트롬프]](John Tromp)가 발명한 세계 최초의 [[작업증명]](PoW) 알고리즘이다. [[코르텍스]](Cortex)와 [[그린코인]](Grin Coin)이 뻐꾸기 사이클 알고리즘을 이용한 작업증명 방식을 사용하고 있다.
+
'''뻐꾸기 사이클'''<!--뻐꾸기사이클, 뻐꾸기 싸이클, 뻐꾸기 사이클 알고리즘-->(Cuckoo Cycle)은 네덜란드의 컴퓨터공학자인 [[존 트롬프]](John Tromp)가 발명한 세계 최초의 [[작업증명]](PoW) 알고리즘이다. 암호화폐 중에서는 '''[[코르텍스]]'''(Cortex)와 '''[[그린코인]]'''(Grin Coin)이 뻐꾸기 사이클 알고리즘을 이용한 작업증명 방식을 사용하고 있다.
  
 
== 개요 ==
 
== 개요 ==
 +
뻐꾸기 사이클은 [[GPU]]를 중심으로 하는 작업증명 방식의 합의 알고리즘이다. 뻐꾸기 사이클은 기존 [[에이식]](ASIC) [[채굴기]]가 [[채굴]]하기 어려운 알고리즘과 GPU 채굴방식의 효율성 증대로 기존 [[CPU]] 중심의 채굴기와 GPU의 간극을 좁혀 1머신 당 1표(one-machine-one-vote)를 실현할 수 있는 중요 요소로 평가받는다. 즉 기존 CPU 방식의 채굴은 에이식 칩으로 인해 기기별 연산의 격차가 극심하고, 이 때문에 에이식 전용 채굴기를 통해 채굴함으로써 값비싼 소수의 기기가 [[해시파워]]를 독점하기 쉬웠다. 뻐꾸기 사이클은 GPU 중심의 반 에이식 알고리즘으로 이를 극복할 수 있다. 뻐꾸기 사이클은 반(反) 에이식 속성을 가지고 있어 에이식을 통한 [[채굴 난이도]]와 비용이 [[비트코인]]의 [[SHA-256]] 방식에 비해 높다. 게다가 뻐꾸기 사이클 알고리즘은 변형을 통해 반 에이식 역량을 계속 향상시킬 수 있고, 알고리즘 수정을 통해 반 에이식 능력을 저하시켜 에이식 우호 알고리즘이 될 수 있는 등, 운용의 폭이 상대적으로 넓어 많은 프로젝트의 주목을 받고 있다. 다만 모든 프로젝트가 같은 방식으로 뻐꾸기 사이클 알고리즘을 활용하는 것은 아니다. 뻐꾸기 사이클은 작업증명을 함에 있어 에이식 방식을 어느 정도 수용할지를 수정할 수 있어 좀 더 운신의 폭이 있기에, 에이식 방식에 유리하게 하면 할수록 [[해시]] 능력의 차이로 일반적인 SHA-256 방식과 같이 높은 비용을 수반할 수밖에 없기 때문이다.<ref>해리티지블록스, 〈[https://blog.naver.com/ugawa3573/221497417357?viewType=pc 코르텍스(Cortex) 분석 (2) 쿠쿠 사이클 알고리즘과 업데이트 내용 (코인분석)]〉, 《네이버 블로그》, 2019-03-26</ref>
  
뻐꾸기 사이클 합의 방식은 [[GPU]]를 중심으로 하는 [[작업증명]] 방식으로 기존 [[에이식]] 채굴기가 채굴하기 어려운 알고리즘과 GPU 채굴방식의 효율성 증대로, 기존 [[CPU]] 중심의 채굴기와 GPU의 간극을 좁혀 1머신 당 1표를 실현할 수 있는 중용 요소이다. 즉, 기존 CPU 방식 채굴은 에이식 칩으로 인해 기기별 연산의 격차가 극심하고, 이 때문에 에이식 전용 채굴기를 통해 채굴을 함으로써 값비싼 소수의 기기가 [[해시파워]]를 독접하기 쉬우나, 뻐꾸기 사이클은 GPU 중심의 반 에이식 알고리즘으로 이를 극복할 수가 있다. <ref name="heritageblocks">헤리티지블록스, 〈[http://heritageblocks.net/221497417357 코르텍스(Cortex) 분석 (2) 쿠쿠 사이클 알고리즘과 업데이트 내용 [코인분석] ]〉, 《헤리티지블록스》, 2019-03-26</ref>
+
== 특징 ==
 +
[[파일:뻐꾸기 사이클 이분그래프.jpeg|350픽셀|오른쪽|썸네일|8개 노드, 4변으로 구성된 뻐꾸기 사이클 이분그래프]]
  
== 특징 ==
+
비트코인에서 사용하고 있는 SHA-256은 일종의 단순한 [[해시함수]]이다. 채굴 초기에 쓰였던 컴퓨터 CPU 채굴방식에서 그래픽카드 프로세서 GPU로 이전한 후, 설계 가능한 논리소자와 [[프로그래밍]] 가능한 내부선이 포함된 [[반도체]] [[FPGA]]로, 마지막에는 비트코인 채굴이라는 특수한 목적으로 만들어진 에이식 칩을 사용하게 된다. 뻐꾸기 사이클은 Sipash를 사용하여 무작위로 생성된 뻐꾸기 사이클 이분그래프에서 고정길이 L의 고리를 찾을수록 그림의 규모가 커지는 그래픽 이론에 기반한 알고리즘이다. 이러한 알고리즘은 고리를 찾는 과정 자체에 비교적 큰 [[메모리]] [[데이터]]에 대한 저장이 필요하며, 일종의 메모리-하드의 작업증명 알고리즘이기 때문에 에이식화 과정 자체에 어느 정도 어려움이 있다.
 +
 
 +
이 밖에 뻐꾸기 사이클은 다양한 방법을 통해 다양한 알고리즘을 구현할 수 있다. 예를 들어 이분그래프 [[노드]]에 이진법을 간소화하여 수행한다면, 고리를 찾는 과정의 채굴 난이도를 크게 낮추어 CuckAToo 알고리즘으로 변형할 수 있다. 또한 이분그래프 내의 모든 노드에 조를 편성하고, 해당 조 내의 노드가 상호 의존적인 관계에 있다면 조 내의 임의 노드 해시를 얻기 위해 모든 노드의 해시값을 계산하여야 한다. 이는 고리를 찾는 과정의 채굴 난이도를 크게 증가시키고, 데이터 저장에 대한 요구가 더 높으므로 CuckARoo 알고리즘으로 변형된다.
  
뻐꾸기 사이클은 반에이식 속성을 가지고 있기 때문에 에이식을 통한 채굴의 난이도와 비용이 비트코인의 [[SHA-256]]방식에 비해 높다. 게다가 뻐꾸기 사이클 알고리즘은 변형을 통해 반에이식 역량을 계속 향상시킬 수 있고, 알고리즘 수정을 통해 반에이식 능력을 저하시켜 에이식의 우호 알고리즘이 될수도 있는 등, 작업증명 방식을 사용하며 운용의 폭이 상대적으로 넓어 주목을 받았다.<ref name="heritageblocks"></ref>
+
뻐꾸기 사이클 알고리즘은 반 에이식 속성을 가지고 있어 [[에이식]](ASIC)의 채굴 난이도와 비용은 [[비트코인]]의 [[SHA-256]]비해 높다. 게다가 뻐꾸기 사이클은 변형을 통해 반 에이식 능력을 계속 향상시킬 수 있고, 반대로 변형을 통해 반 에이식 능력을 저하시켜 에이식의 우호 알고리즘이 될 수도 있는 등, 작업증명 방식에 응용할 수 있는 유연성이 높다.<ref>Shen Xi, 〈[https://medium.com/cortexlabs/%EA%B0%99%EC%9D%80-cuckoo-cycle%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%EC%9D%84-%EC%B1%84%ED%83%9D%ED%95%98%EC%98%80%EC%A7%80%EB%A7%8C-cortex%EC%99%80grin%EC%9D%98-%EB%B0%A9%ED%96%A5%EA%B3%BC-%EB%A9%94%EC%BB%A4%EB%8B%88%EC%A6%98%EC%9D%80-%ED%99%95%EC%8B%A4%ED%9E%88-%EB%8B%A4%EB%A6%85%EB%8B%88%EB%8B%A4-b13f3dfa091f 같은 Cuckoo Cycle알고리즘을 채택하였지만, Cortex와 Grin의 방향과 메커니즘은 확실히 다릅니다.]〉, 《미디엄》, 2018-05-04</ref>
  
 
== 활용 ==
 
== 활용 ==
 +
=== 그린코인 ===
 +
[[파일:그린코인 글자.png|썸네일|300픽셀|'''[[그린코인]]'''(GRIN)]]
 +
 +
[[그린코인]](Grin Coin)은 전 세계 어디에서나 거래가 가능한 [[밈블윔블]](MimbleWimble) 프로토콜에 기반하여 개발된 [[암호화폐]]이다. 밈블윔블 프로토콜은 비트코인의 프라이버시 문제와 [[확장성]] 문제를 해결하도록 설계된 기술이다.<ref>코인정보소 영보스, 〈[https://blog.naver.com/jruits/221453702844 그린코인(Grin)에 대해 알아보자]〉, 《네이버 블로그》, 2019-01-29</ref> 그린코인의 장기적인 목표는 세계에서 가장 프라이버시 보호가 뛰어난 [[P2P]] [[암호화폐]] [[페이먼트]] 시스템을 만드는 것이다. 그린 개발팀은 매 6개월마다 [[하드포크]]를 진행하여 채굴 알고리즘을 조정하며 CPU/GPU 및 에이식 채굴의 밸런스를 유지한다. 초창기 그린코인은 에이식에 우호적인 뻐꾸기 사이클과 에이식 저항을 가지고 있는 [[이퀴해시]] 두 가지 알고리즘을 병행하고자 했지만, 마지막 [[테스트넷]]에서 이중 뻐꾸기 사이클(Dual Cuckoo Cycle)만을 채택하는 것을 결정했고, 두 번의 조정 방식에서 에이식 우호 알고리즘 및 CPU/GPU 우호 알고리즘으로 [[블록]] [[난이도]]를 결정했다.
 +
 +
* '''CuckAToo31''' : 그린코인의 메인 알고리즘으로서, 에이식에 우호적이게 설계되었으며 향후 알고리즘 변경 가능성이 매우 적다. 이 알고리즘은 몇백 MB의 SRAM을 사용하여 GPU가 효율성을 높일 수 있도록 한다.
  
=== 그린코인 ===
+
* '''CuckARoo29''' : 그린코인의 서브 알고리즘으로서, 에이식 저항을 하기 위해 설계했다. 이 알고리즘은 주로 초기 단계에서 탈중앙화된 채굴을 달성하기 위해 설계했으며, 보통 중간 및 고급 단계에 있는 그래픽 카드로 채굴한다.<ref>Leo Won, 〈[https://cafe.naver.com/tang2011/4627539 (리서치) 밈블윔블(MimbleWimble) part 12 Grin&BEAM의 마이닝 알고리즘]〉, 《네이버 카페》, 2019-04-12</ref>
  
[[그린코인]]은 전 세계 어디에서나 거래 가능한 [[밈블웜블]] 프로토콜에 기반하여 개발된 [[암호화폐]]이다. 2019년 1월에 [[메인넷]]을 발표했으며 출시하기 전에 누구도 보유하고 있지 않았을 뿐만 아니라 ICO를 통하여 모금을 하지 않은 코인 중의 하나이다. 익명의 밈블웜블 백서가 발표된 후, [[블록스트림]]수학자인 앤드류 푸 스트라가 흥미를 가지고 작업 증명 압축을 위해 기존 자신들의 연구와 결합하여 블록체인에 대한 수정판을 썼고, 이 수정판 백서를 통해 밈블웜블이 장기적인 잠재력을 가지고 있음을 많은 사람들이 알게 되어 그린코인의 블록체인으로 사용하게 되었다. 그린코인은 [[프라이버시]]를 보호하고 누구나 검열이나 제한 없이 저축 및 거래 등등의 전자거래를 할 수 있도록 지원하며 또한 주소가 없기 때문에 거래내역이나 트레일이 블록체인에 기록되지 않아 익명성을 보장한다. 또한 전 세계에 오픈소스로 공개되어 여러 개발자가 공개적으로 개발했기 때문에, 회사, 재단 또는 개인에 의해 통제되지 않으며 코인 배포는 가능한 것으로 알려진대로 공평하게, 무상으로 설계되었다. [[코인마켓캡]]에 따르면 시가총액은 2019년 8월 기준 약 10억 3천만원이고, 총 공급량은 약 40억 1,300만개이다.
+
듀얼 뻐꾸기 사이클(Dual Cuckoo Cycle) 알고리즘을 사용하여 그린코인은 블록 생성 비율을 자동으로 설정한다. [[메인넷]]을 출시했을 때, 90%블록이 CuckARoo29 알고리즘에 의해 생성되며, 나머지 10%는 CuckAToo31 알고리즘에 의해 생성되는 것으로 그 비율을 고정했다. 비율은 반년마다 조정되며, 점진적으로 메인넷 출시일 기준 2년 이내에 CuckARoo29 알고리즘의 블록 생성 비율은 초기 90%에서 0%로 감소하고 CuckAToo31 알고리즘의 블록 생성 비율은 10%에서 100%로 증가하여 100%의 CuckAToo31로 최적화될 예정이다. 이는 곧 2년 동안 블록 생성 비율을 조정하여 그린코인은 에이식 채굴기만 남기게 되고 GPU 채굴기는 그린코인 생태계에서 없어진다는 의미이다. 63,072,000개의 그린코인이 채굴되면 GPU 채굴기는 더이상 그린코인을 채굴할 수 없게 된다. {{자세히|그린코인}}
  
 
=== 코르텍스 ===
 
=== 코르텍스 ===
 +
[[파일:코르텍스 글자.png|썸네일|300픽셀|'''[[코르텍스]]'''(Cortex)]]
  
[[코르텍스]]는 2018년 3월 10일 천즈치에 의해 창시된 [[인공지능]](AI) 기반의 블록체인 서비스를 위한 암호화폐로 인공지능 서비스를 [[스마트 계약]]에 포함시켜 블록체인에서 인공지능 추론 합의 기능을 사용할 수 있게 한다. 인공지능 모델 호환성을 지닌 블록체인 플랫폼을 구현하게 되면 사용자들은 인공지능 계약을 통해 자신의 인공지능 모델을 블록체인에 업로드하고 작업을 게재할 수 있고, 추론을 통한 합의에 도달하는 것도 가능하다. 따라서 개인의 인공지능 [[디앱]]을 구현하는 것도 가능하게 된다. CPU에 의해 스마트 계약이 실행된 이더리움에 비해 코르텍스 네트워크에서는 인공지능 스마트 계약을 통한 네트워크 전체 추론 합의에 도달하고자 하여 그래픽 처리 장치인 [[GPU]]와 프로그래밍이 가능한 반도체인 [[FPGA]][[풀노드]]에 이용하는 새로운 형태의 블록체인을 개발하였다. 2018년 8월 한국의 [[빗썸]] 거래소에 상장되었고, [[업비트]]에는 [[비티씨마켓]]에 상장되어 있다. 코인마켓캡에 따르면 시가총액은 2019년 5월 기준 약 318억원으로 160위를 기록하고 있다.
+
[[코르텍스]](Cortex)는 [[인공지능]](AI) 기반의 [[블록체인]] 서비스를 위한 [[암호화폐]]이다. 코르텍스는 인공지능 서비스를 [[스마트 계약]]에 포함시켜 블록체인에서 인공지능 추론 합의 기능을 사용할 수 있게 한다. 최초의 암호화폐가 비트코인이고, 프로그래밍 가능한 최초의 암호화폐가 [[이더리움]]이라면, 코르텍스는 최초로 인공지능을 블록체인에 적용한 프로그래밍 암호화폐이다.<ref>Storny Choi 기자, 〈[http://blocktimestv.com/news/view.php?idx=2371 코르텍스, 마이닝 테스트넷 오픈... "AI 블록체인에 적용한 프로젝트"]〉,  《블록타임스TV닷컴》 , 2018-10-16</ref> 인공지능 모델 호환성을 지닌 블록체인 플랫폼을 구현하게 되면 사용자들은 인공지능 계약을 통해 자신의 인공지능 모델을 블록체인에 업로드하고 작업을 게재할 수 있고 추론을 통한 합의에 도달하는 것도 가능하다. 따라서 개인의 인공지능 [[디앱]]을 구현하는 것도 가능하게 된다.
 +
 
 +
코르텍스는 뻐꾸기 사이클 합의 알고리즘을 사용하여 CPU와 GPU 속도 향상률 간의 간격을 더욱 좁히기 위해 1머신 당 1표(one-CPU-one-vote )에 더욱 우선권을 준다. 동시에 코르텍스 블록체인은 [[스마트폰]] GPU 의 성능을 완전히 탐구하여 일반 [[하드웨어]] [[플랫폼]] 평가 도구의 비율에 따라 휴대전화와 [[데스크톱]] GPU의 차이를 더 벌릴 예정이다.<ref>코르텍스 백서 - https://www.cortexlabs.ai/Cortex_AI_on_Blockchain_Korean.pdf</ref> 그린코인과는 대조적으로 코르텍스의 목표는 가능한 한 AI 하드웨어 보유자, 투자자 및 일반 모든 사람들이 보유하고 있는 컴퓨팅 하드웨어를 사용하여 채굴할 수 있도록 하는 것이다. 따라서 새로운 채굴 장비를 구입할 필요가 없도록 설계해왔다. 이러한 목표로 프로젝트 초반부터 뻐꾸기 사이클 알고리즘의 반 에이식에 관한 파라미터 조정이 뻐꾸기 사이클 알고리즘 자체에서 에이식화되더라도 다른 방식을 채택해왔다. 바꿔 말하면 알고리즘이 에이식화되더라도 [[CPU]], [[GPU]], [[FPGA]], [[ASIC]]이 상당한 수준의 비용을 부담해야 한다는 것이다. 코르텍스 생태계에 있는 많은 투자자들이 더 나은 컴퓨팅 능력을 갖출 수 있도록 조치를 취하고, 향후 막대한 AI 컴퓨팅 수요 시장을 미리 포석하고 기반을 마련하려는 것이 그 이유이다.<ref>이빨부자, 〈[https://www.blockchainhub.kr/bbs/board.php?bo_table=boogi&wr_id=33 Cuckoo Cycle 알고리즘을 채택한 코르텍스(Cortex)와 그린(Grin), 어떻게 다를까요?]〉, 《블록체인허브》, 2019-03-05</ref> {{자세히|코르텍스}}
  
 
{{각주}}
 
{{각주}}
  
 
== 참고자료 ==
 
== 참고자료 ==
 
+
* 코르텍스 백서 - https://www.cortexlabs.ai/Cortex_AI_on_Blockchain_Korean.pdf
* Shen Xi(심진아), 〈[https://medium.com/cortexlabs/%EA%B0%99%EC%9D%80-cuckoo-cycle%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%EC%9D%84-%EC%B1%84%ED%83%9D%ED%95%98%EC%98%80%EC%A7%80%EB%A7%8C-cortex%EC%99%80grin%EC%9D%98-%EB%B0%A9%ED%96%A5%EA%B3%BC-%EB%A9%94%EC%BB%A4%EB%8B%88%EC%A6%98%EC%9D%80-%ED%99%95%EC%8B%A4%ED%9E%88-%EB%8B%A4%EB%A6%85%EB%8B%88%EB%8B%A4-b13f3dfa091f 같은 Cuckoo Cycle알고리즘을 채택하였지만, Cortex와Grin의 방향과 메커니즘은 확실히 다릅니다.]〉, 《미디엄》, 2019-03-04
+
* 해리티지블록스, 〈[https://blog.naver.com/ugawa3573/221497417357?viewType=pc 코르텍스(Cortex) 분석 (2) 쿠쿠 사이클 알고리즘과 업데이트 내용 (코인분석)]〉, 《네이버 블로그》, 2019-03-26
* 헤리티지블록스, 〈[http://heritageblocks.net/221497417357 코르텍스(Cortex) 분석 (2) 쿠쿠 사이클 알고리즘과 업데이트 내용 [코인분석] ]〉, 《헤리티지블록스》, 2019-03-26
+
* Shen Xi, 〈[https://medium.com/cortexlabs/%EA%B0%99%EC%9D%80-cuckoo-cycle%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%EC%9D%84-%EC%B1%84%ED%83%9D%ED%95%98%EC%98%80%EC%A7%80%EB%A7%8C-cortex%EC%99%80grin%EC%9D%98-%EB%B0%A9%ED%96%A5%EA%B3%BC-%EB%A9%94%EC%BB%A4%EB%8B%88%EC%A6%98%EC%9D%80-%ED%99%95%EC%8B%A4%ED%9E%88-%EB%8B%A4%EB%A6%85%EB%8B%88%EB%8B%A4-b13f3dfa091f 같은 Cuckoo Cycle알고리즘을 채택하였지만, Cortex와 Grin의 방향과 메커니즘은 확실히 다릅니다.]〉, 《미디엄》, 2018-05-04
 +
* 코인정보소 영보스, 〈[https://blog.naver.com/jruits/221453702844 그린코인(Grin)에 대해 알아보자]〉, 《네이버 블로그》, 2019-01-29
 +
* Storny Choi 기자, 〈[http://blocktimestv.com/news/view.php?idx=2371 코르텍스, 마이닝 테스트넷 오픈... "AI 블록체인에 적용한 프로젝트"]〉,  《블록타임스TV닷컴》 , 2018-10-16
 +
* Leo Won, 〈[https://cafe.naver.com/tang2011/4627539 (리서치) 밈블윔블(MimbleWimble) part 12 Grin&BEAM의 마이닝 알고리즘]〉, 《네이버 카페》, 2019-04-12
 +
* 이빨부자, 〈[https://www.blockchainhub.kr/bbs/board.php?bo_table=boogi&wr_id=33 Cuckoo Cycle 알고리즘을 채택한 코르텍스(Cortex)와 그린(Grin), 어떻게 다를까요?]〉, 《블록체인허브》, 2019-03-05
  
 
== 같이 보기 ==
 
== 같이 보기 ==
 
 
* [[작업증명]](PoW)
 
* [[작업증명]](PoW)
 
* [[존 트롬프]]
 
* [[존 트롬프]]
35번째 줄: 51번째 줄:
 
* [[심진아]]
 
* [[심진아]]
  
{{합의 알고리즘|토막글}}
+
{{합의 알고리즘|검토 필요}}

2022년 3월 17일 (목) 08:46 기준 최신판

뻐꾸기 사이클(Cuckoo Cycle)은 네덜란드의 컴퓨터공학자인 존 트롬프(John Tromp)가 발명한 세계 최초의 작업증명(PoW) 알고리즘이다. 암호화폐 중에서는 코르텍스(Cortex)와 그린코인(Grin Coin)이 뻐꾸기 사이클 알고리즘을 이용한 작업증명 방식을 사용하고 있다.

개요[편집]

뻐꾸기 사이클은 GPU를 중심으로 하는 작업증명 방식의 합의 알고리즘이다. 뻐꾸기 사이클은 기존 에이식(ASIC) 채굴기채굴하기 어려운 알고리즘과 GPU 채굴방식의 효율성 증대로 기존 CPU 중심의 채굴기와 GPU의 간극을 좁혀 1머신 당 1표(one-machine-one-vote)를 실현할 수 있는 중요 요소로 평가받는다. 즉 기존 CPU 방식의 채굴은 에이식 칩으로 인해 기기별 연산의 격차가 극심하고, 이 때문에 에이식 전용 채굴기를 통해 채굴함으로써 값비싼 소수의 기기가 해시파워를 독점하기 쉬웠다. 뻐꾸기 사이클은 GPU 중심의 반 에이식 알고리즘으로 이를 극복할 수 있다. 뻐꾸기 사이클은 반(反) 에이식 속성을 가지고 있어 에이식을 통한 채굴 난이도와 비용이 비트코인SHA-256 방식에 비해 높다. 게다가 뻐꾸기 사이클 알고리즘은 변형을 통해 반 에이식 역량을 계속 향상시킬 수 있고, 알고리즘 수정을 통해 반 에이식 능력을 저하시켜 에이식 우호 알고리즘이 될 수 있는 등, 운용의 폭이 상대적으로 넓어 많은 프로젝트의 주목을 받고 있다. 다만 모든 프로젝트가 같은 방식으로 뻐꾸기 사이클 알고리즘을 활용하는 것은 아니다. 뻐꾸기 사이클은 작업증명을 함에 있어 에이식 방식을 어느 정도 수용할지를 수정할 수 있어 좀 더 운신의 폭이 있기에, 에이식 방식에 유리하게 하면 할수록 해시 능력의 차이로 일반적인 SHA-256 방식과 같이 높은 비용을 수반할 수밖에 없기 때문이다.[1]

특징[편집]

8개 노드, 4변으로 구성된 뻐꾸기 사이클 이분그래프

비트코인에서 사용하고 있는 SHA-256은 일종의 단순한 해시함수이다. 채굴 초기에 쓰였던 컴퓨터 CPU 채굴방식에서 그래픽카드 프로세서 GPU로 이전한 후, 설계 가능한 논리소자와 프로그래밍 가능한 내부선이 포함된 반도체 FPGA로, 마지막에는 비트코인 채굴이라는 특수한 목적으로 만들어진 에이식 칩을 사용하게 된다. 뻐꾸기 사이클은 Sipash를 사용하여 무작위로 생성된 뻐꾸기 사이클 이분그래프에서 고정길이 L의 고리를 찾을수록 그림의 규모가 커지는 그래픽 이론에 기반한 알고리즘이다. 이러한 알고리즘은 고리를 찾는 과정 자체에 비교적 큰 메모리 데이터에 대한 저장이 필요하며, 일종의 메모리-하드의 작업증명 알고리즘이기 때문에 에이식화 과정 자체에 어느 정도 어려움이 있다.

이 밖에 뻐꾸기 사이클은 다양한 방법을 통해 다양한 알고리즘을 구현할 수 있다. 예를 들어 이분그래프 노드에 이진법을 간소화하여 수행한다면, 고리를 찾는 과정의 채굴 난이도를 크게 낮추어 CuckAToo 알고리즘으로 변형할 수 있다. 또한 이분그래프 내의 모든 노드에 조를 편성하고, 해당 조 내의 노드가 상호 의존적인 관계에 있다면 조 내의 임의 노드 해시를 얻기 위해 모든 노드의 해시값을 계산하여야 한다. 이는 고리를 찾는 과정의 채굴 난이도를 크게 증가시키고, 데이터 저장에 대한 요구가 더 높으므로 CuckARoo 알고리즘으로 변형된다.

뻐꾸기 사이클 알고리즘은 반 에이식 속성을 가지고 있어 에이식(ASIC)의 채굴 난이도와 비용은 비트코인SHA-256에 비해 높다. 게다가 뻐꾸기 사이클은 변형을 통해 반 에이식 능력을 계속 향상시킬 수 있고, 반대로 변형을 통해 반 에이식 능력을 저하시켜 에이식의 우호 알고리즘이 될 수도 있는 등, 작업증명 방식에 응용할 수 있는 유연성이 높다.[2]

활용[편집]

그린코인[편집]

그린코인(Grin Coin)은 전 세계 어디에서나 거래가 가능한 밈블윔블(MimbleWimble) 프로토콜에 기반하여 개발된 암호화폐이다. 밈블윔블 프로토콜은 비트코인의 프라이버시 문제와 확장성 문제를 해결하도록 설계된 기술이다.[3] 그린코인의 장기적인 목표는 세계에서 가장 프라이버시 보호가 뛰어난 P2P 암호화폐 페이먼트 시스템을 만드는 것이다. 그린 개발팀은 매 6개월마다 하드포크를 진행하여 채굴 알고리즘을 조정하며 CPU/GPU 및 에이식 채굴의 밸런스를 유지한다. 초창기 그린코인은 에이식에 우호적인 뻐꾸기 사이클과 에이식 저항을 가지고 있는 이퀴해시 두 가지 알고리즘을 병행하고자 했지만, 마지막 테스트넷에서 이중 뻐꾸기 사이클(Dual Cuckoo Cycle)만을 채택하는 것을 결정했고, 두 번의 조정 방식에서 에이식 우호 알고리즘 및 CPU/GPU 우호 알고리즘으로 블록 난이도를 결정했다.

  • CuckAToo31 : 그린코인의 메인 알고리즘으로서, 에이식에 우호적이게 설계되었으며 향후 알고리즘 변경 가능성이 매우 적다. 이 알고리즘은 몇백 MB의 SRAM을 사용하여 GPU가 효율성을 높일 수 있도록 한다.
  • CuckARoo29 : 그린코인의 서브 알고리즘으로서, 에이식 저항을 하기 위해 설계했다. 이 알고리즘은 주로 초기 단계에서 탈중앙화된 채굴을 달성하기 위해 설계했으며, 보통 중간 및 고급 단계에 있는 그래픽 카드로 채굴한다.[4]

듀얼 뻐꾸기 사이클(Dual Cuckoo Cycle) 알고리즘을 사용하여 그린코인은 블록 생성 비율을 자동으로 설정한다. 메인넷을 출시했을 때, 90%의 블록이 CuckARoo29 알고리즘에 의해 생성되며, 나머지 10%는 CuckAToo31 알고리즘에 의해 생성되는 것으로 그 비율을 고정했다. 이 비율은 반년마다 조정되며, 점진적으로 메인넷 출시일 기준 2년 이내에 CuckARoo29 알고리즘의 블록 생성 비율은 초기 90%에서 0%로 감소하고 CuckAToo31 알고리즘의 블록 생성 비율은 10%에서 100%로 증가하여 100%의 CuckAToo31로 최적화될 예정이다. 이는 곧 2년 동안 블록 생성 비율을 조정하여 그린코인은 에이식 채굴기만 남기게 되고 GPU 채굴기는 그린코인 생태계에서 없어진다는 의미이다. 63,072,000개의 그린코인이 채굴되면 GPU 채굴기는 더이상 그린코인을 채굴할 수 없게 된다. 가기.png 그린코인에 대해 자세히 보기

코르텍스[편집]

코르텍스(Cortex)

코르텍스(Cortex)는 인공지능(AI) 기반의 블록체인 서비스를 위한 암호화폐이다. 코르텍스는 인공지능 서비스를 스마트 계약에 포함시켜 블록체인에서 인공지능 추론 합의 기능을 사용할 수 있게 한다. 최초의 암호화폐가 비트코인이고, 프로그래밍 가능한 최초의 암호화폐가 이더리움이라면, 코르텍스는 최초로 인공지능을 블록체인에 적용한 프로그래밍 암호화폐이다.[5] 인공지능 모델 호환성을 지닌 블록체인 플랫폼을 구현하게 되면 사용자들은 인공지능 계약을 통해 자신의 인공지능 모델을 블록체인에 업로드하고 작업을 게재할 수 있고 추론을 통한 합의에 도달하는 것도 가능하다. 따라서 개인의 인공지능 디앱을 구현하는 것도 가능하게 된다.

코르텍스는 뻐꾸기 사이클 합의 알고리즘을 사용하여 CPU와 GPU 속도 향상률 간의 간격을 더욱 좁히기 위해 1머신 당 1표(one-CPU-one-vote )에 더욱 우선권을 준다. 동시에 코르텍스 블록체인은 스마트폰 GPU 의 성능을 완전히 탐구하여 일반 하드웨어 플랫폼 평가 도구의 비율에 따라 휴대전화와 데스크톱 GPU의 차이를 더 벌릴 예정이다.[6] 그린코인과는 대조적으로 코르텍스의 목표는 가능한 한 AI 하드웨어 보유자, 투자자 및 일반 모든 사람들이 보유하고 있는 컴퓨팅 하드웨어를 사용하여 채굴할 수 있도록 하는 것이다. 따라서 새로운 채굴 장비를 구입할 필요가 없도록 설계해왔다. 이러한 목표로 프로젝트 초반부터 뻐꾸기 사이클 알고리즘의 반 에이식에 관한 파라미터 조정이 뻐꾸기 사이클 알고리즘 자체에서 에이식화되더라도 다른 방식을 채택해왔다. 바꿔 말하면 알고리즘이 에이식화되더라도 CPU, GPU, FPGA, ASIC이 상당한 수준의 비용을 부담해야 한다는 것이다. 코르텍스 생태계에 있는 많은 투자자들이 더 나은 컴퓨팅 능력을 갖출 수 있도록 조치를 취하고, 향후 막대한 AI 컴퓨팅 수요 시장을 미리 포석하고 기반을 마련하려는 것이 그 이유이다.[7] 가기.png 코르텍스에 대해 자세히 보기

각주[편집]

참고자료[편집]

같이 보기[편집]


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